Pages

Wednesday 10 April 2013

Issues faced when Copying/Moving a list in SP 2010





Just thought I will share my pain and some information that might safe guard you from making the same mistake as I did.

Problem:

User called up saying the list view has reached its threshold. The list was an Issues Register (name: Cut-Over Issues Register) and had versioning enabled. User requested we make a copy of list and name it “Issues Register” and delete all the closed items so only the Open items would remain in the new “Issues Register”

Solution:

Follow the technet article which uses PowerShell to export the list and then import the list back in. I found out this is not as easy as it looks in fact it was very hard and extremely painful, mainly due to the fact that the command does not cater for users that do not exist in AD anymore.

Why:
Well the list had versioning enabled and the worst part was that some of the users that had created an item have left NTG, which means the user account did not exist. So the restore process had overwritten the users that it could not find in AD with my user id and obviously that meant that we had lost the history.

Oh no… What can I do, unfortunately this is by design and the solution found on some forum sites was to reactivate those accounts in AD, copy the list and deactivate them again (not really an option if you have many users)

Things to do or look out for:

This exercise has highlighted some very important points:
·         If versioning is enabled on a list then do not copy/move. Suggest we create a new list based on the existing list definition and archive existing list by setting the list permission to read-only.
·         It can very difficult to recover your changes as even if you had a backup of the DB and thought you can just restore the list, you will not be able to do so. All the users that do not exist will be replaced with your user id, so in a sense you will never be able to recover an original list
·         If you get a request for a copy of a list, ensure there is no versioning enabled (List settings > versioning), if there is versioning then inform the requestor that they might lose historical info i.e. if any of the uses who modified/created an item and have left the organization then this will be replaced with your userid.

How to best solve the list view threshold issue (my recommendation):
·         Navigate to the list, then list settings, click on save as list template and specify a name (do not include content as most likely it will exceed the allowed file size of 500MB)
·         Create a new list based on the new template that you have created.
·         Archive the original list by setting the permission of the original list to read only.
·         This will need some planning before it carried out, as you may find that it may work in dev/uat but in PROD it won’t because of minimal testing carried out prior to moving your changes to PROD.