New and Improved in CONTENS 5
What's new in CONTENS 5? What has been improved? On this page you can find out what new features and improvements await you in CONTENS 5. Or you can download the CONTENS Factsheet PDF.
What's new in CONTENS 5? What has been improved? On this page you can find out what new features and improvements await you in CONTENS 5. Or you can download the CONTENS Factsheet PDF.
NEW for Editors
Quickly create new pages
One click on the green plus button above the Page Tree opens the menu to create a new page at a chosen point in the Navigation Tree. The “New Page” function in the page context menu creates a new page at the selected point in the Page Tree, just as before. Once a page is given a title it is saved.
Using the context menu function "Rename page" a page can be renamed directly in the Page Tree without opening the page properties.
Create new objects by Drag & Drop
Editors can create new objects on a page using drag & drop. The object classes permitted on this page can be dragged from the new sidebar to the webpage, including the desired format template. The system display indicates where an object class is allowed and where it is not. If the selected item is allowed at this point, the object window opens for editing.
In the translation view of an object, content can be translated automatically using the arrow icons. The translation may be carried out one line at a time by clicking on the respective arrow icon for that line, or all at once with a click on the arrow icon for all contents.
This also works in all forms with mandatory multilingual fields, where the entered text is automatically transferred into the incomplete language versions. The text module wizard has been completely revised to properly integrate the translation service.
Currently supported services are AWS, DeepL and Google Cloud (API keys or tokens required, services partly charged by the provider).
Mark important image contents as a HotSpot
The most important part of an image may be marked as a HotSpot. When images are automatically cropped to correspond with predetermined aspect ratios, the marked part of the image is then recognized and centered.
With the help of AWS Face Recognition (API key required) CONTENS can automatically recognize faces on image files and use them as a HotSpot.
Restore deleted contents from the Object Recycling Bin
The object recycle bin lists all objects that have been deleted on pages or in the object library. These objects may be re-opened, edited and restored.
Edit Richtext-Objects in the Correction View
Objects that utilize the Richtext Editor and do not contain a sub-object may be edited in the Correction View.
Open Object from Correction View
When in the Correction View, content can be edited directly on the page, but sometimes it is necessary to open the object. This is now possible with a click on the pencil icon.
The undocking function allows you to decouple an object from the current browser window and edit it in an external window. This is useful for editors who work with multiple monitors.
In addition to the object windows, the Infocenter can also be undocked, making it easier to keep an eye on tasks.
Internal and external short links
Short links turn cryptic URLs into easily readable links, e.g. www.firma.de/jobs. They may be created for pages managed within CONTENS as well as for external websites. Clicking on the gear symbol will generate a random code as short link.
External short links are simpler links that redirect to external pages with difficult to remember URLs. They can be set up under Administration > System > Short Links.
Links to content in the Content Library
To open and proof a specific item in the library, editors can send a link to the data by email. The link takes a logged-in editor to the content library and opens the chosen piece of content.
Favorites for menu entries
Logged-in CONTENS users can select menu entries in the Contents and Administration areas as personal favorites. This also applies to saved search profiles. Individual pages may also be selected, just as before. A click on the star icon in the upper menu bar opens the personal favorites.
Default output type for each page area
A default output type can be defined for each object class in each page area, to be used when a new object is created. This makes creating new content in a particular design quicker, while display flexibility is maintained.
Relative date format
The option "Date format: Relative" shows recent times as "4 hours ago" or "yesterday at 14:31", and less recent times in the format "dd.mm.yy". Editors may select this date format in the user profile under Appearance.
Support for languages reading right to left
Languages reading right to left such as Arabic or Hebrew are included in the input fields and in the Page Tree (RTL = right to left).
Customizable color profiles
Four color profiles (blue, green, orange, and red) are available for the individual design of the user interface. Editors who edit different installations can use this to better distinguish between them (e.g. stage in green, live in blue). In addition, they can individually adjust frame thickness and color to better differentiate the CMS and the website being managed.
Usage overview in the object report
In the "Usage" tab of the object report it is shown where an object is being used as subobject. References to possible instances are also given for the main objects listed. A context menu can be opened by right-clicking to view the instance properties, which can be used to quickly switch to the corresponding page.
The same context menu is also available in the Instances tab.
Category structuring elements
The new category option "selectable yes/no" specifies that an element can actually be assigned to an object as a primary or secondary category (yes), or whether it only serves to structure the category tree, i.e. cannot be assigned (no).
Image Formats with Aspect Ratio
The format definitions have been significantly extended compared to CONTENS 4. As before, automatic image scaling can be achieved by specifying the maximum width or height. In addition, it is now possible to define formats with an aspect ratio, e.g. 16:9, which will adjust images in order to fit the specified ratio.
Since the center of an image is not always the key element, the relevant part of the image may be marked with a hot spot.
In addition to an aspect ratio, each format can be given a name displayed during image processing and the checkbox "Allow manual cropping" can be used to determine whether the automatic formatting may be changed by the editor or not.
When assigning formats, a format can be defined as standard for each object class. This means that the format template will used the selected format instead of the original image as an image tag.
Object copy mode at class level
A setting can be used to globally specify whether subobjects are only referenced when the main object is duplicated (same subobject) or duplicated as well (new subobject).
It is also possible to control this at the object class level and to specify a default setting there. The copy mode can then be set separately for each object class to "Reference" or "Duplicate". This makes sense if subobjects of certain classes are to be reused (e.g. images, social media etc.), but not others.
Sort categories alphabetically
If a lot of primary/secondary object categories are used in an installation, it is easy to lose track if they are not sorted alphabetically. The included plugin "categories-alphasort" shows how to automatically sort all or some branches of the category tree alphabetically with simple code.
IMPROVED for Editors
Advanced image editing
The image editing has been completely redesigned, is clearer and offers more features. Brightness, contrast and sharpness may be adjusted.
In addition to cropping or resizing, an image can be rotated 90°. The improved Canvas Editor, zoom functions, and the display of x/y coordinates also help editors choose the right selection for image formats.
A new action can be used to explicitly grant image editing rights to any editor.
GraphicsMagick as well as ImageMagick may be used as an image processing library (Image Engine).
Select output types more quickly
If more than one style is allowed for an object class in a page area, it can be assigned directly via the object context menu. This is easier and faster than using the “Instance Properties” dialog.
Improved MSWord import
The new plugin allows you to copy and paste content from Microsoft Office Word into the rich text editor. Desirable formatting may be defined and retained, unwanted formatting from Microsoft Word and Excel is prevented.
Simplified table creation
A new plug-in in the Richtext editor simplifies the creation of tables.
Editors can copy the format of an instance via the context menu and assign it to other instances of the same object class using "Copy Format”.
The templates assigned to a page can also be added to the page tree using "Copy Format" in the context menu and assigned using "Transfer format", which accelerates the redesign of similar pages.
Transfer format while copying objects
In the workspace, the object context menu item "Copy" no longer only copies the object to the clipboard, but also the combination of "Object and format". If the object is pasted at another position, the same format is reassigned to the object, provided this is permitted at the new position.
Create sub-objects using drag & drop
If you drag and drop a picture or file into an object line, the window for the relevant sub-object class opens so that you can save the picture or file and any additional data. The image or file is automatically assigned to the upload input field, which accelerates the creation of sub-objects. This functionality can be adjusted individually via the new menu item "Mime type Class Allocation".
Faster internal search with Elasticsearch
CONTENS now supports Elasticsearch version 6.x and continues to support version 5.x as before. Through this the search becomes faster and requires less resources. In particular, the display in the content library and the internal object search have become faster.
Advanced search improved
The advanced search in the content library offers the filter "Meta-Keywords" with SAYT search (Search-as-you-type) as well as date filters for the time "Created" and "Changed". Search filters and facets that do not meet the search criteria remain at the corresponding position in the search form and display the message "No results found".
The category selection has been extended by a display of the tree structure, which is shown when you move the mouse over the category names. Categories with the same names in different branches are easier to distinguish, e.g. with 3 "Service" categories: "Cologne \ Service", "Munich \ AACG \ Service", "Munich \ PSVJ \ Service".
In addition to a global full text search, a detailed search for the contents of a specific object class is also possible. The funnel symbol next to the class names leads to an input form, e.g. for Image:
This allows you to search more precisely for a specific value in a specific field.
Precise search with parameters
In the library, search queries may be performed with the following search parameters:
Easier data set selection
In all lists, data sets can be selected by left-clicking in the line. It is no longer necessary to click on the checkbox.
Optimized object archive
You can use the context menu to access earlier versions of content in the object archive. There you may compare two versions with each other, or view one version in the object window and restore it if necessary.
Define Language Versions for Sub-objects in Rich Text
In the Rowtype Richtext, you can use the context menu for sub-objects to specify the language version of the sub-object.
In the sub-object list of the Rowtype Richtext, a new language version can be assigned to several sub-objects simultaneously by selecting the checkbox. The list can be used to remove several subobjects at the same time, and the style can be changed for each individual subobject.
Individual elements may be time controlled
Individual parts of an object (e.g. teaser) and integrated sub-objects (e.g. image gallery) can be timed independently of the respective object. For example, an object can be published at time T1, while certain contents (e.g. picture gallery) are published later at time T2. Active time periods are displayed with a green clock icon, elapsed time periods with a red clock icon. The function may be activated with a setting.
Delete language versions of an object
In the save options of an object, a selection menu may be used to delete a language version.
More security when deleting
When deleting pages and objects via the context menu, an ellipsis (...) indicates an additional dialog. This lets editors know that a click does not execute the delete action immediately, but that a dialog will be displayed in which the deletion can be confirmed or cancelled.
Publish objects and pages when saving
In the save options of objects and pages, you can specify that they are to be published at the same time as they are saved. For example, when saving pages certain settings can be inherited by all objects on a page. The save options are displayed with a gear icon. For objects they are located in the save bar, for pages in the save bar of the page properties.
Start times for instance publication
Since objects can be published automatically at certain times, it is important to specify that the instances should also go online. The option "At start time" in the publication settings of an object enables the corresponding publication setting.
Optimized thumbnails in the Gallery rowtype
The gallery rowtype uses optimized thumbnail views of images to speed up loading times.
Mass publication or deactivation in the object library
In the object library, editors can publish and deactivate several individual objects simultaneously using the mass function checkboxes.
Delete parallel language versions
The option "Delete parallel language instances" also deletes the instances of the object in parallel language versions. The maintenance of international sites in numerous languages is noticeably simplified in this way.
The status of the current page and the parallel language versions is displayed in color to the right of the page title in the Publish dialog.
"External Links Report" improvements
The link status has been improved with the " unchecked " indicator, which is shown in the list entry with a yellow status icon. The context menu actions have also been optimized.
Instead of an internal link ID, the object ID to which the link belongs is now displayed in the overview. In the "Status" column, you can now also see whether an object has instances. The instance properties can be opened for editing via the icon.
Delete language versions
When deleting a page via the context menu in the page tree, the checkbox "All languages" can be used to delete all language versions at once. Individual languages may also be selected for deletion in this way.
A double-click on the label opens a window for the Rowtypes object, object container, image object and file object in which the linked sub-object can be edited.
Object publication with feedback
If an object is published via the context menu item "Publish object" or "Publish language version" of the content library, the editor receives direct feedback: While the process is running, an animated "Please wait" icon appears in the line instead of the checkbox. When the publication is finished, the line is highlighted for a short time.
Category management improved
The category list now contains the filter selection "Parent category" to limit the result set to elements in the branch below.
The "External object search index" for the automatic output of objects can be completely updated via the More button or via the context menu for each category.
In the detail form, an editor with the appropriate access rights can assign editor groups to each category, which was previously only possible via the menu item "Category rights".
Restrict secondary object category
The secondary category, which may optionally be defined in the object class, can be assigned directly to new objects of the class as before.
With a new setting, it is possible to restrict the selection in the object window to only the category branch below the selected category. If a more content or type oriented categorization is desired instead of a more global one, this feature may be used for specific or all classes.
Language versions in the List View
In the workspace List View, a button for switching to the language view is offered in a similar fashion to the content library, so that an overview of different language versions of the object instances can be created quickly.
NEW for Administrators and Developers
Web pages without file extensions
Published CONTENS pages can be displayed without file extensions (e.g. .html, .cfm). All links in these pages (e.g. in the navigation or in Link Rowtypes) can be displayed without extension. Under Administration | System | SEO URL Settings the file extensions defined in the output channels may be added or removed. In Apache and IIS the web server rule can be automatically generated, in Nginx it must be configured manually.
Simple exchange of data between forms and tables
Developers can more easily exchange and versionize form and table data between different systems (e.g. Stage and Live). After successful tests on a stage system, new object classes can be quickly and easily transferred to the live environment.
New full text search
The full text search has been completely redesigned. Published objects are automatically indexed in external elastic collections. There is a new external object repository for Elasticsearch and a new application "Object Search" as well as new search settings, plugins and decorators for faster and more precise search results.
Automatic distribution of objects
The new object search allows the automatic and flexible distribution of objects on pages. Content that meets adjustable criteria (e.g. class, categories, etc.) can be automatically exported to one or more destinations. The object search replaces the previous "Active Location".
Automatic distribution of pages
The page search has been designed as analogous to the object search. It enables information about published pages to be read and displayed with high performance via applications on websites or an API (e.g. for mobile apps).
The data of published pages is stored in Elasticsearch and is available for search functions on the website. The content of the search index can be customized for specific projects using decorator code.
Object categories available for output types
If the categories assigned to an object are relevant to the output, they can be made available in output types via two settings. This applies to rights or primary categories as well as topic or secondary categories. This makes categories easier to use for distribution.
Links to records
Record links can be set to virtually any record within the administration tab. Editors can send a record link, for example, as a reference for a specific object in an e-mail. The recipient is led directly to the referenced object in the system via this link and can make changes there.
Easy adaptation of output types and templates
The code editor makes it possible to quickly and easily adapt output types and templates directly in the workspace. Additionally, the assignment of object classes to page areas may be edited, along with output types.
Module Import / Export
Using the Module Import/Export complete modules consisting of webpage applications, backend forms, table definitions, SQL scripts, etc… can be exchanged between the source and target systems, e.g. between the stage/test and the live system.
Editors with system administration rights can simulate active editor access. This may be used to test whether the assigned rights configurations have been entered correctly. In simulation mode, the background color of the CONTENS header area is always black.
Assign additional editor accounts
In the editor management, additional editor accounts can be assigned to an editor, enabling the editor to quickly switch to them via an entry in the profile menu. The editor thus has different contexts in which he can work in a shielded manner, e.g. to perform different roles (activate content, manage editors) or to work on different sites (Internet, Intranet, etc...).
Configuring maintenance mode
During the implementation of necessary technical operations in the CMS (e.g. update, ...) editorial activities might only possible to a limited extent. To prevent editorial activities for a period of time, the maintenance mode can be activated via Administration > System > Maintenance Mode. When maintenance mode is active, the CMS border is displayed in red and only system administrators can work. All other active users are logged off and redirected to the login.
Create system message
To announce a maintenance mode or to alert all editors, a notification can be created via Administration > Services > System Message. This system message will then be displayed to all logged-in users. To create a system message this function must first have been enabled.
Optimized server mapping
If numerous sites are to be distributed among just a few servers, this can be configured in the site administration (Administration > System > Sites) by assigning a specific server in the tab "Transfer Data".
Online and offline API
The project folder contains the dashboard of a REST API. Custom components can be used here, as well as those based on object classes. With the first request, an API token is generated with which all API queries are secured (entry in the request header is required). Under data classes, you can generate CRUD functions for offline data (draft) or queries for online data (published) in the Objectstore.
The generated components for the selected object class are automatically made available to the CONTENS API. For online data the selection is limited to Objectstore classes. The list functions offer full text search, various filters, sorting and pagination options.
This optional CONTENS component enables the central administration of content and its efficient distribution across different channels.
The Includes feature now makes it easier for developers to easily create navigations and embed code within pages. In older CONTENS releases, the creation of navigation Includes was more time consuming. Usually pages were created in the normal page tree and published manually. In addition, it was not possible to simply embed shared HTML into the pages via this system. For each output channel, you can define how the Include code is deployed.
Dashboard and Widgets
In the new, customizable dashboard, widgets show information about the CMS. Select existing widgets for editors or administrators in the dashboard bar and arrange them on the dashboard using drag & drop, e.g.
Customer-specific widgets for displaying external data can also be created and integrated.
The log files of the Application Server (ColdFusion, Lucee) may be called up in the Administration | Reports | Internal | Logviewer area.
Key/Value form row
In this new form row option, there are two input fields that are arranged next to each other. A separate title can be specified for both. "Key/value" can be defined multilingual and multiple used. This form row is useful, for example, to display JSON code.
Relevant elements of an object class can be used as labels, to be shown in the object library. The "Update Label" function from the context menu can be used to update the label settings of an existing object class.
AWS S3 for file distribution
AWS S3 is now also available for file distribution. This is useful, for example, when delivering static pages via S3 or via AWS Cloudfront. FTP, SFTP and SCP can also be selected as connection types. In the overview of the connection manager the respective connection type is now also displayed.
In addition to the page variables, site variables (global) are also possible. They apply to every site and are edited under a separate tab in the site administration. The set values are available when rendering a page and can be retrieved via the request scope (request.stPagedata.sitevariables). The desired form fields are defined via XML file similarly simple as page or instance variables. The registration is done by the multi-option "Import site variables" in the site administration.
Cloud Hosting / Dockerization
CONTENS 5 can be installed directly on a server or in a DOCKER container, and the CMS may also be hosted by cloud service providers (Amazon Web Services, etc.).
All CMS settings, such as imaging, cache, or queue, have been combined and grouped in one file. They are stored in a file in the project folder called "settings.cfm". Therefore the menu item "Basic settings" has been removed.
For each setting there are defaults (visible in the file con-tens\settings.default.cfm), which do not have to be specified completely thanks to an inheritance mechanism, but can also be overwritten for individual keys.
The settings.cfm format is json-compatible and can contain a "global" entry as well as sections for different servers that can adapt global settings locally so that the same settings.cfm can be used on the Development, Stage and Live systems.
Upgrade support for CONTENS 4
The data of a CONTENS 4 installation is completely transferred by scripts and automatically converted if necessary.
The code for custom forms / object classes as well as model files and plugin code is compatible except for a few documented exceptions.
An upgrade tool has been created for Settings, which largely automates the transfer and merging into the new format (see above).
Upload Pipeline / Upload Events
Through new events that are executed during the upload, uploaded files can be automatically checked or converted.
It is possible to call virus scanners, image processing, video transcoding, convert texts into certain formats (e.g. PDF), etc.
The included plugin "uploadpipeline" performs a CMYK-to-RGB conversion for images, optimizes (compression with low quality loss) and improves (sharpens, denoises) them.
IMPROVED for Administrators and Developers
Assign actions directly to a role
Actions can now also be assigned to roles decentrally in each action’s menu. The central assignment of roles to actions under Administration | Security | Roles | Role Actions Rights is retained.
Use one email address for multiple editors
Different editors can be assigned the same email address if they have different user names. Among other things, this allows several users in the same department to share a common mail address (e.g. „First name Last name“ <firstname.lastname@example.org> ).
Generate multiple Classes / Forms simultaneously
Developers can select several object classes or forms in the respective menu items to generate and distribute simultaneously with a single click. This helps after changing several custom codes or the like.
When using the context menu items "Refresh location code" and "Register template", additional dialogs are displayed. This prevents unwanted code or certain files from being changed, and keeps problems from occurring when rendering the pages.
Interfaces for Google Analytics and Webtrekk
Interfaces for Google Analytics and Webtrekk have been integrated for the tracking and statistics of external pages. To activate this interface, a Google Analytics license file with the API access data must be available.
With the help of database sequences, speed and reliability when inserting new data records could be increased enormously.
Rowtype and usability improvements
Checkboxes can now also be arranged horizontally and not just vertically. Rowtypes with selection options are clickable along the entire row, not just the + icon. If no further options are available, the selection field is deactivated.
Many Rowtypes were completely or partially revised, e.g. password, timepicker and all upload Rowtypes. Search-as-you-type is now built into the data list.
Absolute positioning with wrappers
The display of internal object frames and icons in the workspace is now done with absolute positioning of wrappers. This ensures that certain CSS definitions are no longer overwritten. Published pages no longer contain any CMS code except for an ID.
Improved settings for moving pages
A setting can be used to inherit categories and templates from the new parent page when moving pages across sites. This makes the manual assignment of new categories and templates for moved pages unnecessary.
Optimized re-indexing for search indexes
To ensure that the external search is still available as usual during the re-indexing of ElasticSearch Collections, it now uses an alias. After re-indexing ElasticSearch Collections, the external search index is exchanged with the updated collection. Thanks to the version number of the updated search index, this alias exchange can take place as often as necessary.
Remaining tasks are carried out
Scheduled tasks, such as publishing or deactivating a page at a point in the future, cannot be performed if the server is not available at the scheduled time for maintenance reasons. The updated publisher process now retroactively takes into account tasks that have been suspended for up to one day or aborted due to errors and executes them again.
Improved display and output in the object store
The CONTENS Objectstore enables the high-performance output of published objects' content via applications on the website or via the API (e.g. for mobile apps). The format in which the data is stored in ElasticSearch is now easily customizable and the standard is more readable. The overall functionality is optimized to read and process only the desired data, rather than all of it.
Improvements in the Updater
The Updater tool for updating special data in the customer folder has been improved.
Support for displaying Responsive Images
If images are output in format templates, the SRCSET attribute can be derived from the existing formats using a new function. It is also possible to generate an entire IMG or PICTURE tag.
Faster image editing
Performance when editing images has been improved by optimizations of the image processing operations and the elimination of an intermediate service.
The indexing of internal and external data has been optimized by new mass selection functions.
New Databank versions
The following are supported: MySQL 5.7, PostgreSQL 10, MariaDB 10.2, Oracle 12, MSSQL 2016, Microsoft Server 2017 (Linux Support)
Here various performance improvements and new functions such as proxy support have been achieved.
Server Sent Events (SSE)
Server Sent Events can be used as a replacement for Websockets because they are easier to configure.
CONTENS supports new, modern caching services such as Redis and EH-Cache in their latest versions.
CONTENS 5.6.04 includes updates from Angular to version 7.2.4, Webpack to version 4.29.3 and Node.js to version 10.15.1
Object Class structure properties
The properties of form lines have been split for more clarity. In the immediately visible section "Properties" there are frequently used settings with which the form lines can already be configured. Below this, in the initially closed section "Advanced Settings", specific and less frequently used settings have been placed.
Improved editor management
The editor list is started with a filter to "active" editors, which can be switched to "inactive" via a pulldown. To enable sorting, the columns First Name and Last Name were separated and "System Administrator" was added.
In the form the upload of a profile picture has been added, which can also be used to differentiate between different accounts. Alternatively, "Gravatars" can also be used, which are assigned via the mail addresses.
With "Primary category defaults", categories may be entered that are immediately assigned to editors when new objects are created.
Assigning roles to actions
In the detail form of an action, you can select the roles to which they should belong, which was previously only possible using the menu items "Roles" or "Role-action rights".
Object Class Elements for Format Template Code
The fields for each class can be called up individually in the style sheet code editor via the selection menu "Definitions", which simplifies the creation or amendment of the codes.
Automatically clean up upload files
Editorially uploaded files are cached in a secured temp folder. If an operation (for example, saving an object) cannot be completed, for example, due to validation rules, these cached files are retained. A new, time-controlled process automatically deletes these files after a set period of time (e.g. after 30 days).
Automatically clean up scheduled jobs
Scheduled tasks are automatically deleted after they are completed. In rare cases, it may happen that individual tasks are not deleted, regardless of whether they have been performed or not. A new function now removes all scheduled tasks from the application server that are older than two days.
Better CMS performance through parallelization
Editorial tasks in the CMS, such as publishing pages, deactivating content or distributing files, are now carried out more quickly through parallelization using Rabbit MQ. Depending on the extend and intensity of use, a significant performance improvement can be achieved in comparison to the sequential processing of editorial tasks
New tools for checking and repairing page trees
There are new tools for checking and repairing page trees that have been optimized for installations with numerous sites. Individual sites can now be specifically checked. The check of all sites has been split into individual steps to improve performance. There are useful scripts that can be executed on demand to assist in specific situations.
Easier data exchange between Stage and Live
In order to simplify data exchange between stage and live systems, the mass function "Create XML" was included in numerous lists, e.g. for objects, editors, actions, sites, target groups, channels, workflows and categories.
Modern technologies and concepts are used in the development of CONTENS 5 and the Service Packs: