The Base Rendering Engine was introduced in Alfresco 3.3 as an abstract parent bean for all rendering engines. It has a spring bean id of 'baseRenderingAction' which is defined in rendition-services-context.xml along with the other rendering engine beans. The implementation (partially abstract) of this bean is provided by org.alfresco.repo.rendition.executer.AbstractRenderingEngine which serves as an abstract base class for the implementations of the other rendering engines.
The base rendering engine defines a number of parameters which are common to all rendering engines. These are defined in org.alfresco.service.cmr.rendition.RenditionService or in org.alfresco.repo.rendition.executer.AbstractRenderingEngine.
PARAM_DESTINATION_NODE: (NodeRef) this optional parameter specifies an existing NodeRef to use as the rendition node. Properties on this node (including the content property cm:content) will be updated as required but the location and name of the node will not change. This parameter takes precedence over PARAM_DESTINATION_PATH_TEMPLATE.
PARAM_DESTINATION_PATH_TEMPLATE: (String) this optional parameter indicates where the rendition will be created. The parameter may specify either the actual file path to the rendition or it may specify a Freemarker template which can be resolved to a file path. In either case the path is relative to the root node of the store in which the source node exists. If the parameter PARAM_DESTINATION_NODE has been set then this parameter will be ignored.
PARAM_RENDITION_NODETYPE: (QName) this optional parameter indicates what the node type of the created rendition will be. If no type is specified then this defaults to cm:content.
PARAM_ORPHAN_EXISTING_RENDITION: (boolean) this optional parameter determines whether an existing rendition is moved or orphaned. If the source node already has a rendition for the current rendering engine and this parameter is false the old rendition will be moved to the new destination location and updated appropriately. If this parameter is set to true then the old rendition will be left in its current location and the old rendition association from the source node to the old rendition will be deleted.
PARAM_PLACEHOLDER_RESOURCE_PATH: (String) this optional parameter specifies the location of a classpath resource which can be used as a placeholder while a rendition is being generated. For example, this might be a simple icon to indicate a rendition is not yet available. This is intended to be used in conjunction with asynchronous generation of renditions.
PARAM_SOURCE_CONTENT_PROPERTY: (QName) this optional parameter specifies which property the Rendering Engine uses to read content from the source node in order to create a rendition. By default this property will be cm:content.
PARAM_TARGET_CONTENT_PROPERTY: (QName) this optional parameter specifies which property the Rendering Engine uses to write content to the rendition node. By default the property used is cm:content.
PARAM_UPDATE_RENDITIONS_ON_ANY_PROPERTY_CHANGE: (boolean) this optional flag property specifies whether a rendition should be updated automatically if the source node changes. If set totrue then the rendition will be re-rendered any time any property changes occur on the source node. This parameter defaults to false.
PARAM_RUN_AS: (String) this optional parameter specifies what user permissions are used when creating a rendition. By default the system user is used.
PARAM_ENCODING: (String) this optional paramter specifies the encoding used to create the rendition content. The derfault encoding is UTF-8.
PARAM_MIME_TYPE: (String) this optional parameter specifies the mime type of the rendition content. This defaults to the mime type of the source node content. Mime-type is not a common parameter on all Rendering Actions, but it is common to many.