Cloud CMS Release 3.2.61
Published on 11/11/2020
Update Recommendations (On-Premise Only)
With this version of Cloud CMS, we have disabled the deprecated Elastic Search Transport Client and have switched to using our Condor HTTP client. As such, connectivity between the api
and elasticsearch
services are no longer using port 9300
by default. They are now using port 9200
by default.
Please check your configuration to make sure that the API can connect to Elastic Search’s HTTP Endpoint.
For information on configuring Elastic Search for Cloud CMS, please see:
https://gitana.io/documentation/docker/configuration/api-server.html#using-the-condor-http-client
For improved performance, we recommend you rebuild your cluster indexes. To do so, we recommend using the reindex-datastore
command via the Cloud CMS Command Line Client (https://gitana.io/documentation/cli.html#reindex-datastore).
You can execute it like this:
cloudcms admin reindex-datastore --datastoreTypeId cluster --datastoreId default --children --username <username> --password <password>
Where the username
and password
are the credentials for your administrator account.
Enhancements
Branches
- All Branch maintenance commands have been enhanced and improved to work more seamlessly with the user interface and command line tools. These include jobs and workers to manage search indexes, path indexes, rebuild views and recreate filenames.
- Improved the resiliency and runtime performance of the recreate filenames worker.
Cluster Management
- Added services and API methods to let administrators retrieve cluster-wide configuration settings, diagnostics and properties settings as well as monitor job queue and report on job statistics.
Command Line Client
- Added support for multiple profiles to let you execute commands against multiple Cloud CMS environments more easily. Use the
--profile <profile>
switch to select and manage your profiles. - New command to find deployment records for a given node.
- New commands to retrieve platform and project level log files.
- New commands to inspect the job queue and query/read individual jobs.
- New command to re-sync publishing state to let you republish a bulk set of nodes to a deployment target.
- New commands for on-premise administrators to retrieve and inspect cluster health and state.
- Improved support for multi-factor authentication code usage when initializing and executing administrative commands.
- Added support for
--ids
switch to allow any result map response to hand back an array of row IDs. - New commands to manage and administer branches including dropping and recreating search indexes with zero downtime, dropping and creating path indexes, rebuilding views and recreating filenames.
- New commands for working with projects and file systems.
Forms
- Improvements to support for
$ref
bearing definitions and forms for validation and rendering. - When Forms render, schema and form options have references expanded on the fly for faster performance.
Jobs / Workers
- Improvements to scheduling and error capture of jobs in the job queue.
- Enabled the Job Reaper by run by default and to be more aggressive in cleaning up old jobs.
- Support for TLS 1.2 when sending and receiving mail via an Email Provider.
Performance
- Optimized code paths throughout the API to make better use of streaming and transaction handling.
- Faster and leaner execution with a much lower memory footprint.
- Improved performance with smaller transaction sizes when moving nodes within the same branch or between branches.
- Improved performance of
/find
API calls for cases where a query or a search are not provided
Publishing
- Added a
/publishing/resync
API call that allows developers to modify lifecycle state and bulk publish nodes in one fell swoop.
Scripts
- More documentation and annotations added for server-side scripting, see https://gitana.io/documentation/scripting.html.
Search / Indexing
- Faster and more efficient indexing and searching using optimized HTTP driver.
- Elastic Search branch indexes now recreate much more efficiently and with zero downtime. The new index is prepared in the background and then swapped in with no downtime for live searches.
- Better error handling so that indexing errors propagate up to parent job and are immediately available from the Branch Administration page. This helps you to discover nodes that failed to index due to schema issues or other factors.
- Improved support for diacritic characters with automatic ASCII folding (so that a search for, say,
Zürich
andZurich
will come back with the same results). For more information, see https://gitana.io/documentation/search.html#diacritic-characters. - Improved support for escaping of special characters (as defined by Elastic Search). For more details, please see: https://gitana.io/documentation/search.html#special--escapable-characters.
- Initial support for custom analyzers to allow for variations in how text is analyzed and returned at both index and search time.
Transfer / Export
- Additional support for new export options (
optionalAssociationsExcludeTypes
andoptionalAssociationsMaxDepth
) that allow callers to limit and control how the crawl of optional associations is performed.
User Interface
- Module Deployment is now faster and more resilent and allows for full configuration of an S3 backup store for replicated faulting to new UI server pods as they come online. This works consistently for module code, configuration and templates.
- The user interface now shows more information about rules configured globally or for a single document. This information now includes greater detail regarding the policy binding and more detailed summary of the conditions and actions configured for the rule.
- All branch-level maintenance commands have now been moved from the Tools page to the Branch Administration page. This includes recreating branch search indexes, recreating path indexes, rebuilding branch views and recreating filenames.
- The Branch Administration page now shows indicators to reflect the state of search and path indexes. That way, managers can quickly tell the state of an index and manage it more effectively.
Bug Fixes
AWS / Cloud Watch
- Fix to the AWS CloudWatch Appender to make sure that items are ordered as expected for all cases.
AWS / S3 Storage
- Fix so that writes into S3 utilized predefined chunk sizes so that very large files can write without issue.
Content Streaming
- Fix to a off-by-one issue that could occur for some binary storage implementations when streaming partial content using the
content-range
header.
Node Service
- Fix so that transfer service and other services that retrieve nodes by changeset are guaranteed not to get results for the wrong changeset.
Paths
- Fix to the encoding of paths when producing concatenated child paths.
Projects
- Fix so that projects automatically clean up for additional cases where an error may occur during Project Import.
Property Mappings
- Fix so that deleted nodes in the same transaction are taken into account when asserting no duplicate property mapping associations.
Search/Indexing
- Fix so that content encoding variances on incoming request are handled correctly and UTF-8 character conversion is guaranteed ahead of indexing and search calls into ES.
Transfer
- Fix so that the partial import of branches automatically resolves any missing parental changesets on write.
- Fix so that JSON Schema array
items
schemas that use$ref
will be properly detected and have those definitions included in the export set. - Fix so that any discovered
$ref
QName loaders will properly parse for string formats that may include an improperly formatted hash suffix.
Tree
- Fix so that paths are properly constructed when building out the tree response for cases involving some special characters.
User Interface
- Fix so that UI gracefully handles the recovery of improperly formatted or munged session cookies.
- Fix so that the
cloudcms-link
andcloudcms-image
plugins for CKEditor will properly hide the upload button and allow you to disable the uploading of new nodes. - Fix so that the Delete Workspace button doesn’t appear for the master branch (it was always blocked within the API but the UI left the impression it could be deleted).
- Fix so that real-time UI cache invalidation works for some on-premise cases where the incorrect hostname was being placed into the notification message.
Web Hooks
- Fix so that the proper response payload MIME type is captured and retained on completion.
Ready to Get Started?
Unlock your data with smart content services and real-time deployment