Orckestra CMS 5.3
Orckestra CMS 5.3 (5.3.6135.33075)
This release is our first as Orckestra CMS, after changing name from Composite C1. We've added the ability to duplicate pages and data, bumped up the .NET version requirement, added automated end-to-end testing and been fixing reported issues.
Download
Product name update
As advertised last month, we are renaming the product to Orckestra CMS - the open source project is named Orckestra CMS Foundation.
Duplicate Pages and Data
You can now create copies of pages and other content items via the new Duplicate action.
For tree structures created you have created with the Tree Definition XML format, you can selectively include the command on items using the element <DuplicateDataAction />
Upgrading .NET Framework to 4.6.1
To keep up with the improvements of .NET Framework we have upgraded to 4.6.1.
For customers using our Azure Cloud Services (WebRole), be aware you should obtain an updated package from us, which ensure .NET 4.6.1 is available on the machine.
Automated end-to-end testing with Nightwatch.js
We have added "Nightwatch.js, Node.js powered End-to-End testing framework" and extended it with an API tailored for writing tests for the CMS Console, giving you commands like browser.selectPerspective("Content").openTreeNode("Venus Starter Site").selectTreeNodeAction("Getting Started", "Duplicate Page")
Our build environment is executing these tests automatically after each build. This should ensure even more stable releases and automatic quality control on nightly builds.
To create a new test, add a .js file below ~/Website/test/e2e/suite - a sample test is shown below.
module.exports = {
'@tags': ['Duplicate'],
beforeEach: function (browser) {
browser.url(browser.launchUrl + '/Composite/top.aspx');
var content = browser.page.content();
content
.prepare();
},
'can duplicate simple page': function (browser) {
browser
.selectPerspective("Content")
.openTreeNode("Venus Starter Site")
.selectTreeNodeAction("Getting Started", "Duplicate Page")
.assertTreeNodeHasChild('Websites', 'Venus Starter Site')
.assertTreeNodeHasChild('Venus Starter Site', 'Copy of Getting Started');
browser
.selectPerspective("Content")
.selectTreeNodeAction("Copy of Getting Started","Delete")
.clickDialogButton("OK")
.assertTreeNodeHasNoChild("Copy of Getting Started")
},
afterEach: function (browser, done) {
done();
}
}
Support for Version Publication (commercial add-on)
With this release customers that are using the Business and Premium editions can install the Version Publication add-on and create multiple versions of a page publish according to a schedule.
For details, see https://cms.orckestra.com/Add-ons/All/Orckestra.Versioning.VersionPublication
Minor Changes
- Added an author column to the unpublished list
- Using non-blocking synchronization in DataCachingFacade to avoid file watcher buffer overflows and timeout exceptions during website installation
- Making DataFacade.BuildNew working in unit tests on release builds
Bug fixes
- Fixing an exception in SqlLoggerTextWriter when a query parameter isn't parsed correctly
- Fixing the Undo Changes action on pages
- Fixing a primary key update in relation to version fields
- Fixing pre-filling of a parent element reference when adding new data items
- Properly logging exceptions related to invalid XML markup referenced in tree definitions
- Fixing exceptions in the log caused by grouping elements
- The tree won't show data elements placed at the root
- Saving a page does not update the Console browser if the page was in "draft" state
- Fixing message broadcast without body text in the Console
- Fixing an upgrade bug caused by presence of existing dynamic page meta data types
- Fixing a DynamicDataTypePackageFragmentInstaller compile error
- Fixing an exception in routing code when making requests to a language without published pages
- Can't change the page type on pages
- Strings on options get cleared when the function properties window gets updated
- Fixing MultiKeySelector in compact mode not preserving the selection order
- Fixing the issue where tree element labels that JS can evaluate into a numeric or Boolean would break the Console
- Fixing the issue where the namespace of new Razor functions is present with different casing
- Fixing the issue where packages could not be installed from the package info view
- Catching and logging unhandled exceptions in FileChangeNotificator
- Fixing an issue where deleting a page version would select the root element and the version name would still stay in the selector
- Fixing an exception when adding meta data via the API without a logged-in user
- Fix adding a page folder data when a page that has more than one version causes an error