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.
Mark several objects in the clipboard
With the "Mark all" checkbox you can mark all objects on the clipboard at the same time in order to insert them on a page or to remove them from the clipboard.
Assigning an output type to several objects
If several output types are allowed for objects of a class in a location, the same output type can be assigned to all selected instances in the list view with one click on "More options".
If an instance configuration was noted with "Copy format" in the object context menu, it can be assigned to several instances at the same time on any page in the list view with the mass function "Assign format" (provided the output type is permitted there).
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.
Page search function in the tree
The page tree now has a search function to search for page names or page IDs when linking. The search function has been integrated into the page tree in the workspace, as well as in the rowtypes "link", "richtext (internal links)" and "pageselect".
Clicking on the new button (magnifying glass icon) opens a new search window and the selected page from the results list leads back to the page selection and selects the page there.
PDF archive / Log page status
With the new PDF archive feature, a PDF snapshot can be created of a page during publishing, i.e. of the main page, any existing detail pages, and in each case in all target group/channel variants. These PDFs allow the editor to get an impression of the state of the website at that time.
A history of the publications logged for this page appears in the PDF archive overview. Once a desired publication date has been selected, the PDF is displayed in a viewer.
For pages that have already been deleted, the menu item Page recycle bin exists under Administration | Reports | Pages, which can be used to view the PDF archive of deleted pages.
The PDF archive requires specific configuration and, if necessary, some adjustments to the templates. Since a complete backup of all variants and all pages quickly requires a lot of storage space, only certain pages should be archived, and the archive cleanup should be configured accordingly conservatively.
Search-as-you-type in Dropdowns
The new search field with search-as-you-type function ensures faster filtering of extensive selection dropdowns. After each entry, the selection field is filtered accordingly and the number of options is reduced.
Edit Richtext-Objects in the Correction View
Objects that utilize the Richtext Editor and do not contain a subobject 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.
ChatGPT plugin - Optimize and translate text
A new ChatGPT plugin has been developed for the rich text editor, which is able to revise selected text using artificial intelligence. As soon as the plugin is configured, a context menu appears when you right-click on selected text.
Depending on the option selected, the text is modified or optimized. It is now also possible to translate texts with the help of ChatGPT. After appropriate configuration and with the translation engine activated, the tooltip for "Copy" changes to "Translate" in the translation view of objects.
Undocking
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.
When undocking an object window, the address bar is preserved and can be copied to reopen the object later in a browser (with valid registration / "user session").
In addition to the object windows, the Infocenter can also be undocked, making it easier to keep an eye on tasks.
Online view in new tab
A new setting can be used to specify that the workspace button "Online view" opens a published page directly in a new browser tab. In the absence of a selection for target group and channel, the values for creating the URL are taken from the filter view of the workspace (if set). In addition, the values from the filter view of the workspace are transferred directly to the "Online view".
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.
Access to external links can also be deactivated/blocked so that they can only be maintained by administrators or specific users.
Links to records
CONTENS editors can send other editors record links to many records in the pages, content, and administration areas.
The context menu item Additional actions | Data record link allows you to create a link to a specific page, a specific object in the library or to a specific record in the administration (e.B editors, pages, roles, templates, object classes, etc.), save it to the clipboard and send it by e-mail.
The recipient is taken directly to the referenced page, object or record in CONTENS via this link and can make changes there.
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.
Face recognition
With the help of AWS Face Recognition (API key required) CONTENS can automatically recognize faces on image files and use them as a HotSpot.
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.
Automatic translation
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 in order to adequately integrate the translation service (see Revised administration of text modules).
Currently supported services are AWS, DeepL, DeepLFree, Google Cloud and Wonk (API keys or tokens required, services partly charged by the provider).
With the free DeepLFree Translation API, you can translate 500,000 characters per month. Wonk offers trained translation models in corporate language. These are continuously learning AI models for real-time translations in professional quality.
Individual entry points into the CMS
Each editor can define an individual entry point into the CMS in the personal user profile in the "Advanced" tab. This can be a specific page or a menu item. The individual entry point is opened when logging in.
Support for languages reading right to left
Languages reading right to left such as Arabic or Hebrew are included in the input fields (RTL = right to left).
Arabic, Hebrew and Cyrillic characters are also displayed correctly in the page tree by integrating special font files.
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.
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.
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.
Function for copying IDs can be activated
For easier use of page or object IDs, the additional function "Copy ID" can be displayed in the context menu. This means that IDs can be copied with one click and easily used for other applications.
Copy data record ID to clipboard
In list views, the IDs of data records can be easily copied to the clipboard with a click on the row. "Copied to clipboard" is displayed with the mouse pointer. The function can be activated by setting.
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.
The status display for subobjects shows changes to published subobjects as well as deviations in target groups, channels or language versions to the main object.
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.
Checking an object for instances
A new setting can be used to specify that when an object is opened it is checked whether it is itself linked on pages of several sites or as a subobject in other objects. If instances are found in more than one site, the editor receives a corresponding message. The pure instances are counted, but not how many different main objects are affected.
Extensions for subobjects
The subobject context menu has been extended for object rowtypes that are used multiple times (not for richtext subobjects). Previously, it was only possible to create a subobject of the same class in the library. However, it was not linked in the main object. With the new Insert subobject context menu, you can create a new subobject and link it at the same time (if the maximum number in the main object is not reached). This also works by entering the ID and Shift + Enter.
A subobject from the library can also be inserted and linked. The option "Move" is also new, as are the "Move up" and "Move down" options. These are displayed if the action is possible for the respective subobject.
Default output type for each page location
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.
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).
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).
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.
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.
Form fields more recognizable
In order to make input fields easier to recognize in forms, the background color of the fields is now darkened. During mouseover the form element is given an even darker color.
Improved multilingual text input fields
With multilingual text input fields, clicking on "Show language versions" not only displays all language versions, but also positions the cursor immediately in the first input field and the text can be automatically transferred to all other languages in certain admin forms.
Optimized calculation of the number of characters
The character counter in the Richtext editor takes into account the characters visible in the text. HTML tags and attributes in the source code are no longer counted. This enables editors to better estimate the actual character length which can be used when formulating texts.
Dialog when moving pages with subpages
For more security when moving pages with subpages via drag & drop in the page tree, a security dialog can be activated to avoid unintentional repositioning of locations.
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.
When a page is deleted, it is also highlighted more clearly whether - and how many - subpages are deleted. When selecting the language versions, it is also noted how many pages would be affected.
Displaying moved online pages
A plugin can be used to mark moved online pages in the tree with a special icon such as an arrow. It is important to publish moved pages as soon as possible to avoid problems with the navigation/tree structure. To ensure that publishing is not forgotten, an additional icon can be used as a reminder.
Identify "hidden" pages via icon color
Whether a page appears in the navigation or not is determined by the setting "Use in navigation" in the page properties. As of release CONTENS 5.7.8, lighter colors in the page tree show which pages are not displayed in the navigation. Example: Light green means "published" and "hidden". Light yellow means "modified" and "hidden". Light gray means "offline" and "hidden".
Highlight temporarily deactivated page
A new setting uses an icon in the page tree to indicate pages that are temporarily deactivated via the page property "Deactivate page on/at". This information is relevant for editors, as republication is prevented as long as the settings in the publication wizard are not changed.
Publish a page from the context menu
A page can now also be published directly in the page tree via the context menu of the respective page.
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.
Archived entries for which there is no longer a log entry are also displayed in the archive list for comparison and restoration. This means that log or archive data can be cleaned up without affecting the display of the other data.
Create preview URL
Via the context menu of a page, the function “Create preview URL” can be called under “Extra options”.
With a preview link, a page can also be viewed and checked without editorial access to the CMS. The link is valid for 30 days. Existing preview links can be edited in the administration. If the expiration date is deleted, the preview link is available indefinitely.
The navigation on the preview page can be made fully usable via a setting.
Faster internal search with Elasticsearch
CONTENS now supports Elasticsearch in the current versions. 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. The CMS manages differences in the implementation independently, as it automatically determines the version by querying the Elastic server.
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.
A setting can be used to switch from a simple category search to a separate search in the library that distinguishes between primary and secondary object categories. This is useful if the category trees do not overlap.
When the filter is activated, two selection areas are available:
Also, there are two selection areas in the advanced search:
An additional search setting can be used in the content object library with additional icons to show whether an object has been duplicated or is a (former) duplicate. The advanced search for content objects can be filtered by status.
The heading of the advanced search filter "Status" has been renamed "State" to match the column displayed. In addition, you can now search for the status "deleted" for online objects that are marked for deletion as soon as they go offline.
Search profiles for frequently used searches
You can create and save search profiles for frequently required searches. Assign a name under which the search profile will be saved and define whether you want to create a "Global search profile" for all CONTENS editors. If you do not select the "Global search profile" checkbox, you create a search profile that only you can use.
When inserting an object from the library, you can access existing search profiles via a selection list.
Search profiles with site assignment
A setting can be used to enable search profiles to be assigned to the editor's sites when they are saved and to be filtered accordingly when they are displayed. Each editor only sees profiles of "his/her" sites. Under Administration | Services | Search profiles, the site assignment of each profile can be changed.
Precise search with parameters
In the library, search queries may be performed with the following search parameters:
New variants for inheriting page properties
In the wizard “Inherit page properties" there are two new options: "Target page and parallel language versions" and "Target page with subpages and parallel language versions".
After a successful inheritance, the message "Inherit page properties completed" is now displayed.
Output type can be selected 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.
Copy format
Editors can copy the format of an instance via the context menu ("Copy format") and assign it to other instances of the same object class with "Assign format".
The templates assigned to a page can also be added to the page tree using "Copy format" in the context menu and assigned with "Transfer format", which speeds up the redesign of similar pages.
Transfer output type when copying
In the workspace, with the object context menu item "Copy" no longer only the object is transferred to the clipboard, but the whole combination "Object with output type". When inserted in another place, the object is reassigned the output type if it is permitted in the new location.
Create subobjects using drag & drop
If an image or a file is dragged and dropped onto the object form line type, the window of the respective subobject class opens to be able to save the image or the file as well as additional data. The image or file is automatically assigned to the upload input field, which speeds up the creation of subobjects. This functionality can be individually adapted via the new menu item "Assign Mime-Type classes".
Object frame for subobjects in the richtext element
A subobject (e.g. an image) that is inserted in a richtext element (e.g. in the text of an article object) can be displayed with the appropriate code in its output type in the workspace with its own object frame. The object frame becomes visible when you hover over the mouse, the context menu appears when you right-click in the frame. The subobject can be opened for editing with a double click without having to open the main object.
Update of subobjects in the main object
The label of a subobject is automatically updated in the main object after it has been saved. The faster update improves the overview for editors, especially when using several subobjects in one main object (e.g. images in a picture gallery).
Rowtype improvements
A double-click on the label opens a window for the rowtypes Object, Object container, Image object and File object in which the linked subobject can be edited.
Visual improvement in the rich text
Relevant buttons in the rich text for selecting a file are now highlighted more clearly. This applies in particular to the buttons for the "Internal link" area. The button that must be clicked to select a file is now clearly visible, as are the buttons for internal links to objects (instances) and object detail pages.
Define language versions for subobjects in the richtext
In the rowtype Richtext, the language version of the subobject can be specified via the context menu for subobjects.
In the subobject list of the Richtext rowtype, a new language version can be assigned to several subobjects at the same time by marking the checkbox. Several subobjects can be removed at the same time via the list, and the output type can also be changed for each one.
Language versions in the List View
In the List view of the workspace, 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.
Transfer meta information to new language version
When creating a new language version, it is now possible to transfer the data of the meta keywords and meta description from the source to the new target page.
Plugin "instancesave" - Instances (incl. output types) on all language versions
With a plugin, instances are automatically transferred to all language versions when new instances are created manually. An extended core function ensures that the output type is applied to parallel language versions.
Remove language versions object
In the “Save actions” of an object, a language version can be deleted with a selection menu.
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.
Delete parallel language versions
With the "Delete parallel language instances" option, the instances of the object are also deleted from parallel language versions. The maintenance of international sites in numerous languages is noticeably simplified in this way.
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.
Filtering category selection for specific editors
The display of the category tree can be adjusted via an editor-specific setting. Besides the regular tree structure, an alphabetical sorting as well as an alphabetical sorting with path indication are available. The latter is particularly suitable when using categories with the same name in different areas of the category tree.
Active filter bar is opened
The initial list view after clicking on a menu item may already be actively filtered. In order to make this fact clearer, the filter bar is initially displayed opened in such cases.
Publication Wizard
The status of the current page and the parallel language versions is displayed in colour to the right of the page title in the Publish dialog.
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.
Individual elements may be scheduled
Individual parts of an object (e.g. Teaser) and integrated subobjects (e.g. Image Gallery) can be scheduled independently of the respective object. For example, an object can be published at time T1, while certain contents (e.g. Image 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.
Publish objects and pages when saving
In the “Save actions" of objects and pages, you can specify to publish them when they are saved. For example, when saving pages certain settings can be inherited by all objects on a page. The “Save Actions” 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.
Extended instance properties
The release of object instances in a location can now be controlled directly in the instance properties if the setting is activated. The "Release instance for publication" option can be used to release or block the instance for publication.
There is also a new "Deactivate instance" button in the instance properties. Clicking on the "Deactivate instance on/at" field sets the current time and deactivates the instance:
Unique identifier
The unique identifier (techn.: "uniquename") is, alongside codenames, the most important means of recognizing and assigning data records across different installations, as the consecutively assigned numerical ID can differ in the databases. It is already possible to view the unique identifier via the CMS interface for most data records. A new feature is the identifier in the extended view of a page in the folder, in the instance window and in the rowtype of an object class of an object class, at the end of Advanced settings.
Filter out inactive editors
The selection "Responsible editor" for pages and objects automatically hides inactive editors. Since inactive editors are necessary for the correct display of data in archives, statistics and logging etc., they often cannot be removed and could lead to confusion when selecting them. An already assigned editor is always visible, whether inactive or not.
Browser extension
The CMS browser extension, which allows you to jump directly from the live page to the displayed page, has been updated for the Firefox (Link) and Chrome (Link) browsers.
NEW for Administrators and Developers
Two-factor authentication (2FA)
Two-factor authentication (2FA) has been built into the login process and can be activated via settings. If 2FA is in use, after entering the login name / email and password, the user is redirected to another screen where they can enter the generated token. The 2FA settings per user are managed in the Administration under Security | Editors in the new tab "Twofactor authentication".
The token activation code can be conveniently sent to the editor by email via the "Send MFA token" context menu entry in the editor list. Editors can then define their preferred 2FA status under "My settings".
CMS login via Azure Entra ID
With the new security setting and further configuration, authorized users can be mapped to CMS editors with the correspondingly connected Entra ID system (formerly Azure AD) and thus granted direct access to the CMS.
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.
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.
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.
As of CONTENS Release 5.7.3, secure communication with Elasticsearch via Basic Authentication is also supported.
Automatic distribution of objects
The new object search allows the automatic and flexible output of objects on pages. Published content that corresponds to adjustable criteria (e.g. class, category, etc.) can be automatically displayed at one or more places. The object search replaces the previous "active location".
When using the object search, three buttons are available in the workspace:
A CFML application for displaying object search results, which runs independently of the editorial server on the live server, is included. In order not to send search queries directly to Elasticsearch, you can also use the CONTENS publicApi on the live server.
Publish the object via the context menu in the object search
New or changed objects that are output in an object search can be published in the workspace using the "Publish object" function from the context menu of the new or changed object.
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.
Distributing files of free objects
In CONTENS you can now determine that files of free objects are no longer distributed to all sites. Instead, the sites of those editor groups that are assigned to the primary object categories can be used. This reduces the distribution especially when categories are used for a specific site
Simulate editors
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.
Wiki Links
Wiki links have been expanded to include the ability to set optional anchors. With an activated setting, the tab "Wiki Link" is displayed in the Richtext link dialog.
New wiki links can be created by marking a text in the richtext and entering a page code name, a link text and (optionally) an anchor in the tab "Wiki Link".
Own workspace views can be defined
A setting enables the view selection to be expanded to include your own views. Own views pass URL variables to the last selected view and complete it.
Site variables
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.
Dashboard and Widgets
In the 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.
Widgets can be used multiple times. Since settings such as filters or tabs can differ for each widget instance, the title of each instance can also be specified explicitly.
Customer-specific widgets for displaying external data can also be created and integrated.
Internal links report
With this report you can find internal links that link to another language version. Using the filter default "Links to other languages / sites", you can see at a glance whether the link target is available in another language version and can change this for the desired language version via the context menu item. You can find the overview under Administration | Reports | Website | Internal links report.
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.
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.
Newsroom integration
This optional CONTENS component enables the central administration of content and its efficient distribution across different channels.
Includes
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.
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.
Label Correction
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.
Performance improvements for link rowtype
With a setting, the entire path of all "parent pages" to a target page is no longer read, but only the title of the target page. When using many internal links, this setting can significantly increase performance.
Collected Settings
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.
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.
Logviewer
The log files of the Application Server (ColdFusion, Lucee) may be called up in the Administration | Reports | Internal | Logviewer area.
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".
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.
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.).
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).
IMPROVED for Administrators and Developers
Performance
With the help of database sequences, speed and reliability when inserting new data records could be increased enormously.
The reading of information for all assets of a page during publication has been significantly optimized, which is particularly noticeable in installations with many languages.
File distribution has been accelerated by replacing subqueries with joins.
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.
Faster image editing
Performance when editing images has been improved by optimizations of the image processing operations and the elimination of an intermediate service.
New image format management
To simplify the management of multiple image object classes with different formats, a new administration with a familiar list and new input form has been created. The list contains filters for object class elements and formats. These filters are passed on to the detail form as defaults when a new form is created. The standard format can be changed via the context menu.
The performance in the image format management has been improved by a factor of 4-5; it is now first filtered for classes with images.
Faster indexing
The indexing of internal and external data has been optimized by new mass selection functions.
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.
For simple rowtypes with a confirmation button, the required click on the button is prompted by a light/dark flashing of the button after selection.
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. The rowtypes Link and Richtext now contain the link attributes "Title" and "Aria label".
For the rowtype Select with multiple selection, the system clarifies with a new note how a multiple selection can be made (hold down the CTRL key):
Rowtype changes for List_rel_n
The search function in the rowtype List_rel_n has been adapted so that already selected data records are automatically filtered during the search and are therefore no longer suggested.
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.
Template management
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.
Using the new "Templates/Sites assignment" function in the context menu, the site assignments of a template can be inherited by several templates. The selection of one or more templates is made via the checkboxes in the template 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.
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.
More flexible deactivation of free objects
A publication setting can be used to control whether free objects are also deactivated when a page on which they are linked is deactivated. While free objects are not affected by the deactivation of a page in the standard setting (and are therefore still available for other uses), the setting can be configured in such a way that when a page is deactivated, a free object linked to it is also deactivated, provided that it has no other instances on online pages.
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.
Object class elements for output type code
The fields for each class can be retrieved individually in the output type code editor via the "Definitions" drop-down menu, which makes it easier to create or supplement the codes.
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 (see 2.2.9). 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".
Assign actions directly to a role
Actions can now also be assigned to roles decentral 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“).
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.
Improvements of external links report
The respective external link can be opened directly in a new browser tab via a new icon in front of the URL and can thus be easily checked manually. The link status has been extended by the display "untested", which is shown in the list entry with a yellow status icon.
New external links are initially automatically classified as "untested" until they are adjusted during the next link check. To make it easier to compare all filtered data records, the "untested" and "excluded" statuses are listed separately.
In addition, the context menu actions have been optimized. Instead of an internal link ID, the object ID to which the link belongs is now displayed in the overview. In the column "Status" you can now also see whether an object has instances. With a right click on the icon the instance properties can be opened to edit them.
In addition, a setting can be used to determine how many threads should be used when checking links.
Improved page report
The page report has been expanded and redesigned for easier search engine optimization. An extended search has been added so that multiple selection is possible for category, site and other filters. The additional "Meta description" filter takes different character lengths into account, including the optimum SEO length of 160 characters. This allows meta descriptions with fewer or more characters to be filtered for text optimization.
Metadata can be exported via the "More" selection menu and imported back into the CMS after editing.
Easy creation of an individual online help
CONTENS supports the creation of an individual online help in which, for example, project-specific objects are described in more detail. A separate help page can be linked for each object class in the object class management in the tab "Properties" via the input field "Key to form help". This gives editors access to a company's individual online help.
Revised administration of text modules
The administration and rights assignment of text modules as language texts in templates, output types and applications, which are not maintained editorially via objects but are firmly anchored in templates/applications etc., has been revised.
Instead of the IDs previously used, the texts can now be referenced using human-readable abbreviations, making them easier to assign. Individual, many or all bundles can now be marked and published one after the other. Editors' access to text modules and bundles is subject to new assignments and can be restricted.
Tool for translating GUI texts
When configuring classes and application input forms in CONTENS, not all texts are always immediately available in the three GUI languages. With a new i18n tool, these texts can now be edited and translated subsequently in a clearly arranged interface.
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.
Support for displaying responsive images
If images are included in output types, 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.
Absolute paths using the object cache
With a page generator setting, absolute paths can be set,
e.g. http://www.domain.de/_files/jpg2/schild-achtung.jpg
When using the object cache, absolute paths can be very helpful, because relative paths lead to incorrect links if the output is on several pages in different levels of the site tree structure.
Improved display and output in the object search
The CONTENS object search enables the high-performance output of content of published objects 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 entire functionality has been optimized to read and process only the desired data, not all of it.
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.
Improvements in the Updater
The Updater tool for updating specific data in the customer folder has been improved. The new option "Update customer files" updates application files in the client folder. The existing version of the files is backed up to a folder.
This means that a backup copy is retained in the event that a manually adjusted file has been overwritten. Files with project-specific settings are highlighted and not automatically updated.
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 logbooks
Logbooks provide an overview of important changes in content, but at the same time take up more and more storage space. With the time-controlled process "CleanUp logs" you can set up to how many days retrospectively log entries should be saved and the period in which older log entries should be automatically deleted.
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.
Optimized clean up processes
The scheduled process "CleanUp: Database" is installed / activated via the update script, if necessary. The process was divided into small procedures to determine a duration after which a log entry is created and to define procedures that should not be carried out.
A new time-controlled process called “Cleanup: Server” has been implemented and a new activation switch has been introduced. This switch executes the process exactly on the selected server, which primarily takes care of the scheduler cleanup (no forwarding to the service server).
Review of scheduled processes / Re-scheduling
A new tool to check the scheduler provides administrators with quick information on the status of the CMS base process ("CMS base scheduler") in the dashboard and in the administration of scheduled processes. If the base process is not running but paused, a corresponding warning appears with the option to (re)initialize the job.
Especially with server downtime it can happen that planned publications of an object are not carried out. The new tool helps with checking and, if necessary, re-scheduling.
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.
New Databank versions
The following are supported: MySQL 5.6.5, 5.7.x, 8.0 - 8.2, MariaDB 10.1 - 11.3, PostgreSQL 9 - 16.1, Microsoft SQL-Server 2012 – 2022, (Oracle)
Websockets
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.
Caching Engines
CONTENS supports new, modern caching services such as Redis and EH-Cache in their latest versions.
Technical
Modern technologies and concepts are used in the development of CONTENS 5 and the Service Packs: