Adobe Experience Manager Assets wordt geleverd met een set standaardworkflows en mediahandlers voor het verwerken van elementen. Een werkschema bepaalt de taken die op de activa moeten worden uitgevoerd, dan delegeert de specifieke taken aan de media managers, bijvoorbeeld duimnagelgeneratie of meta-gegevensextractie.
Een workflow kan zo worden geconfigureerd dat deze automatisch wordt uitgevoerd wanneer een element van een bepaald MIME-type wordt geüpload. De verwerkingsstappen worden gedefinieerd in termen van een reeks mediafuncties Assets. Experience Manager verstrekt sommige ingebouwde managers, en de extra degenen kunnen of douane worden ontwikkeld of worden bepaald door het proces aan een hulpmiddel van de bevellijn te delegeren.
Mediahandlers zijn services in Assets die specifieke handelingen uitvoeren op elementen. Wanneer bijvoorbeeld een MP3-audiobestand wordt geüpload naar Experience Manager, wordt een MP3-handler geactiveerd die de metagegevens extraheert en een miniatuur genereert. Meestal worden media-afhandelingen gebruikt in combinatie met workflows. De meeste gangbare MIME-typen worden ondersteund binnen Experience Manager. U kunt specifieke taken uitvoeren op elementen door workflows uit te breiden/te maken, media-handlers uit te breiden/te maken of media-handlers uit te schakelen/in te schakelen.
Zie de pagina Middelen met ondersteunde indelingen voor een beschrijving van alle indelingen die worden ondersteund door Assets en van de functies die worden ondersteund voor elke indeling.
De volgende media managers zijn beschikbaar binnen Assets en behandelen de gemeenschappelijkste types MIME:
Naam handler | Servicenaam (in de systeemconsole) | Ondersteunde MIME-typen |
---|---|---|
TextHandler | com.day.cq.dam.core.impl.handler.TextHandler | text/plain |
PdfHandler | com.day.cq.dam.handler.standard.pdf.PdfHandler |
|
JpegHandler | com.day.cq.dam.core.impl.handler.JpegHandler | image/jpeg |
Mp3Handler | com.day.cq.dam.handler.standard.mp3.Mp3Handler | audio/mpeg Belangrijk - Wanneer u een MP3-bestand uploadt, wordt het verwerkt met behulp van een externe bibliotheek. De bibliotheek berekent een onnauwkeurige benaderende lengte als MP3 veranderlijke bitrate (VBR) heeft. |
ZipHandler | com.day.cq.dam.handler.standard.zip.ZipHandler |
|
PictHandler | com.day.cq.dam.handler.standard.pict.PictHandler | image/pict |
StandardImageHandler | com.day.cq.dam.core.impl.handler.StandardImageHandler |
|
MSOfficeHandler | com.day.cq.dam.handler.standard.msoffice.MSOfficeHandler | application/msword |
MSPowerPointHandler | com.day.cq.dam.handler.standard.msoffice.MSPowerPointHandler | application/vnd.ms-powerpoint |
OpenOfficeHandler | com.day.cq.dam.handler.standard.ooxml.OpenOfficeHandler |
|
EPubHandler | com.day.cq.dam.handler.standard.epub.EPubHandler | application/epub+zip |
GenericAssetHandler | com.day.cq.dam.core.impl.handler.GenericAssetHandler | fallback als er geen andere handler is gevonden om gegevens uit een element te extraheren |
Alle managers voeren de volgende taken uit:
De actieve media-handlers weergeven:
https://localhost:4502/system/console/components
.com.day.cq.dam.core.impl.store.AssetStoreImpl
.De managers van media zijn de diensten die gewoonlijk in combinatie met werkschema's worden gebruikt.
Experience Manager heeft enkele standaardworkflows om elementen te verwerken. Open de workflowconsole en klik op het tabblad Models om deze weer te geven: de workflowtitels die met Assets beginnen, zijn de assets-specifieke titels.
Bestaande workflows kunnen worden uitgebreid en nieuwe workflows kunnen worden gemaakt om elementen volgens specifieke vereisten te verwerken.
In het volgende voorbeeld ziet u hoe u de workflow AEM Assets Synchronization kunt verbeteren, zodat er subassets worden gegenereerd voor alle assets behalve PDF-documenten.
De media-handlers kunnen worden uitgeschakeld of ingeschakeld via de Apache Felix Web Management Console. Wanneer de media-handler is uitgeschakeld, worden de taken niet uitgevoerd op de elementen.
Een media-handler in- en uitschakelen:
https://<host>:<port>/system/console/components
.com.day.cq.dam.handler.standard.mp3.Mp3Handler
.Voor ondersteuning van een nieuw mediatype of voor het uitvoeren van specifieke taken op een element, is het nodig een nieuwe mediafunctie te maken. In dit gedeelte wordt beschreven hoe u verder kunt gaan.
De beste manier om een implementatie te beginnen is van een verstrekte abstracte implementatie te erven die de meeste dingen behandelt en redelijk standaardgedrag verstrekt: de klasse com.day.cq.dam.core.AbstractAssetHandler
.
Deze klasse verstrekt reeds een abstracte de dienstbeschrijver. Dus als u overerft van deze klasse en de maven-sling-plugin gebruikt, zorg ervoor dat u de inherit vlag aan true
plaatst.
Voer de volgende methodes uit:
extractMetadata()
: extraheert alle beschikbare metagegevens.getThumbnailImage()
: Hiermee maakt u een miniatuurafbeelding van het doorgegeven element.getMimeTypes()
: retourneert de MIME-typen van het element.Hier volgt een voorbeeldsjabloon:
package my.own.stuff; /** * @scr.component inherit="true" * @scr.service */ public class MyMediaHandler extends com.day.cq.dam.core.AbstractAssetHandler { // implement the relevant parts }
De interface en de klassen omvatten:
com.day.cq.dam.api.handler.AssetHandler
interface: Deze interface beschrijft de dienst die steun voor specifieke types MIME toevoegt. Als u een nieuw MIME-type wilt toevoegen, moet u deze interface implementeren. De interface bevat methoden voor het importeren en exporteren van de specifieke documenten, voor het maken van miniaturen en het uitnemen van metagegevens.com.day.cq.dam.core.AbstractAssetHandler
klasse: Deze klasse fungeert als basis voor alle andere implementaties van elementenhandlers en biedt veelgebruikte functionaliteit.com.day.cq.dam.core.AbstractSubAssetHandler
-klasse:
De volgende methoden moeten worden toegepast:
extractMetadata()
: met deze methode worden alle beschikbare metagegevens geëxtraheerd.getThumbnailImage()
: met deze methode maakt u een miniatuurafbeelding van het doorgegeven element.getMimeTypes()
: Deze methode retourneert het MIME-type(n) van het element.Hier volgt een voorbeeldsjabloon:
pakket my.own.stuff; /** * @scr.component inherit="true"* @scr.service*/ openbare klasse MyMediaHandler breidt com.day.cq.dam.core.AbstractAssetHandler
De interface en de klassen omvatten:
com.day.cq.dam.api.handler.AssetHandler
interface: Deze interface beschrijft de dienst die steun voor specifieke types MIME toevoegt. Als u een nieuw MIME-type wilt toevoegen, moet u deze interface implementeren. De interface bevat methoden voor het importeren en exporteren van de specifieke documenten, voor het maken van miniaturen en het uitnemen van metagegevens.com.day.cq.dam.core.AbstractAssetHandler
klasse: Deze klasse fungeert als basis voor alle andere implementaties van elementenhandlers en biedt veelgebruikte functionaliteit.com.day.cq.dam.core.AbstractSubAssetHandler
klasse: Deze klasse fungeert als basis voor alle andere implementaties van elementenhandlers en biedt veelgebruikte functionaliteit plus veelgebruikte functionaliteit voor het extraheren van subelementen.In deze sectie maakt u een specifieke teksthandler die miniaturen met een watermerk genereert.
Ga als volgt te werk:
Raadpleeg Development Tools om Eclipse te installeren en in te stellen met een Maven-plug-in en voor het instellen van de afhankelijkheden die nodig zijn voor het Maven-project.
Nadat u de volgende procedure hebt uitgevoerd en u een TXT-bestand uploadt naar Experience Manager, worden de metagegevens van het bestand geëxtraheerd en worden twee miniaturen met een watermerk gegenereerd.
Maak in Eclipse myBundle
Maven-project:
Klik in de menubalk op File > New > Other.
Vouw in het dialoogvenster de map Maven uit, selecteer Maven en klik op Next.
Controleer Create een eenvoudig projectvakje en het vakje van de Plaatsen van de Werkruimte van het Gebruik standaard, dan klik Next.
Definieer een Maven-project:
com.day.cq5.myhandler
.Klik op Finish.
Stel de Java-compiler in op versie 1.5:
Klik met de rechtermuisknop op het myBundle
-project en selecteer Properties.
Selecteer Java Compiler en stel de volgende eigenschappen in op 1.5:
Klik op OK. Klik in het dialoogvenster op Yes.
Vervang de code in het pom.xml
dossier met de volgende code:
<project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- ====================================================================== -->
<!-- P A R E N T P R O J E C T D E S C R I P T I O N -->
<!-- ====================================================================== -->
<parent>
<groupId>com.day.cq.dam</groupId>
<artifactId>dam</artifactId>
<version>5.2.14</version>
<relativePath>../parent</relativePath>
</parent>
<!-- ====================================================================== -->
<!-- P R O J E C T D E S C R I P T I O N -->
<!-- ====================================================================== -->
<groupId>com.day.cq5.myhandler</groupId>
<artifactId>myBundle</artifactId>
<name>My CQ5 bundle</name>
<version>0.0.1-SNAPSHOT</version>
<description>This is my CQ5 bundle</description>
<packaging>bundle</packaging>
<!-- ====================================================================== -->
<!-- B U I L D D E F I N I T I O N -->
<!-- ====================================================================== -->
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-scr-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.sling</groupId>
<artifactId>maven-sling-plugin</artifactId>
<configuration>
<slingUrlSuffix>/libs/dam/install/</slingUrlSuffix>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-Category>cq5</Bundle-Category>
<Export-Package> com.day.cq5.myhandler </Export-Package>
</instructions>
</configuration>
</plugin>
</plugins>
</build>
<!-- ====================================================================== -->
<!-- D E P E N D E N C I E S -->
<!-- ====================================================================== -->
<dependencies>
<dependency>
<groupId>com.day.cq.dam</groupId>
<artifactId>cq-dam-api</artifactId>
<version>5.2.10</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.day.cq.dam</groupId>
<artifactId>cq-dam-core</artifactId>
<version>5.2.10</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.day.cq</groupId>
<artifactId>cq-commons</artifactId>
</dependency>
<dependency>
<groupId>javax.jcr</groupId>
<artifactId>jcr</artifactId>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.osgi.compendium</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</dependency>
<dependency>
<groupId>com.day.commons</groupId>
<artifactId>day-commons-gfx</artifactId>
</dependency>
<dependency>
<groupId>com.day.commons</groupId>
<artifactId>day-commons-text</artifactId>
</dependency>
<dependency>
<groupId>com.day.cq.workflow</groupId>
<artifactId>cq-workflow-api</artifactId>
</dependency>
<dependency>
<groupId>com.day.cq.wcm</groupId>
<artifactId>cq-wcm-foundation</artifactId>
<version>5.2.22</version>
</dependency>
</dependencies>
Maak het pakket com.day.cq5.myhandler
dat de Java-klassen onder myBundle/src/main/java
bevat:
src/main/java
, selecteer Nieuw en vervolgens Pakket.com.day.cq5.myhandler
een naam en klik op Voltooien.Maak de Java-klasse MyHandler
:
myBundle/src/main/java
met de rechtermuisknop op het com.day.cq5.myhandler
-pakket. Selecteer New en Class.MyHandler
een naam en klik op Finish. Eclipse maakt en opent het bestand MyHandler.java
.MyHandler.java
de bestaande code door het volgende en sla de wijzigingen op:package com.day.cq5.myhandler;
import java.awt.Color;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import javax.jcr.Node;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
import org.apache.commons.io.IOUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.day.cq.dam.api.metadata.ExtractedMetadata;
import com.day.cq.dam.core.AbstractAssetHandler;
import com.day.image.Font;
import com.day.image.Layer;
import com.day.cq.wcm.foundation.ImageHelper;
/**
* The <code>MyHandler</code> can extract text files
* @scr.component inherit="true" immediate="true" metatype="false"
* @scr.service
*
**/
public class MyHandler extends AbstractAssetHandler {
/** * Logger instance for this class. */
private static final Logger log = LoggerFactory.getLogger(MyHandler.class);
/** * Music icon margin */
private static final int MARGIN = 10;
/** * @see com.day.cq.dam.api.handler.AssetHandler#getMimeTypes() */
public String[] getMimeTypes() {
return new String[] {"text/plain"};
}
public ExtractedMetadata extractMetadata(Node asset) {
ExtractedMetadata extractedMetadata = new ExtractedMetadata();
InputStream data = getInputStream(asset);
try {
// read text data
InputStreamReader reader = new InputStreamReader(data);
char[] buffer = new char[4096];
String text = "";
while (reader.read(buffer) != -1) {
text += new String(buffer);
}
reader.close();
long wordCount = this.wordCount(text);
extractedMetadata.setProperty("text", text);
extractedMetadata.setMetaDataProperty("Word Count",wordCount);
setMimetype(extractedMetadata, asset);
} catch (Throwable t) {
log.error("handling error: " + t.toString(), t);
} finally {
IOUtils.closeQuietly(data);
}
return extractedMetadata; }
// ----------------------< helpers >----------------------------------------
protected BufferedImage getThumbnailImage(Node node) {
ExtractedMetadata metadata = extractMetadata(node);
final String text = (String) metadata.getProperty("text");
// create text layer
final Layer layer = new Layer(500, 600, Color.WHITE);
layer.setPaint(Color.black);
Font font = new Font("Arial", 12);
String displayText = this.getDisplayText(text, 600, 12);
if(displayText!=null && displayText.length() > 0) {
// commons-gfx Font class would throw IllegalArgumentException on empty or null text
layer.drawText(10, 10, 500, 600, displayText, font, Font.ALIGN_LEFT, 0, 0);
}
// create watermark and merge with text layer
Layer watermarkLayer;
try {
final Session session = node.getSession();
watermarkLayer = ImageHelper.createLayer(session, "/content/dam/we-retail/en/products/apparel/gloves/Gloves.jpg");
watermarkLayer.setX(MARGIN);
watermarkLayer.setY(MARGIN);
layer.merge(watermarkLayer);
} catch (RepositoryException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace(); }
layer.crop(new Rectangle(510, 600));
return layer.getImage(); }
// ---------------< private >-----------------------------------------------
/**
* This method cuts lines if the text file is too long..
* * @param text
* * text to check
* * @param height
* * text box height (px)
* * @param fontheight
* * font height (px)
* * @return the text which will fit into the box
*/
private String getDisplayText(String text, int height, int fontheight) {
String trimmedText = text.trim();
int numOfLines = height / fontheight;
String lines[] = trimmedText.split("\n");
if (lines.length <= numOfLines) {
return trimmedText;
} else {
String cuttetText = "";
for (int i = 0; i < numOfLines; i++) {
cuttetText += lines[i] + "\n";
}
return cuttetText;
}
}
/**
* * This method counts the number of words in a string
* * @param text the String whose words would like to be counted
* * @return the number of words in the string
* */
private long wordCount(String text) {
// We need to keep track of the last character, if we have two whitespaces in a row we don't want to double count.
// The starting of the document is always a whitespace.
boolean prevWhiteSpace = true;
boolean currentWhiteSpace = true;
char c; long numwords = 0;
int j = text.length();
int i = 0;
while (i < j) {
c = text.charAt(i++);
if (c == 0) { break; }
currentWhiteSpace = Character.isWhitespace(c);
if (currentWhiteSpace && !prevWhiteSpace) { numwords++; }
prevWhiteSpace = currentWhiteSpace;
}
// If we do not end with a whitespace then we need to add one extra word.
if (!currentWhiteSpace) { numwords++; }
return numwords;
}
}
Compileer de klasse Java en maak de bundel:
myBundle
-project, selecteer Run As en Maven Install.myBundle-0.0.1-SNAPSHOT.jar
(die de gecompileerde klasse bevat) wordt gecreeerd onder myBundle/target
.Maak in de CRX-verkenner een nieuw knooppunt onder /apps/myApp
. Naam = install
, Type = nt:folder
.
Kopieer de bundel myBundle-0.0.1-SNAPSHOT.jar
en bewaar deze onder /apps/myApp/install
(bijvoorbeeld met WebDAV). De nieuwe teksthandler is nu actief in Experience Manager.
Open Apache Felix Web Management Console in uw browser. Selecteer de tab Components en schakel de standaardteksthandler com.day.cq.dam.core.impl.handler.TextHandler
uit.
Experience Manager kunt u elk opdrachtregelprogramma binnen een workflow uitvoeren om elementen (zoals ImageMagick) om te zetten en de nieuwe vertoning aan het element toe te voegen. U hoeft het opdrachtregelprogramma alleen te installeren op de schijf die als host fungeert voor de Experience Manager-server en een processtap toe te voegen en te configureren voor de workflow. Met het aangeroepen proces met de naam CommandLineProcess
kunt u filteren op basis van specifieke MIME-typen en meerdere miniaturen maken op basis van de nieuwe uitvoering.
De volgende conversies kunnen automatisch worden uitgevoerd en opgeslagen binnen Assets:
Op niet-Windows-systemen retourneert het Mpeg-gereedschap een fout tijdens het genereren van uitvoeringen voor een video-element met één aanhalingsteken (') in de bestandsnaam. Als de naam van het videobestand één aanhalingsteken bevat, verwijdert u het bestand voordat u het uploadt naar Experience Manager.
Met het proces CommandLineProcess
worden de volgende bewerkingen uitgevoerd in de volgorde waarin ze worden weergegeven:
In het volgende voorbeeld ziet u hoe u de opdrachtregelprocesstap zo instelt dat telkens wanneer een element met het e-type miMIME GIF of TIFF wordt toegevoegd aan /content/dam
op de Experience Manager-server, een gespiegelde afbeelding van het origineel wordt gemaakt samen met drie extra miniaturen (140x100, 48x48 en 10x25 0).
Gebruik ImageMagick om dit te doen. ImageMagick is een gratis opdrachtregelprogramma waarmee u bitmapafbeeldingen kunt maken, bewerken en samenstellen.
Installeer ImageMagick op de schijf die als host fungeert voor de Experience Manager-server:
ImageMagick installeren: Zie ImageMagick-documentatie.
Stel het gereedschap zo in dat u het op de opdrachtregel kunt omzetten.
Als u wilt controleren of het gereedschap op de juiste wijze is geïnstalleerd, voert u de volgende opdracht convert -h
uit op de opdrachtregel.
Er wordt een Help-scherm weergegeven met alle mogelijke opties van het gereedschap Omzetten.
In sommige versies van Windows kan de opdracht Omzetten niet worden uitgevoerd omdat er een conflict optreedt met het native hulpprogramma voor conversie dat onderdeel is van Windows-installatie. Geef in dit geval het volledige pad op voor de ImageMagick-software die wordt gebruikt om afbeeldingsbestanden om te zetten in miniaturen. Bijvoorbeeld, "C:\Program Files\ImageMagick-6.8.9-Q16\convert.exe" -define jpeg:size=319x319 ${filename} -thumbnail 319x319 cq5dam.thumbnail.319.319.png
.
Als u wilt zien of het gereedschap correct wordt uitgevoerd, voegt u een JPG-afbeelding toe aan de werkmap en voert u de opdracht <image-name>.jpg -flip <image-name>-flipped.jpg
omzetten uit op de opdrachtregel. Er wordt een gespiegelde afbeelding aan de map toegevoegd. Voeg vervolgens de processtap van de opdrachtregel toe aan de DAM Update Asset-workflow.
Ga naar de Workflow console.
Bewerk op het tabblad Models het model DAM Update Asset.
Wijzig Arguments van de stap Web enabled rendition in: mime:image/gif,mime:image/tiff,tn:140:100,tn:48:48,tn:10:250,cmd:convert ${directory}/${filename} -flip ${directory}/${basename}.flipped.jpg
.
Sla de workflow op.
Voeg een element toe aan /content/dam
om de gewijzigde workflow te testen.
myImage.tiff
en kopieer het naar /content/dam
, bijvoorbeeld door WebDAV te gebruiken.https://localhost:4502/libs/wcm/core/content/damadmin.html
.In deze sectie wordt beschreven hoe u Process Arguments van CommandLineProcess instelt.
Scheid de waarden van Process Arguments gebruikend komma en begin het niet met whitespace.
Argument-formaat | Beschrijving |
---|---|
mime:<mime-type> | Optioneel argument. Het proces wordt toegepast als het element hetzelfde MIME-type heeft als het argument. Er kunnen verschillende MIME-typen worden gedefinieerd. |
tn:<width>:<height> | Optioneel argument. Het proces leidt tot een duimnagel met de afmetingen die in het argument worden bepaald. Er kunnen verschillende miniaturen worden gedefinieerd. |
cmd: <command> | Definieert de opdracht die wordt uitgevoerd. De syntaxis hangt van het hulpmiddel van de bevellijn af. Er kan slechts één opdracht worden gedefinieerd. De volgende variabelen kunnen worden gebruikt om de opdracht te maken: ${filename} : naam van het invoerbestand, bijvoorbeeld original.jpg ${file} : de volledige padnaam van het invoerbestand, bijvoorbeeld /tmp/cqdam0816.tmp/original.jpg ${directory} : map van het invoerbestand, bijvoorbeeld /tmp/cqdam0816.tmp ${basename} : naam van het invoerbestand zonder de extensie, bijvoorbeeld origineel ${extension} : extensie van het invoerbestand, bijvoorbeeld JPG. |
Als ImageMagick bijvoorbeeld is geïnstalleerd op de schijf die als host fungeert voor de Experience Manager-server en u een processtap maakt met CommandLineProcess als implementatie en de volgende waarden als Process Arguments:
mime:image/gif,mime:image/tiff,tn:140:100,tn:48:48,tn:10:250,cmd:convert ${directory}/${filename} -flip ${directory}/${basename}.flipped.jpg
Als de workflow vervolgens wordt uitgevoerd, is de stap alleen van toepassing op elementen met image/gif
of mime:image/tiff
als mime-types
, wordt een gespiegelde afbeelding van het origineel gemaakt, wordt deze omgezet in JPG en worden drie miniaturen met de afmetingen gemaakt: 140x100, 48x48 en 10x250.
Gebruik de volgende Process Arguments om de drie standaardminiaturen te maken met ImageMagick:
mime:image/tiff,mime:image/png,mime:image/bmp,mime:image/gif,mime:image/jpeg,cmd:convert ${filename} -define jpeg:size=319x319 -thumbnail "319x319>" -background transparent -gravity center -extent 319x319 -write png:cq5dam.thumbnail.319.319.png -thumbnail "140x100>" -background transparent -gravity center -extent 140x100 -write cq5dam.thumbnail.140.100.png -thumbnail "48x48>" -background transparent -gravity center -extent 48x48 cq5dam.thumbnail.48.48.png
Gebruik de volgende Process Arguments om de voor het web geschikte vertoning te maken met ImageMagick:
mime:image/tiff,mime:image/png,mime:image/bmp,mime:image/gif,mime:image/jpeg,cmd:convert ${filename} -define jpeg:size=1280x1280 -thumbnail "1280x1280>" cq5dam.web.1280.1280.jpeg
De stap CommandLineProcess is alleen van toepassing op elementen (knooppunten van het type dam:Asset
) of afstammingen van een element.