Activsoft.Workflow.Action.WorkflowAction

Cette implémentation de IAction permet d’exécuter des Actions au sein d’un projet moteur (Web ou autre) V7.

Les actions possibles sont les suivantes :

  • Lancer une exécution en synchrone
  • Lancer une exécution en asynchrone
  • Envoyer une exécution en base de données
  • Envoyer une exécution sur une queue de message

Configuration

Deux sections de configuration doivent être créées :

  • une section de type Activsoft.Workflow.Manager.WorkflowExecutionManager (voir ici)
  • une section de type Activsoft.Workflow.Action.WorkflowAction

La configuration de l’action est la suivante :

<workflowAction 
  manager="{nom de la section WorkflowExecutionManager}" 
  actionType="sync|aSync|sendToQueue|sendToDb"
  {dans le cas d'utilisation de la queue de message}
  login=""
  password=""
  virtualhost=""
  queueName=""
  host=""
  {dans le cas d'envoi en base de données}
  dbTableName="{nom de la table}"
  dbJsonColumn="{nom de la colonne contenant la description}">
  <actions>
    {pour chaque action possible}
    <action executionName="{module}.{execution}" pageId="{id de page vide si pas pertinent}" actionId="{id d'action, vide si pas pertinent}">
      <conditions>
        <condition 
          {dans le cas de condition sur un paramètre}
          parameter="{nom du param}"
          value="{valeur si c'est une valeur simple}"
          match="{regex si c'est un regex}"
          {dans le cas d'une requête à exécuter pour vérifier}
          request="{contenu de la requête paramétrique}"/>
      </conditions>
      <parameters>
        <parameter name="{nom du paramètre}" parameterName="{match dans monConfig}" value="{valeur directe}"/>
      </parameters>
    </action>
  </action>
</workflowAction>

Appel de l’Action

L’action doit juste être ajoutée dans la section action de la configuration du moteur.

Pour chaque balise action, l’Action effectue les opérations suivantes :

  • si pageId précisée et différente de la page : on passe à la suite
  • si actionId précisée et différente de la action : on passe à la suite
  • pour chaque condition si la requête ne renvoie rien ou si le paramètre ne matche pas la regex ou la valeur : on passe à la suite
  • sinon :
    • sync : lance l’action en synchrone
    • async : envoie l’action dans la bonne queue asynchrone
    • sendToQueue : envoie dans la queue de message
    • sendToDb : envoie dans la table de BDD

Laisser un commentaire0

Your email address will not be published. Required fields are marked *