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:

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.

Egenskap
Typ
Beskrivning
initiator
Sträng
Användar-ID för den användare som initierar granskningsaktiviteten.
operation
Sträng
Ett statiskt värde angett som AEM_REVIEW.
orgTopics
Sträng
Sökväg till de ämnen som delas för granskning. Ange flera ämnen avgränsade med kommatecken.
payloadJson
JSON-objekt
Ange följande värden: - 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
Sträng
Ange tiden i formatet yyyy-MM-dd'T'HH:mm:ss.SSSXXX.
title
Sträng
Ange en rubrik för granskningsaktiviteten.
description
Sträng
Ange en beskrivning för granskningsaktiviteten.
assignee
Sträng
Användar-ID för de användare till vilka du vill skicka ämnet för granskning.
status
Heltal
Ett statiskt värde angett som 1.
startTime
Lång
Använd funktionen System.currentTimeMillis() för att hämta den aktuella systemtiden.
projectPath
Sträng
Sökväg till det granskningsprojekt som granskningsaktiviteten ska tilldelas till, t.ex.: /content/projects/samples_review project.
reviewType
Sträng
Statiskt värde"AEM".
versionJson
JSON-objekt
versionJson är en lista med ämnen som ska behandlas i granskningen där varje ämnesobjekt har följande struktur [ { "path": "/content/dam/1-topic.dita", "version": "1.1", "review": true, "reviewers": ["projects-we_retail-editor"] } ]
isDitamap
Boolean
false/true
ditamapHierarchy
JSON-objekt
Om kartan skickas för granskning bör värdet här vara:[ { "path": "GUID-f0df1513-fe07-473f-9960-477d4df29c87.ditamap", "items": [ { "path": "GUID-99 747e8ab-8cf1-45dd-9e20-d47d482f667d.dita", "title": "", "items": [] } ] } ].
ditamap
Sträng
Ange sökvägen för ändringslistan för granskningsaktiviteten
allowAllReviewers
Boolean
false/true
notifyViaEmail
Boolean
false/true
reviewVersion
Sträng
Anger den aktuella versionen av granskningsarbetsflödet. Standardvärdet är 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:

  1. 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 noden libs i noden apps och endast uppdatera de filer som krävs i noden apps.
  2. 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 finns primary.vm- och secondary.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 finns primary.vm- och secondary.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.

Variabelnamn
Beskrivning
Datatyp
projectPath
Sökväg till projektet som innehåller granskningsaktiviteten
Sträng
reviewTitle
Granskningsuppgiftens namn
Sträng
projectName
Projektets namn
Sträng
commentator
Namnet på den användare som lade till en kommentar
Sträng
commentExcerpt
Kodstycke för kommentaren som lagts till
Sträng
taskLink
Direktlänk till granskningsaktiviteten
URL
authorName
Namnet på författaren som skapade eller uppdaterade granskningsaktiviteten
Sträng
dueDate
Förfallodatum för granskningsaktiviteten
Datum
reviewerName
Namn på granskaren som tilldelats uppgiften
Sträng
user
Användare som deltar i granskningsaktiviteten, till exempel författare, granskare eller till och med administratör.
Sträng
recipient
Specifik användare som tar emot meddelandet
Sträng

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:

Egenskap
Typ
Beskrivning
outputName
Sträng
Namnet på den förinställning som används för att generera utdata.
generatedPath
Sträng
Sökväg i DAM där genererade utdata lagras.
outputType
com.adobe.fmdita.output.OutputType
Typ av förinställning för utdata.
outputTitle
Sträng
Namnet på förinställningen för utdata.
outputHistoryPath
Sträng
Databassökväg för noden history.
isSuccess
Boolean
En flagga som visar slutstatusen för utdatagenereringsprocessen - om den lyckades eller inte.
logPath
Sträng
Sökväg i DAM där loggarna för utdatagenerering sparas.
generatedTime
Lång
Tid då utdatagenereringsprocessen utlöstes.
initiator
Sträng
Användar-ID för användaren som utlöste arbetsflödet för generering av utdata.

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:

NOTE
Du kan skapa skriptet i noden /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.

recommendation-more-help
11125c99-e1a1-4369-b5d7-fb3098b9b178