Upgrading to the Rendition Service

Showing results for 
Search instead for 
Did you mean: 

Upgrading to the Rendition Service

0 0 1,514

Obsolete Pages{{Obsolete}}

The official documentation is at: http://docs.alfresco.com

This page describes features currently under development for Alfresco 3.3 and as such is subject to change.


The DM Rendition Service was added in Alfresco 3.3. It provides support for the generation of renditions based on the content and/or metadata (properties) of nodes in the Alfresco Repository.

Thumbnails are now a special case of renditions and the Thumbnail Service has been refactored to delegate to the Rendition Service for most of its implementation. The public API for the Thumbnail Service is not changed in Alfresco 3.3. However given the changes in its implementation an upgrade is necessary in order to migrate thumbnail data from the Alfresco 3.2 thumbnail model to the Alfresco 3.3. rendition model.

Changes to the content models

In 3.2 the content model (see Repository/config/alfresco/model/contentModel.xml) contained the cm:thumbnail type and the cm:thumbnailed aspect. The former has been moved from the content model to the rendition model (see Repository/config/alfresco/model/rendtionModel.xml) although it retains its cm: namespace. The latter has been deprecated and is replaced by the rn:renditioned aspect. cm:thumbnailed is retained for backwards compatibility reasons and now is a child of rn:renditioned.

The Rendition Service does not mandate that a rendition node have a particular content type, preferring instead to use rn:rendition and its child aspects to identify rendition nodes. However the Thumbnail Service still creates thumbnails that are of content type cm:thumbnail. This is for backwards compatibility reasons.

Patches for legacy 3.2 thumbnail data

Two upgrade patches are provided in order to fully migrate legacy 3.2 thumbnail data to the 3.3 rendition model. The first patch is mandatory and is executed on initial 3.3 startup in the normal way. A second patch is provided as an optional webscript. These patches are described below.

Mandatory upgrade patch (Part 1)

The cm:thumbnailed aspect no longer defines the child-association cm:thumbnails, which modelled the relationship between a source node and its thumbnail nodes. In fact this association has been removed in 3.3. It is therefore mandatory to replace any and all cm:thumbnails child-associations with their Alfresco 3.3 equivalent which is the rn:rendition child-association.

This is done automatically on initial 3.3 startup by the patch.thumbnailsAssocQName patch defined in patch-services-context.xml. The patch simply updates the QName table in the database renaming the association type from {http://www.alfresco.org/model/content/1.0}thumbnails to {http://www.alfresco.org/model/rendition/1.0}rendition. No patch-specific reindexing is necessary.

Upon successful startup of the Alfresco 3.3 repository server, all thumbnail nodes will have had their parent association to their source node renamed by the patch and should continue to work as before - from the point of view of the Thumbnail Service.

Non-mandatory upgrade patch (Part 2)

Although patched thumbnails should continue to work as before in Alfresco 3.3, these thumbnail nodes will not have one of the rn:rendition aspects applied to them. Therefore they will not be considered to be 'renditions' by the system. One consequence of this is that they will not be returned in searches for renditions. This may not be important for some users.

If it is necessary that all patched thumbnails actually be renditions, then there is a webscript that can be run that will identify the thumbnail nodes and apply the correct aspect to them. As this webscript uses higher-level services than the more direct QName patch above and as it must search the database and update an arbitrary number of nodes, this second patch will of course take longer to execute for large datasets. The precise timings depend on how many thumbnail nodes must be updated by the webscript.

The webscript is available at the URL /renditions/patchthumbnailsasrenditions.