As I mentioned in my previous post, I’ve recently been involved in an upgrade of a client’s upgrade from SDL Tridion 2011 SP1 HR1 to SDL Trdion 2013 SP1 HR1. I’ve done upgrades before but this one involved more environments than the ones I have done previously and it was my first 2013 upgrade.
The following are some things to remember when you’re doing an upgrade. Most of these will be old hat to anyone experienced with SDL Tridion upgrades but I think they might help someone else.
So in no particular order, here’s my top 10 tips.
1. Content Manager customisations
So, at Building Blocks, we always do an upgrade scan before taking on an upgrade project. The purpose of this scan is to identify all of the items that will need to be taken into account when performing the upgrade, document any infrastructure and any planned changes to the infrastructure, determine the approximate effort required and to define a high level plan.
As part of the scan we look for any customisations in the Content Manager which don’t reside in the database. These should include: GUI Extensions, DLLs placed in the GAC, custom Mediators, any custom URL extensions that reside on the content manager server which are be used on Schemas, the Format Area Styles file, the TcmXHTML.config file, custom pages etc.
This is especially important if this is not an in-place upgrade as mine was as all of these items will need to be recreated on the new server.
2. Make sure you tell everyone
Usually in large organisations there are a lot of people who have an interest in the Content Manager. For example, on this project we had the following groups of people.
- Network team
- Database administrators
- Business users
- IT Operations
- Quality Assurance
You will need help from all of these groups of people at some point during the upgrade. Make sure you scheduled their time and make them aware of what will be happening. For example, the editors may need training. Developers will need a handover and switch over to the new environment.
Doing this will enable you to smoothly transition with minimum downtime.
3. Plan your switch over
As Churchill said: “Plans are of little importance, but planning is essential.”
Pick a date and aim for it. Think about your options for the switch over. If this is an in-place upgrade, how can you minimise downtime for editors? If this is new infrastructure, do you need to provide everyone with new URLs or will you change DNS? Do you need to brief the developers?
4. Make a running order for Go-live
This should be a list of everything that needs to happen, who will do it and when it should happen. Make this a really clear list in a document, don’t use a bug tracker or Gantt chart for this.
Make sure you have dates in here, any prerequisites for signing off. Also include QA time, content and publishing freezes, handovers and any key milestones.
5. Sort your access early
Again this seems like it would be obvious but even though you may have requested access, usually there will be things which are missing like firewall ports or admin rights. We had problems with our upgrade because of IT policy and we had to fight very hard to get direct remote desktop access to the servers. Getting this out of the way before the project starts will save you time. Also, check that the access actually works to all of your servers or you will lose half days trying to get hold of the right people to sort it.
6. Make a task list
This may seem like a no-brainer but I have seen it happen that during the upgrade a proper task list isn’t created. You could just say we need these servers with this version of Tridion by this date etc but I think the project will go much smoother if you use a tool such as JIRA Agile or Trello to store all the tasks for everyone on the project. This should include items like getting access, ensuring firewall ports are open. This is especially useful if you have multiple environments to create as we did: Dev, QA, UAT, Staging and Production.
Secondary to this it is really useful to have a spreadsheet with all the server names, planned DNS entries, IP addresses along with the role for each box. Including any integrated systems such as Solr.
7. Take this opportunity for improvements
If you’re creating new servers as part of the upgrade, you should take this opportunity to fix anything that has been bugging you about your implementation and standardise things across environments. Using the same paths for where things go, using the same names for databases, creating a naming convention for your sites, standardising location and naming of log files. All of the things that you don’t get round to because something is live or project pressure.
8. Don’t forget your optimisations
SDL Tridion’s databases need maintenance scripts to be periodically run in order to optimise indexes etc. There are also tweaks to the deployer and publisher which can massively affect performance. Find out if any of these have been put in place and make sure they are documented.
9. Think about backups and Disaster Recovery
Quite often backups will be the responsibility of the DBA team so it is easy to forget that this will need to be done. Make sure you ask the DBA team to do this and verify it is working.
A disaster recovery environment could also be a useful idea but this will have licencing implications.
10. Automate all the things
During an upgrade process, especially if you have multiple environments, you will find yourself doing repetitive tasks on each environment. Where possible you should invest the time and automate these tasks. SDL Tridion has plenty of ways of doing this, including using Powershell to manipulate the Content Manager and running Content Porter from the command line. This can also be coupled with Powershell commands for creating websites etc. This will be particularly useful if you need to do multiple content synchronisations during the upgrade. This is necessary when editors are still working on the old environment and development sprints are happening in parallel with your work, as was the case with us.
I hope these tips can help someone else when performing an SDL Tridion upgrade.