This chapter contains all changes made in Release 7.5.41 of CoreMedia Digital Experience Platform 8.
Note | |
---|---|
Highlights in this Release
|
Follow the CoreMedia DXP 8 Help Center section to receive release and product announcements automatically.
Modules and Tooling
Release 7.5.41 contains the following CoreMedia modules:
CoreMedia Blueprint
CoreMedia CMS
CoreMedia Studio
CoreMedia Elastic Social
In addition, CoreMedia DXP 8 uses the following tooling:
Product | Key | Version |
---|---|---|
CoreMedia Application Maven Plug-in | APPPLUGIN | 2.7.9 |
CoreMedia Project Maven Extension | PROJEXT | 1.0.5 |
Table 2.4. Tooling of CoreMedia DXP 8
CoreMedia CMS Changes and Improvements
The Product Asset Management widget now uses the picture URL stored in IBM WebSphere Commerce, if no product asset pictures are assigned within CoreMedia Product Asset Management for this product or category. If you have configured the widget but not changed the picture URL to a CMS based URL, you will see the original IBM WebSphere Commerce picture. If you have configured the URL pointing back to CoreMedia, the default picture (e.g. Perfect Chef hat) will be shown.
(CMS-5561)command-line tools will now log more thorough information on failure to the file
(CMS-5539)tools.log
. So if the command-line tools fails with exit code 20 (EXIT_CODE_EXCEPTION_OCCURRED
) you will find the failure cause exception stacktrace in the log file.A JMX property was added that allows monitoring of the content server's current repository sequence number (a.k.a timestamp). This is useful especially in comparison with the sequence numbers obtained from associated replication live servers.
(CMS-5381)In order to speed up test system setup, the server tools
(CMS-5345)cm serverimport
andcm publishall
now understand an option-t <threads>
which performs import resp. publication with multiple threads in parallel. The actual speedup depends on latencies and available system resources. Additionally, the blob size is now exported to XML during Server Export to allow to efficiently import blobs as references.Added the Spring configuration property
(CMS-2494)feeder.tika.config
for the Content Feeder and CAE Feeder. It can be set to the location of an Apache Tika XML configuration file with custom parsers for extracting text from binary data.
CoreMedia Studio Changes and Improvements
Non-catalog pages (contact-us, help, ...) can be augmented using the preview context menu.
(CMS-5595)Studio shows a warning now if the settings document with available locales (e.g. /Settings/Options/Settings/LocaleSettings) defines multiple locales with the same display name.
(CMS-5490)It is now possible to use in-built browser features to save username and password information. The domain is not explicitly saved by the browser; Studio chooses the domain which was last used. In order to store the domain together with the username, one can use the format
(CMS-5468)username@domain
. Then the domain chooser is ignored.The CKEditor used in the
RichTextArea
of the Studio has been upgraded to version 4.5.7. For migration instructions of CKEditor customizations see 'Studio Developer Manual / Upgrading the CKEditor'. If no customizations have been made, the new CKEditor should work out of the box. The section 'Customizing RichText Property Fields' has been adapted to the changes in CKEditor as well.API Changes:
(CMS-5428)richTextAction
: optiondialog
has been removedintroduced
richTextMenuCheckItem
as replacement for standardmenucheckitem
when using together withrichTextActions
The Start Translation Workflow now always points out content errors and warnings in the master content before starting a translation. Previously, only content errors were shown, and only if the content was still checked out. This change helps global site managers in resolving issues such as cross-site links before sending problematic content to derived sites.
(CMS-5357)The visual appearance of read-only fields has been improved and consolidated for enhanced usability.
(CMS-4625)
CoreMedia Blueprint Changes and Improvements
New flexible deployment approach (based on "binary" war files)
We provide a new deployment approach supporting the configuration of applications at deployment time to increase flexibility, reduce complexity and build time. With this approach, Service Discovery integration becomes possible without the need to restructure the workspace or using proprietary Maven build magic. Multi-node cluster environments will especially benefit from this flexibility.
The underlying refactoring happened "under the hood" in parallel to the existing deployment (known as virtualized setup) and we already validated the new approach internally with 7.5.36 as part of our AWS Demo Cloud. Our website team is using it intensively too. It is the default approach in releases > 7.5 (1604).
Directives:
Customers want to deploy more often and only update modified applications
Customers want to install a project update by simply replacing the war file („binary“), while keeping existing deployment configuration (managed by Consul Template, for example)
Keep knowledge about deployment environments (for example dev, staging or production) outside the artifact packaging
Avoid filtering and deployment decisions at build time like the token replacement and the static packaging model under
/packages/services/
and/packages/apache-overlays/
)Deprecate current inflexible RPM build approach (limited to CentOS 6/Apache 2.2)
Introduce new out-of-the-box Test System Setup based on Kitchen (part of Chef DK) for CentOS6/Apache 2.2 as well as CentOS7/Apache 2.4
Customers preferring to use plain yum and do not want to use Chef in their production environment, may continue to build RPM packages by leveraging the new Chef deployment and FPM (https://github.com/jordansissel/fpm) only in their development environment. A working example of this build process is provided with the
blueprint-dev-tooling
cookbook in the blueprint workspace.
We introduced the automated Chef deployment with 7.0 in October 2012 and learned a lot in the meantime. The new flexible deployment approach enables project-specific implementations like Ansible or Docker as an alternative to the out-of-the-box Chef deployment which continues to be our reference implementation.
More information is available at our markdown documentation:
Follow the links in
deployment/chef/README.md
(blueprint workspace) for a complete reference of all Chef cookbooks, the recommended Chef setup, and development how-to instructions
Feedback is highly appreciated! Please do not hesitate to contact CoreMedia Support in case of any questions and suggestions.
(CMS-5797)IBM WAS updates as of March 2016
(CMS-5668)CoreMedia recommends to use the latest IBM WAS 8.5.5 Fix Pack 9 and IBM WebSphere Java SDK 7.1 Service Refresh 3 Fix Pack 30
Update
(CMS-5519)frontend-maven-plugin
to latest version 1.0,node.js
to 4.4.3,npm
to 3.8.6 andgrunt
to 1.2.0 in all blueprint themes.Chef v12 updates as of March 2016
(CMS-5239)CoreMedia strongly recommends to use Chef Development Kit 0.12.0
The preconfigured Chef Client in our test setup is now 12.8.1 (bundled with Chef DK 0.12.0)
Due to legal concerns we had to separate generic livecontext features from IBM WCS specific implementations. Therefore we moved the following modules from the lc extension to a new extension "ecommerce-ibm":
lc-ecommerce-ibm-lib
lc-ecommerce-ibm-component
ecommerce-ibm also includes an ecommerce-ibm bom which manifests the actual extension and some new modules which are responsible for the wiring of the ecommerce-ibm features into the CAE and Studio applications:
lc-ecommerce-ibm-cae-component
lc-ecommerce-ibm-studio-lib
The Studio features related to WCS (esp. the links to the WCS Management application) have been extracted from lc-studio to lc-ecommerce-ibm-studio. The WCS related features of lc-es-cae have been extracted to lc-ecommerce-ibm-es-cae-component in another new extension ecommerce-ibm-es.
Themes, lc-es-templates and test-data have also been moved to ecommerce-ibm and ecommerce-ibm-es. Although they have no technical dependencies on IBM WCS, they are strongly related to the WCS integration and not useful independently.
The remaining lc extension still accesses some ecommerce properties which are conceptually generic, but have IBM WCS specific values. In order to avoid confusion, we renamed these properties in the lc extension and declared suitable aliases in lc-ecommerce-ibm.properties (at the very bottom).
By default the ecommerce-ibm extension is active in the Blueprint, and the system shows no behavioural change wrt. this refactoring.
(CMS-5217)
Miscellaneous Changes and Improvements
A Warning is logged if LiveContextSiteResolverImpl does not find a suitable CMS site for a Fragment Request. Debug message is logged if one was found.
(CMS-5798)Added section describing that "Multiple Logon for the same User" configuration in IBM WebSphere Commerce Server is required.
(CMS-5794)the blueprint/servlet prefix in our default testdata for product and category images was removed. It is not necessary because rewrite rules are used.
(CMS-5729)Third-Party Software in Blueprint Themes are updated to latest versions and will be installed via npm. Support for older browsers like Internet Explorer 8 is removed.
(CMS-5614)We enhanced the CommerceBean interface with a method getStatus. Since this was a requirement driven by a particular project, our default implementation in AbstractCommerceBean returns null, and the method is not used anywhere in the Blueprint. If you have implemented your own CommerceBeans from scratch, you must implement getStatus in order to fulfill the interface. If you have subclassed AbstractCommerceBean, you only need to recompile against the new CMS version. If you have no custom CommerceBeans, you are not affected by this change.
(CMS-5524)The PrefixLinkPostProcessor has been deprecated, because it was too monolithic and unflexible. There are two new LinkPostProcessors, LinkAbsolutizer and BaseUriPrepender, which take over the tasks of the PrefixLinkPostProcessor. The new LinkPostProcessors support predicates to control their responsibility, in case the type feature of the @LinkPostProcessor annotation is not powerful enough.
The Spring configuration of the LinkPostProcessors, previously in bpbase-links-services.xml, is now located in blueprint-handlers.xml, so that project developers can control it. I.e. if you update blueprint-base only, you will lose the PrefixLinkPostProcessor bean and have to add the declaration to your project Spring configuration. (Or even better, use the new LinkPostProcessors.)
The old PrefixLinkPostProcessor implements InitializingBean now. If you have subclassed it and implemented afterPropertiesSet, you must add a super call.
(CMS-5251)WCS does no longer duplicate CAE's previewBootstrap and jquery JS files. Instead of serving its own previewBootstrap and jquery JS files, WCS relies on preview CAE serving them.
(CMS-5233)com.coremedia.blueprint.base.links.UriConstants#Prefixes and com.coremedia.blueprint.base.links.UriConstants#Patterns#DYNAMIC_URI_PATTERN have been moved to com.coremedia.blueprint.links.BlueprintUriConstants on popular demand.
(CMS-2416)
Fixed Issues
CMS-5732: Prerequisites
The latest IBM WebSphere Commerce Cumulative Interim Fix IFJR55049 is now required as prerequisite for both, FEP7 and FEP8 support. Additionally, FEP7 support now requires FP9. Please refer to the latest Prerequisites, including addtional interim fixes (APARs), in the documentation.
CMS-5728: Customizing the IBM WCS Solr Index
IBM WebSphere Commerce cumulative fix JR55049 (http://www-01.ibm.com/support/docview.wss?uid=swg24041617) might break the customized search index customization as described in ealier LiveContext releases. Please refer to the chapter "Customizing the IBM WCS Solr Index" for the new customization approach that keeps required CoreMedia customizations functional.
CMS-5714: Shoppable Video does not show configured start picture
Shoppable videos now show the configured picture from the content repository and the big play button instead of the first video frame.
CMS-5626: Enable multiple top level domains in commerce led scenario
To enable our commerce led solution to support multiple top level domains, the cookie handling have been adapted. To use this the CoreMedia CMS and the Websphere Commerce have to be configured: The properties <code>livecontext.cookie.domain</code> (in CMS) and <code>com.coremedia.fragmentConnector.cookieDomain</code> (in Websphere Commerce) now support mutliple top level domains which must be listed comma separated.
CMS-5622: Language Attributes
Rendering of HTML language attributes in templates has been changed to use IETF BCP 47 as defined by W3C in w3.org: Declaring language in HTML. To adapt further templates replace expressions like
self.locale
orself.locale.language
byself.locale.toLanguageTag()
.In accordance to this a new FTL function
getPageLanguageTag
has been introduced tocore.ftl
and usages ofgetPageLanguage
have been replaced bygetPageLanguageTag
.CMS-5609: Edited Web Development Chapter
The Web Development Workflow chapter has been edited and updated to the new structure.
CMS-5603: Translation with Deleted Derived Content
In order to more efficiently support the partial rejection of content pushed from the master site, translation workflows can now be completed even if some derived contents have been deleted.
CMS-5585: CAE renders absolute URLs to include preview JS/CSS resources
Links to preview resources are rendered absolute so that HTML fragments bootstrapping preview integration can be included in HTML pages generated on another system, e.g., a commerce system including CAE page fragments.
CMS-5548: Publishing Content with Deleted Master
In order to more consistently decouple the lifecycle of content items in master and derived sites, a deleted master is no longer reported as a content error, allowing the derived content to be published.
CMS-5547: Changing embedded image properties does not save rich text
Fixed a bug where richtext would not be saved when changing image properties.
CMS-5546: Open in Tab for internal links in side-by-side view
Fixed a bug in the differencing side-by-side view where "Open in Tab" would sometimes not be available on internal links in richtext.
CMS-5513: New Price REST Handler with HTTP GET Method for WCS FEP8+
Added the Price REST Handler with HTTP GET Method to get the entitled prices for catalog entries by part numbers which is used in combination with WCS version FEP8+.
CMS-5476: Preview Token Lifetime
Increased the default value for the previewToken lifetime to 3 hours and made preview token lifetime configurable via com.coremedia.livecontext.ecommerce.ibm.login.LoginServiceImpl#setPreviewTokenLifeTimeInSeconds. It is ensured that preview token lifetime is at least twice as long as cache duration of preview tokens in the cache.
CMS-5421: Resolve wcs version: Studio does not start without WCS
Studio now starts correctly if no WCS is available during startup. However the e-Commerce library and connection is unavailable until WCS is connected, again.
CMS-5257: Support for multiple SEO Segments
IBM WCS REST handler responses do not distinguish the SEO keyword overridden by an Extended Site by default. If you have overridden the SEO keyword in the Extended Site, then you will get multiple SEO keyword in the response, without knowing which SEO keyword belongs to which store. To be able to distinguish the SEO keyword overridden by a store, the Solr field is extended by adding the customized CM_SEO_TOKEN field in the Solr index. This customized CM_SEO_TOKEN field concatenates the store ID and the SEO keyword and is interpreted by LiveContext primarily. Please refer to the documentation about the necessary steps to add the denoted Solr and REST fields. This feature is backward compatible, meaning that if you do not add the denoted CM_SEO_TOKEN, the default IBM REST response field is processed. In this case from now on only the first SEO token in the WCS REST response is used, which is the SEO token from the Extended Sites catalog.
CMS-5195: Module importer-config moved
The core module importer-config has been moved to blueprint/examples, since it requires specific configuration.
CMS-4991: TaskQueue collections are created on non worker nodes as well
Non-worker nodes must be able to queue tasks, even if a worker node has not started yet. Therefore task queue collections are now initialized for all nodes, i.e. worker nodes and non-worker nodes.
CMS-4703: Content Feeder does not connect to Workflow Server
The default configuration of the Content Feeder was changed to not open a connection to the Workflow Server (property
repository.workflow=false
). The Content Feeder does not need to access workflows.CMS-4682: Unified API Blobs
The UAPI has been enhanced to observe the configured blobCacheSize more precisely and in a more timely fashion. In the context of this work, the
Blob
interface now defines a new methoddispose
, which can be called to indicate that a freshly created blob is no longer needed, even before theBlob
is subject to garbage collection. Custom subclasses ofBlob
must also implement this method, but it is acceptable if the implementation is empty, ignoring the call.CMS-4482: PagingRuleType
We simplified the usage of the PagingRuleType enum. It features now a single public method createPaginator which takes care for the subtle relation between Paginator and PagingRule.
CMS-4253: Update Freemarker Library to 2.3.24
The Freemarker Library was updated to patch version 2.3.24-incubating. See Changelog for more informations: http://freemarker.org/docs/versions_2_3_24.html
CMS-3844: Solr and CAE Feeder changes for topic page search
The Blueprint CAE Feeder contained code (
TaxonomyReferrersFeedablePopulator
) to set the Solr index fieldtaxonomyReferrersInSite
, which was used by the CAE to implement topic page search. This code caused performance problems in the CAE Feeder.Both the Solr index field and the TaxonomyReferrersFeedablePopulator have been removed now from the Blueprint and the topic page search implementation was changed to not require the index field anymore.
It's not necessary to reindex from scratch.
CMS-3841: strange (component) property loading behavior
Default properties with nested placeholders are now resolved by the first property placeholder configurer without considering further configurers, but using the application context's environment. The default properties are registered at the environments property sources as Spring configuration class to expose the default properties.
CMS-2238: Resource Bundles
The Blueprint supports Spring's MessageSource for localized messages. However, configuration of resource bundles was limited to sites' root channels. Now you can also add or override messages in lower channels, which is useful for micro sites, campaigns and the like.
The Blueprint also features the SettingsService for technical settings. While these two services are technically independent and conceptually different, we backed them with the same data so far, namely the linkedSettings linklist. As a side effect of the improved MessageSource support we have now untangled this mess and moved the resource bundle documents for the localized messages to a new linklist property CMLinkable#resourceBundles.
We recommend that you adapt this separation. The Blueprint examples directory provides a content migration tool resourcebundle-migration which can do this more or less automatically, depending on how much you deviate from the Blueprint's content structure. The tool identifies resource bundle documents in the linkedSettings property and moves them to the new resourceBundles property. You can also do this manually. It concerns only the root channel of each site, since our MessageSource support had been restricted to those.
If entries of the same settings document are accessed by both services, you can put it into both linklists.
If, for some reason, you do not want to apply this change, you can alternatively exchange the linklistPageResourceBundleFactory by the settingsPageResourceBundleFactory bean in the blueprint-i18n.xml Spring configuration file, and everything works like before. In this case, you should also remove the new resourceBundlesForm from the MultiLanguageDocumentForm and preserve the old chooser folders of the LinkedSettingsForm in Studio, in order to avoid confusion on your editors' behalf.
CMS-1957: Remove item from WCS Cart
Removing items from WebSphere Commerce Cart now works on cart detail page in Perfect Chef.