Recently I have helped a large customer in The Netherlands to upgrade their system from 3.70 to 2009 classic.
It is a very large and complex system and they are very proud of the results. You can read their own reference story here. (Dutch).
Their database includes several add-on's from different ISV's all over europe. We are very thankfull to one of them who has helped us with some codeunits that the customers Solution Developer license did not gave access to.
The mayority of the project has been done by my coleagues of Liberty Grove Software in the USA and the in house developers of the customers. I have just been a guide.
Main reason for this customer to upgrade is to protect their investment in Navision for the long term. The implementation was long and with pain but they are happy with the system and proud of it. The alternative, a new implementation, was not even considered an option.
The end goal of this huge project is to run the solution in the Role Tailored Client. But when doing a project like that, you cannot reach that in one step. You'll have to do it in smaller sub projects.
Step 1 | SQL
The first sub project in our case was to migrate the database from SQL 2000 to SQL 2008 since NAV 2009 would not run on 2000 and 2000 is no longer supported.
This could easily be accomplished since they were already running the 4.0 SP3 binaries. We just had to implement the latest hotfixes and backup/restore the SQL Database. Step 1 finished. This part of the project was done by the end user themselves.
Step 2 | The Upgrade
When the database was running stable on SQL 2008, they only changed some minor indexes and sifts, we could start the upgrade from 3.70 to 2009. I will not go into details about how that goes but most important is the advice to not directly move to pages if you run a complex system.
We upgraded the database from the 3.70 forms to the 2009 forms without looking at the pages. We even kept most of the 3.70 menu's for the add-on's. It does not make sense to have the users get used to menusuites and them move them to a Role Center 12 months later.
Thanks to the expertise of my colleagues the merge went really well and testing was completed in only a few weeks.
The Go-Live weekend was fun. Everything went well and we watched Holland play in the Soccer Wold Cup on a big screen in the Testing room. Step 2 completed.
Step 3 | Implementing the RTC
This is the phase we are currently at. The system has been running stable during the summer and we are going the move them slowly to the RTC.
Their database has 1300 new forms and 300 changed base app forms. The first step is to pull them through the Transformation Tool.
As most of you know, the Transformation Tool can be implemented in two ways.
1.) Convert all Forms to Pages with the Microsoft TIF files and fix the issues in the Page Designer.
2.) Implement your own TIF data and fix the issues in the Forms.
My advice after quite a few projects would be to go for option 1. unless you have a real good reason to go for option 2.
Creating your own TIF data is quite a hassle and testing the results of a changed form takes forever. You have to change the form, export to XML, run the tool, import the page and see the result. Even with Waldo's Transformation Tool it is undoable for 1600 objects.
A valid reason to go to option 2. is when you are an ISV with a horizontal solution that should work on both the Classic and the RT Client, or when you are an international end-user with a Kernel that is used in RTC and non-RTC countries. (RTC is still to be released in a LOT of countries).
So we have decided to go for option 1. I have exported all the Form objects to a XML and run that in the Transformation Tool. And I must say, at this moment, that Microsoft has done a Tremendous job in making that tool stable. I only got a few occasions where the TT would halt and most of the issues were really strange forms where translated captions were to long or Menu Items were corrupt. The latter must have been caused in 3.70 because I cannot reprocude it in 2009.
Step 4 | Role Centers and Menu Suites
The next step will be to create some Role Centers and a RTC Menu Suite in order to be able to test the pages that are created.
One of the risks and issues in this project is the chance that not all of the 1600 pages will be used. There is a change that an end user will try something in three years from now and run into an error that no-one has foreseen.
Is that bad? It depends on your installation.
To be continued
Exactly the approach that we always suggest :-) .. not only the use of the TT, but also the Step-by-step upgrade to RTC is a good approach.