Configuration générale

Afin de faire fonctionner MaarchCapture, il faut paramétrer le fichier ./config/Capture.xml.

Il permet de déclarer vos batchs et workflows de capture.

Il est structuré de cette façon :

    <?xml version="1.0" encoding="UTF-8"?>
    <capture>
        <modules>
            <module name="FileImport" src="modules/FileImport/FileImport.php" type="class"/>
            <module name="MaarchWSClient" src="modules/MaarchWSClient/MaarchWSClient.php" type="class"/>
            <module name="MailCapture" src="modules/MailCapture/MailCapture.php" type="class"/>
        </modules>
        <batches>
            <batch name="MAARCH_SCAN_TO_MC" directory="/opt/maarch/MaarchCapture/files/" id="{batchname}-{timestamp}-{rand}" lock="0">
                <workflow name="MAARCH_SCAN_TO_MC" debug="true" logMode="Maarch" maarchLogParam="/var/www/html/MaarchCourrier/apps/maarch_entreprise/xml/log4php.xml" maarchLoggerName="loggerTechnique">
                    <step name="ImportFiles" module='FileImport' function="ImportFiles">
                        <input name="Directory">/opt/maarch/MaarchCapture/files/TEST_IMPORT/</input>
                        <input name="Target">Document</input>
                        <input name="Action">none</input>
                        <input name="MoveDirectory">/opt/maarch/MaarchCapture/files/TEST_IMPORT/backup/</input>
                        <input name="Recursive">0</input>
                        <input name="CreateFolders">0</input>
                    </step>
                    <step name="SendToMaarch" module="MaarchWSClient" function="processBatch">
                        <input name="WS">MaarchRestWS</input>
                        <input name="Process">MaarchRestWSProcessFromScan</input>
                        <input name="CatchError">true</input>
                        <input name="configFile">MaarchWSClient_standard_sample.xml</input>
                    </step>
            </batch>
            <!-- MAIL TO MAARCHCOURRIER SAMPLE -->
            <batch name="MAARCH_MAIL_TO_MC" directory="/opt/maarch/MaarchCapture/files/" id="{batchname}-{timestamp}-{rand}" lock="0">
                <workflow name="MAARCH_MAIL_TO_MC" debug="true" logMode="Maarch" maarchLogParam="/var/www/html/MaarchCourrier/apps/maarch_entreprise/xml/log4php.xml" maarchLoggerName="loggerTechnique">
                    <step function="CaptureMails" module="MailCapture" name="CAPTURE_MAIL_1">
                        <input name="account">account_1</input>
                        <input name="Action">none</input>
                        <input name="configFile">MailCapture_standard_sample.xml</input>
                        <input name="folder">maarch/purge</input>
                    </step>
                    <!-- SOAP SAMPLE -->
                    <step name="SendToMaarch" module="MaarchWSClient" function="processBatch">
                        <input name="WS">MaarchSoapWS</input>
                        <input name="Process">MaarchSoapWSProcessFromMail</input>
                        <input name="CatchError">true</input>
                        <input name="configFile">MaarchWSClient_standard_sample.xml</input>
                    </step>
                </workflow>
            </batch>
        </batches>
    </capture>

Déclaration des modules

Le fichier de configuration générale peut comporter plusieurs déclarations de modules.

    <modules>
        <module name="FileImport" src="modules/FileImport/FileImport.php" type="class"/>
        <module name="MaarchWSClient" src="modules/MaarchWSClient/MaarchWSClient.php" type="class"/>
        <module name="MailCapture" src="modules/MailCapture/MailCapture.php" type="class"/>
    </modules>

La déclaration d’un module comprend les attributs suivants :

  • name nom du module.
  • src chemin vers le fichier de chargement du module.
  • type nature du fichier de chargement du module.

Déclaration d'un batch

    <batch name="MAARCH_SCAN_TO_MC" directory="/opt/maarch/MaarchCapture/files/" id="{batchname}-{timestamp}-{rand}" lock="0">

La déclaration d’un batch comprend les attributs suivants :

  • name nom du batch, sera utile pour son lancement depuis son script shell d’appel.
  • directory chemin vers son répertoire de travail comprenant son fichier principal de traitement et ses logs.
  • id nomenclature de l’identifiant unique du batch.
  • lock générateur d’un lock, prend 0 pour false ou 1 pour true. Permet de gérer les lancements concurrents d’un même batch.

Déclaration d'un workflow

Un batch peut comporter plusieurs workflows.

    <workflow name="MAARCH_SCAN_TO_MC" debug="true" logMode="Maarch" maarchLogParam="/var/www/html/MaarchCourrier/apps/maarch_entreprise/xml/log4php.xml" maarchLoggerName="loggerTechnique">

La déclaration d’un workflow comprend les attributs suivants :

  • name nom du workfow.
  • debug déclare le mode debug, prend 0 pour false ou 1 pour true. Ne supprime pas le répertoire de travail du lot s’il est activé afin de pouvoir auditer les logs.
  • logMode déclare le mode des traces, prend default ou Maarch. Le mode default écrit les logs uniquement dans le répertoire de travail du batch. Le mode Maarch écrit les logs également dans les logs de l’application MaarchCourrier.
  • maarchLogParam utile si uniquement le mode logMode=Maarch est activé. Permet de définir le fichier de paramétrage des logs MaarchCourriers.
  • maarchLoggerName utile si uniquement le mode logMode=Maarch est activé. Permet de définir le nom du logger utilisé pour écrire les logs dans MaarchCourrier.

Déclaration d'une étape

Un workflow peut comporter plusieurs étapes.

    <step name="ImportFiles" module='FileImport' function="ImportFiles">

La déclaration d’une étape comprend les attributs suivants :

  • name nom de l’étape.
  • module nom du module à charger. Doit correspondre à l’un des modules déclarés plus haut dans la section modules.
  • function nom de la fonction du module à charger. Doit correspondre à l’une des fonctions de la classe du fichier de chargement du module déclaré plus haut dans la section modules. Le contenu du paramétrage d’une étape dépend du module chargé.

Pour tout appel de fonction d’un module Maarch Capture, les seuls paramètres <input> acceptés sont ceux définis dans la déclaration de la fonction dans le code source.

En outre, peu importe l’attribut name indiqué dans le <input>, il s’agit d’un pense-bête, et seul compte l’ordre des paramètres <input>.

Par exemple, dans MaarchQRSeparator.php on peut lire :

public function separatePDF($ScanSource, $qrcodePrefix = "false", $ResultDirectory = false) { ... }

Ainsi, l’appel à cette fonction via config/Capture.xml ne considère que les trois premiers <input>, le premier étant assigné à $ScanSource, le deuxième à $qrcodePrefix, le troisième à $ResultDirectory.

Il n’y a pour cette fonction précise aucun paramètre <input name="Action">move</input>.

Afin d’activer le préfixe des QR codes & de déplacer le fichier vers un dossier, il faut écrire :

<step function="separatePDF" module="QRSeparator" name="separatePDF">
  <input name="ScanSource">/chemin/du/dossier/de/capture/</input>
  <input name="qrcodePrefix">true</input>
  <input name="ResultDirectory">/chemin/du/dossier/de/backup/</input>
</step>

results matching ""

    No results matching ""