Escenic Content Engine Release Notes 5.5.0.131544

Table of Contents

Highlights
Collection fields in Content Studio
New ui:field-set element enables field grouping
Section management in Content Studio
Unused binary objects are now deleted from the file system
Improved search results layout in Content Studio
Other Additions and Improvements
List editor now displays summaries and thumbnails
Improved support for disallowed content types
New configuration options for indexer
New configuration options added to SolrDelegatingSearchEngine
Improved contrast of field labels in Content Studio
Web service now maintains a change log for tags
Content Studio now prevents the addition of disallowed content types to section pages
Deprecated tags and beans removed from presentation layer
escenic-admin can now generate thread dumps
Web service person feed improved
Improved management of background tasks in Content Studio
Database resource lock cleanup service is now enabled by default
Steal lock now works for full content item locks
Content Studio image editor sliders can now be controlled from the keyboard
Related content panel now expands automatically
View menu shortcut keys changed in Content Studio
Solved Problems
Various problems with binary object URLs resolved
Browser component now works with 32 bit JREs
Potential deadlock in Content Studio fixed
Order of values in a multiple selection enumeration field now preserved
Search index now updated after moving content items
User.getSections now only returns normal sections
Authors of cross-published content now always accessible
Clipboard now always displays content items properly
Legacy tags containing "&" characters now handled correctly
Content Studio now starts even if Java 7 is the default JRE
Content Studio no longer adds unwanted paragraph tags to imported XHTML
Deleting a publication no longer fails
Deleting a section no longer fails
Documented how to change Solr stemming
The Indexer webapp no longer fails with "Too many open files".
Fixed PersistentStoreException when adding section roles during import
Imported in-line relations to cross-published content are now resolved correctly
Custom styling drop-downs in Content Studio now work correctly
Date fields inside complex/array fields now included in VDF models
Failure to post index document to SOLR is now reported
Caret now correctly positioned in inherited rich text fields
Content Studio mouse pointer no longer affected by Javascript notifications
Import now handles unresolved relations with multiple hash characters in source or sourceid
Flushing the cache can flush memcached too
Web Studio no longer deletes user group global role settings
Original image versions displayed at full quality again
Update service is now called immediately after the content editor is opened
Fixed problem deleting users
ConcurrentModificationException no longer caused by content item updates
Link and image URIs now mandatory
Improved logging performance
Better reporting of unsupported image types
Fixed AccessControlException when distributing events
Content Studio section page editor now works after deleting a list
Section icon now always displayed in section page editor
Section drop zone in new content items is now larger
PresentationPool elements can now be decorated
User groups with roles can now be deleted
Component browser now supports all configuration property types
Web service now returns correct response for invalid section IDs
Content Studio no longer fails when creating cache directory on login
The FilterCache can now operate without write access to the multimedia folder
Content Studio browser panels now detect network changes
Unset expiry dates no longer displayed as set
PUT and POST of complex fields to web service now work
Content Studio no longer fails when saving its internal cache to disk
Default values now assigned to content item summary fields when necessary
Switching on section access control no longer causes an error
Content Studio no longer reports it is connected to an unknown host
Upgrade Instructions
Rolling Upgrades

Highlights

Collection fields in Content Studio

Issue VF-1507

The Content Engine now supports a new kind of field called a collection field. Collection fields provide a simple means of integrating content published via Atom feeds into your content items. You can therefore use collection fields:

  • To integrate external Atom-published content (from a public feed such as a stock ticker, for example)

  • To integrate internal data by publishing it as an Atom feed that you can then access from Content Studio via a collection field.

  • To access information about your publications from Content Studio - possible since the Content Engine's own web service is based on Atom feeds. The Content Engine now includes a special section feed aimed at this kind of use. This feed contains entries for all the sections to which the current user has access and you can use it to include a "section picker" field in your content types.

A collection field is defined in the usual way in the content-type resource. The definition includes the URL of the Atom feed from which content is to be integrated, plus a specification of the precise data to be selected from the selected entry.

Collection fields are displayed as "search as you type" text fields in Content Studio. When the user starts to type in the field, a list of Atom entry titles that match the entered text are displayed below the field. When the user selects one of the listed entries, a value is extracted from it and stored as the collection field's value.

For a full description of collection fields and how to use them, see http://documentation.vizrt.com/ece-advanced-temp-dev-guide/5.5/collection_fields.html.

Benefit

Improved integration possibilities

Areas affected

Content Studio

Impact

Low

New ui:field-set element enables field grouping

Issue VF-4401

It is now possible to group a set of fields together using the ui:field-set in the content-type resource. Fields that are grouped in this way are enclosed in a box when displayed Content Studio. For further information, see http://documentation.vizrt.com/ece-resource-ref/5.5/ih_field_set.html.

Benefit

Improved user interface.

Areas affected

Content Engine, Content Studio

Impact

Medium

Section management in Content Studio

Issue VF-4376

You can now create and edit sections using Content Studio - it is no longer necessary to use Web Studio for these purposes. For details, see http://documentation.vizrt.com/ece-content-studio-guide/5.5/using_a_section_editor.html. However, you still need to use Web Studio to move and delete sections.

It is now also possible to get, create and update sections via the Content Engine's web service. For details, see http://documentation.vizrt.com/ece-integration-guide/5.5/retrieve_a_section.html and the following few topics in the Escenic Content Engine Integration Guide.

Benefit

Improved usability

Areas affected

Content Engine, Content Studio, web service

Impact

High

Side effects

If the name, directory name or the URI of a section is changed, all the content items in that section are re-indexed.

Unused binary objects are now deleted from the file system

Issue VF-4183

The relationship between binary content items and the binary objects and metadata they reference has been moved to the database. This makes it possible for the system to determine which binary objects are no longer in use and delete them from the file system.

Benefit

Improved use of storage

Areas affected

Content Engine

Impact

Medium

Side effects

This change may cause a small increase in the number of database queries generated by the Content Engine. It will, however, also reduce the number of file accesses on the binary folder.

Upgrade tasks

To build an index of all the used binary objects, the upgrade services need to be enabled. Follow the instructions below for at least one engine host to do so.

  1. Add

    service.8.00-article-upgrade-service=/com/escenic/upgrade/ArticleUpgradeService

    to Initial.properties.

  2. Set

    serviceEnabled=true

    in /com/escenic/upgrade/ArticleUpgradeService.properties and /com/escenic/upgrade/FiveFiveStorageUpgradeService.properties

  3. If you are upgrading from 5.2 and want to migrate tags then you will also need to set

    serviceEnabled=true

    in /com/escenic/upgrade/FiveFiveStorageUpgradeService.properties. This component also requires some additional steps - see the upgrade instructions in the release notes for version 5.3.0.2 for details.

  4. Restart the engine host. Once the host has restarted, the upgrade service will start upgrading binary content items from 5.4 to 5.5. You can monitor the progress of the upgrade service at http://myserver/escenic-admin/browser/Global/com/escenic/upgrade/ArticleUpgradeService?property=state. This service will run on only one of the currently upgraded hosts. If the host running the service goes down, the service will start automatically on another host.

    Nothing will be removed from the file system at this point. Both binary content items created on 5.4 and binary content items created on 5.5 will work on all engines.

  5. When the upgrade service has upgraded all binary content items to 5.5 and all engine hosts have been upgraded to 5.5, the upgrade service will automatically shut down. http://localhost:8080/escenic-admin/browser/Global/com/escenic/upgrade/ArticleUpgradeService?property=serviceMessage will now display the message "All articles are upgraded. This service can be disabled ". You should then remove the service from Initial.properties.
  6. You can now remove the any garbage from the binary folder. Visit http://myserver/escenic-admin/browser/Global/com/escenic/upgrade/FiveFiveStorageUpgradeService. By default this service simply deletes the unused files. You can, however, force it to create a backup by setting its backupFolder property (to /tmp/binary/backup/, for example). If this property is set, the garbage files are moved to the specified folder rather than being deleted. The folder structure is preserved in this backup copy, so you can just copy the files back into the storage folder if necessary.

    To start the clean-up process, Invoke the method called removeUnusedFilesFromStorage. The method may take some time to complete if your storage folder is large. It will also use some memory, so it should not be run on a host that is under high load.

    When this method has completed, all the garbage files will have been removed from your storage folder.

Improved search results layout in Content Studio

Issue VF-4380

The search results panel in Content Studio has a new, improved look and feel. The new layout is more compact and better organized.

In particular, the detail view now clearly distinguishes image content items from other content items, so that the user does not need to switch between detail and thumbnail views. It is now also possible to sort search results by different fields in both ascending and descending orders.

These changes are also reflected in other Content Studio list panels such as inboxes, lists and so on.

Benefit

Improved usability

Areas affected

Content Studio

Impact

Low

Upgrade tasks

Replace the old "solr_atom.xsl" in your solr configuration directory with the new one which can be found in the solr/conf/xslt folder of the distribution.

Replace the old "schema.xml" in your solr configuration directory with the new one which can be found in the directory "{engine-distribution}/solr/conf/". For sorting by title to work on old content items a re-index is required.

Other Additions and Improvements

List editor now displays summaries and thumbnails

Issue VF-4442

The Content Studio list editor now displays content item summaries and thumbnail images.

Benefit

Improved usability

Areas affected

Content Engine, Content Studio

Impact

Low

Improved support for disallowed content types

Issue VF-4434

The use of the allow-content-types element in the layout-group resource gives publication designers detailed control over the placing of content items on section pages - they can use it to specify that only certain content types may be added to certain areas of the page.

Support for this functionality has been improved in two ways:

  • Publication designers no longer need to individually specify each disallowed content type for each area/group from which they are to be excluded. It is now possible to define groups of content types in the layout-group resource and then exclude whole groups using a new ref-content-type-group element. For details, see http://documentation.vizrt.com/ece-resource-ref/5.5/lg_allow_content_types.html.

  • Previously, Content Studio allowed users to actually drop content items onto areas where they were disallowed. The disallowed items were then removed when the section page was saved. Now, user are prevented from dropping the disallowed content items in the first place.

Benefit

Improved usability.

Areas affected

Content Engine, Content Studio

Impact

Low

New configuration options for indexer

Issue VF-4422

Some new configuration options have been added for indexer webapp:

The following can be set in the Tomcat's context.xml file:

  • escenic/index-producer-connection-timeout (Connection timeout in milliseconds for the connection to the indexer web service, default value: 4000)

  • escenic/index-producer-socket-timeout (Socket timeout in milliseconds for the connection to the indexer web service, default value: 4000)

  • escenic/index-consumer-connection-timeout (Connection timeout in milliseconds for the connection to Solr, default value: 4000)

  • escenic/index-consumer-socket-timeout (Socket timeout in milliseconds for the connection to Solr, default value: 4000)

The maximum time to wait for a binary file to finish indexing can be set using the maxWaitTime property in the com/escenic/search/index/BinaryIndexerPlugin.properties configuration file. Default value: 3000 (milliseconds).

In addition, the maxFileSize property in the com/escenic/search/index/BinaryIndexerPlugin.properties configuration file now has a default setting of 20 MB.

For more information about these settings, see http://documentation.vizrt.com/ece-server-admin-guide/5.5/Setting_Timeouts_and_Limits.html.

Benefit

Improved configuration options

Areas affected

Content Engine, indexer

Impact

Low

New configuration options added to SolrDelegatingSearchEngine

Issue VF-4345

The SolrDelegatingSearchEngine component has a field of type org.apache.commons.httpcllent.HttpClient which is used for all communication with Solr. This HttpClient object can now be configured in the usual way by adding a properties file to a configuration layer.

Benefit

Improved configurability.

Areas affected

configuration, search

Impact

Low

Upgrade tasks

Open com/escenic/webservice/search/DelegatingSearchEngine.properties from one of your configuration layers (if present) in a text editor. If this file contains

soTimeout=<some_value>

or

connectionTimeout=<some_value>

These two settings must be moved to

com/escenic/webservice/search/HttpConnectionParams.properties

Improved contrast of field labels in Content Studio

Issue VF-4336

The color of the field labels in Content Studio has been changed to improve contrast and legibility. The color of the character count text has also been modified (made slightly lighter).

Benefit

Improved usability.

Areas affected

Content Studio

Impact

Low

Web service now maintains a change log for tags

Issue VF-4310

The Content Engine's web service now includes a change log for tags. A Tag structure feed now contains a link to its change log. The change log contains records of all changes made to the tags in the structure, and can be used in the same way as other web service change logs.

Benefit

Improved 3rd-party integration.

Areas affected

indexer

Impact

High

Upgrade tasks

In order to populate the tag structure change logs, tags must be reindexed. To do this you need to invoke the /com/escenic/search/index/Indexer component's reIndexTag method. You can do this from the escenic-admin web application's component browser.

Content Studio now prevents the addition of disallowed content types to section pages

Issue VF-4306

The use of the allow-content-types element in the layout-group resource gives publication designers detailed control over the placing of content items on section pages - they can use it to specify that only certain content types may be added to certain areas of the page. Previous versions of Content Studio, however, allowed users to drop content items onto areas where they were disallowed. The disallowed items were then removed when the section page was saved.

Content Studio now prevents users from dropping the disallowed content items in the first place rather than removing later.

Benefit

Improved usability

Areas affected

Content Studio

Impact

Low

Deprecated tags and beans removed from presentation layer

Issue VF-4238

A number of Java beans, bean methods and JSP tags have been removed from the Content Engine's presentation layer. The removed beans, methods and tags have been deprecated for several releases.

Removed Java beans

  • neo.xredsys.presentation.PresentationRelationImage

  • neo.xredsys.presentation.PresentationRelationImageAdapter

  • neo.xredsys.presentation.PresentationRelationImageHelper

  • neo.xredsys.presentation.PresentationRelationLink

  • neo.xredsys.presentation.PresentationRelationMedia

Removed bean methods

  • neo.xredsys.presentation.PresentationElement.getLegacyContent()

  • neo.xredsys.presentation.PresentationArticle.getLayoutId()

  • neo.xredsys.presentation.PresentationArticle.getPrinted()

  • neo.xredsys.presentation.PresentationArticle.getAllRelatedObjects()

  • neo.xredsys.presentation.PresentationArticle.getAllRelatedObjectsCount()

  • neo.xredsys.presentation.PresentationPool.getPoolId()

  • neo.xredsys.presentation.PresentationPool.getPoolTypeName()

  • neo.xredsys.presentation.PresentationPool.getRuleTypeName()

  • neo.xredsys.presentation.PresentationPool.getFrontpageLayout()

  • neo.xredsys.presentation.PresentationPool.getArticle(int pId)

  • neo.xredsys.presentation.PresentationPool.getPoolElements(String pElementGroupName)

  • neo.xredsys.presentation.PresentationPool.getPoolElement(String pElementname)

  • neo.xredsys.presentation.PresentationPool.hasElements(String pColumnName)

  • neo.xredsys.presentation.PresentationPool.getElementGroupNames()

  • neo.xredsys.presentation.PresentationPool.getElements()

Removed JSP tag libraries

  • escenic-relation

Removed JSP tags

  • template:hasElement

  • template:hasNoElement

  • template:insert

  • template:defaultPresentationArticle

  • template:defaultPresentationPool

  • template:defaultPublication

  • template:defaultSection

  • article:author

  • article:authors

  • article:field

  • article:type

  • article:hasNoRelation

  • article:hasrelation

  • article:hasNoValue

  • article:hasValue

  • article:homeSection

  • article:isType

  • article:lastChanged

  • article:link

  • article:publishedDate

  • article:sections

  • article:latestArticles

  • article:relatedArticles

  • profile:field

  • profile:hasValue

  • profile:hasNoValue

  • section:hasAgreement

  • section:lastChanged

  • section:link

  • section:name

  • section:parameter

  • section:validateAgreement

  • util:case

  • util:dateFormatter

  • util:equal

  • util:evaluate

  • util:isEmpty

  • util:isNotEmpty

  • util:notEqual

  • util:switch

  • util:valueOf

Benefit

Simpler API and documentation

Areas affected

presentation layer, taglib

Impact

Medium

Upgrade tasks

Any templates or Java code you have that still use the removed tags and beans must be rewritten. For guidance on how to do this, see http://documentation.vizrt.com/ece-tech-notes/5.5/how_to_upgrade_templates_to_5_5.html.

escenic-admin can now generate thread dumps

Issue VF-4231

The escenic-admin web application now includes an option for generating a full thread dump of the Content Engine.

Benefit

Better diagnostics.

Areas affected

escenic-admin

Impact

Low

Web service person feed improved

Issue VF-4211

The Content Engine web service's handling of person records has been improved so that all person information stored in the Content Engine can now be represented in a web service person feed. The following improvements have been made:

  • The entry now includes a summary element that contains the person's full name.

  • The entry's title element now contains the person's surname rather than the full name.

  • The entry now includes a link element that offers a link to the person's "owning" publication.

  • The entry's VDF payload document now contains a description field.

  • It is no longer possible to create a person entry without a surname.

Benefit

The web service is now capable of handling all user information stored by the Content Engine.

Areas affected

Content Studio, web service

Impact

High

Improved management of background tasks in Content Studio

Issue VF-4196

Content Studio incorporates a number of background processes that refresh content item editors in response to events. In previous versions, the management of these processes was relatively complex and error prone. This background process management has now been simplified and improved.

Benefit

Improved stability

Areas affected

Content Studio

Impact

Medium

Side effects

The following systems properties that were used to control the delay interval for the tasks are no longer in use:

  • com.escenic.studio.core.editors.AbstractContentEditor.refreshInterval

  • com.escenic.studio.core.editors.AbstractContentEditor.refreshLockInterval

  • com.escenic.studio.core.editors.ContentSummaryListPropertyEditorUI.refreshInterval

  • com.escenic.studio.core.editors.IndexPagePropertyEditor.refreshInterval

  • com.escenic.studio.core.editors.IndexPagePropertyEditor.refreshListInterval

  • com.escenic.studio.core.editors.ListContentEditor.refreshInterval

These system properties are now replaced by the following system properties (all values are milliseconds):

  • com.escenic.studio.editors.ContentEditor.refreshContentInterval controls how often a content editor checks for an updated item. The default value is 5000 and the minimum value is 1000.

  • com.escenic.studio.editors.ContentEditor.refreshLockInterval controls how often a content editor checks for updated locking information. The default value is 1000 and the minimum value is 500.

  • com.escenic.studio.editors.ContentEditor.refreshRelatedContentInterval controls how often an article's related items or a section page's teasers are refreshed. The default value is 10000 and the minimum value is 2000.

Upgrade tasks

If you are using any of the old system properties, please use the new system properties.

Database resource lock cleanup service is now enabled by default

Issue VF-3857

The database resource lock cleanup service (which deletes old unused resource locks) is now enabled by default.

Benefit

Improved usability

Areas affected

Content Engine

Impact

Low

Steal lock now works for full content item locks

Issue VF-3707

The Content Studio "steal lock" function now always works, even for full content item locks obtained via the Java API.

Benefit

Improved usability

Areas affected

web service

Impact

Low

Content Studio image editor sliders can now be controlled from the keyboard

Issue VF-4432

The sliders in the Content Studio image editor can now be controlled using the left and right arrow keys.

Benefit

Improved usability

Areas affected

Content Studio

Impact

Low

Related content panel now expands automatically

Issue VF-4428

The related content panel in the Content Studio, content editor now automatically expands when a content item is dragged over it, thus simplifying drag and drop of related content items.

Benefit

Improved usability

Areas affected

Content Studio

Impact

Low

View menu shortcut keys changed in Content Studio

Issue VF-3799

In previous versions of Content Studio, the shortcuts for the options in the View menu were Ctrl or "Cmd" + a function key. These key combinations did not always work and have therefore been replaced by Ctrl or "Cmd" + number key combinations.

Benefit

Improved usability

Areas affected

Content Studio

Impact

Low

Solved Problems

Various problems with binary object URLs resolved

Issue VF-4488

Previous versions of the Content Engine had a number of limitations regarding the names of binary objects and how they were accessed in the presentation layer:

  • A binary object would not be displayed in the presentation layer if its title contained a slash (/) character.

  • Attempts to access a binary object would fail in some circumstances if its name contained a URL-decoded character. Requests for image().jpg, for example, would fail (but requests for image%28%29.jpg would succeed).

  • Attempts to access an alternate image would fail unless the /alternates/ component of the URI was all upper case (/ALTERNATES/).

All of these problems have now been fixed.

Benefit

Improved reliability

Areas affected

engine-presentation

Impact

Medium

Side effects

The URLs of binary objects will now use '%20' instead of '+' to encode spaces and '?', '/' and '%' characters will be replaced with '-' characters.

Browser component now works with 32 bit JREs

Issue VF-4473

In previous versions, the Content Studio browser component (used in browser research panels and the geocode plugin) would not work in a 32 bit Java runtime environment. This problem has now been fixed by upgrading the browser component (JXBrowser) to the latest version.

Benefit

Improved platform support

Areas affected

Content Studio

Impact

Low

Potential deadlock in Content Studio fixed

Issue VF-4457

A potential deadlock in Content Studio is now fixed.

Benefit

Improved reliability.

Areas affected

Content Studio

Impact

Low

Order of values in a multiple selection enumeration field now preserved

Issue VF-4305

In previous versions of the Content Engine, the order of the values selected from a multiple selection enumeration field was not preserved when a content item was saved in Content Studio. This problem has now been fixed and the order of the selected values is now preserved.

Benefit

Correct behavior

Areas affected

Content Studio

Impact

Low

Search index now updated after moving content items

Issue VF-3763

In previous versions, the search index was not updated after a content item was moved from one section to another section using Web Studio's Move content option. This problem has now been fixed.

Benefit

Correct search results.

Areas affected

Content Engine

Impact

Low

User.getSections now only returns normal sections

Issue VF-4465

Since version 5.3 of the Content Engine, the API method User.getSections has returned all sections the user has access to, regardless of type. The method has now been reverted to its pre-5.3 behavior: sections of type community are not returned. This will improve performance if there are many sections of type community.

Note that User.getSections is in fact a deprecated method. There is a new utility method resolveUserSectionsForPublication that you can use instead.

Benefit

Improved performance

Areas affected

api

Impact

Medium

Authors of cross-published content now always accessible

Issue VF-4388

In previous versions of the Content Engine, attempts to access the author of a cross-published content item could sometimes fail if the author did not belong to the same publication as the content item. This issue has now been fixed.

Benefit

Improved reliability

Areas affected

presentation layer

Impact

Low

Clipboard now always displays content items properly

Issue VF-1316

In previous versions of Content Studio, the clipboard did not always display content items correctly. The following items were sometimes missing from the listed entries:

  • State icon

  • Summary text

  • Thumbnail image

The problem has now been fixed. All the above items are now included in clipboard entries.

Benefit

Improved usability

Areas affected

Content Studio

Impact

Low

Legacy tags containing "&" characters now handled correctly

Issue VF-4475

In previous versions of the Content Engine, the upgrade service was unable to migrate legacy tags with titles containing "&" characters. This problem has now been fixed.

Benefit

Migration now updates tags like "bob & alice" properly which have "&"

Areas affected

migrator

Impact

Low

Content Studio now starts even if Java 7 is the default JRE

Issue VF-3541

Previous versions of Content Studio would not start in some cases on machines where Java 7 was installed as the default Java runtime environment. This problem has now been fixed so that Java 6 is used when necessary, even if Java 7 is the default JRE.

Benefit

Improved deployment

Areas affected

Content Engine

Impact

Low

Content Studio no longer adds unwanted paragraph tags to imported XHTML

Issue VF-4490

Previous versions of Content Studio would sometimes insert unwanted paragraph (p) tags into imported XHTML content. This problem has now been fixed.

Benefit

Improved usability

Areas affected

Content Studio

Impact

Low

Deleting a publication no longer fails

Issue VF-4489

In previous versions of the Content Engine, deleting a publication would sometimes fail with an SQLException. This only happened if users from another publication had been given access to the publication you were trying to delete. This problem has now been fixed.

Benefit

Improved reliability

Areas affected

engine

Impact

Low

Deleting a section no longer fails

Issue VF-4486

In previous versions of the Content Engine, deleting a section would fail if:

  • The section did not inherit access rights from its parent section

  • The section was the home section of one or more content items

This issue has now been fixed.

Benefit

Improved reliability

Areas affected

engine-core

Impact

Low

Documented how to change Solr stemming

Issue VF-4470

Some information about the the default Solr stemming settings and how to either disable or change them for use with non-English content has been added to the Installation Guide: http://documentation.vizrt.com/ece-install-guide/5.5/search_engine_configuration.html

Benefit

improved documentation.

Areas affected

documentation

Impact

Low

The Indexer webapp no longer fails with "Too many open files".

Issue VF-4411

In previous versions, the indexer webapp did not close the error document after writing to it. If the indexer encountered a large number of failures while indexing documents, this would eventually cause the indexer itself to fail with the error Too many open files. This problem has now been fixed.

Benefit

Improved stability

Areas affected

indexer

Impact

Low

Fixed PersistentStoreException when adding section roles during import

Issue VF-4405

In earlier versions of the Content Engine, adding a section-specific role (reader, administrator, useradmin, editor or journalist) to a user or user group via XML import would result in a PersistentStoreException if the user or user group already had the role. This problem has now been fixed.

Benefit

Improved reliability.

Areas affected

Content Engine

Impact

Low

Side effects

None

Imported in-line relations to cross-published content are now resolved correctly

Issue VF-4392

In previous versions of the Content Engine, importing a content item that contained an in-line relation to a cross-published content item would not work correctly: the in-line relation would never get resolved. This problem has now been fixed. If the cross-published content item is already imported, then the in-line relation is resolved immediately. Otherwise it is resolved whenever the cross-published item is imported.

Benefit

Correct behavior

Areas affected

syndication

Impact

Low

Custom styling drop-downs in Content Studio now work correctly

Issue VF-4386

In previous versions of Content Studio, the custom styling drop-downs created using ui-style-class elements in the content-type resource did not work correctly:

  • There were problems with the display of certain fonts (specifically, Webdings and Wingdings)

  • The drop-downs did not correctly display the style of the currently selected text

These problems have now been fixed.

These problems are fixed now.

Benefit

improved usability

Areas affected

Content_Studio

Impact

Low

Date fields inside complex/array fields now included in VDF models

Issue VF-4340

VDF model documents generated by the previous version of the Content Engine's web service failed to include definitions of date fields appearing inside complex or array fields. This problem has now been fixed.

Benefit

Improved integration interface.

Areas affected

web service

Impact

Low

Failure to post index document to SOLR is now reported

Issue VF-4328

In previous versions of the Content Engine, no error was logged if the indexer web app failed to post an index document to Solr. This problem has now been fixed: if an index document cannot be posted to Solr then an error is logged. Moreover, if more than 100 such errors occur within one minute, then the indexer is paused. It can be resumed from the indexer web app's administration interface once the reason for the errors has been corrected.

Benefit

Better reporting of search indexing problems.

Areas affected

indexer

Impact

Low

Caret now correctly positioned in inherited rich text fields

Issue VF-4296

In previous versions of Content Studio, when a user started to edit the inherited content in a rich text field, the keyboard caret was incorrectly positioned. This problem has now been fixed.

Benefit

Correct behaviour

Areas affected

Content Studio

Impact

Low

Content Studio mouse pointer no longer affected by Javascript notifications

Issue VF-4289

In version 5.4.0 of Content Studio, using the Javascript API to display a notification would cause the mouse pointer to stop responding to context changes: it would no longer change shape in response to the capabilities of the underlying user interface components. This problem has now been fixed. The pointer now changes shape as expected even after Javascript notifications have been displayed.

Benefit

Improved usability

Areas affected

Content Studio

Impact

Low

Import now handles unresolved relations with multiple hash characters in source or sourceid

Issue VF-4281

In previous versions of the Content Engine, attempts to import a content item with an unresolved relation would fail if either the source or sourceid attribute contained more than one hash (#) character. This problem has now been fixed.

Benefit

Improved reliability.

Areas affected

engine-core, syndication, web-service

Impact

Low

Flushing the cache can flush memcached too

Issue VF-4278

On sites where memcached is used, it is now possible to configure the Content Engine so that flushing the cache also flushes the memcached caches. For further information, see http://documentation.vizrt.com/ece-install-guide/5.5/configure_presentationarticlecache_instances.html

Benefit

Possible to flush the memcached cache.

Areas affected

Content Engine

Impact

Low

Side effects

If this functionality is enabled, flushing the cache on one host will affect the performance of all hosts in a cluster until the cache is populated again.

Web Studio no longer deletes user group global role settings

Issue VF-4271

Previous versions of Web Studio could sometimes delete the global role settings of an edited user group. This only happened if you displayed the user group editor's Tag Structures form before saving your changes. The problem has now been fixed.

Benefit

Improved reliability.

Areas affected

webstudio

Impact

Low

Original image versions displayed at full quality again

Issue VF-4270

Since version 5.3.2.2 of the Content Engine, original image versions have been displayed with reduced quality. This problem has now been fixed, and original image versions are displayed in their original quality.

Benefit

Correct behavior

Areas affected

presentation layer

Impact

Low

Update service is now called immediately after the content editor is opened

Issue VF-4190

The Content Engine update service should be called immediately after a content editor is opened in Content Studio. Previously this was possible only for text/xhtml/enumeration fields.

The update service is now called immediately for all types of field, ensuring that the user only sees the intended field content.

Benefit

Improved user experience

Areas affected

Content Studio

Impact

Low

Fixed problem deleting users

Issue VF-4167

In previous versions, it was not always possible to delete a user from Web Studio: sometimes the operation would fail due to the existence of authorization tokens owned by the user. This problem has now been fixed: any authorization tokens owned by the user are deleted together with the user.

Benefit

improved reliability.

Areas affected

engine-core

Impact

Low

ConcurrentModificationException no longer caused by content item updates

Issue VF-4143

In previous versions, updating a content item could cause a ConcurrentModificationException to occur. The exception only occurred when updating content items that contained fields with underscore characters in their names. This problem has now been fixed.

Benefit

Improved reliability

Areas affected

presentation layer

Impact

Low

Link and image URIs now mandatory

Issue VF-4129

In previous versions of Content Studio, when users inserted links or images into rich text fields, they were not required to specify a URI in the Address field of the displayed dialog. However, if no URI was specified in the field, then an error would occur when the user attempted to save the content item. This problem has now been fixed by making the "Address" field mandatory: it is not possible to click OK if the field is empty.

Benefit

Improved usability.

Areas affected

Content Engine, Content Studio

Impact

Low

Improved logging performance

Issue VF-4116

The logging library used by the Content Engine, log4j has a known performance issue when running in a multi-CPU / multi-kernel environment. All calls to Logger.getLogger end up in the same synchronized block, so if this method is invoked by multiple threads, all of the threads except one have to wait for a monitor.

This issue has now been fixed by adding a cache around log4j.

Note that this fix will not work unless the Content Engine that initializes log4j itself. This is normally the case: the Content Engine initializes log4j unless it has been explicitly prevented from soing so by setting the system property com.escenic.log4j.noinit.

Benefit

improved performance

Areas affected

logging

Impact

Low

Better reporting of unsupported image types

Issue VF-4037

In previous versions of the Content Engine, attempts to load an unsupported type of image would result in a null pointer exception. This situation is now handled more correctly: the Content Engine now reports an internal server error writes the URI of the offending image to the log.

Benefit

improved reliability

Areas affected

Content Engine

Impact

Low

Fixed AccessControlException when distributing events

Issue VF-4541

In previous versions, the distribution of local events could sometimes fail with an AccessControlException, preventing caches from being properly updated and causing event listeners to fail. Once the distribution of events started to fail, it would continue failing until the server was restarted.

This issue has now been fixed.

Benefit

Improved reliability

Areas affected

engine-core

Impact

Low

Content Studio section page editor now works after deleting a list

Issue VF-4527

In previous versions of Content Studio, it was not possible to edit a section page after deleting one of the page's lists. This problem has now been fixed.

Benefit

Correct behavior.

Areas affected

Content Studio, web service

Impact

Low

Section icon now always displayed in section page editor

Issue VF-4431

In previous versions of Content Studio, the section icon was not always displayed beside the section name in the Content Studio section page editor. The problem has now been fixed.

Benefit

Correct behavior

Areas affected

Content Studio

Impact

Low

Section drop zone in new content items is now larger

Issue VF-4318

In previous versions of Content Studio adding a section to a new content item was difficult because the drop zone for sections was very small. This problem has now been fixed by increasing the size of the section drop zone.

Benefit

Improved usability

Areas affected

Content Studio

Impact

Low

PresentationPool elements can now be decorated

Issue VF-4216

In previous version, PresentationElemenentDecorator#getContent would fail when attempting to decorate PresentationPool elements. This problem has now been fixed.

Benefit

Improved API functionality.

Areas affected

presentation layer

Impact

Low

User groups with roles can now be deleted

Issue VF-4198

In previous versions of the Content Engine you could not delete a user group from Web Studio if the user group had any roles assigned to it. This problem has now been fixed, so you can delete a user group whether or not it has any roles.

Benefit

Correct behavior

Areas affected

Content Engine

Impact

Low

Side effects

None.

Component browser now supports all configuration property types

Issue VF-4180

In previous versions of the Content Engine, the escenic-admin component browser did not support properties of type java.io.File, java.net.URL, java.net.URI or collections. This issue has now been fixed so that all configuration layer properties can modified at run time using the component browser.

Benefit

All property types can be modified using the component browser

Areas affected

escenic-admin, nursery

Impact

Low

Web service now returns correct response for invalid section IDs

Issue VF-4038

Previous versions of the Content Engine incorrectly returned "500 Internal Server Error" in response to a web service request if the URI contained an invalid section ID. This problem has now been fixed and the Content Engine a correct "400 bad request" response.

Benefit

Correct behavior

Areas affected

Content Engine, web-service

Impact

Low

Side effects

None.

Content Studio no longer fails when creating cache directory on login

Issue VF-4016

Previous versions of Content Studio could fail when creating a cache directory during login. This problem has now been fixed.

Benefit

Improved reliability.

Areas affected

Content Studio

Impact

Low

The FilterCache can now operate without write access to the multimedia folder

Issue VF-3606

At some installations, the presentation servers are denied write access to the multimedia directory, for security reasons. In previous versions of the Content Engine, this kind of configuration caused an exception every time an image version that did not already exist was requested. To prevent this happening, you can now configure the FilterCache to display a dynamic image version even if the file cannot be cached.

Repeatedly generating images on the fly without writing them to the multimedia folder will result in a higher load on the presentation servers. You can prevent this becoming a problem by:

  • Making sure your editorial work-flow involves viewing or previewing all article and section pages that use a new or modified image. This will ensure that new image versions get written to the multimedia folder by editorial servers (which do have write access) and without affecting site performance.

  • Making sure there is a web-cache in front of the presentation layer that is configured to serve images. This ensures that on the occasions when an image version is not created by the editorial servers, no incident occurs. When this happens, an error is written to the log as a warning that you may have a performance problem. You can then remedy the situation by accessing the image version on an editorial server, which will ensure it is added to the multimedia folder.

This feature is optional and is not enabled by default.

To activate this feature, you must add the following parameter to the CacheFilter configuration in your web.xml file:

<!-- Cache Filter Configuration -->
<filter>
  <filter-name>cache</filter-name>
  <filter-class>com.escenic.presentation.servlet.multimedia.CacheFilter</filter-class>
    ...
  <!-- Enable read-only access to the multimedia directory: -->
  <init-param>
    <param-name>allowNonCachedUrls</param-name> <param-value>true</param-value>
  </init-param>
</filter>
Benefit

Improved security

Areas affected

presentation layer

Impact

Low

Content Studio browser panels now detect network changes

Issue VF-3448

In the previous version of Content Studio, changing from a wired network to a WiFi network that requires use of a proxy server would cause browser research panels to fail. This problem has now been fixed. The browser panels now detect the change and reconfigure themselves accordingly.

Benefit

improved reliability.

Areas affected

Content Studio

Impact

Low

Unset expiry dates no longer displayed as set

Issue VF-4339

In previous versions of the Content Studio, unset expiry dates would sometimes be displayed as set to a date a long time in the future. This problem has now been fixed.

Benefit

Correct behavior

Areas affected

Content Engine

Impact

Medium

Side effects

None.

PUT and POST of complex fields to web service now work

Issue VF-4224

In previous versions of the Content Engine, any attempt tp set a complex field via the web service would clear the field value. This problem has now been fixed.

Benefit

The webservice now works as expected for complex fields.

Areas affected

webservice

Impact

Medium

Side effects

The field names are no longer case insensitive in the content document.

Content Studio no longer fails when saving its internal cache to disk

Issue VF-4022

In previous versions, Content Studio could fail when saving its internal HTTP cache to disk. This problem has now been fixed.

Benefit

Improved reliability

Areas affected

Content Studio

Impact

Low

Default values now assigned to content item summary fields when necessary

Issue VF-4002

In previous versions of the Content Engine default values were not assigned to empty content item summary fields even if they were defined as required fields. This problem has now been fixed, and empty summary fields are handled in the same way as other empty fields: if it is defined as a required field and a default value is available, then the default value is assigned to the field.

Benefit

Improved consistency.

Areas affected

Content Engine

Impact

Low

Switching on section access control no longer causes an error

Issue VF-3840

In previous versions of the Content Engine, unchecking the Inherit access control option on the Web Studio section editing page could sometimes cause an SQLException. This only occurred if one or more content items had this section or one of its children as home section. This problem has now been fixed.

Benefit

Correct behavior

Areas affected

core

Impact

Medium

Content Studio no longer reports it is connected to an unknown host

Issue VF-3805

The previous version of Content Studio would report that it was connected to an unknown server if the web service URL was specified as a relative URL. This problem has now been fixed.

Benefit

Improved usability

Areas affected

studio

Impact

Low

Upgrade Instructions

You can upgrade to release 5.5.0.131544 from release 5.4.0.123767 or later. The basic procedure for upgrading is outlined below. For a multiple-host installation, however you should read Rolling Upgrades, below. This describes how to upgrade your installation incrementally, one engine host at a time.

  1. Download the 5.5.0.131544 distribution to your assembly host and extract it from the ZIP file.

  2. Download the latest version of the assembly tool and extract it from the ZIP file.

  3. Either:

    • Edit your assembly tool's assemble.properties file, setting engine.root to point to the new location, or

    • If engine.root points to a symbolic link, update the symbolic link instead

  4. Perform the upgrade tasks for Deprecated tags and beans removed from presentation layer

  5. If you are upgrading from a release prior to 5.4.2.129274, check the Upgrade Instructions section in the Release Notes of all releases between your release and 5.4.2.129274, and carry out any "additional upgrade tasks" listed in them.

  6. Reassemble the Content Engine using the ece script by entering the following command:

    ece assemble
  7. Stop your application server(s).

  8. Redeploy the EAR file to all application server(s).

  9. If you are upgrading from a release prior to 5.4.2.129274, check the Upgrade Instructions section in the Release Notes of all releases between your release and 5.4.2.129274, and carry out any post-deployment tasks listed in them. Typical post-deployment tasks include updating and/or regenerating Solr indexes, running database upgrade scripts and so on. You will find any database upgrade scripts you may need to run in this distribution's /opt/escenic/engine/contrib/database folder.

  10. Run the database upgrade scripts supplied for your database. You will find the scripts in one of the following folders:

    • engine-5.5.0.131544/contrib/database/sql/MySQL/upgrade/to-5.5.0

    • engine-5.5.0.131544/contrib/database/sql/Oracle/upgrade/to-5.5.0

    There are two scripts: upgrade-phase1.sql and upgrade-phase2.sql. The tasks described in Rolling Upgrades should be performed between executing the phase 1 script and the phase 2 script.

  11. Check the additional upgrade tasks specified for the following changes and carry out any actions that are necessary for your site:

  12. Start your application server(s).

  13. Check the post deployment upgrade tasks specified for the following changes and carry out any actions you think are necessary for your site:

Rolling Upgrades

Alternatively to upgrading the whole cluster at once, it is also possible to upgrade one host at a time. To carry out a rolling upgrade from 5.4 to 5.5:

  1. Perform upgrade steps 1-6.

  2. Run upgrade-phase1.sql.

  3. Perform upgrade steps 7-9 and 11-12 on one engine host at time. Start with the presentation host(s) and end with the editorial host(s).

  4. When all your engine hosts are upgraded to 5.5, run upgrade-phase2.sql.
  5. Perform upgrade step 13.