Issue VF-5280
In previous versions, re-indexing Solr instance was slow. This performance has now been improved by applying several different changes:
* The engine-indexer-webservice will now return a batch of documents instead of only one document as before. This will reduce network overhead.
* The engine-indexer-webservice will now return Solr compatible XML instead of a XML format that later had to be transformed. This will reduce CPU usage.
* The indexer-webapp has become multithreaded. It will now by default use up to 6 threads. One for processing head, one for processing tail and 4 for re-indexing. When not re-indexing, the webapp will use 2 threads.
Improved performance
indexer, performance, solr
Medium
The added number of threads will increase both CPU usage and database load when re-indexing.
[Phase 1] The XML format returned from engine-indexer-webservice has changed. Anyone using this webservice directly must change their code to reflect the new changes.
Issue VF-5236
It is now possible to assign content type permissions to Content Studio users. That is, you can restrict a user's ability to read and write content items of specific types. A user may have the following access rights to a content type:
None, in which case the user will never see content items of this type when working in Content Studio.
Read, in which case the user will see content items of this type, but not be able to change them.
Write, in which case the user will have full read/write access to content items of this type.
This feature is particularly useful for hiding Widget Framework widgets from editorial users of Content Studio.
By default, users do not have access to any content types. Access rights can be assigned to users by using the person and user group editors in Web Studio. For details see http://docs.escenic.com/ece-pub-admin-guide/5.7/content_types.html.
It is also possible to give users global access to all existing and potentially future content types by assigning the user a global role. Two new global roles have been created for this purpose: one that grants global read access to all content types, and one that grants global write access to all content types. These roles are also assigned to users using Web Studio. For details see http://docs.escenic.com/ece-pub-admin-guide/5.7/global_roles.html.
Assigning the global write access role to all users effectively recreates the access rights users had prior to version 5.7.
When you create a new publication, the publication administrator is always assigned global read and write permissions to all content types.
Improve usability
api, Content Studio, core, security
Medium
[Phase 2] After upgrading from 5.6, users will not have access to any content types. To automatically grant all users access to all content types as before, you must:
1. Open this page in a browser: http://server/escenic-admin/browser/Global/com/escenic/upgrade/ContentTypePermissionService
.
2. Change the publication
property to a comma-separated list of publications you would like to upgrade. If you want to upgrade all publications, set the property to '*'.
3. Set the serviceEnabled
property to true
.
4. invoke doStartService
and verify that the serviceRunning
property is set to true
.
5. Invoke upgradePublications
.
The service then:
1. Creates a user group called ece57upgrade
in all the publications you specified. (If you want you can set a different name for the group by setting the targetUserGroup
property before you start the service).
2. Assigns the Write all content types global role to the user group.
3. Add all users in the publication to the group.
4. Assigns the Write all content types global role to the publication administrator.
Issue VF-5246
Content Studio has a completely new, improved preview function for content items and section pages:
Previews are now displayed on a tab in the section page/content item editor. The old browser-based preview function is retained as an additional option.
The new previews are "device-sensitive" - you can switch between large, small and medium options to see how the page looks on different devices.
The large, small and medium options can each be set to a range of different resolutions, allowing you to preview many different device sizes.
A time control lets you preview a section page's appearance at different times in the future, so you can see the effects of planned publish/expiry events.
The preview tabs can be undocked into a separate window.
The available device resolutions can be configured system-wide by the system administrator.
For details, see http://docs.escenic.com/ece-content-studio-guide/5.7/using_the_preview_options.html.
For information about how configure preview device options, see http://docs.escenic.com/ece-server-admin-guide/5.7/configure_preview_device.html.
improved usability
Content Studio
Low
Issue VF-5146
It is now possible to pin items in Content Studio lists. A pinned item is fixed in position and will not move as result of other changes in the list. It will remain in position 3 until either it is unpinned or explicitly moved to a new position.
For further information, see http://docs.escenic.com/ece-content-studio-guide/5.7/using_a_list_editor.html.
Improved functionality
Content Engine, Content Studio, web service
High
Issue VF-5047
[Phase 1] It is now possible to configure the Content Engine to run in read-only mode. When running in read-only mode:
Mutex services (service that only run on one host) will not start
Write operations to the database will fail
You can use read-only mode to:
Ensure that presentation hosts do not make modifications to the database
Scale up the presentation layer by connecting presentation hosts to a read-only slave database
For further information, see http://docs.escenic.com/ece-server-admin-guide/5.7/read_only_mode.html.
Improved security and scalability
core
Medium
In order to simplify configuration, the database read and update connectors have been merged. You must therefore make the following changes.
On all your engine-hosts:
1 Log in as the user escenic
.
2 Open /opt/tomcat/conf/context.xml
and rename ECE_READ_DS
to ECE_DS
. Do the same for /opt/tomcat/conf/server.xml
if necessary.
3 Add the value of the ECE_UPDATE_DS
connection pool's maxActive
setting to this pool's maxActive
setting.
4 Remove the ECE_UPDATE_DS
connection pool.
5 Save the file.
On one engine-host only:
1 Log in as the user escenic
.
2 Open /etc/escenic/engine/common/neo/io/managers/ContentManager.properties
.
3 Add the following new property:
dataConnector=/connector/DataConnector
4 Remove the readConnector
and updateConnector
properties
5 Save the file.
You usually only need to edit /etc/escenic/engine/common/neo/io/managers/ContentManager.properties
on one machine because it is stored on a shared file system.
Issue VF-5090
It is now possible to use Amazon S3 as the primary storage for binary files. Shared S3 binary storage can be set up for multiple server instances instead of using NFS.
For further information, see http://docs.escenic.com/ece-server-admin-guide/5.7/storage_setup.html.
Increased flexibility.
Content Engine
Low
Issue VF-4994
It is now possible to move sections in Content Studio. You can also move all the contents of a section to another section. For details, see http://docs.escenic.com/ece-content-studio-guide/5.7/Managing_Sections.html.
It is also possible to move sections via the Content Engine web service.
Better administration.
Content Engine, Content Studio, web service
Medium
Issue VF-5281
Content Studio tag search now uses Solr instead of the database, which is much faster.
Improved performance
Content Engine, Content Studio, indexer, web service
Medium
Issue VF-5372
In previous versions, the URL of an article would normally not change when an article was updated. A side effect of this is that a high TTL would make the article being cached for a long time in both browser and CDNs.
To make it possible to use a high TTL and at the same time being able to quickly deliver updated versions , a new pattern named random has been added to the relative url of an article. When properly configured, a random fragment will be inserted in the url whenever the article is updated.
This feature is by default disabled, but can be enabled pr content type by adding {random} to the pretty url definition of a content type. For more information, see the Content Type reference
Improved support for CDN
presentation
Low
Issue VF-5366
In previous versions, the tag description was not easily accessible in the presentation layer. This has now been improved by adding a description property to neo.xredsys.presentation.PresentationTag. For more information, see the JavaDoc for this class.
Improved usability
presentation layer
Low
Issue VF-5363
In previous versions of Content Studio, the publishing state of section pages was not shown in section page editors. This problem has now been fixed.
Improved usability
Content Studio
Low
Issue VF-5323
HTML / Javascript extensions added to Content Studio can now output messages to the Content Studio log file. For details see http://docs.escenic.com/ece-cs-plugin-guide/5.7/log_messages.html.
Improved debugging support for developers
Content Studio
Low
Issue VF-5336
Solr has been upgraded to a version 4.6.0
Improved reliability
search
Low
Issue VF-5312
Publication resources (content-type
etc) are now pre-processed using XInclude (see http://www.w3.org/TR/xinclude/, which means that XInclude inclusion mark-up can be used to reduce duplication of content.
You can now use XInclude instead of the field-group
element to re-use field
and relation-type
definitions.
Note that you can only include elements from the current file in this way: XInclude inclusion between files is not supported.
For further information see http://docs.escenic.com/ece-resource-ref/5.7/xinclude_support.html.
Improved performance
Content Engine
Low
Issue VF-5306
Content Studio has APIs that can open editors based on a URL. It expects the URL to return an Atom entry with a VDF payload. On receipt of a VDF payload it then retrieves the VDF model document referenced in the payload in order to understand the structure of the payload and to be able to display it.
In previous versions, Content Studio required the VDF model document to be supplied in an undocumented format that was only generated by the Content Engine, and it could therefore not handle VDF payloads from any other source. From version 5.7 this is no longer the case: Content Studio now accepts standard VDF model documents, and can therefore open content from other sources than the Content Engine, so long as they are supplied in the form of Atom entries with standard VDF payloads that reference standard VDF model documents.
Content Studio can now be extended in new ways by working directly with content items that do not exist in Content Engine.
Content Studio
Low
Issue VF-5316
Content Studio's search function can now be easily extended to search external systems as well as the Content Engine. The external system must provide an OpenSearch (see http://www.opensearch.org/Home) interface.
Search results from external systems appear together with internal results. API hooks are provided to enable full integration of external results, so that they behave in a similar way to internal results, offering context menu options, supporting drag-and-drop and so on.
Improved integration with external systems.
Content Studio
Low
Issue VF-5299
If a publication has several binary content types with the same mime type (image/jpeg
, for example), then the first one to appear in the content-type
resource is now the default, and will always be used when a binary object of that type is dropped into the Content Studio window. In previous versions, this behavior was undefined, and the content type used for dropped binary objects was not consistent.
improved reliability
Content Studio
Low
Issue VF-5309
In previous versions, the source and sourceId of persons and sections were not visible in Content Studio. This issue has now been fixed. The web service now also supports creating persons and sections with source and sourceID. If no source/sourceId is provided, a default source and sourceID will be created for you.
Improved usability
api, Content Studio, web-service
Low
Issue VF-5304
Content Studio now supports round robin DNS. If the DNS entry for a server contains more than one IP addresses, Content studio will pick the first working IP address and stick to it.
Load balancing and fail over for Content Studio servers.
Content Studio
Medium
Issue VF-5298
In previous versions of the Content Engine, exported section pages contained no information indicating whether or not they were pubished. This problem has now been fixed: the syndication format section-page
element now has an activatedate
attribute that is used to hold a section page's activation date property. This date can be used to determine the section page's current state.
improved reliability
syndication
Low
Issue VF-5297
When exporting sections, content engine includes both the source and sourceID
improved reliability.
syndication
Low
Issue VF-5173
In previous versions of the Content Engine, the creation of a publication using escenic-admin
would fail if you supplied initial publication content in a .WAR file, and the content included binary content items. This problem has now been fixed.
Improved Usability
syndication
Low
Issue VF-5152
The vertical tabs used to select side panels in Content Studio have been replaced by graphical buttons.
The new button style applies both to the Content Studio's default side panels (Search, Sections and Clipboard) and to custom panels created using Content Studio's JavaScript API. Button icons are specified using a new argument added to the cs.createPanel()
method. See http://docs.escenic.com/ece-cs-plugin-guide/5.7/requiring_objects.html for further details.
Improved look and feel
Content Studio
Low
Issue VF-5155
The Content Studio section page editor now locks the top level areas that make up a section page individually, rather that locking the whole section page. This means that several people can now work simultaneously on different areas of the same section page.
Improved usability
Content Studio
Medium
Issue VF-5154
The status bar of Content Studio now includes a performance monitor. It monitors the performance of Content Studio and displays a warning if performance problems arise. The user can display more information about the problem by clicking on the monitor.
Improved usability
Content Studio
Medium
Issue VF-5107
A new configuration layer has been added to the ApplicationBus
of all web applications. The default location of the new configuration layer is
/etc/escenic/engine/webapp/
context-path
where context-path is the context path of the web app. context-path must be lowercase. The new configuration layer is a dominant layer and overrides settings made in other configuration layers.
The Bus name displayed in escenic-admin
has changed. It now displays the web application's context path, not the display name specified in web.xml
. This makes it easier to distinguish between web applications that have the same display name.
The "service description" section in the component browser has been improved to display the same information both for components loaded from the Global layer and for components loaded from web application layers. This will make it easier to understand where a configuration comes from.
Improved usability
configuration, nursery
Low
[Phase 1] The name and url of a Bus in escenic-admin has changed. The name was previously fetched from the display-name element in web.xml, but is now created based on the context path of the webapp. The new name will always be "Webapp <context-path>" where the path is capitalized.
The name of the webservice.war will for instance change from "Webapp ECE Webservice Webapp" to "Webapp Webservice".
Anyone relying on these urls, for instance scripts, must be changed to reflect these changes.
Issue VF-5067
In previous versions of the Content Engine, neo.xredsys.api.IOObject.lock()
would lock an object even if it was different from the version stored in the database. This could result in stored changes being overridden.
The lock()
method has now been changed so that it will only lock up-to-date objects. If an attempt is made to lock a stale object then it throws an IllegalStateException
.
A convenience method named lock(boolean pReloadIfNeeded) has been introduced to make it easy to lock and refresh an object if needed. Please see the JavaDoc for more information regarding this method.
Improved reliability
api
Medium
[Phase 1] neo.xredsys.api.IOObject.lock()
now throws an IllegalStateException
for stale objects. All code using this method should be reviewed and modified to handle this exception.
Issue VF-5068
In-line images can now be aligned by the Content Studio user. An in-line image's Properties dialog (accessed by right-clicking) will now by default contain an Alignment option. It is, however, possible to control whether or not this option is available (and also set a default value for it) by setting properties in a publication's content-type
resource. The Alignment option's visibility can be set individually for each rich text field.
For further information, see http://docs.escenic.com/ece-content-studio-guide/5.7/inserting_inline_images.html and http://docs.escenic.com/ece-resource-ref/5.7/ih_inline.html.
Better control over inline images directly through Content Studio
Content Studio
Medium
Issue VF-5013
You can now configure the import service to "fail over" automatically. The import service is enabled on multiple servers, but only runs on one of them. If, however, the service stops running on that server for any reason, then it is automatically started on one of the other servers and import continues.
The import service must be configured to read files from a shared file system in order for this mechanism to work.
See http://docs.escenic.com/ece-syndication-ref/5.7/enabling_import_failover.html for further information.
Improved reliability
syndication
Low
Issue VF-5005
The service names listed on the escenic-admin
application's Services page can now include info links. Clicking on an info link displays information about the service. The links are used where necessary to provide useful information about services (such as deployment requirements).
Improved usability
escenic-admin
Low
Issue VF-4960
The latest Memcached java client is now included in the Escenic Content Engine distribution. You therefore no longer need to download the Memcached client separately.
Easier installation
Content Engine, presentation layer
Low
[Phase 1] Change the $class
property in /com/danga/SockIOPool.properties
to:
$class=com.whalin.MemCached.SockIOPool
Issue VF-4705
It is now possible to dock and undock the Related Content area displayed below the fields in content editors. For details, see http://docs.escenic.com/ece-content-studio-guide/5.7/undocking_the_related_content_area.html.
Improved usability: by undocking the related content area, the user can increase the space available for displaying both the content item fields and related content.
Content Studio
Low
Issue VF-4691
Increased memory in default content studio settings. Now new settings are as below
vmargs=-Xms256m -Xmx1024m
For users running Content Studio on 32-bit JVMs, the new settings can cause problems on start-up. If you see the following error when starting Content Studio:
Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit
then to permanently fix this problem you need to uninstall your 32-bit JVM and replace it with a 64-bit version. You can, however, work around it either by closing some other programs to free up memory, or else editing the downloaded Content Studio start-up file (the .jnlp
file) and replacing
<j2se version="1.7.0_40+" java-vm-args="-Xms256m -Xmx1024m -XX:MaxPermSize=128m" href="http://java.sun.com/products/autodl/j2se"/>
with something like:
<j2se version="1.7.0_40+" java-vm-args="-Xms256m -Xmx512m -XX:MaxPermSize=128m" href="http://java.sun.com/products/autodl/j2se"/>
(that is, reducing the -Xmx
value).
performance
Content Studio
Low
Issue VF-4794
A Create thread dump option has been added to Content Studio's Debug menu, allowing thread dumps to be generated for diagnostic purposes. The Debug menu is hidden - see http://docs.escenic.com/ece-content-studio-guide/5.7/the_debug_menu.html for details.
Improved diagnostics.
Content Studio
Low
Issue VF-4795
A new logging configuration option has been added to the Content Studio Debug menu. It allows you to configure logging levels, and then outputs the resulting log records to a file. The Debug menu is hidden - see http://docs.escenic.com/ece-content-studio-guide/5.7/the_debug_menu.html for details.
Improved diagnostics
Content Studio
Low
Issue VF-4796
Content Studio now periodically dumps a performance summary to its log.
Improved diagnostics
Content Studio, web service
Medium
Issue VF-3334
A Java API for working with tags is now available. You can use it to create, update, delete and search for tags. For details, see http://docs.escenic.com/ece-javadoc/5.7/index.html?com/escenic/classification/package-summary.html
In addition, methods for retrieving and modifying a content item's tags have been added to the Article
and ArticleTransaction
interfaces (see http://docs.escenic.com/ece-javadoc/5.7/index.html?neo/xredsys/api/Article.html and http://docs.escenic.com/ece-javadoc/5.7/index.html?neo/xredsys/api/ArticleTransaction.html)
Improved functionality
api, api_javadoc
Low
Issue VF-5435
In previous releases a collection field for Tag or TagStructure would return a generic PresentationCollectionFieldValue. The presentation API now has PresentationCollectionValue implementations for Tag and TagStructure which contains the PresentationTag and PresentationTagStructure.
Extended presentation layer API
presentation layer
Low
Issue VF-4122
The escenic-admin
webapp now displays a warning on the System Properties page if an unsupported Java Development Kit (JDK) such as OpenJDK is installed on the server.
Improved diagnostics
escenic-admin
Low
Issue VF-5283
Section search in Content Studio content editor has been improved and now returns more accurate results.
Improved usability.
indexer, web service
Medium
Issue VF-4998
In previous versions, the redirection of old URLs to new pretty URLs of image representations did not work properly: the request was redirected to the new image URL, not the new image representation URL. This problem has now been fixed.
Correct behaviour
presentation
Low
Issue VF-5446
Previous versions of Content Studio would sometime not refresh related content items immediately after adding new items. It would wait for the next refresh schedule to come. The problem has now been fixed.
Faster loading of related content items in Content Studio
Content Studio
Low
Issue VF-5445
Previous versions of Content Studio would sometime not load lists immediately after opening them. It would wait for the next refresh schedule to come. The problem has now been fixed.
Faster loading of lists in Content Studio
Content Studio
Low
Issue VF-5432
In previous versions, invoking getPresentationPoolManager() on the ApplicationPresentationLoader could in rare cases cause a StackOverflowError. This issue has now been fixed.
Improved reliability
presentation
Low
Issue VF-5433
In previous versions, adding a <directory> element when importing a section would make all articles in the updated section and it's subsections to be re-indexed. This would happen even though the value did not differ from the persisted value. The same would happen when updating the directoryName property in neo.xredsys.api.SectionTransaction. This has now been fixed by only re-indexing articles if the value actually changes.
Improved performance.
api, syndication
Low
Issue VF-5408
In previous versions, Content Studio's Duplicate as content-type option did not work for image content types. This problem has now been fixed..
Correct behavior.
Content Studio
Low
Issue VF-5389
In previous versions, the ECELocks and ResourceLock database tables sometimes got out of sync. This could cause an object to appear as locked in Content Studio, but there were no way to unlock the object without going directly to the database. This problem has been fixed by rewriting the LockManager to only store locks in the ResourceLock table.
Improved stability
api, core
Medium
Issue VF-5371
In previous versions, deleting a section could cause several problems for articles with a reference to the deleted section:
Generating a checksum of the article could produce NullPointerExceptions
Retrieving sections using neo.xredsys.api.Article.getSections() could give back an array containing null references. This could again cause NullPointerExceptions other places
An article deserialized from Memcached could contain references to the deleted section and cause NullPointerExceptions in the templates
These problems has now been fixed
Improved stability
core, presentation layer
Low
Issue VF-5368
In previous versions, accessing any of the url properties of a PresentationArticle outside a Http request would cause a NullPointerException. This problem has now been fixed.
Restored functionality
presentation layer
Low
Issue VF-5362
In previous versions of Content Studio, the keyboard shortcut for publishing section pages (Ctrl+Shift+P or Cmd+Shift+P on Macs) did not work. This problem has now been fixed.
Improved usability
Content Studio
Low
Issue VF-5327
In previous versions, XOMUtilities had a memory leak causing several instances of nu.xom.Builder never being garbage collected. This memory leak has now been fixed.
Improved stability
core
Low
Issue VF-5324
In previous versions, a collection field containing a reference to a non existing section might cause the templates to fail with a NoSuchObjectException. This problem has now been fixed by changing PresentationArticle to only create a section collection field if the section actually exist. If the section does not exist, the templates will see an empty field.
Improved stability
presentation layer
Low
Issue VF-5243
In previous versions of the Content Engine, adding items to the LRUCache
would sometimes fail with a java.lang.IllegalArgumentException
. This would only happen when using Java 1.7.0_25 or later.
This problem has been fixed by using a different cache implementation.
Improved stability
core
Medium
[Phase 1] The property named 'throwCount' has been removed from the LRUCache implementation. This property has been removed from all default configuration files, but if it is present in one of your configuration layers it will give a warning when the server is bootstrapped. The warning will not cause any errors, but it is still recommended to remove it from all your configuration files.
As a side effect of the new cache implementation, code using the cache directly might need to change. The following steps are required:
1. A couple of methods has been removed from neo.util.cache.LRUCache. The methods are:
get/setThrowCount()
get/setPopularityContest()
remove/(CacheFilter)
Code using these methods must be rewritten to not use these methods anymore.
2. The method named 'doStartService' must be invoked before starting to use the cache. This is only required if you are creating your own instances of the cache.
Issue VF-5252
In previous versions, section parameters with newlines were not properly escaped and the value could get lost. This problem has now been fixed.
Improved reliability
core
Low
Issue VF-5238
The Content Engine's license web service now includes all libraries in use in the distribution.
Improved reliability
web service
Low
Issue VF-5218
In previous versions, an imported binary file would not be moved to the archive or error directory if the directory already contained a file with the same name. This issue has been fixed by changing the import to rename the file to <original_name>_<counter>.<extension> where <counter> is a number between 1 and 10. If there are more than 10 files with the same name, the import will give up and log an error.
Improved stability
syndication
Low
Issue VF-5226
[Phase 1] In previous versions, field arrays of type basic, boolean, number and date were exported in an incorrect XML format. This problem has now been fixed.
Correct behaviour
export subsystem, syndication
Low
In previous versions, arrays of fields were exported in the following format:
<field> <value><field>foo</field></value> <value><field>bar</field></value> </field>
This format has been changed to
<field> <value>foo</value> <value>bar</value> </field>
Any code that depends on the old XML format will need to be rewritten to reflect this change.
Issue VF-5148
In previous versions of the Content Engine, the stop-words filter could fail to find some stop-words if the stop-words list contained both uppercase and lowercase letters. This problem has now been fixed.
Correct behavior
engine-core, engine-presentation
Low
Issue VF-5133
Previous versions of the Content Engine did not support case-sensitive tagging with a MySQL database. It was, for example, not possible to tag content with either "Oslo" or "oslo". This problem has now been fixed.
Improved usability
database
Medium
Issue VF-5098
In previous versions of the Content Engine, PreTransactionFilter
and PostTransactionFilter
did not work for Person
, UserGroup
and AgreementInfo
objects.
This issue has now been fixed.
Correct behavior
api
Low
Issue VF-5034
Previous versions of Content Studio represented currently inaccessible related content items (related items to which the current user does not have access, for example) by the text Loading...
.
This policy has now been changed, and Content Studio will now always display the title, ID, state and content type of related content items, even if they cannot be opened. In the case of image content items, the image thumbnail is replaced by an error image.
Improved usability
Content Studio, web service
Medium
Issue VF-5075
In previous versions of the Content Engine, when a content item was removed from a section it was not removed from the section's lists and inboxes as well. This problem has now been fixed.
Correct behavior
api
Low
Issue VF-5030
The following methods, which have been deprecated since version 5.0 have now been removed:
neo.xredsys.api.Pool.getLayout
neo.xredsys.api.Pool.getLayoutId
neo.xredsys.api.Pool.getFrontpageLayout
neo.xredsys.api.Pool.getFrontpageLayoutId
neo.xredsys.api.Pool.setLayout
neo.xredsys.api.PoolTransaction.setLayoutId
neo.xredsys.api.PoolTransaction.setFrontpageLayoutId
In addition, the following methods are now deprecated and will throw an UnsupportedOperationException
if called:
neo.xredsys.api.RelationLoader.getPoolLayout(int id)
neo.xredsys.api.RelationLoader.getPoolLayout(Pool pool)
In previous versions both methods returned null
.
improved usability
api
Low
[Phase 1] Custom code using these methods must be rewritten.
Issue VF-5028
In previous version of Content Studio, the Configure research panels dialog did not work properly when defining search research panels for publications with many content type groups. All content type groups were displayed on a single line, causing the dialog to potentially expand outside the window boundaries and render some buttons inaccessible.
This problem has now been fixed.
Improved usability
Content Studio
Low
Issue VF-5017
In previous versions of Content Studio, the Delete option in a list's right-click context menu was always disabled. This problem has now been fixed and the option is enabled if deleting the list is currently allowed.
Correct behaviour
Content Studio
Low
Issue VF-4991
In previous versions, it was possible to create two content items with the same source and sourceId in the same publication. If this occurred, then neither content item could be edited in Content Studio and the problem could only by fixed by manually deleting one of the content items from the database.
This problem only arose if two threads tried to create the same content item at the same time. It could happen if a POST
request from Content Studio timed out and the user tried to save the content item a second time.
The problem has been fixed by moving the source
and sourceIDStr
columns from the ArticleMetaContent
database table to a new table called ArticleSourceIdentifier
and adding new database constraint.
Improved stability
engine-core
Medium
[Phase 1] Since the source
and sourceIDStr
columns have been moved from ArticleMetaContent
to ArticleSourceIdentifer
, any custom code in your applications that directly access the old columns must be rewritten to take account of the change. The sourceIDStr
column has also been renamed to sourceID
.
Issue VF-4942
In previous versions it was not possible to save a content item that had more than one set of field options: saving would fail with an Exception. This problem has now been fixed.
Correct behavior
Content Studio, webservice
Low
Issue VF-3787
In previous versions, retrieving section parameters using SectionTransaction.getParameters()
or SectionTransaction.getDeclaredParameters()
returned the section's parameters prior to the transaction rather than what the section's parameters would be after completion of the transaction. This issue has now been fixed so that both getParameters()
and getDeclaredParameters()
reflect the changes made in the transaction.
In previous versions, invoking Article.getAuthors() inside a transaction filter returned the authors present in the database prior to the transaction, rather than the authors that would be present in the database after completion of the transaction. This made it impossible for a transaction filter to determine which authors were added or removed by a transaction. This problem has now been fixed.
Improved usability
api
Low
Issue VF-3774
In previous versions, adding a content item to the same section twice using ArticleTransaction.addToSection
would fail due to a database constraint.
This problem has now been fixed. The addToSection
method now checks first, and simply logs a warning if the content item has already been added to the section.
Improved reliability
api
Low
Issue VF-5407
In previous versions of Content Studio, the content displayed in an editor was only refreshed once a minute. This meant that two users working simultaneously on the same content item would not see each other's changes immediately. This problem has now been fixed.
Improved reliability
web-service
Low
Issue VF-5010
In previous versions of Content Studio, home section icon and state icons in content item section lists were not always displayed correctly if more than one content item was open.
This issue has now been fixed.
Correct behavior
Content Studio
Low
Issue VF-4921
In previous versions of the Content Engine, the ExternalContentManager
component did not make proper use of its defaultTimeout
property.
This problem has now been fixed. The ExternalContentManager
component will now use its defaultTimeout
property if it is larger than other applicable timeouts (the supplied timeout or refresh timeout).
It is therefore now possible for users of the ExternalContentManager
component (such as the util:includeExtContent
tag) to make use of the default timeout value.
Correct behavior
presentation layer
Low
Issue VF-5483
In previous versions of the Content Engine, API event were occasionally not sent due to access control exceptions. This is no longer the case.
Improved reliability.
Content Engine
Low
Issue VF-4899
In previous versions of Content Studio, the Find/replace (Ctrl'+Alt+F) function dialog opened with the focus in the Search field. Now, it opens with the focus in the Replace field.
Improved usability
Content Studio
Low
Issue VF-1582
In previous versions, invoking Article.getAuthors()
inside a transaction filter returned the authors present in the database prior to the transaction, rather than the authors that would be present in the database after completion of the transaction. This made it impossible for a transaction filter to determine which authors were added or removed by a transaction. This problem has now been fixed.
The same problem occurred when modifying users with Article.addRoleKeeper()
or Article.removeRoleKeeper()
. This problem has also been fixed.
Improved usability
api
Low
You can upgrade to release 5.7.0.149872 from release 5.6.0.139045 or later. You can upgrade in one of two different ways:
Single step upgrade: A straightforward upgrade of your entire installation in one step.
Phased upgrade: A more secure method of upgrading that minimizes the risk of service disruptions.
You can, for example:
Upgrade a single presentation server in read-only mode and test that your templates still work.
Upgrade the remaining presentation servers.
Upgrade your editorial servers.
Finally, upgrade your database.
At any stage in this process, you can revert your changes if problems arise. Be aware, however, that the database upgrade phase can only be rolled back in cases where SQL rollback scripts are supplied. In general, Escenic only supplies rollback scripts for the preceding one or two versions.
Note that you will not have full access to all the new functionality in release 5.7.0.149872 until you complete the process by upgrading your database.
Download the 5.7.0.149872 distribution to your assembly host and extract it from the ZIP file.
Download the latest version of the assembly tool and extract it from the ZIP file.
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
If you are upgrading from a release prior to 5.6.4.148892, check the Upgrade Instructions section in the Release Notes of all releases between your release and 5.6.4.148892, and carry out any "additional upgrade tasks" listed in them.
If you have any custom Java code that depends on Escenic libraries, recompile it against version 5.7.
Reassemble the Content Engine using the ece
script by entering the following command:
ece assemble
Stop your application server(s).
Redeploy the EAR file.
If you are upgrading from a release prior to 5.6.4.148892, check the Upgrade Instructions section in the Release Notes of all releases between your release and 5.6.4.148892, and carry out any post-deployment tasks listed in them except for regenerating Solr indexes.
Run the database upgrade scripts supplied for your database. If you are upgrading from a release prior to 5.6.4.148892, then you need to run any upgrade scripts for intervening releases before you run the scripts for release 5.7. You will find the scripts in the following folders:
engine-5.7.0.148571/contrib/database/sql/MySQL/upgrade/to-5.n.n
engine-5.7.0.148571/contrib/database/sql/Oracle/upgrade/to-5.n.n
The script folders may contain both upgrade scripts and rollback scripts, in which case you should only run the upgrade scripts (the rollback scripts reverse the actions of the upgrade scripts should you need to revert to the old version).
Check the list of Additional upgrade tasks and carry out any that are marked as phase 1 tasks and that you think are necessary for your site.
Start your application servers again.
Update your Solr index configurations by copying the following files from the Content Engine distribution to all your Solr instances:
engine/solr/conf/schema.xml
engine/solr/conf/solrconfig.xml
engine/solr/conf/xslt/solr_atom.xsl
(If you have never modified the delivered index configuration in previous versions, then you can just copy the new versions of these files over the old ones. If you have modified the delivered configuration, then you will need to manually merge the new versions of these files with your existing versions.)
Regenerate all Solr indexes. To regenerate the default Solr
index used by Content Studio, open a browser, go to your-site/indexer-webapp/admin/
and click on the Reindex... link.
Note that reindexing clears the old index and then creates a new one, which may take a long time (possibly hours). During this period, searches executed in Content Studio may therefore return incomplete results.
Any other indexes you may have created must be regenerated in the same way using the indexer web applications you have created for them.
Check the list of Additional upgrade tasks again, and this time carry out any that are marked as phase 2 tasks and that you think are necessary for your site.
Download the 5.7.0.149872 distribution to your assembly host and extract it from the ZIP file.
Download the latest version of the assembly tool and extract it from the ZIP file.
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
If you are upgrading from a release prior to 5.6.4.148892, check the Upgrade Instructions section in the Release Notes of all releases between your release and 5.6.4.148892, and carry out any "additional upgrade tasks" listed in them.
If you have any custom Java code that depends on Escenic libraries, recompile it against version 5.7.
Reassemble the Content Engine using the ece
script by entering the following command:
ece assemble
Stop one presentation server.
Make the server you have stopped read-only (see http://docs.escenic.com/ece-server-admin-guide/5.7/read_only_mode.html for instructions on how to do this).
Redeploy the EAR file on the presentation server you stopped.
Start the stopped application server again.
Verify that the upgraded server is producing acceptable output and that the upgrade has not broken any of your templates. If there are problems you can stop the server and revert it to 5.6.4.148892.
If you have additional presentation servers you can now upgrade them as well by repeating steps 7 - 11. You can choose to skip step 8, so they are not read-only, or carry out step 8, in which case you will need to convert them back to read/write mode later.
Repeat steps 7 to 11 (omitting step 8) for your editorial servers.
Verify that everything is still working OK. If not, you can revert the servers to 5.6.4.148892.
If you have any servers that are still running in read-only mode, stop them, revert them to read-write mode and start them again.
You are now running version 5.7 against a version 5.6.4.148892 database. You can run in this mode without problems, but you will not be able to use any new 5.7 functionality that depends on the database upgrade. When you are ready to upgrade the database, continue with the remaining steps.
Stop your servers.
If you are upgrading from a release prior to 5.6.4.148892, check the Upgrade Instructions section in the Release Notes of all releases between your release and 5.6.4.148892, and carry out any post-deployment tasks listed in them (except for regenerating indexes) that are applicable to the server you are upgrading.
Run the database upgrade scripts supplied for your database. If you are upgrading from a release prior to 5.6.4.148892, then you need to run any upgrade scripts for intervening releases before you run the scripts for release 5.7. You will find the scripts in the following folders:
engine-5.7.0.148571/contrib/database/sql/MySQL/upgrade/to-5.n.n
engine-5.7.0.148571/contrib/database/sql/Oracle/upgrade/to-5.n.n
The script folders may contain both upgrade scripts and rollback scripts, in which case you should only run the upgrade scripts (the rollback scripts reverse the actions of the upgrade scripts should you need to revert to the old version).
Check the list of Additional upgrade tasks and carry out any that are marked as phase 1 tasks and that you think are necessary for your site.
Start your application servers again.
Update your Solr index configurations by copying the following files from the Content Engine distribution to all your Solr instances:
engine/solr/conf/schema.xml
engine/solr/conf/solrconfig.xml
engine/solr/conf/xslt/solr_atom.xsl
(If you have never modified the delivered index configuration in previous versions, then you can just copy the new versions of these files over the old ones. If you have modified the delivered configuration, then you will need to manually merge the new versions of these files with your existing versions.)
Regenerate all Solr indexes. To regenerate the default Solr index
used by Content Studio, open a browser, go to your-site/indexer-webapp/admin/
and click on the Reindex... link.
Note that reindexing clears the old index and then creates a new one, which may take a long time (possibly hours). During this period, searches executed in Content Studio may therefore return incomplete results.
Any other indexes you may have created must be regenerated in the same way using the indexer web applications you have created for them.
Check the list of Additional upgrade tasks again, and this time carry out any that are marked as phase 2 tasks and that you think are necessary for your site.
Verify that you system is functioning properly. Should this not be the case, you can revert the database to an earlier version by:
Stopping your application servers.
Reverting the phase 2 additional tasks you performed in step 24.
Reverting the phase 1 additional tasks you performed in step 20.
Running the database rollback scripts corresponding to the upgrade scripts you ran in step 19, in reverse order. Note that you can only revert to preceding versions for which rollback scripts are supplied.
Reverting any post-deployment tasks from previous releases that you may have performed in step 18.
Starting your application servers again.
Reverting to your previous Solr configuration.
Each of the following changes has an upgrade task you may need to perform. Each task is marked either [Phase 1] or [Phase 2], indicating when it should be performed during the upgrade procedure.