2.2.45. Release 7.5.0

This chapter contains all changes made in Release 7.5.0 of CoreMedia Digital Experience Platform 8.

Release 7.5.0 contains the following CoreMedia modules:

  • CoreMedia Blueprint

  • CoreMedia CMS

  • CoreMedia Studio

  • CoreMedia Elastic Social

In addition, CoreMedia LiveContext 2.0 for IBM WebSphere Commerce uses the following tooling:

ProductKeyVersion
CoreMedia Application Maven Plug-inAPPPLUGIN2.7.4
CoreMedia Project Maven ExtensionPROJEXT1.0.5

Table 2.62. Tooling of CoreMedia LiveContext 2.0 for IBM WebSphere Commerce


CoreMedia CMS

New Features

CoreMedia CMS comes with the following new features.

e-Commerce API

A new e-Commerce API allows access to the IBM WCS catalog. A CatalogService can be used to access the catalog to create catalog beans (like Product, Category etc.). It gives you a similar infrastructure as it exists for content (and ContentBeans).

  • With the CatalogService you can access the catalog in many ways: traverse the category tree, products by category, various product and category searches.

  • Beside products and categories also product variants are included. Product variants form a concrete available catalog entity (stock keeping unit), e.g. a dress in a certain color and size.

  • A CatalogBeanFactory is able to create CatalogBeans whose implementation is defined via Spring.

  • ContextProvider helper classes can retrieve the currently applicable CatalogContext (the shop configuration that comprises information like the shop name, the shop id, the locale and the currency).

  • Additional IBM-specific helper classes, like CatalogHelper and the concrete CatalogIdScheme exist and facilitate the handling of IBM-specific ids and contexts.

  • Known restrictions:

    • Currently there is no caching of catalog beans (the information is requested from the catalog with every new request).
    • There is no user session established between the CAE and the catalog (thus only data can be used that is readable for everyone, like list prices and product description).

Fragment Connector for Including CAE Fragments in Third-party Systems

Using the FragmentConnector you can enrich your web pages with fragments rendered by the CAE. The fragment connector is delivered as Java library and must be deployed into the system, that needs to include CAE fragments. A JSP tag library containing the IncludeTag can be used in JSP environments to call the fragment connector.

In order to enable Ajax request from within a cae fragment, the CoreMedia Blueprint comes with a CrossDomainEnabler, that handles those requests, that would otherwise break the Same-Origin-Policy. That way you do not need a proxy in front of the CAE and the third-party system.

Enhancements
Added additional configuration properties for editor webstart webapp
  • The following configuration properties were added to provide more flexibility for the configuration of the editor webstart webapp. These properties are used in the Site Manager configuration files as well as in the Apache configuration. This allows you to configure the webstart webapp in a way that it can be used from outside your local network. The Apache web server will be configured to forward requests for Site Manager configuration and IOR to the appropriate CoreMedia components without publishing internal server names.

    • SITE_MANAGER_HOST_NAME: The full host name referencing the editor webstart webapp
    • SITE_MANAGER_HTTP_PORT: The HTTP port of the editor webstart webapp
    • SITE_MANAGER_CMS_HOST: The host name of the content management server used by the Site Manager started by webstart
    • SITE_MANAGER_CMS_HTTP_PORT: The HTTP port of the content management server used by the Site Manager started by webstart
    • SITE_MANAGER_WFS_HOST: The host name of the workflow server used by the Site Manager started by webstart
    • SITE_MANAGER_WFS_HTTP_PORT: The HTTP port of the workflow server used by the Site Manager started by webstart

Added additional configuration properties for editor webstart webapp
  • Added the following configuration properties to be able to use SSL communication with CORBA for the Content Management Server and the Workflow Server:

    • configure.CMS_ORB_SOCKET_FACTORY: Used to configure property com.sun.CORBA.legacy.connection.ORBSocketFactoryClass

    • configure.CMS_ORB_LISTEN_SOCKET: Used to configure property com.sun.CORBA.transport.ORBListenSocket

    • configure.CMS_ORB_SSL_KEYSTORE: Used to configure property com.coremedia.corba.SSLServerSocketFactory.keystore

    • configure.CMS_ORB_SSL_PASSPHRASE: Used to configure property com.coremedia.corba.SSLServerSocketFactory.passphrase

    • configure.WFS_ORB_SOCKET_FACTORY: Used to configure property com.sun.CORBA.legacy.connection.ORBSocketFactoryClass

    • configure.WFS_ORB_LISTEN_SOCKET: Used to configure property com.sun.CORBA.transport.ORBListenSocket

    • configure.WFS_ORB_SSL_KEYSTORE: Used to configure property com.coremedia.corba.SSLServerSocketFactory.keystore

    • configure.WFS_ORB_SSL_PASSPHRASE: Used to configure property com.coremedia.corba.SSLServerSocketFactory.passphrase

    These properties will be used in Tomcat's setenv.(sh|bat) scripts. Please refer to default-deployment.properties for default values. Further information about CORBA using SSL can be found in CoreMedia Operations Basics manual.

Command Line Tools
  • The BeanShell (cm bsh) interpreter has been replaced by a GroovyShell (cm groovysh) interpreter.

  • The maximum heap size for the bulkpublish command line tool has been increased from 192MB to 256MB.

  • cap.server.documentTypes.xmlSchema.enable now defaults to true.

  • The event sequence numbers, which are one part of the event timestamps, have been converted from 32 bit numbers to 64 bit numbers. This removes the risk that the sequence number might roll over into negative numbers.

    During the first start of a Content Server with version 7.5 or later of CoreMedia CMS, the persistent change log will be converted automatically.

    With the exception of Oracle, all databases will need to rewrite the table ChangeLog and/or the associated index at that time. Please check the size of the table ChangeLog in all of your your Content Server schemas before upgrading. Make sure to configure enough disk space for the database during the update, because twice the previous size of the table might be required for the migration.

    Testing the migration beforehand on a copy of the Content Management Server database will give you a good estimation of the running time of the upgrade. If the operation turns out too slow, you can reduce the size of the table as described in the Content Server Manual in the section "Truncate the ChangeLog".

Weak Links
  • Link properties in document type definitions can be labeled as weak. Target documents that are linked via a weak link property will not automatically be published together with the linking document.

    At Unified API level non existing link targets are represented by a destroyed content object. During content bean creation the ContentBeanFactory converts these destroyed contents to null and filters them from created content bean lists.

    Use weak links with caution! The introduction of weak links to a document type model results in numerous pitfalls:

    • Weak links can cause dead links in the live environment

    • Unified API client code has to cope with destroyed contents

    • Content bean code has to cope with null values and filtered lists of content beans.

Configuration Changes
  • The class of the Spring bean PropertyField to configure feeding of document properties in the Content Feeder has changed from hox.corem.server.PropertyField to com.coremedia.cms.feeder.content.PropertyField.

  • The following Content Feeder configuration properties have been removed:

    • feeder.updateGroups.inBackground

    • feeder.updateGroups.scheduler.referenceTime

    • feeder.updateGroups.scheduler.initialDelay

    • feeder.updateGroups.scheduler.period

    • feeder.updateGroups.scheduler.periodUnit

    The Content Feeder updates documents in the background after rights rules have changed. It's not necessary to configure a time when these changes should be processed.

  • Each Blueprint site can have only one single shop configuration. Configure the following content settings in your root page (see Local Settings tab) within a struct property named livecontext.store.config:

    • store.name, store.id, currency in content settings.

    • The Locale is determined by the root page "Language" (see Language tab). That means that all integrated catalog entities use the same language as all other content in the site).

Removals
  • The deprecated Content Rules framework has been removed.
  • The Content Feeder can no longer run embedded in the Content Server. It can be started only as a standalone web application.

API changes
  • Removed fields of interface com.coremedia.cap.feeder.FeedableElement:

    • FEEDERSTATE_INVALID_GROUPS

    • FEEDERSTATE_REMOVE

  • Removed fields of interface com.coremedia.cap.feeder.index.Indexer:

    • PARAMETER_SUPPORTS_MIXED_BATCHES

    • DEFAULT_SUPPORTS_MIXED_BATCHES

    • PARAMETER_SUPPORTS_REPEATED_REMOVE

    • DEFAULT_SUPPORTS_REPEATED_REMOVE

  • Removed methods of class com.coremedia.cap.feeder.index.IndexerBase:

    • supportsMixedBatches

    • supportsRepeatedRemove

CoreMedia Studio Improvements

New Features
  • The CoreMedia Studio provides assistance for setting the locales of documents and sites and keeping them consistent. To this end a list of available locales is maintained in the content repository. The path to the content and property keeping this list is configurable via studio properties. The locale of a document can then be selected by an editor using a new combo box property field.

    See the Studio Developer Manual for details.

Enhancements
  • Whenever content changes, the state of the client-side remote beans is updated automatically. To this end, CoreMedia Studio polls the server for invalidation events. This means that objects of the content API may change spontaneously without a call of invalidate() method.

  • The multi-site document model can be configured on the server side now. To this end, a bean of type SiteModel is deployed in the Studio web application context. It is no longer necessary (or possible) to configure source language document resolver functions using the editor context.

    See the Studio Developer Manual for details.

  • The MultiSiteUtil from CoreMedia Blueprint has been removed. Use editorContent.getSiteService() instead. Methods to format site specific paths are placed in com.coremedia.cms.editor.sdk.util.PathFormatter.

    See the Studio Developer Manual for details.

  • The library is extended by a mode to browse the e-Commerce catalog. Categories and products can be accessed and assigned to various places within your content. A e-Commerce Product Teaser can link to a product from the catalog. The product link field (in e-Commerce Product Teaser documents) can be filled by drag and drop from the library in catalog mode. The same applies to categories that can be used as navigation entries.

  • In addition to the e-Commerce catalog integration you can directly access the IBM WebSphere Commerce Management Center from CoreMedia Studio. A double click on a product (e.g. in the catalog mode of the library) opens the product in a window within CoreMedia Studio. All product properties can thus be edited directly. Known restriction: Currently there is no Single Sign On implemented. You have to login to the Management Center with you IBM WCS login credentials.

CoreMedia Elastic Social Improvements

Enhancements
  • New modules core-search and core-users are extracted from core-impl so that component scanning with base package com.coremedia.elastic.core.impl is self-contained and no longer implicitly depends on core-elasticsearch. This change only affects applications that build on Elastic Core and do not depend on social-impl which already transitively depends on the new artifacts.

  • MongoDB Models now have an implicit version property to allow concurrent model changes to be detected. In addition to Model#save there is now Model#saveAtomically which prevents overriding of concurrent changes.

CoreMedia Project Improvements

Changes
  • Upgraded Spring 3.1.2.RELEASE to 3.2.5.RELEASE

CoreMedia Blueprint Improvements

Changes
  • Because of LiveContexts 2.0 horizontal hybrid approach, where both systems, the CAE as well as IBM WebSphere Commerce, handle end user requests, we had to customize the default name for the session cookie from JSESSIONID to CM_SESSIONID. Moreover, in order to support arbitrary reverse proxies which might not be capable of re-writing cookies (e.g. Varnish), the session cookie path has been set to the root path ("/").

    This was done within the central blueprint/packages/tomcat/tomcat-config/src/main/common/conf/context.xml for all tomcat packages and, for local development, within the tomcat-context.xml files of the cae-, the cap-editor-, cap-httpcache-, editor-webapp-, editor-webapp-watf-itest-, es-studio-component-, livecontext-connector-impl- and the studio-webapp-module.

  • The chooser for the preferred site has moved from the preferences dialog to the user menu. Now it is easier accessible.

  • Now the initial folder, which will be selected after open the library, will be the root folder of the chosen preferred site. If no preferred site is chosen, the initial folder is still the root folder.

  • The Length attribute of all StringProperties representing a locale has been increased from 32 to 64.

Fixes
  • The latest Java 7 release (7u45) promotes only Web Start properties prefixed with "javaws." or "jnlp." For more details see comment in editor.jnlp.vm. We adjusted all properties accordingly.

Removals
  • Removed Omniture integration.

Closed JIRA Issues

KeyTypeSummaryStatus
CMS-189 (32661)Bugspring.ftl macros do not work in FreeMarker templatesFixed

Table 2.63. 7.5.0