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:
Product | Key | Version |
---|---|---|
CoreMedia Application Maven Plug-in | APPPLUGIN | 2.7.4 |
CoreMedia Project Maven Extension | PROJEXT | 1.0.5 |
Table 2.63. 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 createCatalogBeans
whose implementation is defined via Spring.ContextProvider
helper classes can retrieve the currently applicableCatalogContext
(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 concreteCatalogIdScheme
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 propertycom.sun.CORBA.legacy.connection.ORBSocketFactoryClass
configure.CMS_ORB_LISTEN_SOCKET
: Used to configure propertycom.sun.CORBA.transport.ORBListenSocket
configure.CMS_ORB_SSL_KEYSTORE
: Used to configure propertycom.coremedia.corba.SSLServerSocketFactory.keystore
configure.CMS_ORB_SSL_PASSPHRASE
: Used to configure propertycom.coremedia.corba.SSLServerSocketFactory.passphrase
configure.WFS_ORB_SOCKET_FACTORY
: Used to configure propertycom.sun.CORBA.legacy.connection.ORBSocketFactoryClass
configure.WFS_ORB_LISTEN_SOCKET
: Used to configure propertycom.sun.CORBA.transport.ORBListenSocket
configure.WFS_ORB_SSL_KEYSTORE
: Used to configure propertycom.coremedia.corba.SSLServerSocketFactory.keystore
configure.WFS_ORB_SSL_PASSPHRASE
: Used to configure propertycom.coremedia.corba.SSLServerSocketFactory.passphrase
These properties will be used in Tomcat's
setenv.(sh|bat)
scripts. Please refer todefault-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 totrue
.
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 tableChangeLog
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 tonull
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 fromhox.corem.server.PropertyField
tocom.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. UseeditorContent.getSiteService()
instead. Methods to format site specific paths are placed incom.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
andcore-users
are extracted fromcore-impl
so that component scanning with base packagecom.coremedia.elastic.core.impl
is self-contained and no longer implicitly depends oncore-elasticsearch
. This change only affects applications that build on Elastic Core and do not depend onsocial-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 nowModel#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
toCM_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 thetomcat-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 allStringProperties
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
Key | Type | Summary | Status |
---|---|---|---|
CMS-189 (32661) | Bug | spring.ftl macros do not work in FreeMarker templates | Fixed |
Table 2.64. 7.5.0