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.

For Editors

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 pree 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 output type. 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 several 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).

Assigning an output type to several objects - Assign 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

 

 

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 Info center can also be undocked, making it easier to keep an eye on tasks.

 

Internal and external short links

Short links turn cryptic URLs into easily readable links, e.g. www.firma.de/jobs. They may be created for pages managed within CONTENS as well as for external websites. Clicking on the gear symbol will generate a random code as short link.

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.

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.) and to be sent 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.

Datensatz Link

 

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 HotSpot (see. 2.1.4, pg. 4).

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 output type will use 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 to properly integrate the translation service.

Currently supported services are AWS, DeepL and Google Cloud (API keys or tokens required, ser vices partly charged by the provider).

 

Support for languages reading right to left

Languages reading right to left such as Arabic or Hebrew are included in the input fields and in the Page Tree (RTL = right to left).

Linksläufige 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.

Farbprofile CONTENS 5

 

 

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.

 Links to records

 

Usage overview in the object report

The "Usage" tab of the object report shows in which objects an object is used as a subobject. A reference to any instances is 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 can also be called up 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

 

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.

 

Default output type per page location

A default output type can be defined for each object class for each page location. This is used when a new object is created. The creation of new content in a specific design is accelerated, while the flexibility of display is retained.

 

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-alpha-sort" 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 MS Word import

The new plugin allows you to copy and paste content from Microsoft Office Word into the richtext 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.

 Easier data set selection

 

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

 

 

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.

More security when deleting

 

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.

Optimized object archive

 

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.

Create preview URL

 

Faster internal search with ElasticSearch

CONTENS now supports ElasticSearch version 5.x to 6.62 and 7 to 7.5. 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".

Advanced search improved

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:

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

Advanced search with activated filter

 

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:

  • Titel (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.

New variants for inheriting page properties

 

Output type can be selected more quickly

If more than one output type is provided for an object class in a location, it can be assigned directly via the object context menu. This is easier and faster than using the „Instance Properties“ dialog.

Output type can be selected more quickly

 

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.

Copy format

 

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.

 

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.

Define language versions for subobjects in the richtext

 

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

 

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.

 

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.

 

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 link status has been extended by the display "unchecked", which is shown in the list entry with a yellow status icon. 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.

 

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.

Firefox browser extension
Chrome browser extension

 

For Administrators and Developers

NEW for Administrators and Developers

Web pages without file extensions

Published CONTENS pages can be displayed without file extensions (e.g. .html, .cfm). All links in these pages (e.g. in the navigation or in Link rowtypes) can be displayed without extension. Under Administration | System | SEO URL Settings the file extensions defined in the output channels may be added or removed. In Apache and IIS the web server rule can be automatically generated, in Nginx it must be configured manually.

 

Simple exchange of data between forms and tables

Developers can more easily exchange and versionize form and table data between different systems (e.g. Stage and Live). After successful tests on a stage system, new object classes can be quickly and easily transferred to the live environment.

Simple exchange of data between forms and tables

 

When accepting an updated object class via the menu item "Read form definition file", a wizard opens in the target system that informs you which elements have been deleted, added or changed compared to the existing definition. In this way, unwanted deletions and new assignments can be recognized in good time and adjusted if necessary.

 

Easy adaption 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 locations may be edited, along with output types.

Code Editor - Easy adaption of output types and templates

 

 

New Full Text Search

The full text search has been completely redesigned. Published objects are automatically indexed in external elastic collections. There is a new external object repository for ElasticSearch and a new application "Object Search" as well as new search settings, plugins and decorators for faster and more precise search results.

 

Automatic output of objects with the Object search

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.

Simulation of editors

 

 

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

Assign additional editor accounts

 

 

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.

Create a system message

 

 

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

Wiki Links

 

 

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

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, etc...

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.

Widgets can be used multiple times

 

Customer-specific widgets for displaying external data can also be created and integrated.

 

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 allocation

If many sites are to be distributed over a few servers, this can be set up in the site administration (Administration | System | Sites) by assigning a server in the "Transfer data" tab.

 

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.

AWS S3 for file distribution

 

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.

 

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.

 

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

 

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.

Generate multiple Classes / Forms simultaneously

 

 

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, pg. 13). 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.

Assigning actions directly to a role

 

 

Assign actions to several roles

With the role wizard "Role actions rights" you can assign one or more actions to several (marked) roles. This is particularly useful if new actions are added via an update script that block previously generally accessible areas. This helps to distribute new actions quickly.

Assigning actions to several roles

 

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

 

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

 

 

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.

Interfaces for Google Analytics and 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

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.7, PostgreSQL 10, MariaDB 10.2, Oracle 12, MSSQL 2016, Microsoft Server 2017 (Linux Support)

 

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 virtualized to version 6.4.1. 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 SEOcompliant structure.
  • Navicat is used to manage the various DB schemas for MSQQL, MySql, MariaDB, Oracle and Postgres. The primary keys were all converted to 44 / 44 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.