Upgrade an MVC Site to CMS 8.0 DSS
Version: CMS 8, 8.x
August 30, 2012
Last updated: 1/30/2021
CMS 8.0 features a new run-time server, the Dynamic Site Server (DSS). Built on the Microsoft .NET Framework, the DSS supports MVC implementations and Dynamic Publishing.
The standard DSS upgrade process is discussed in the Installation Guide and in the upgrade checklist. To upgrade an MVC site to CMS 8.0 DSS, there are several additional steps and considerations.
- CMS 8.0 Dynamic Site Server software installed on a server
- CMS 8.0 server software installed on a server (optional for this upgrade)
- Start a new MVC project. To do so, run the DSS setup wizard, deploy the source code, and copy view files from the 7.5 site to the new 8.0 site.
- In the new DSS source code, there are many changes to
CMSPageDefaultController. If the default controller in your old site is customized, copy your custom code into the new controller. If you have any sub-controllers, copy code from them also.
- If you've implemented any custom routes in Global.asax, copy these into the new Global.asax file.
- The CMS site setup wizard creates a preview folder, DSS_Preview. The folder contains a project, Dynamic_Site_Server_Instance, that can be configured to provide previews of the DSS site in the CMS. To use pre-existing views with Dynamic_Site_Server_Instance, copy the views (and any other necessary supporting files) to the appropriate folders in the DSS_Preview directory.
- Alternatively, to configure a preview site other than the default DSS_Preview, point the
PageFilesLocationkey in the Web.config of the preview site directly at the XML folder of the CMS.
- If you copy a run-time MVC site to the DSS_Preview directory, some of the code may cause problems and need to be updated. For example, references to the home page that point to the site root (/) won't work because CMS Preview looks for specific page IDs. Hard-coded structured URLs won't work in Preview, either.
- After upgrading an MVC site, you will need to update the Ingeniux API DLL in the Visual Studio project and rebuild the DSS site.