We're currently mid-way through migrating to SharePoint 2010. As we have a large test schedule ahead of us we're currently running two test deployments side by side - Our SharePoint 2007 test environment and our SharePoint 2010 test environment.

We have a large body of users (testers) contained in our SharePoint 2007 site that I'd like to keep synchronised with our SharePoint 2010 environment (as it's a constantly changing list) - what would be the best way to do this?

  • What do you mean by "contained". Are they Users with Permissions on Site Collections or are they User Profiles that you want to keep synchronized? – Matthew McDermott Aug 3 '12 at 19:36
  • Oop! Yes, permissions in site collections. The same site collection exists in both environments and I'd like to keep the role groups synchronized – Michael A Aug 4 '12 at 0:35

Without the use of AD the only way is to write an application to synchronise them for you.

I would set up a VM with active directory on, to handle this, so you have it there, just for this period, I really hope this is possible for you.

The good news is the code for doing this as an application would be almost identical on 2007/2010 so a windows form application would be possibly the best way to go if AD is NOT possible for you at all.

I would estimate 1 to 2 weeks for testing and development of such an application.

The update:

Hi Micheal, sure.

What you want is to create a tool that backs up all the users from the UserProfileManager.

This will then create your flat file, not know how it is setup you can design this flat file or temporary storage, or even just store as a stream.

This in turn can then be used to create ( http://msdn.microsoft.com/en-us/library/microsoft.office.server.userprofiles.userprofilemanager.aspx ) Replace Update or Delete CRUD the users.

I would put the time into testing it, even though getting this working may only take a day, planning I would allocate a day, full development 4 days but testing and tweaking a further 4 days.

I have done this for purely 2010 with AD but 2007 -> 2010 or even 2007 <-> 2010 wouldn't be much different.

To do the permissions, you simply need to check each site collections permission per user and create yourself a grid, adding the same permissions with your CRUD system of design to the opposing site collection, https://stackoverflow.com/questions/3940917/checking-permissions-of-a-user-with-a-site-collection

  • Looks like this is quickly becoming my option. I'd rather avoid this (as it adds dependencies / additional code to maintain into our system) but it may be our best bet – Michael A Aug 17 '12 at 5:24
  • Do you hvae any guidelines for doing this (an outline of what aspects of the object model I should/can use)? I would be more then happy to award bounty for the help :D – Michael A Aug 21 '12 at 10:19
  • Btw I edited the answer with a quick outline, should you need more detail just bark. – Hugh Wood Aug 21 '12 at 14:57

Using an AD security group to maintain your testers may be of some value. Place testers in AD group, give the group permissions in SP. when testers change, change the group in AD therefore allowing sync between the two areas they need access to. only catch is if the testers need different perms within SharePoint (contribute, full control etc..) in which case you may need to make a few groups.

  • Unfortunately with the segregation in business units (site collection admins maintain permissions, but don't have access to AD) this isn't an option for us. Also not looking to make a change to how it's working until post-upgrade (it's a bad time to do it mid-way through an upgrade / whilst testing as you introduce extra variables) and it's a lot more important in the interim to synchronize role groups – Michael A Aug 16 '12 at 2:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.