Konfigurera och anpassa arbetsflöden id181AI0OJ0RO
Med arbetsflöden kan du automatisera Adobe Experience Manager (AEM)-aktiviteter. Ett arbetsflöde består av en serie steg som körs i en viss ordning. Du kan definiera en distinkt aktivitet som ska köras i varje steg. Du kan till exempel skicka ett e-postmeddelande till alla granskare i en grupp när en ämnesgranskning skapas. Eller skicka ett meddelande till utgivaren när en utdatagenereringsåtgärd har slutförts.
Mer information om arbetsflöden i AEM finns i:
-
Tillämpar och deltar i arbetsflöden: Arbeta med projektarbetsflöden.
Avsnitten i det här avsnittet visar olika anpassningar som du kan göra i de standardarbetsflöden som levereras i AEM Guides.
Anpassa granskningsarbetsflödet id176NE0C00HS
Alla organisationers skribenter arbetar på ett specifikt sätt för att uppfylla sina verksamhetskrav. I vissa organisationer finns det en dedikerad redigerare, medan andra organisationer kan ha ett automatiserat system för redaktionell granskning. I en organisation kan t.ex. ett vanligt arbetsflöde för redigering och publicering omfatta uppgifter som - när en författare har redigerat innehållet går det automatiskt till granskarna och när granskningen är klar går det till utgivaren för att generera det slutliga resultatet. I AEM kan aktiviteter som du gör med ditt innehåll och dina resurser kombineras i form av en process och mappas till ett AEM-arbetsflöde. Mer information om arbetsflöden i AEM finns i Administrera arbetsflöden i AEM-dokumentationen.
Med AEM Guides kan du anpassa standardarbetsflödet för granskning. Du kan använda följande fyra anpassade granskningsrelaterade processer tillsammans med dina andra arbetsflöden för redigering och publicering.
-
Skapa granskning: Den här processen förbereder de metadata som krävs för att skapa en granskningsaktivitet. Den tilldelar till exempel granskarna granskningsbehörighet, ställer in status för de ämnen som ska granskas, ställer in tidslinjer för granskningen med mera. Av de fyra processerna är detta den enda obligatoriska processen som måste ingå i ditt anpassade arbetsflöde. I ditt arbetsflöde kan du välja att inkludera eller exkludera de andra tre processerna.
-
Tilldela granskningsaktivitet: Den här processen skapar granskningsaktiviteten och skickar aktivitetsmeddelandet till initieraren och granskarna.
-
Skicka e-post för granskning: Den här processen skickar e-postmeddelandet till initieraren och granskarna.
-
Schemalägg jobb för att stänga granskning: Den här processen ser till att granskningsprocessen slutförs när tidsgränsen nås.
När du skapar ett anpassat granskningsarbetsflöde är den första uppgiften att ange de metadata som behövs för att skapa granskningsprocessen. Om du vill göra det kan du skapa ett ECMA-skript. Ett exempel på ECMA-skript som tilldelar metadata ges nedan för både ämne och karta.
För ämne
var workflowdata=workItem.getWorkflowData();
workflowdata.getMetaDataMap().put("initiator","admin");
workflowdata.getMetaDataMap().put("operation","AEM_REVIEW");
workflowdata.getMetaDataMap().put("orgTopics","/content/dam/xml-solution/review.xml");
workflowdata.getMetaDataMap().put("payloadJson","{\"base\":\"/content/dam/xml-solution\",\"asset\":[\"/content/dam/xml-solution/review.xml\"],\"referrer\":\""}");
workflowdata.getMetaDataMap().put("deadline","2017-06-27T13:19:00.000+05:30");
workflowdata.getMetaDataMap().put("title","Review through custom workflow");
workflowdata.getMetaDataMap().put("description","Initiate this review process using the AEM workflow");
workflowdata.getMetaDataMap().put("assignee","user-one", "user-two");
workflowdata.getMetaDataMap().put("status","1");
workflowdata.getMetaDataMap().put("projectPath","/content/projects/review");
workflowdata.getMetaDataMap().put("startTime", System.currentTimeMillis());
workflowdata.getMetaDataMap().put("reviewType", "AEM");
workflowdata.getMetaDataMap().put("versionJson", "[{\"path\":\"GUID-ca6ae229-889a-4d98-a1c6-60b08a820bb3.dita\",\"review\":true,\"version\":\"1.0\",\"reviewers\":[\"projects-samplereviewproject-owner\"]}]");
workflowdata.getMetaDataMap().put("isDitamap","false");
workflowdata.getMetaDataMap().put("reviewVersion","3.0");
För karta
var workflowdata = workItem.getWorkflowData();
workflowdata.getMetaDataMap().put("initiator", "admin");
workflowdata.getMetaDataMap().put("operation", "AEM_REVIEW");
workflowdata.getMetaDataMap().put("orgTopics", "GUID-ae42f13c-7201-4453-9a3a-c87675a5868e.dita|GUID-28a6517b-1b62-4d3a-b7dc-0e823225b6a5.dita|GUID-dd699e10-118d-4f1b-bf19-7f1973092227.dita|");
var payloadJson = "{\"referrer\":\"\",\"rootMap\":\"GUID-17feb385-acf3-4113-b838-77b11fd6988d.ditamap\",\"asset\":[\"GUID-17feb385-acf3-4113-b838-77b11fd6988d.ditamap\"],\"base\":\"/content/dam\"}";
workflowdata.getMetaDataMap().put("payloadJson", payloadJson);
workflowdata.getMetaDataMap().put("deadline", "2047-06-27T13:19:00.000+05:30");
workflowdata.getMetaDataMap().put("title", "Review task via workflow with map");
workflowdata.getMetaDataMap().put("description", "Review task via workflow with map Description");
workflowdata.getMetaDataMap().put("assignee", "user-one");
workflowdata.getMetaDataMap().put("status", "1");
workflowdata.getMetaDataMap().put("projectPath", "/content/projects/review_project_via_workflow");
workflowdata.getMetaDataMap().put("startTime", new Date().getTime());
var versionJson = "[{\"path\":\"GUID-ae42f13c-7201-4453-9a3a-c87675a5868e.dita\",\"version\":\"1.0\",\"review\":true,\"reviewers\":[\"starling-regression-user\"]},{\"path\":\"GUID-28a6517b-1b62-4d3a-b7dc-0e823225b6a5.dita\",\"version\":\"1.0\",\"review\":true,\"reviewers\":[\"starling-regression-user\"]},{\"path\":\"GUID-dd699e10-118d-4f1b-bf19-7f1973092227.dita\",\"version\":\"1.0\",\"review\":true,\"reviewers\":[\"starling-regression-user\"]}]";
workflowdata.getMetaDataMap().put("versionJson", versionJson);
workflowdata.getMetaDataMap().put("notifyViaEmail", "true");
workflowdata.getMetaDataMap().put("allowAllReviewers", "false");
workflowdata.getMetaDataMap().put("isDitamap", "true");
workflowdata.getMetaDataMap().put("ditamap", "GUID-17feb385-acf3-4113-b838-77b11fd6988d.ditamap");
var ditamapHierarchy = "[{\"path\":\"GUID-17feb385-acf3-4113-b838-77b11fd6988d.ditamap\",\"items\":[{\"path\":\"GUID-db5787bb-5467-4dc3-b3e5-cfde562ee745.ditamap\",\"items\":[{\"path\":\"GUID-ae42f13c-7201-4453-9a3a-c87675a5868e.dita\",\"items\":[],\"title\":\"\"},{\"path\":\"GUID-28a6517b-1b62-4d3a-b7dc-0e823225b6a5.dita\",\"items\":[],\"title\":\"\"}],\"title\":\"\"},{\"path\":\"GUID-dd699e10-118d-4f1b-bf19-7f1973092227.dita\",\"items\":[],\"title\":\"\"}]}]";
workflowdata.getMetaDataMap().put("ditamapHierarchy", ditamapHierarchy);
workflowdata.getMetaDataMap().put("reviewVersion","3.0");
Du kan skapa dessa skript i noden /etc/workflows/scripts
. I följande tabell beskrivs de egenskaper som tilldelas av båda de ovannämnda ECMA-skripten.
initiator
operation
AEM_REVIEW
.orgTopics
payloadJson
base
: sökväg till den överordnade mappen som innehåller det ämne som skickats för granskning.-
asset
: sökväg till ämnet som skickats för granskning.-
referrer
: lämna det tomt.deadline
yyyy-MM-dd'T'HH:mm:ss.SSSXXX
.title
description
assignee
status
startTime
System.currentTimeMillis()
för att hämta den aktuella systemtiden.projectPath
reviewType
versionJson
isDitamap
ditamapHierarchy
ditamap
allowAllReviewers
notifyViaEmail
reviewVersion
3.0
.Om du vill aktivera de nya funktionerna för granskningsarbetsflöde för författare och granskare kontrollerar du att
reviewVersion
är inställt på 3.0
.När du har skapat skriptet anropar du det innan du anropar processen Skapa granskning i arbetsflödet. Beroende på dina behov kan du sedan anropa de andra granskningsarbetsflödena.
Ta bort granskningsarbetsflöde från rensningskonfigurationen
Om du vill förbättra arbetsflödesmotorns prestanda kan du regelbundet rensa färdiga arbetsflödesinstanser från AEM-databasen. Om du använder AEM standardkonfigurationer rensas alla färdiga arbetsflödesinstanser efter en viss tidsperiod. Detta resulterar även i att alla granskningsarbetsflöden rensas från AEM-databasen.
Du kan förhindra att granskningsarbetsflöden rensas automatiskt genom att ta bort granskningsarbetsflödesmodellen (information) från den automatiska rensningskonfigurationen. Du måste använda Adobe Granite Workflow Renge Configuration för att ta bort arbetsflödesmodellerna för granskning från listan för automatisk rensning.
Kontrollera att du har angett minst ett arbetsflöde som du kan rensa i Adobe Granite Workflow Renge Configuration. Du kan till exempel använda något av följande arbetsflöden som skapats av AEM Guides:
- /etc/workflow/models/publishditamap/jcr:content/model
- /etc/workflow/models/post-dita-project-creation-tasks/ jcr:content/model
Genom att lägga till ett arbetsflöde i Adobe Granite Workflow Renge Configuration kan du vara säker på att AEM bara tömmer de arbetsflöden som finns i konfigurationen. Detta förhindrar att AEM rensar granskningsarbetsflödesinformationen.
Mer information om hur du konfigurerar Adobe Granite Workflow Renge Configuration finns i Administrera arbetsflödesinstanser i AEM-dokumentationen.
Anpassa e-post och AEM-meddelanden
I ett antal av AEM Guides arbetsflöden används e-postmeddelanden. Om du till exempel initierar en granskningsåtgärd skickas ett e-postmeddelande till granskarna. Om du vill vara säker på att e-postmeddelandet skickas måste du aktivera den här funktionen i AEM. Mer information om hur du aktiverar e-postmeddelanden i AEM finns i artikeln Skicka e-post i AEM-dokumentationen.
AEM Guides innehåller en uppsättning e-postmeddelanden och AEM-meddelanden som används i granskningsarbetsflödet och som du kan anpassa. Följ de här stegen för att anpassa de här meddelandena:
-
Använd pakethanteraren för att hämta mappen
/libs/fmdita/mail/review
.note note NOTE Gör inga anpassningar i standardkonfigurationsfilerna tillgängliga i noden libs
. Du måste skapa en övertäckning av nodenlibs
i nodenapps
och endast uppdatera de filer som krävs i nodenapps
. -
Mappen
review
innehåller följande undermappar:aem-notification
CSS
email-notification
En detaljerad beskrivning av dessa undermappar förklaras nedan:
table 0-row-2 1-row-2 2-row-2 3-row-2 Granska undermappar Beskrivning aem-notification
Innehåller olika AEM-meddelandetyper som är tillgängliga för anpassning. closed
content-updated
feedback-addressed
feedback-provided
requested
reviewer-removed
tag-mention
I dessa undermappar finnsprimary.vm
- ochsecondary.vm
-filer som gör att du kan anpassa AEM meddelandetitel och beskrivning.CSS
Innehåller filen email-notification.css
som används för att anpassa formatet för e-postmeddelanden.email-notification
Innehåller olika typer av e-postmeddelanden som är tillgängliga för anpassning. closed
content-updated
feedback-addressed
feedback-provided
requested
reviewer-removed
tag-mention
I dessa undermappar finnsprimary.vm
- ochsecondary.vm
-filer som gör att du kan anpassa meddelandets ämne och brödtext.
Definitionen av varje meddelandetyp beskrivs nedan:
closed
: Utlöses när en granskningsåtgärd stängs.content-updated
: Utlöses när en författare eller initierare uppdaterar innehållet.feedback-addressed
: Utlöses när författaren eller initieraren åtgärdar kommentarerna och begär en omgranskning från granskaren.feedback-provided
utlöses när granskaren markerar uppgiften som slutförd genom att skicka kommentarer på aktivitetsnivå till författaren eller initieraren av granskningsaktiviteten.requested
: Utlöses när en författare eller initierare skapar en granskningsaktivitet.reviewer-removed
: Utlöses när en granskare inte har tilldelats från granskningsaktiviteten.tag-mention
: Utlöses när en användare nämns eller taggas i granskningskommentarer.
När du anpassar ett e-postmeddelande eller ett AEM-meddelande bör du kontrollera att du bara använder följande fördefinierade variabeluppsättning som används i primary.vm
- och secondary.vm
-filer.
projectPath
reviewTitle
projectName
commentator
commentExcerpt
taskLink
authorName
dueDate
reviewerName
user
recipient
Anpassa arbetsflödet för efterhandsproduktion id17A6GI004Y4
AEM Guides ger dig flexibilitet att ange ett arbetsflöde för postutdata. Du kan utföra vissa efterbehandlingsåtgärder på utdata som genereras med AEM Guides. Du kan till exempel använda vissa CQ-taggar på utdata från AEM Site, ange vissa egenskaper för PDF-utdata eller skicka ett e-postmeddelande till en uppsättning användare när utdata har genererats.
Du kan skapa en ny arbetsflödesmodell som du kan använda som arbetsflöde för att skapa utdata. När ett arbetsflöde för generering efter utdata aktiveras, delar arbetsflödet kontextuell information via arbetsflödets metadatamappning, som du kan använda för att utföra bearbetning av genererade utdata. I följande tabell beskrivs den sammanhangsberoende information som delas som metadata:
outputName
generatedPath
outputType
outputTitle
outputHistoryPath
isSuccess
logPath
generatedTime
initiator
Om du vill använda metadata för generering av utdata kan du skapa ett ECMA-skript eller ett OSGi-paket. Ett exempel på ECMA-skript som använder metadata ges nedan:
/etc/workflows/scripts
.var session = workflowSession.getSession(); // Obtain session object to read/write the repository.
var payload = workItem.getWorkflowData().getPayload().toString(); // Get the workflow payload (the ditamap file on which the generation was triggered)
var metadata = workItem.getWorkflowData().getMetaDataMap(); // Get the workflow metadata object
var generatedPath = metadata.get("generatedPath"); // supplied by AEM Guides
var username = metadata.get("initiator"); // supplied by AEM Guides
var successful = metadata.get("isSuccess"); // supplied by AEM Guides
var title = metadata.get("outputTitle"); // supplied by AEM Guides
var subject = "Output Generation Finished";
var message = "Generation of output " + title + " just finished " +
(successful ? "successfully. " : "unsuccessfully. ");
message += "It was triggered by " + username;
if (successful) {
message += "<br/><br/>The path to the generated output is " +
generatedPath;
}
/*
MailerAPI.sendMail("dl-docs-authors", subject, message);
*/
När du har skapat skriptet anropar du det anpassade skriptet i arbetsflödet. Beroende på dina behov kan du sedan anropa de andra arbetsflödesprocesserna. När du har utformat ditt anpassade arbetsflöde anropar du Slutför eftergenerering som det sista steget i arbetsflödesprocessen. Steget Slutför eftergenerering säkerställer att statusen för utdatagenereringsaktiviteten uppdateras till Slutförd när utdatagenereringsprocessen har slutförts. När du har skapat ett anpassat arbetsflöde för postutdata kan du konfigurera det med alla förinställningar för utdatagenerering. Välj önskat arbetsflöde i egenskapen Kör arbetsflöde efter generering för den önskade förinställningen. När du kör en utdatagenereringsuppgift med den konfigurerade förinställningen ändras aktivitetsstatusen (på fliken Utdata) till Efterbearbetning.