Here is some of the issues we have run into, and what we have done to fix them.
- Moving the items to the new master database:
Then, log into Sitecore and create packages containing the things you need (remember to keep the package file size below 2GB, or Sitecore will fail to install it, since it cannot parse the zip file if is that big...) - you most likely need these items: Templates (Remember to only include your own templates, not the ones Sitecore comes with), Layouts (sublayouts, renderings etc.), System items, Media Items (make several separate packages containing these, to stay below the size limit) and content.
Once the packages has been created - change the connectionstring back, so master points to the new master database (the reason for this, is that the packages must be made from items in the database named "master" to be able to install them into the database named "master"), and install the packages - Start with the package containing the templates, so the rest of the content is supported).
- Different DLL's from Sitecore Support:
However, when upgrading Sitecore, there is a good chance that some of these issues has been fixed - so start by contacting Sitecore Support, and ask them which of the Support DLL's that is still needed.
Once they have told you which one of them that is still needed - test them and see if they still works (Sitecore Support will most likely say that they works, but experience shows that they don't test them before saying that they work - so do your own testing!)
- Some media items no longer works:
This means, that if you for instance has a replacer that replaces " " with "-", to make URL's more SEO friendly, this now also impacts media items.
So, if there is any media items (or media folders), containing some of the characters you are replacing, they can no longer be opened by users.
An easy fix is to make a small tool that runs through the media library, looks for items with those names (remember to check display names for all languages, if useDisplayNames is set to true on the LinkManager), and then rename them.
- Some items does not have any version (and therefore cannot be published):
Again, make a small tool that crawls the entire solution and look for items without any version at all, and create an English version (or that ever your default language for the solution is).
- WFFM forms:
You might run into some issues when moving them, but they are solution specific, so be prepared to get some help from Sitecore Support.
That is all the problems we have run into, but nothing that cannot be fixed, which is okay.
Just remember to account for it, when estimating how long the upgrade is going to take you.