You're viewing help content for version:

The following processes perform DAM-related tasks.

AssetSetLastModifiedProcess

This process updates the last modified properties of an asset using the current date and time (for date properties) and the current user (for 'modified by' properties). The properties affected are the standard JCR properties jcr:lastModified and jcr:lastModifiedBy as well as the related Dublin Core properties (prefix dc) in the metadata. Additional properties can be updated by specifying them in the arguments.

Java class: com.day.cq.dam.core.process.AssetSetLastModifiedProcess

Payload: A JCR path. The node at the path location must be either of node type dam:Asset or be in the subtree of a dam:Asset.

Arguments: Optional. If present, specifies addtional properties to update.

args := (lastModifiedArg | lastModifiedByArg)*

lastModifiedArg := 'relativeLastModifiedPath:' <relativeLastModifiedPath>

lastModifiedByArg := 'relativeLastModifiedByPath:' <relativeLastModifiedByPath>

relativeLastModifiedPath := /* Relative path from the payload asset to a JCR property of type DATE */

relativeLastModifiedByPath := /* Relative path from the payload asset to a JCR property of type STRING. */

For example, consider the following argument string:

relativeLastModifiedPath:mydata/mylastmodfied relativeLastModifiedByPath:mydata/mylastmodifiedby

If this argument is used with a payload of an asset at /x/y/myasset then,

  • The DATE property at /x/y/myasset/mydata/mylastmodified will be updated. to the current date and time.
  • The STRING property at /x/y/myasset/mydata/mylastmodifiedby will be updated to the user name of the current user.

This process can be used, for example, to update the asset node when renditions are added.

Timeout: Respected.

CommandLineProcess

This process that calls a command-line program using the payload asset as input. Each output file produced becomes an additional rendition of the payload asset. One or more permitted mimetypes must be specified, restricing the operation to assets of those types. Optionally, thumbnails of the specified sizes can be produced from the payload asset.

Java class: com.day.cq.dam.core.process.CommandLineProcess

Payload: The JCR path of a dam:Asset or a node within the subtree of a dam:Asset.

Arguments:

args := arg [',' arg]*

arg := cmdarg | mimearg | thumbarg

cmdarg := 'cmd:' cmdline /* There must be exactly one cmdarg */

cmdline := /* A command line string that may include the variables 'filename', 'directory' and 'basename' */

mimearg := 'mime:' mimetype /* There must be one or more mimeargs */

mimetype := /* A mimetype name */

thumbarg := 'tn:' width ':' height [':' center] /* There can be zero or more thumbargs */

width := /* Width of the thumbnail; a positive integer */

height := /* Height of the thumbnail; a positive integer */

center := 'true' | 'false' /* A boolean specifying whether to center the image. The default is 'true' */

The payload asset is always written to a temporary directory in preparation for processing by the command line program.

  • The variable directory will always contain the absolute path of this temporary directory.
  • The variable filename will always contain the filename of the temporary file holding the payload asset.
  • The variable basename will always contain the base name of filename. This can be used to specify the file name of the output file.

For example, using the following arguments,

cmd:/bin/convert ${directory}/${filename} ${directory}/${basename}.jpg, mime:application/postscript, tn:140:100,tn:48:48

the process will call /bin/convert, pass it the full path of the asset being processed (temporarily dumped to disk), and create thumbnails of size 140x100 and 48x48 based on the output created. This will only happen for assets having the application/postscript mimetype, others are ignored.

The process arguments can contain multiple mime: and tn: arguments, but only one cmd: argument. The cmd: argument and at least one mime: argument are required.

Timeout: Respected.

See also: Command Line Based Media Handler

CreateSubAssetsProcess

This process creates subassets for the payload asset. For example, makes each single page from PDF asset into a distinct subasset of that PDF.

Java class: com.day.cq.dam.core.process.CreateSubAssetsProcess

Payload:The JCR path of a dam:Asset or a node within the subtree of a dam:Asset.

Arguments: None.

Timeout: Respected.

CreateThumbnailProcess

This process will create one or more thumbnails for the payload asset. The Thumbnail generation is delegated to the appropriate AssetHandler. The thumbnails dimensions are given as the process arguments

Java class: com.day.cq.dam.core.process.CreateThumbnailProcess

Payload: The JCR path of a dam:Asset or a node within the subtree of a dam:Asset.

Arguments:

args := arg [',' arg]*

arg := '[' width ':' height [':' center] ']'

width := /* Width of the thumbnail in pixels */

height := /* Height of the thumbnail in pixels */

center := 'true' | 'false' /* A boolean specifying whether to center the image. The default is 'true' */

Each argument specifies the width and height (in pixels) of the thumbnail, and optionally whether to center the image or not.

If the center flag is false, then the aspect ratio of the original asset is always respected such that the resulting thumbnail will have at most the dimension specified.

If the center flag is true, then the thumbnail image will have exactly the size given by the configuraiton. If the resized image is smaller it will be centred within the thumbnail.

Timeout: Respected.

CreateWebEnabledImageProcess

This process creates a web-enabled representation from the payload asset. The format of the web-enabled image is specified by the arguments passed to the process. The process is memory aware: Image creation is deferred or cancelled if the memory requirements cannot be sattisfied within a fixed number of attempts.

Java class: com.day.cq.dam.core.process.CreateWebEnabledImageProcess

Payload: The JCR path of a dam:Asset or a node within the subtree of a dam:Asset.

Arguments:

args := arg [',' arg]*

arg := 'dimension:' width ':' height |
       'quality:' percent |
       'skip:' skipmimetype |
       'mimetype:' mimetype |
       'keepFormatList:' keeplist

width := /* Width of image in pixels. The default is 1000 */

height := /* Height of image in pixels. The default is 1000 */

percent := /* Quality of the resulting image as percentage of optimal.
              The default is 60 */

skipmimetype := /* Mimetype that should not be processed.
                   The argument list may contain multiple skip entries */

mimetype := /* Mimetype of the resulting image */

keeplist := keep [',' keep]*

keep := /* Mimetype of images that do not need to be converted
           because they are already web-enabled */

For example, the following argument

dimension:400:300, quality:90, skip:application/pdf, skip:image/tiff, mimetype:image/jpg, keepFormatList:image/gif, image/png, image/x-png

Would result in the process converting the payload asset to a 400 by 300 image/jpg of 90% quality unless

  • the payload asset was of type application/pdf or image/tiff, in which case the asset is skipped and no result is produced, or
  • the payload asset is of type image/gif, image/png or image/x-png, in which case the resulting image is simply a scaled copy of the payload image (no type conversion required).

Timeout: Respected.

DeleteAssetProcess

Deletes the asset in the /content/dam subtree when its corresponding asset in /var/dam is deleted.

Java class: com.day.cq.dam.core.process.DeleteAssetProcess

Payload:The JCR path of a dam:Asset or a node within the subtree of a dam:Asset.

Arguments: None.

Timeout: Respected.

DeleteDamAssetProcess

This process acts when it detects the deletion of an asset from below the source root. It checks for a corresponding asset below the destination root and, if it exists, deletes it. Correspondence in this context is based on matching relative paths below the two roots.

Java class: com.day.cq.dam.core.process.DeleteDamAssetProcess

Payload:The JCR path of a dam:Asset or a node within the subtree of a dam:Asset.

Arguments:

args := source ',' dest

source := /* Absolute path of the source root. The path must end with an "/" character */

dest := /* Absolute path of the destination root. The path must end with an "/" character */

For example, the following parameters:

/content/dam/,/var/dam/

will cause the process to weatch for deletes under /content/dam/ and, when one happens, delete the corresponding node under /var/dam/.

Timeout: Respected.

ExtractMetadataProcess

Reads the metadata of the payload asset and and stores it along with the asset (in a node called metadata below the jcr:content node of the dam:Asset).

Java class: com.day.cq.dam.core.process.ExtractMetadataProcess

Payload:The JCR path of a dam:Asset or a node within the subtree of a dam:Asset.

Arguments: None.

Timeout: Respected.

Create Video Storyboard

Creates a storyboard for the workflow payload, which is a video asset. The storyboard consists of a series of JPG images that are created from key frames of the video. You specify the number and size of images to create. The images are equal-spaced in the video timeline, starting at the time that you specify. Optionally, you can use specific key frames.

The storyboard images are stored below the asset node in the repository. A film strip of the merged key frames are also stored as a rendition of the video asset.

The asset must have one of the following mime types:

  • video/mov
  • video/m4v
  • video/avi
  • video/flv

Java class: com.day.cq.dam.video.FFMpegStoryBoardProcess 

Payload: The JCR path to a supported video asset.

Arguments:

  • Frame Count: The number of storyboard image frames to create.
  • Start: The position in the timeline of the first frame to use as a storyboard frame, in seconds.
  • Maximum Width: The maximum width of the storyboard frames, in pixels. The aspect ratio of the video frame is preserved.
  • Maximum Height: The maximum height of the storyboard frames, in pixels. The aspect ratio of the video frame is preserved.
  • Upscale: Select this option to increase the size of the video frame if either the height or width is smaller than the  value of the Maximum Height or Maximum Width properties, repsectively.
  • Frames: (Optional) Use this property to specify the specific video frames to use for the storyboard. Add an item for each frame to include in the format hh:mm:ss, or in seconds. If specified, the value of this property overrides the Frame Count and Start properties.

Timeout: Respected

Create Video Thumbnails

Creates thumbnail images from a key frame of a video asset. The thumbnails are PNG files, stored as renditions of the asset. Use the step properties to specify the keyframe to use, and the configuration of one or more thumbnail images to create from the keyframe. 

The asset must have one of the following mime types:

  • video/mov
  • video/m4v
  • video/avi
  • video/flv

Java Class: com.day.cq.dam.video.FFMpegThumbnailProcess

Payload: The JCR path to a supported video asset.

Arguments:

  • Start: The position in the timeline of the first key frame to extract, in seconds.
  • Count: The number of images to extract from the keyframes.
  • Index: The index number (0-based) that identifies the extracted keyframe image to use to create the thumbnails. If the value of Index is greater than the number of extracted images, the last image is used.
  • Index Thumbnails: Configures the thumbnail renditions. Add an item to configure each rendition of the index thumbnail to generate. Specify the thumbnail width, height, and how to center the image. Use the format width:height:center.
    • width: The width of the image, in pixels.
    • height: The height of the image, in pixels.
    • center: If the source image is smaller than the width or height, specify true to use a border to frame the original image. Specify false to scale the source image to the sepcified width and height.

      The rendition name is prefixed with cq5dam, followed by the width and height, followed by margin if center is true, followed by the file name extension. For example, the name of the rendition for 20:20:true is cq5dam.20.20.margin.png.  The name of the rendition for 20:20:false is cq5dam:20:20:png.

Timeout: Respected

GateKeeperProcess

This process is used internally.

Java class: com.day.cq.dam.core.process.GateKeeperProcess

Payload:The JCR path of a dam:Asset or a node within the subtree of a dam:Asset.

Arguments: None.

Timeout: Respected.

LightboxUpdateAssetProcess

Sets the lightbox entry to a rendition of the payload asset.

Java class:

com.day.cq.dam.core.impl.lightbox.LightboxUpdateAssetProcess.java

Payload: The JCR path of a dam:Asset or a node within the subtree of a dam:Asset.

Arguments: None.

Timeout: Respected.

Resize Image

This process resizes the payload asset according to the specified geometry. The result is added as a rendition. The new rendition's name is built according the following rule:

It will be prefixed with cq5dam.resized.  If a rendition name argument is given, this will be appended, if not then the image dimensions will be appended. Finally, the extension png is appended. For example:

  • cq5dam.resized.myrendition.png
  • cq5dam.resized.400x300.png

Java class: com.day.cq.dam.handler.impl.process.ResizeImageProcess

Payload: A JCR path to a node of type nt:file.

Arguments:

args := size [',' name]
/* The size parameter is required. The name parameter is optional */

size := numpixels | dimensions

numpixels := number '@'
/* The size of the rendition in terms of the total number of pixels */

dimensions := reldim | absdim

reldim := width '%' 'x' height '%'
/* The size of the rendition as a percentage of the original image in both width and height */

absdim := width 'x' height op
/* Specifies the size of the rendition in width and height in pixels with 'op' indicating how to imterpret those dimensions */

op := shrink | grow | minimal | force

shrink := '<'
/* Resizes the original image so that it has at most the the dimensions specified. Only downscales if the original image is larger than the given dimensions. Keeps the aspect ratio. */

grow := '>'
/* Resizes the original image so that it has at most the the dimensions specified. Only upscales if the original image is smaller than the given dimensions. Keeps the aspect ratio. */

minimal := '^'
/* Resizes the original image so that it has at least the the dimension specified. Keeps the aspect ratio */

force := '!'
/* Resizes the original image so that it has the exact dimensions specified */

name := /* Name that the created rendition should be appended with. If missing, Defaults to the the dimenisions specified with the argument 'size' */

width := /* a positive integer */

height := /* a positive integer */

For example, the following parameters will result in a rendition exactly 300 by 300 pixels with a name appended with the string "myrendition":

300x300!,myrendition

Resize Image To Area

This process resizes the payload asset to the specified area in pixels. The aspect ratio of the payload asset does not change. 

The result is added to the repository as a rendition. The name of the new rendition is built according the following rule:

The name is prefixed with cq5dam.resized.  If a rendition name property is specified, the value is appended, otherwise the value of the Area property is appended. The extension for the asset's mime type is appended. For example:

  • cq5dam.resized.myrendition.png
  • cq5dam.resized.120000.png

Java class: com.day.cq.dam.handler.impl.process.ResizeImageProcess

Payload: A JCR path to a node of type nt:file.

Arguments:

  • Rendition Name: The text to append to the rendition name.
  • Area: The area of the resized image, in pixels.

Scene7

Uploads the workflow payload to Adobe Scene7. The step requires a valid Scene7 account configuration. (See Configuring Scene7 integration).  

At runtime, this step does not attempt to upload to Scene7 and logs a warning if the Cloud Services Scene7 account configuration cannot be found, or if any of the account properties are not configured. The step logs an error message if an error occurs during the upload.

ECMAScript: /etc/workflow/scripts/uploadScene7Asset.ecma 

Payload: JCR path

Arguments: 

Configuration: The name of a Cloud Services configuration for Scene7. 

Timeout: Ignored

SyncAssetProcess

Copies an asset from /var/dam to the corresponding position in /content/dam. This process either creates a new asset or replaces the original rendition of an existing asset.

Java class: com.day.cq.dam.core.process.SyncAssetProcess

Payload:The JCR path of a dam:Asset.

Arguments: None.

Timeout: Respected.

SyncContentProcess

Writes modifications done to the subtree at var/dam into content/dam.

Java class: com.day.cq.dam.core.process.SyncContentProcess

Payload: The JCR path of an nt:folder.

Arguments:

args := 'mode:' mode [, 'wfModelId:' id]

mode := 'cleanup' | 'sync' 

id := /* Absolute path to a workflow model */

The mode cleanup removes the nodes in /content/dam subtree that have no counterpart in the /var/dam subtree.

The mode sync starts, for each new node N of type nt:file in var/dam, a workflow of the model specified by the wfModelId argument and N's path as payload.

For example:

mode:sync,wfModelId:/etc/workflow/models/syncmodel

will start a workflow of type syncmodel for each new nt:file in /var/dam.

Timeout: Respected.

SyncVarProcess

Writes modifications done to the subtree at content/dam into var/dam. The process is only executed if started with a mode argument, the payload exists and is currently not involved in a workflow

Java class: com.day.cq.dam.core.process.SyncVarProcess

Payload: The JCR path of an nt:folder.

Arguments:

args := 'mode:' mode

mode := 'cleanup' | 'sync' 

The mode cleanup removes the nodes in /var/dam subtree that have no counterpart in the /content/dam subtree.

The mode sync copies each new node in content/dam to the same relative position in /var/dam

Timeout: Respected.

Transcode Video

Transcodes a video asset according to one or more DAM video profiles. The asset must have one of the following mime types:

  • video/mov
  • video/m4v
  • video/avi
  • video/flv

The transcoded videos are stored as renditions of the video asset.

To see the available video profiles or to create profiles, go to the Tools/DAM/Video Profiles folder on the Tools page. (http://localhost:4502/miscadmin#/etc/dam/video)

Java Class: com.day.cq.dam.video.FFMpegTranscodeProcess

Payload: The JCR path to a supported video asset.

Arguments: 

  • Video Profiles: Add an item and select the video profile to use. A transcoded rendition is created for each video profile that is specified.

Timeout: Respected.

Test&Target Offer

Publishes a Test&Target offer that is created in AEM to the Adobe Target server. The workflow payload is the Test&Target offer. The step requires a valid Adobe Target account configuration. (See Creating a Target Configuration).  

At runtime, this step does not attempt to publish the offer and logs a warning if the Cloud Services Target account configuration cannot be found, or if any of the account properties are not configured. The step logs an error message if an error occurs during publishing.

ECMAScript: /etc/workflow/scripts/publishOfferTestandTarget.ecma  

Payload: JCR path

Arguments: 

Configuration: The name of a Cloud Services configuration for Adobe Target. 

Timeout: Ignored

Unarchiver

Extracts ZIP files that are stored in the repository. Archived contents can replace previously unarchived files, or stored in a new folder. You can also limit the number of files per folder, the total number of folders, and the total amount of data that is unarchived.

Java class: com.day.cq.dam.core.process.UnarchiverProcess

Payload: An asset in the repository that is a file with the .zip extension, and the application/zip mime type.

Arguments:

  • Disable Extraction: Select this option to prevent the unarchiving of the payload. This option is not selected by default.
  • Remove Original: Select this option to delete the ZIP file from the repository after unarchiving. This option os not selected by default.
  • Update Mode: The unarchiving behavior for preserving existing files and conserving storage space. Select one of the following options:
  • Replace the existing folder with the contents of the archive: (Default) The folder in the repository is removed, and all of the archive contents are extracted. This option conserves the most space in the data store.
  • Update the existing folder only replacing files contained in: Archive contents are extracted only if they differ from existing assets (SHA-1 digest comparison), or do not already exist in the repository. 
  • Create a new numbered folder to extract the archive to: A new folder is created where the files are extracted. This option preserves all previously-extracted files.
  • File Number Limit: The maximum number of files that can be extracted from an archive. If the archive contains a greater number of files, an error is thrown and no files are extracted. The default value is 10000. 
  • Per Directory File Number Limit: The maximum number of files that a folder in the archive can contain. If any folder contains a greater number of files, an error is thrown and no files are extracted. The default value is 100.  
  • Size Limit: The maximum number of bytes of uncompressed files that an archive can contain. If the archive uncompressed contents exceed this limit, an error is thrown and no files are extracted. The default value is 104857600 (100 Mb). 
  • Save Threshold: The number of files to extract and temporarily store in internal server memory before saving to the repository. Decrease this value if out of memory errors occur during unarchiving. The default value is 1024. 

Timeout: Respected

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Twitter™ and Facebook posts are not covered under the terms of Creative Commons.

Legal Notices   |   Online Privacy Policy