Adobe Experience Manager Assets biedt een set standaardworkflows en mediahandlers voor het verwerken van elementen. Een workflow definieert een typische middelenbeheer- en verwerkingstaak en delegeert de specifieke taken aan de mediafunctionarissen, bijvoorbeeld het genereren van miniaturen of het uitnemen van metagegevens.
Er kan een workflow worden gedefinieerd die automatisch wordt uitgevoerd wanneer een element van een bepaald type of een bepaalde indeling naar de server wordt geüpload. De verwerkingsstappen worden gedefinieerd als een reeks van Experience ManagerAssets-media-handlers. Adobe Experience Manager biedt enkele ingebouwde handlers, en meer kunnen aangepast zijn ontwikkeld of worden gedefinieerd door het proces te delegeren aan een opdrachtregelprogramma.
Mediahandlers zijn services binnen Experience Manager Assets die specifieke handelingen uitvoeren op elementen. Wanneer bijvoorbeeld een MP3-audiobestand naar de Experience Manager wordt geüpload, wordt met een workflow een MP3-handler geactiveerd die de metagegevens extraheert en een miniatuur genereert. Mediahandlers worden gebruikt bij workflows. De meeste gangbare MIME-typen worden ondersteund in Experience Manager. U kunt specifieke taken op elementen uitvoeren door een van de volgende handelingen uit te voeren
Zie Ondersteunde indelingen voor elementen pagina voor een beschrijving van alle indelingen die worden ondersteund door Experience Manager Assets en functies die worden ondersteund voor elke indeling.
De volgende media managers zijn beschikbaar binnen de Elementen van de Experience Manager 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:
Het is mogelijk om de actieve media managers te bekijken:
http://localhost:4502/system/console/components
.com.day.cq.dam.core.impl.store.AssetStoreImpl
.De managers van media zijn de diensten die 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 beginnen met Experience Manager Assets 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 wordt getoond hoe u de AEM Assets Synchronization-workflow kunt verbeteren, zodat subelementen worden gegenereerd voor alle elementen 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 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 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 de MIME-typen 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 mime types toevoegt. Als u een 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 gaat u een specifieke teksthandler maken 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 een tekstbestand in de Experience Manager laadt, worden de metagegevens van het bestand geëxtraheerd en worden twee miniaturen met een watermerk gegenereerd.
In Eclipse, creeer myBundle
Geweven project:
Klik in de menubalk op File > New > Other.
Vouw in het dialoogvenster de map Geweven uit, selecteer Geweven project en klik op Next.
Schakel de selectievakjes Create a simple project en Use default Workspace locations in en klik op Next.
Definieer het Maven-project met de volgende waarden:
Klik op Finish.
Stel de Java™ Compiler in op versie 1.5:
Klik met de rechtermuisknop op het myBundle
-project en selecteer Eigenschappen.
Selecteer Java™ Compiler en stel de volgende eigenschappen in op 1.5:
Klik op OK. Klik in het dialoogvenster op Ja.
Vervang de code in het bestand pom.xml door 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 bevat onder myBundle/src/main/java
:
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 pakket com.day.cq5.myhandler
, selecteer Nieuw en vervolgens Klasse.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/geometrixx/icons/certificate.png");
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 whitespace 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 Java™-klasse en maak de bundel:
myBundle-0.0.1-SNAPSHOT.jar
(die de gecompileerde klasse bevat) wordt gecreeerd onder myBundle/target
.Maak in CRX Explorer een 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 de Apache Felix Web Management Console in uw browser. Selecteer het tabblad Componenten en schakel de standaardteksthandler com.day.cq.dam.core.impl.handler.TextHandler
uit.
Met Experience Manager kunt u elk opdrachtregelprogramma binnen een workflow uitvoeren om elementen (zoals ImageMagick) om te zetten en de nieuwe uitvoering aan het element toe te voegen. Installeer het opdrachtregelprogramma op de schijf die als host fungeert voor de Experience Manager-server en voeg een processtap toe aan de workflow en configureer deze. Het aangeroepen proces, met de naam CommandLineProcess
, filtert volgens specifieke MIME-typen en maakt meerdere miniaturen op basis van de nieuwe uitvoering.
De volgende conversies kunnen automatisch worden uitgevoerd en opgeslagen binnen Experience Manager Assets:
Op niet-Windows-systemen retourneert het FFMpeg-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 dit voordat u het bestand uploadt naar de 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 processtap van de opdrachtregel instelt. Telkens wanneer een element met het MIME-type gif of tiff aan /content/dam
op de server van de Experience Manager wordt toegevoegd, wordt een gespiegelde afbeelding van het origineel gemaakt samen met drie andere miniaturen (140x100, 48x48 en 10x250).
Gebruik ImageMagick om deze processtap uit te voeren. Installeer ImageMagick op de schijf die als host fungeert voor de Experience Manager-server:
Installeer ImageMagick. Zie documentatie ImageMagick voor meer informatie.
Stel het gereedschap zo in dat u convert
op de opdrachtregel kunt uitvoeren.
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® (bijvoorbeeld Windows® SE) kan de opdracht Converteren niet worden uitgevoerd omdat dit een conflict veroorzaakt met het native conversiehulpprogramma dat onderdeel is van de installatie van Windows®. Vermeld in dit geval het volledige pad voor het hulpprogramma ImageMagick dat 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 convert <image-name>.jpg -flip <image-name>-flipped.jpg
uit op de opdrachtregel.
Er wordt een gespiegelde afbeelding aan de map toegevoegd.
Voeg vervolgens de processtap van de opdrachtregel toe aan de workflow DAM Update Asset:
Ga naar de Workflow console.
Bewerk op het tabblad Models het model DAM Update Asset.
Wijzig de instellingen van de stap Web enabled rendition als volgt:
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.http://localhost:4502/libs/wcm/core/content/damadmin.html
.myImage.tiff
en controleer of de gespiegelde afbeelding en de drie miniaturen zijn gemaakt.In deze sectie wordt beschreven hoe u Process Arguments van CommandLineProcess
instelt. Scheid de waarden van Process Arguments met een komma en start geen waarde met een spatie.
Argument-formaat | Beschrijving |
---|---|
mime:<mime-type> | Optioneel argument. Het proces wordt toegepast als het element hetzelfde MIME-type heeft als de argumenten. 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} : volledige padnaam van het invoerbestand, bijvoorbeeld /tmp/cqdam0816.tmp/original.jpg ${directory} : directory 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 waarop de Experience Manager-server wordt gehost en u een processtap maakt met CommandLineProcess als Implementatie en de volgende waarden als Procesargumenten:
mime:image/gif,mime:image/tiff,tn:140:100,tn:48:48,tn:10:250,cmd:convert ${directory}/${filename} -flip ${directory}/${basename}.flipped.jpg
Wanneer de workflow vervolgens wordt uitgevoerd, is de stap alleen van toepassing op elementen die image/gif
of mime:image/tiff
als mime-type hebben. Het maakt een gespiegelde afbeelding van het origineel, zet deze om in .jpg en maakt drie miniaturen met de afmetingen: 140x100, 48x48 en 10x250.
Gebruik het volgende Process Arguments om de drie standaardduimnagels tot stand te brengen gebruikend 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 het volgende Process Arguments om de Web-Toegelaten vertoning tot stand te brengen gebruikend 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.