loading table of contents...

Release Notes / Version 11.2110

Table Of Contents

CoreMedia Headless Server

New ExtensionPoint PluginRestController

Starting with CM11, plugins may implement a Spring rest controller by implementing the new extension point PluginRestController. Controllers will accessible via the url prefix pattern ' /plugins/plugin-id/request-mapping '


Add plugin extension point for custom scalar types

Add a new extension point for scalar types. This enables headless server plugins to introduce custom scalar types.


New Config Option: caas.stax.maxAliasesForCollections

The maximum number of allowed aliases in a YAML file to define a rich text view was statically bound to 50. When the actual number of aliases exceeded 50, an error while startup of headless was thrown: Number of aliases for non-scalar nodes exceeds the specified max=50

The number of allowed aliases can now be configured using the new config option, e.g. caas.stax.maxAliasesForCollections=100

Along with the change, the snakeyaml library was updated to the latest version org.yaml:snakeyaml:1.29 (was 1.26)


New Extension Point for Plugins: WiringFactory

The CaasWiringFactory is a new extension point for custom WiringFactory implementations in plugins. See documentation for details.


Add fullyQualifiedUrl field to CMDownload type

Add the fullyQualifiedUrl-field to the CMDownload type in the content schema.


New Fields for Localized Content

The GraphQL interface CMLocalized in the content schema now contains these two additional fields to ease up the handling of localized variants of a content object:

  • master: The direct master content object from which the current object was derived from.

  • localizationRoot: The topmost content object of the localization hierarchy.


New Plugin Extension Point: PluginSchemaAdapterFactory

The new ExtensionPoint PluginSchemaAdapterFactory enables developers to provide their own schema adapters to be used in a GraphQL schema extension via a plugin. Please see the headless manual for details.


Adds New Endpoint to Support Filename and Extension in Media URL

Extend the Headless Server schema to provide a new URL for Blobs including the filename and extension and provide a new endpoint for those URLs.


Provide Generic Field for Retrieving in Linked Contents in Structs or Settings

Add the option to the SettingsAdapter and the StructAdapter to retrieve multiple values at ones, without wrapping them in their Structure. This supports using the GraphQL schema to build up the structure of the Setting or Struct. Furthermore it enables a generic field to retrieve contents which are linked in Structs or Settings


Additional Headless Augmentation Calls without Commerce Connection

Augmentation data for products and categories can now be retrieved from the Headless Server without an underlying commerce connection. The former augmentation queries still exist, but the new ones are preferable since there is less risk of performance issues due to a slow commerce connection. In order to get inherited augmentation data along the commerce hierarchy, the new Augmentation API requires the caller to pass in the hierarchy/breadcrumb.

The new Augmentation API can be found below the ContentRoot:

  • ContentRoot.categoryAugmentationBySite

  • ContentRoot.categoryAugmentationBySegment

  • ContentRoot.productAugmentationBySite

  • ContentRoot.productAugmentationBySegment

If you want to use the new API, make sure your Livecontext Settings contain the following information: commerce.vendor

In case of multi catalog projects a fallback commerce connection may still be necessary since catalog alias mapping needs to be resolved by the connected commerce system.


Query for Taxonomies by path

It is now possible to query for taxonomies by path. More details can be found in the Headless Server Manual.


GraphQL Type PageGrid now Offers Name Property for Page Grid

GraphQL type PageGrid missed to offer the name of the page grid.


MediaController Supports Conversion of Image Formats

The MediaController supports the conversion of images into supported image formats (jpeg, png and gif) by specifying the corresponding file extension with the file name. The conversion ist also reflected in the content-schema. It is now possible, to specifiy an optional image format when querying for uri templates.


New Fields Contain Lists of Content Objects Embedded in Richtexts

Starting with version 2104.1, the content schema offers complementing fields for all rich text fields. For GraphQL type CMTeasable

  • detailTextReferencedContent

  • teaserTextReferencedContent

For GraphQL type CMMedia

  • captionReferencedContent


Custom Filter Queries

Custom Filter Queries are available for Search and Dynamic Query Lists now. Consult the Headless Server Manual for details.


Loading of JSLT and REST Mappings From Plugins

Headless Server supports loading resource files containing JSLT and REST mapping definitions from the content of plugins.

By loading these kind of resources from plugins rather than from within the Headless Server Docker image, the build, deployment and release management of the core application is decoupled from the development of these resource files.

Loading from plugins is optional. The deployment within the Headless Server App remains unchanged.


Pagination for collections

Pagination for collections has been introduced for a set of fields, that return a collection. The new fields with pagination support are:

  • Banner: mediaPaged, picturesPaged

  • CMChannel: headerPaged, footerPaged

  • CMCollection: itemsPaged, teasableItemsPaged

  • CMGallery: mediaItemsPaged

  • CMLinkable: contentInSettingPaged, contentInStructPaged, subjectTaxonomyPaged, locationTaxonomyPaged

  • CMLocTaxonomy: locChildrenPaged

  • CMNavigation: childrenPaged

  • CMTaxonomy: childrenPaged

  • CMTeasable: authorsPaged, relatedPaged, teaserTargetsPaged, videosPaged, spinnersPaged

See documentation for details.

Some fields, for which pagination was already implemented, have been deprecated in favor of the new mechanism: CMQueryList#pagedItems, CMQueryList#filteredPagedItems. Also some methods of QueryListAdapterFactory and QueryListAdapter have been deprecated for that reason, see javadoc for details.


New Plugin Extension Point: CopyToContextParameter

With the new extension point CopyToContextParameter it is possible to declare additional parameters (http request parameters and headers) to be copied in the graphql context programmatically.


Search Results

Table Of Contents