Recently I upgraded one of my websites, which had large content, but mostly using out of box features
1. Book , page, story, forum, polls
2. Contributed Quiz module.
3. Contributed modules for SEO, Spam control etc.
I did not have any CCK types, so I was expecting it to be a fairly simple upgrade, but I had some challenges which I have listed below. I used the following steps
1. Created copy of the database
2. Created copy of folder on my cpanel hosted website. In the new folder I copied drupal 7. Contributed modules were put in the site/all/modules folder. Similarly the theme for drupal 7 with same name as old theme was put in sites/all/themes folder.
3. OLD site was put in Maintenance mode
4. From the browser, i typed the URL to point to newly created folder ( Parent website was still at old URL), it started installation process. I clicked next and went upto database details where I punched in details of exisitng database. You can infact goto default.settings.php and put the new database details there also.
Lastly I renamed the folder cpanel so that my website URL now points to the new folder and my site was up and running on drupal 7
Details on some installation errors and resolutions.
1. Got some ERRORs stating certain tables where not compatible, Entity , Entity API modules were deleted from modules directory to resolve the error.
2. Rules module is not required in Drupal 7. Trigger modules comes as standard package. So that was also disabled
3. Subscription module was giving me white screen of death. Removed that module as well while doing the upgrade.
4. Upgrade process used to throw strange SQL exceptions. My resolution was to simply restart the process.
5. Finally got the new site up and running
Learning - Contributed modules and their incompatibilities is the major cause of errors during installation. Try not to use any modules which are RC / Beta as it can throw errors. Avoid using modules which seek maintainers and have huge number of issues pending.
POST Installation errors
1. Users were not able to post content on comment. I realized that subscription module was not correctly uninstalled, removed it completely.
2. XMLSitemap initially was creating problems so I removed it.
3. Trigger has strange feature. "Ban IP address of current user". Dont use this feature, else your own IP address will get blocked. Then you have to goto blocked_ip table and delete the entry.
Changes from Drupal 6 to Drupal 7 and new modules in Drupal 7.
- Access rules is not available in drupal 7. Need to install user_restrictions module
- Notify and subscriptions module i replaced with comment_notify and node_notify modules , working pretty well.
- Drupal 7 has an amazing module to show similar content to end users. after comparison of all other modules I choose "Similar Entries" module. This displays similar entries using SQL query, which is pretty good, compared to term based similar modules.
- Bad Behaviour module currently has some incompatibilities , will check after some time if its resolved.
- I installed jQuery update and changed the version to 1.7 in config page. Did not use 1.8 version as I read in forums that it has some incompatibilites.
Another amazing module which I installed to get Mega menu functionality like on Amazon.com is "Menu Views" module, this Allows menu items to render views instead of links. This is useful for creating mega menus.
I recommend installing SEO Checklist module its a good checklist of modules that need to be installed for SEO and also lists some other good modules.
EDIT : March 2014
Upgraded another website from D6 to D7. This time upon running the update.php, I used to get an error that a particular table is not found. First it was filter_format table not found, then profile_field and later block_node_type. To get past this error I manually created these tables in my database.
Later I was getting an error , while updating , that a particular update is unsuccessful. Again I had to remove the tables created. In the end the website was successfully migrated to D7
Secondly CCK migration from drupal 6 to drupal 7 was very smooth and after the upgrade you must goto Structure >> Migrated fields and if you have all the new CCK modules in drupal 7 it will get migrated.