CMS 9.6 Release Notes
Release Summary
Ingeniux CMS 9.0 Service Release 6 (SR6) includes 87 updates, including several new features. It also contains all features and enhancements from the initial CMS 9.0 release and all subsequent CMS 9.0 Service Releases. Learn more about key enhancements and important upgrade information below.
Build Number
9.0.493
Change List
New Features and Feature Updates
- IPage and IWorkflow have been added as parameters to OnBeforeWorkflowAdvance and OnAfterWorkflowAdvance hook signatures in CustomHooks.cs.
- Backup versions of Global.asax, Global.asax.cs, Controllers\AssetAsyncController.cs, and Controllers\AssetController.cs have been created in DSS_Preview folder on upgrade.
- The temporary export files of CMS site exports that are created in the App_Data\TempExport directory are now removed upon successful site export creation.
CMS and DSS Resolved Issues
- Addressed DSS Preview upgrade failure related to StrongNamer.AddStrongName and HTMLAgilityPack NuGets in the DSS project.
- .NET errors properly output to Page View when view errors occur.
- Addressed an issue when browsing to and updating an XSLT layout for a schema that is located in a subfolder of the Stylesheets folder for XSLT sites.
- Addressed an issue to Page Builder feature due to a recent update to IE11.
- Addressed an issue where the "Show All Pages" feature would not properly function.
- Improved performance on the Go To feature when accessing xIDs that are deeply nested within the site tree.
- Increased speed of workflow transitions between workstates.
- Addressed an issue where some user groups are not able to copy and paste parent and child pages despite the correct permissions.
- Pages, components, and folders will no longer be permanently deleted when moved within the recycle folder.
- Addressed an issue where parent pages with child pages would not display the site tree context menu if group context menu items were customized.
- Components downloaded in Schema Designer preserve the case sensitivity of the default values in an element list.
- Addressed an issue where the InSite Search Configuration Manager would not load in IE11 due to a recent update.
- Addressed an issue where InSite Search Configuration Manager would not save changes in IE11 and Chrome 51+ due to recent browser updates.
- ASCII characters inside of text element fields will not be stripped when the page is saved.
- The History Tab will correctly display ASCII characters that are entered in text element fields.
- Taxonomy Navigation expansion will honor the configured depth setting.
- Importing a SearchSource.config and picking "All Pub Targets" will no longer error on upload.
- When searching for a specific xID, Find and Replace will no longer return cloned pages of the xID.
- All URL entries and related history from the urlmap file are preserved on generation upgrade.
- Encoded external links in bodycopy elements will no longer be decoded on page check in.
- Element values populated by get_element_values.cs for the 'Multi-Select: Hard-coded choices' element will not be cleared when a schema sync is performed.
- documentComponents pair value entry is properly added to SearchSource.config on publish.
- Improved error messaging when uploading an invalid SearchSource.config.
- Search Configuration Manager will error when attempting to save settings that contains duplicate fields or schemas on the same publishing target.
- Components that are unmarked for publish will throw a 404 error on the DSS site rather than render XML.
- Updated DEX search schemas are included when upgrading a CMS site using an export.
- Legacy PublishAs values that contain a period to specify a file extension will be preserved on generation upgrade.
- 'Perform Replication' checkbox has been removed from the download dialog in the Search Configuration Manager.
InSite Search Resolved Issues
- Search results will not include page types that have been excluded.
- Search results will properly return page names.
- Increased logging for Search Crawler.
- Abot has been updated to version 1.5.1.40.
- categoryIDs can be searched on DEX components.
- Legacy custom controllers that contain an empty condition for categories will still return results.
- Filtering multiple categories using OR on a custom controller will return correct results.
- Locale has been added as a new parameter for the standard search API method.
- Hyphenated terms are treated as a single search term instead of being broken into multiple search terms.
Important Information/Known Issues
Unmarked Component References
Prior to CMS 9 SR6, components that were unmarked for publish but still reside on the DSS server would still render XML when accessed directly and would still display information when referenced on a page. In SR6, components that are unmarked for publish will throw a 404 - Page Not Found error and will not be displayed on pages that reference them. If the component is marked for publish, the component must be published for it to display on pages that reference them.
SAML Login Support for CMS
Ingeniux CMS 9 SR6 has built-in support for SAML 2.0 login to ADFS, Ping, Okta, and other SSO vendors using a new membership provider type. Ingeniux CMS supports multiple IdPs in an SP-initiated configuration and also supports IdP-initiated SSO from a single source. See the SAML configuration documentation for setup instructions.
Web Based Search Configuration Known Issue
The web-based search configuration abolishes the need to configure the searchSource.config file manually for a publishing target. However, it doesn't fully support IE11. Users can use current versions of Chrome, Firefox, Safari, or the Microsoft Edge browser. A patch for IE11 is available upon request.
In-Context Editing IE11 Known Issue
Microsoft recently updated IE11 with changes that create an error when users navigate between In-Context Editing (ICE) mode of Page View and other tabs for a given page. The CMS displays an error message, and ICE doesn't function. Users must navigate to a different page—using any tab—to restore ICE functionality. A patch for IE11 is available upon request. This issue will be resolved in the next service pack and/or when Microsoft releases a subsequent patch for IE11 that reverts their earlier change.
InSite Search Upgrade Required Action
Customers that use InSite Search need to make the following changes during upgrade. The DSS upgrade wizard replaces current local DLL references to InSite Search DLLs with NuGet-based references. After upgrading the DSS site, open the project in Visual Studio and perform a NuGet update on the Insite Search 2.0 package to the latest stable release. If the site is using Dynamic Execute (DEX) components, sync the schemas to the newer DEX schema versions that were added during installation. If the site is using a custom controller, compare the existing code to the current release sample controller. Upload existing searchSource.config files to the new web configuration interface (as described above) and remove any replication exclusions for searchSource.config. When the code updates are complete and published to the DSS environment, delete your DSS search index and trigger a reindexing of your content to capture new standard fields such as Category ID and Path. Contact Ingeniux Support if you have questions.
Required Asset Controller and Global ASAX Code Updates
The automatic upgrade system doesn't replace global.asax or the asset async controller. Clients must replace these files with the newest versions, shipped in CMS 9.0 SR5. If these files have been modified, the existing customized version and the new version should be merged.
Microsoft .NET 3.5 and 4.5.2 Required
CMS 9.0 SR6 requires .NET 3.5 and .NET 4.5.2 to be installed on all CMS and DSS server instances for product installation to complete. The IGXSetup wizard validates that these requirements are available before you may continue with product installation. Microsoft .NET 4.5.2 can be installed side-by-side with earlier .NET 4.5.x releases. Both DSS Preview and DSS instances can be upgraded to .NET 4.5.2 automatically, using the Ingeniux wizards. However, any custom projects or third-party libraries that are linked to a CMS or DSS project will also need to be re-targeted to .NET 4.5.2 in Visual Studio.
Windows 2012 R2 Requires Microsoft KB Update
All Windows 2012 R2 servers that have the November 2014 Microsoft update installed need to have an IIS level patch applied to them. See this Windows Server 2012 KB article for patching information.
Custom InSite Search MVC Controllers May Require Updates
Sites that implemented InSite Search in CMS 8.0 using a custom MVC controller need to slightly update their controllers, as described in this article.
Installation Wizard Changes
The Create Ingeniux CMS Site Instance wizard now supports using a CMS site export .zip when setting up a new CMS instance. The user created during setup is added to the imported site's administrator group. The Import Site wizard allows a CMS site export .zip to overwrite the existing CMS instance's database with a new content database. All content is replaced. The user specified is still added to the administrator group during import. The DSS Site Setup wizard can also perform upgrades to existing DSS sites and will upgrade and rebuild the selected DSS MVC project.
Default CMS Site Instance Installation Path
Newly created CMS site instances have separate \Site and \DB folders created under the \SpecifiedCMSInstanceName. The \Site folder contains all CMS application code. The \DB folder contains all application data. Existing sites that are upgraded won't have these folders.
DSS Path Recommendations
Due to ASP.NET and IIS restrictions, all DSS sites should be configured so that the content source location (PageFilesLocation) is outside the DSS application installation path.
Mark For Publish Behavior Change
Content items must be checked-in at least once before they can be marked for publish.
Start & End Date DSS Behavior Change
Pages with Start and End dates set in Page Properties have been filtered from links and navigations for many versions. In CMS 9 SR4+, they will also no longer be accessible by direct URL or xID. Expired pages will return a HTTP 404 friendly error page indicating that the page will not return while in an expired state. Customers can redirect the URL to a different location for an alternate behavior.
Page Builder Requires Responsive Framework CSS/JS Inclusion
Ingeniux Page Builder requires templates (XSLT or MVC) to include the CSS of the responsive framework you have selected (Default: Bootstrap 3.x). Existing responsive templates may have these files included already. To enable Page Builder, non-responsive sites can add them to create columnar layouts within a fixed-width design; however, the Bootstrap or Foundation CSS may affect how the non-responsive sites render.
Last Generation Upgrade vs. Standard Upgrade Wizard
Ingeniux CMS 9.0 has two different upgrade wizards. The CMS Site Last Generation Upgrade wizard copies an existing CMS 8.0 site; sets up a new CMS 9.0 instance; and migrates the content and the DSS Preview project from CMS 8.0 to CMS 9.0, leaving the original CMS 8.0 site untouched. (Learn more about this wizard in the CMS 9.0 Upgrade Guide.) The Site Upgrade Wizard upgrades from a previous CMS 9.0 version to the current version, similar to CMS 8.0.
Pre-Upgrade to CMS 8.0 Required For Earlier Versions
Customers using Ingeniux CMS 7.5 or earlier must first run the CMS 8.0 upgrade wizard before proceeding with a CMS 9.0 generation upgrade. Learn more in the CMS 9.0 Upgrade Guide.
Software Requirement Changes
ASP.NET 4.5.2 is now required. Because this framework doesn't support Windows Server 2003 and IIS 6.0, they are no longer supported for CMS 9.0. In addition, Ingeniux CMS 9.0 only supports 64-bit versions of each operating system when more then one configuration is available. Learn more in the Ingeniux CMS hardware and software requirements.
MVC 5 Allowed Syntax Changes
The Microsoft MVC 5 update no longer allows the @ symbol Razor syntax to be used within an existing @{ } braced Razor code block. Essentially, no nested @ statements are allowed. A compiler message may appear in the DSS Preview window indicating there is a syntax error in your view.
Hardware Requirement Changes
Ingeniux CMS now requires a minimum of 4 CPUs and 4 GB of RAM. The new version is multi-threaded and performs significantly better when it meets the recommended base configuration of 8 CPU cores and 8 GB RAM. Larger sites may require more RAM. Learn more in the Ingeniux CMS hardware and software requirements.
RAM Usage Behavior Change
Similar to Microsoft SQL Server, the embedded NoSQL database used in CMS 9.0 reserves system RAM for potential future use, so the total memory allocated to Ingeniux CMS 9.0 processes is higher than it was in CMS 8.0. Additional resources may be required for very large sites.
Multiple CMS 9.0 Versions Side-by-Side Now Supported
Each CMS site instance runs its own version or build of Ingeniux CMS 9.0, so installing a new CMS 9.0 version on the server doesn't affect any previously installed instances.
Version 8.0 and Version 9.0 Side-By-Side Supported
All CMS 9.0 instances are unaffected by any existing CMS 8.0–based installations.
Visual Studio 2012 or Higher Required for .NET Developers
Since CMS 9.0 SR6 uses ASP.NET 4.5.2, all .NET development work requires Visual Studio 2012 or higher to edit and compile a DSS Preview or DSS project. You must install the .NET 4.5.2 Developer Multi-Targeting Pack to edit .NET 4.5.2 projects in Visual Studio.
ASP.NET and MVC Automatic Upgrade and Rebuild Process for DSS and DSS Preview
The SR6 Last Generation Upgrade wizard now automatically attempts to recompile the DSS Preview Visual Studio project and update it to ASP.NET 4.5.2 and MVC 5. It returns information on the success or failure of the upgrade and recompilation. Recompiling manually, required with CMS 8.0, is still supported.
The CMS Site Upgrade used for CMS 9.0–to–CMS 9.0 build upgrades also updates and recompiles the DSS projects.
Internet Access Required
All CMS- and DSS-supporting library updates are delivered using the Microsoft NuGet packaging system, which downloads from the Internet. A DSS or DSS Preview upgrade and/or rebuild will fail without Internet access.
CMS Extensions/Customization Project
All CMS extension customization points—custom hooks, custom tabs, custom workflow actions, etc.—are now managed in a single Visual Studio project that has full debugging support. Learn more in the "How To" article for the CMS 9.0 development harness project.
Custom Hook and Custom Tab Migration
The APIs in CMS 9.0 have been migrated to a .NET 4.5.2 format using C# instead of the JScript used in CMS 8.0 and earlier. The custom hooks file is still in the /Custom folder. It is now a .CS file instead of an .INC file and uses C# instead of JScript. The CMS 9.0 CSAPI is publicly documented. The metaphors are very similar to those in CMS 8.0 and earlier, but the syntax is slightly different due to the change in language.
Custom hooks and tabs from CMS 8.0 and earlier won't cause errors in CMS 9.0 because they are disabled during migration until they have been syntactically updated to the CMS 9.0 format.
Developer training is available through the Ingeniux 430 API training course. Ingeniux 360 customers can get immediate coding assistance from Ingeniux site implementation engineers. Ingeniux Professional Services is available to assist other clients who don't have internal staff to perform the update. Please contact Ingeniux Support or your account manager if you need training or assistance.
XML Folder and Asset Storage Locations Changed
The XML folder is now located at \CMSPath\App_Data\xml. Individual xID files are, by default, no longer written to disk until publish. Each xID now has a property that allows it to be "serialized" to disk from the database if your CMS or site implementation relies on reading physical files from disk (not recommended).
Publish Folder Location Changed
The publish folder is now located at \CMSPath\App_Data\pub instead of being a child of the XML folder location. The published XML files in CMS 9.0 are identical to those in earlier versions.
Log File Locations Changed
All CMS log files are now located in \CMSPath\App_Data\LogFiles. The history.log file has been replaced with a unified audit trail.
Adobe Flash Required For Mass Upload
Adobe Flash 10+ is required for the mass-upload features in CMS 9.0. Users without Adobe Flash have single-file upload capability. Future updates will move to HTML5 upload to match Ingeniux Cartella.
Legacy Publish Deprecated
The only publishing process available in CMS 9.0 is the Dynamic Publish system introduced in CMS 8.0. The legacy publishing capability from CMS 8.0 was removed due to lack of use, performance, and standards compatibility. All CMS 9.0 customers use Dynamic Publish.
MSXML 6 Upgrade May Require Minor Template Changes
XSLT templates that call JScript extension functions that internally use MSXML 4.0–specific Prog IDs will need to be updated to use the MSXML 6.0 Prog ID. The XSLT engine in CMS 9.0 is now 64 bit, and there are no 64-bit versions of MSXML 4.0.
Internal User Database
CMS 9.0 has an internal user store in the NoSQL repository for users and instances that do not have Active Directory or LDAP access. During site instance setup, a new administrative login and password are created for configuration purposes.
Who Should Upgrade
All Ingeniux CMS 9.0 customers should upgrade as soon as possible. All Ingeniux CMS 8.0 customers on any service release can upgrade to CMS 9.0 SR6 without an intermediate upgrade. Clients with extensive custom hooks or custom tabs should evaluate the level of effort required to migrate the JScript to C# syntax. Customers on CMS 7.5 and earlier must first temporarily upgrade to CMS 8.0 before continuing to migrate to CMS 9.0 SR6.
Ingeniux Support will contact Ingeniux CMS OnDemand customers regarding the schedule for their OnDemand UAT and upgrade.
Upgrade Guidelines
To upgrade to CMS 9.0 SR6, follow these steps:
- Review the Ingeniux CMS System Requirements.
- Review the Ingeniux CMS 9.0 Installation Guide and/or CMS 9.0 Upgrade Guide.
- Contact Ingeniux Support to request a CMS 9.0 product key if you do not have one already.
- Configure a test environment with CMS 9.0 SR6 using a replica of the CMS 8.0 XML content.
- If upgrading from an earlier CMS 9.0, use a replica of the CMS 9.0 Content Database
- Create a new site in the test environment using the CMS and DSS Site Setup wizards. See the Installation Guide for details on how to do this.
- If upgrading from CMS 8.0, run the Ingeniux CMS Site Last Generation Upgrade Wizard in the test environment to upgrade the site content to the latest version of Ingeniux CMS. If upgrading from CMS 9.0 to SR6, run the Ingeniux CMS Site Upgrade wizard instead.
- Evaluate the site implementation in CMS 9.0 SR6 within the test environment.
- Perform a full publish and set up a DSS site in the test environment to evaluate the latest version's DSS features.
- In most cases, DSS and DSS Preview upgrades are now performed automatically by the upgrade wizard with CMS 9.0. Alternately, customers upgrading their MVC template sites can continue to update the Ingeniux API DLL manually in their Visual Studio project, build the DSS site, and deploy the new files to the DSS code location. See the MVC knowledge base article describing these steps.
- Implement the CMS 9.0 SR6 upgrade in the production environment following the same process.
Ingeniux Support is available to work with your organization to determine the optimal plan and time frame for upgrading to the CMS 9.0 release.
License Key
Customers who upgrade from a previous version must obtain a new license key specific to CMS 9.0. Please contact Ingeniux Support at 1.877.299.8900 or support@ingeniux.com to request a new product key.
More Questions
Please contact Ingeniux Support at 1.877.299.8900 or support@ingeniux.com with any questions regarding CMS 9.0 SR6.