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.

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.

Quickly create new pages

 

 

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.

Neues Objekt per Drag & Drop

 

 

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.

Mark all objects in 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".

Assigning an output type to several objects

 

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).

Transfer format

 

 

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.

Restore deleted contents from the Object Recycling Bin

 

 

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.

Seiten-Suchfunktion im Baum

 

 

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.

Search-as-you-type in Dropdowns

 

 

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.

Open object from correction view

 

 

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.

Undocking

 

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.

Kurzlinks

 

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.

External Shortlinks

 

 

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.

 Links to records

 

 

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.

Mark important image contents as a HotSpot

 

 

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.

Image formats with aspect ratios

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).

DeepL

Currently supported services are AWS, DeepL and Google Cloud (API keys or tokens required, services partly charged by the provider). Also DeepLFree: With the free DeepL Translation API, you can translate 500,000 characters per month.

 

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).

Support for languages reading right to left

 

Arabic, Hebrew and Cyrillic characters are also displayed correctly in the page tree by integrating special font files. 

Darstellung linksläufiger Sprachen

 

 

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.

Customizable color profiles

 

 

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.

Favoriten für Menüeinträge

 

 

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.

Function for copying IDs

 

 

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.

Copy data record ID to clipboard

 

 

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.

Usage overview in the object report

 

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.

Usage overview in the object report 2

 

 

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.

Prüfung eines Objekts auf Verknüpfungen

 

 

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.

Advanced image editing

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.

Form fields more recognizable

 

 

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.

Optimized calculation of the number of characters

 

 

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.

Nachfrage beim Löschen einer Seite nach Unterseiten

 

 

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.

Darstellung verschobener Online-Seiten

 

 

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.

Publish a page from the context menu

 

 

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.

Optimierte Objekt-Archiv

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”.

Create preview URL

 

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.

Elasticsearch Logo

 

 

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".

Erweiterte Suche verbessert

 

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:

Advanced Search improved

 

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:

Advanced search with activated filters

 

Also, there are two selection areas in the advanced search:

Advanced search with two selection areas

 

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.

Erweiterte Suche: Duplizierte Objekte

 

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.

Erweiterte Suche: Zustand

 

 

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.

 Search profiles for frequently used searches

 

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:

  • Title (title:test)
  • Object-ID (object_id:)
  • Category-ID (category_id:)
  • Class-ID (class_id:)
  • Editor-ID (editor_id:)

 

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.

New variants for inheriting page properties

 

 

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.

Formatvorlagen schneller auswählbar

 

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".

Copy und transfer 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).

Update of subobjects in the main object

 

 

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.

Sprachversionen für Subobjekte im Richtext festlegen

 

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.

 Define language versions for subobjects in the richtext

 

 

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.

Language versions in the List View

 

 

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.

 

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.

Massenaktion Publizieren und Deaktivieren in der Objektbibliothek

 

 

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.

Filtering category selection for specific editors

 

 

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.

Active filter bar is opened

 

 

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.

Publikations-Wizard

 

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.

Objekte und Seiten beim Speichern publizieren

 

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.

Erweiterte Instanz-Eigenschaften: Publikations-Freigabe

 

 

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.

Eindeutiger Bezeichner

 

 

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.

Filter out inactive editors

 

 

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.

Chrome browser extension
Firefox browser extension

 

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".

Zwei-Faktor-Authentisierung (2FA)

 

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".

Zwei-Faktor-Authentisierung (2FA) MFA-Token senden

 

 

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.

Austausch von Formular- und Tabellendaten

 

 

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.

Code Editor

 

 

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.

Elasticsearch Logo

 

 

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".

Automatic output of objects with the Object search

 

When using the object search, three buttons are available in the workspace:

  • Add (plus icon): With this, new objects for the object search can be created directly in the workspace (alternatively, new objects can also be created in the content library). All object classes that are permitted as object type in the object search are available for selection.
  • Edit (pencil icon): Opens the object search to make changes to the settings. For example, you can define which object types or categories should be considered and how much content should be displayed.
  • Contents (book icon): Opens the content library (in the "Contents" tab) and activates some of the filters set in the wizard, including object class. This gives you an overview of all active and inactive contents of this object search and allows to use mass functions upon the objects.

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.

Publish the object via the context menu in the object search

 

 

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.

Simulieren von Redakteuren

 

 

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...).

Zusätzliche Redakteurskonten zuweisen

 

 

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.

Configuring maintenance mode

 

 

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.

Systemnachricht

 

 

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.

Wiki links

 

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.

Own workspace views can be defined

 

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.

  • System check 
  • Settings
  • System information
  • Objects
  • Pages
  • Statistics
  • Meta Description Report (with pages filter)
  • Publication state
  • External links report

 

Dashboard and Widgets

 

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.

Different Widget instances

 

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.

Interner Link-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.

Logviewer

 

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.

Verbindungstyp

 

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.

Verbesserung der Auswahl im Rowtype

 

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. 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):

Verbesserung im Rowtype Select

 

 

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.

Mehrere Formulare gleichzeitig generieren

 

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.

 

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".

Assigning roles to actions

 

 

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.

Rollen direkt einer Aktion zuweisen

 

 

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.

Improved category management

 

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.  

Improvements of External Links Report

 

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.

Verbesserter Seiten-Report

 

 

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.

Easy creation of an 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.

Tool for translating GUI texts

 

 

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.

Schnittstellen für Google Analytics und Webtrekk

 

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 process

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.

 

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, MariaDB 10.1 - 10.4, PostgreSQL 9 - 12.1, Microsoft SQL-Server 2012 - 2

 

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:

  • The styling is done via SaSS with Stylelint-Checker using Flexbox with Webfonts and SVG-Icons, whereby finished CSS is reworked and minified with Gulp.
  • The user interface for CONTENS 5 is based on Material Design (https://material.io/design/) and also supports mobile devices (e.g. Longtouch instead of Doubleclick). Usability has been improved in many areas.
  • Client-side code is written in Typescript and ES6 using the jQuery and Angular frameworks, checked via TSLint/ESLint, tested with JsUnit tests (Karma / Jasmine) and merged and compressed via Webpack, so that the browser only has to load files of smaller size.
  • The jsTree used for tree representations was virtualized to version 3, which enables custom icons for customer projects. By using the Browser Local Storage as cache for data, some UI actions are accelerated. The Richtext Editor and Filemanager have also been updated to their latest version.
  • Functionality and presentation of the CMS UI is ensured in different browsers by Nightwatch tests.
  • Server-side code is checked via CFLint. Specially created test box unit tests ensure high code quality.
  • The search engine libraries for Lucene have been updated. A RabbitMQ can be used to cushion peak loads during publication and file distribution. Various performance optimizations, including templating, object rights and page rendering as well as direct caching modules, ensure better response times. If required, a dynamic image delivery is also available on the live server, which is particularly suitable for responsive images, while static images can be stored in a new SEO-compliant structure.
  • Navicat is used to manage the various DB schemas for MSQQL, MySql, Mari-aDB, Oracle and Postgres. The primary keys were all converted to AutoSequences. A new Flyway database migration tool helps with the transfer between the systems, especially to keep the test server databases up to date.
  • A new infrastructure was created to test code changes to a limited extent immediately and at night completely in changing configurations. Controlled by Jenkins, all code changes are tested with various combinations of DBMS, application servers, search engines, image engines, browsers, etc. to cover the most common customer installations.