Vous consultez actuellement l'aide de la version:

AEM propose plusieurs étapes de processus qui peuvent être utilisées pour créer des modèles de workflow. Des étapes de processus personnalisées peuvent également être ajoutées pour les tâches qui ne sont pas couvertes par les étapes intégrées (voir Création de modèles de workflow).

Caractéristiques du processus

Les caractéristiques suivantes sont décrites pour chaque étape du processus.

Classe Java ou chemin d’accès ECMA

Les étapes du processus sont définies soit par une classe Java soit par un ECMAScript.

  • Dans le cas des processus de classe Java, un nom de classe complet est fourni. 
  • Pour les processus ECMAScript, le chemin d’accès au script est fourni.

Charge utile

La charge utile est l’entité sur laquelle opère une instance de workflow. Elle est sélectionnée de manière implicite par le contexte dans lequel une instance de workflow est lancée.

Par exemple, si un workflow est appliqué à une page AEM P, P passe d’une étape à l’autre à mesure que le workflow est exécuté ; chaque étape pouvant éventuellement agir sur·P dans une certaine mesure.

Dans le cas le plus courant, la charge utile est un nœud JCR du référentiel (une ressource ou une page AEM, par exemple). Une charge utile Nœud JCR est transmise sous la forme d’une chaîne qui est soit un chemin d’accès JCR, soit un identifiant JCR (UUID). Dans certains cas, la charge utile peut être une propriété JCR (transmise en tant que chemin d’accès JCR), une URL, un objet binaire ou un objet Java générique. Les différentes étapes du processus qui agissent effectivement sur la charge utile attendent généralement une charge utile d’un certain type ou se comportent différemment selon le type de charge. Le type de charge utile attendu, le cas échéant, est décrit pour chaque processus présenté ci-dessous.

Arguments

Certains processus de workflow acceptent les arguments spécifiés par l’administrateur lors de la configuration de l’étape de workflow.

Les arguments sont saisis sous la forme d’une chaîne unique dans la propriété Arguments du processus du volet Propriétés de l’éditeur de workflow. Pour chaque processus décrit ci-dessous, le format de la chaîne d’arguments est décrit dans une grammaire EBNF simple. Par exemple, le code suivant indique que la chaîne d’arguments se compose d’une ou de plusieurs paires séparées par des virgules, chacune d’elles étant constituée d’un nom (qui est une chaîne) et d’une valeur séparés par un double signe deux-points :

args := name '::' value [',' name '::' value]*

name := /* Une chaîne */

value := /* Une chaîne */

Délai dépassé

Une fois ce délai d’expiration dépassé, l’étape de workflow n’est plus opérationnelle. Certains processus de workflow respectent le délai d’expiration, tandis que d’autres l’ignorent.

Autorisations

La session transmise à WorkflowProcess est gérée par l’utilisateur pour le service de processus de workflow, avec les autorisations suivantes au niveau de la racine du référentiel :

  • jcr:read
  • rep:write
  • jcr:versionManagement
  • jcr:lockManagement
  • crx:replicate

Si cet ensemble d’autorisations s’avère insuffisant pour votre implémentation WorkflowProcess, il doit utiliser une session avec les autorisations requises.

La méthode recommandée consiste à employer un utilisateur de service créé avec le sous-ensemble minimum d’autorisations requises.

Attention :

Si vous effectuez une mise à niveau à partir d’une version antérieure à AEM 6.2, la mise à jour de votre implémentation peut s’avérer nécessaire. 

Dans les versions précédentes, la session administrateur était transmise aux implémentations WorkflowProcess et pouvait alors bénéficier d’un accès complet au référentiel, sans devoir définir de listes de contrôle d’accès (ACL) spécifiques.

Les autorisations sont désormais définies comme ci-dessus (Autorisations). Il en va de même pour la méthode recommandée pour la mise à jour de votre implémentation.

Une solution à court terme peut également être appliquée à des fins de rétrocompatibilité, lorsque le code ne peut pas être modifié :

  • À l’aide de la console web (/system/console/configMgr), recherchez le service de configuration de workflow Adobe Granite.
  • Activez le mode hérité du processus de workflow.

Vous revenez alors au comportement précédent qui fournissait une session administrateur à l’implémentation WorkflowProcess et disposez à nouveau d’un accès illimité à l’intégralité du référentiel.

Processus de contrôle du workflow

Les processus suivants n’exécutent aucune action sur le contenu. Ils servent à contrôler le comportement du workflow proprement dit.

AbsoluteTimeAutoAdvancer (Avance automatique temps absolu écoulé)

Le processus AbsoluteTimeAutoAdvancer (Avance automatique temps absolu écoulé) se comporte de la même manière que AutoAdvancer (Avance automatique), si ce n’est qu’il arrive à expiration à une date et une heure données, plutôt qu’après une durée définie.

  • Classe Java : com.adobe.granite.workflow.console.timeout.autoadvance.AbsoluteTimeAutoAdvancer
  • Charge utile : aucune.
  • Arguments : aucun.
  • Délai d’expiration : le processus arrive à expiration lorsque la date et l’heure définies sont atteintes.

AutoAdvancer (Avance automatique)

Le processus AutoAdvancer fait passer automatiquement le flux de travail à l’étape suivante. Si plusieurs étapes sont possibles (il existe, par exemple, une division OU), la progression du flux de travail continue le long de l’itinéraire par défaut, si cela a été défini. Dans le cas contraire, aucune avance n’est effectuée.

  • Classe Java : com.adobe.granite.workflow.console.timeout.autoadvance.AutoAdvancer
  • Charge utile : aucune.
  • Arguments : aucun.
  • Délai d’expiration : le processus arrive à expiration après une durée définie.

ProcessAssembler (Programme d’assemblage des processus)

Le processus ProcessAssembler exécute plusieurs sous-processus de manière séquentielle au cours d’une seule étape. Pour utiliser le processus ProcessAssembler, créez une seule étape de ce type dans votre workflow, et configurez ses arguments de manière à indiquer les noms et arguments des sous-processus que vous souhaitez exécuter.

  • Classe Java : com.day.cq.workflow.impl.process.ProcessAssembler
  • Charge utile : ressource DAM, page AEM ou aucune charge utile (cela dépend des exigences des sous-processus).
  • Arguments : 
    • args := arg [',' arg]
      arg := processname ['::' processargs]
      processname := /* Classe Java entièrement qualifiée ou chemin
                          d’accès de répertoire absolu à un ECMAScript */
      processargs := processarg [';' processarg]*
      processarg := '[' nobracketprocessarg ']' | nobracketprocessarg
      nobracketprocessarg := listitem [':' listitem]*
      listitem := /* Une chaîne */
  • Délai d’expiration : respecté.

Par exemple :

  • Extrayez les métadonnées de la ressource.
  • Créez trois miniatures des trois tailles spécifiées.
  • Créez une image JPEG à partir de la ressource, en supposant que la ressource d’origine n’est ni au format GIF ni au format PNG (auquel cas aucune image JPEG n’est créée).
  • Définissez la date de la dernière modification de la ressource.
com.day.cq.dam.core.process.ExtractMetadataProcess,
    com.day.cq.dam.core.process.CreateThumbnailProcess::[140:100];[48:48];[319:319:false],
    com.day.cq.dam.core.process.CreateWebEnabledImageProcess::dimension:1280:1280;mimetype:image/jpeg,
    com.day.cq.dam.core.process.AssetSetLastModifiedProcess

Processus de base

Les processus suivants exécutent des tâches simples ou servent simplement d’exemples.

Attention :

Vous ne devez rien modifier dans le chemin /libs.

En effet, le contenu de /libs est remplacé dès que vous mettez à niveau votre instance (et risque de l’être si vous appliquez un correctif ou un Feature Pack).

delete

L’élément situé à l’emplacement indiqué est supprimé.

  • Chemin ECMAScript : /libs/workflow/scripts/delete.ecma
  • Charge utile : chemin JCR.
  • Arguments : aucun.
  • Délai d’expiration : ignoré.

noop

Il s’agit d’un processus nul. Il n’effectue aucune opération, mais consigne un message de débogage.

  • Chemin ECMAScript : /libs/workflow/scripts/noop.ecma
  • Charge utile : aucune.
  • Arguments : aucun.
  • Délai d’expiration : ignoré.

rule-false

Il s’agit d’un processus nul qui renvoie false sur la méthode check().

  • Chemin ECMAScript : /libs/workflow/scripts/rule-false.ecma
  • Charge utile : aucune.
  • Arguments : aucun.
  • Délai d’expiration : ignoré.

sample

Il s’agit d’un exemple de processus ECMAScript.

  • Chemin ECMAScript : /libs/workflow/scripts/sample.ecma
  • Charge utile : aucune.
  • Arguments : aucun.
  • Délai d’expiration : ignoré.

urlcaller

Il s’agit d’un processus de workflow simple qui appelle l’URL indiquée. En règle générale, l’URL est une référence à un JSP (ou à un autre servlet équivalent) qui effectue une tâche simple. Ce processus doit uniquement être utilisé pendant les phases de développement et de démonstration, mais pas dans un environnement de production. Les arguments définissent l’URL, le nom de connexion et le mot de passe.

  • Chemin ECMAScript : /libs/workflow/scripts/urlcaller.ecma
  • Charge utile : aucune.
  • Arguments :
    • args := url [',' login ',' password]
    • url := /* URL à appeler */
    • login := /* Identifiant pour accéder à l’URL */
    • password := /* Mot de passe pour accéder à l’URL */
    • Par exemple : http://localhost:4502/my.jsp, mylogin, mypassword
  • Délai d’expiration : ignoré.

LockProcess

Verrouille la charge utile du workflow. 

  • Classe Java : com.day.cq.workflow.impl.process.LockProcess
  • Charge utile :  JCR_PATH et JCR_UUID 
  • Arguments : aucun
  • Délai d’expiration : ignoré.

L’étape n’a aucun effet dans les cas suivants :

  • La charge utile est déjà verrouillée.
  • Le nœud de charge utile ne comporte pas de contenu enfant jcr:content.

UnlockProcess

Déverrouille la charge utile du workflow. 

  • Classe Java : com.day.cq.workflow.impl.process.UnlockProcess
  • Charge utile : JCR_PATH and JCR_UUID 
  • Arguments : aucun
  • Délai d’expiration : ignoré

L’étape n’a aucun effet dans les cas suivants :

  • La charge utile est déjà déverrouillée.
  • Le nœud de charge utile ne comporte pas de contenu enfant jcr:content.

Processus de création de versions

Le processus suivant effectue une tâche relative à la version.

CreateVersionProcess

Crée une version de la charge utile du workflow (page AEM ou ressource DAM).

  • Classe Java : com.day.cq.wcm.workflow.process.CreateVersionProcess
  • Charge utile : chemin JCR ou UUIF faisant référence à une page ou une ressource DAM.
  • Arguments : aucun.
  • Délai d’expiration : respecté.

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne