While working on one of the first 2.5 to 4.0 upgrades with my team, here are some of our lessons learned:
- You MUST use an HTTP server when running features from more than one WAS profile. Accessing some of the features like homepage, which make use of the ajax proxy, do not work in all browsers. Be sure to install and access your deployment through an HTTP server before you continue to troubleshoot.
- You can string together the database upgrade scripts (2.5 > 3.0.1 > 4.0) without installing C3. The wizard does perform some database validation which will let you know the databases are structurally sound and ready to move to the next step.
- All supporting apps require an upgrade. C3 to C4 this may not be a true statement, but when skipping versions, it absolutely is. This has implications to your ability to reuse current config files, settings, and TDISOL directory. We discovered that exporting and importing the Connections config files, they did not all translate well.
- It was simpler to deploy with the OOTB config files and reapply configurations.
- TDI options are not the same, and some of the scripts do not run properly or at all with the 2.5 TDISOL directory.
- Profile extensions are not handled the same way. Some of these changes were introduced in 3.0, but the source environment does not take this into account. Review the custom attributes, labels, and pre/post HTML which needs to be converted to newer method of applying these settings.
- Don't forget to check your HTTP server for custom header / footer components. It was a best practice in the 2.5 days to move your header to the HTTP server. There may be items in the files on the HTTP server that you will need to incorporate into your upgrade.
- Changes to css are now located in <Connections_Data>/shared/customization/themes/defaultTheme and wind up being rolled into a "virtual" css "default.css". This is NOT dynamically generated and requires a restart of the Common application to rebuild the file. (Did not test to see if there is a timed interval that rebuilds this.) NOT EFFECTED by the UI debug WAS parameter.