Verified Commit ccd96624 authored by Giovannoni Laurent's avatar Giovannoni Laurent
Browse files

FEAT add process to deploy new mail for an instance

parent 1bc89f74
Paramétrage type de l’envoi des documents dans MaarchCourrier
=================================================================
Déploiement de la capture d'une boite mail pour une instance de MaarchCourrier
=========================================
Une fois capturés, les fichiers numérisés ou les courriels sont envoyés dans MaarchCourrier via le module MaarchWSClient de MaarchCapture.
Ce paragraphe décrit le mode opératoire pour déployer la capture d’une boite mail d’une nouvelle instance MaarchCourrier.
Le fichier général de configuration de MaarchWSClient se trouve dans : **./modules/MaarchWSClient/MaarchWSClient_standard_sample.xml**
Ce mode opératoire peut être décliné lorsque l’on souhaite ajouter la capture d’une boite mail supplémentaire à une instance MaarchCourrier.
Nous nous basons en partie sur l’exemple présent dans le répertoire **./modules/MaarchWSClient/samples/MaarchWSClient_standard_sample.xml.default.**
Il est donc commun à toutes les boites mails à capturer ou les fichiers à importer en sortie d'un scanner (ils peuvent différer si nécessaire).
Une fois les fichiers type de paramétrage correctement préparés (voir paragraphes précédents), le mode opératoire consistera essentiellement à procéder à des copier/coller et au remplacement de la variable de fusion ID_INSTANCE.
Nous prendrons l’exemple où ID_INSTANCE est valorisée de la façon suivante :
cs_olivet
Le paramétrage type pour l’envoi de scans ou de courriels dans une instance MaarchCourrier est le suivant :
Dans votre cas, il faudra remplacer cs_olivet par l'identifiant de votre instance MaarchCourrier.
Par défaut, se positionner dans le répertoire de MaarchCapture :
cd /opt/maarch/MaarchCapture/
## Paramétrage de la configuration générale pour la capture de courriels
Ajouter le bloc suivant dans le fichier ./config/Capture.xml :
<batch directory="/opt/maarch/MaarchCapture/files/" id="{batchname}-{timestamp}-{rand}" lock="0" name="cs_olivet_MAIL_1">
<workflow debug="false" logMode="Maarch" maarchLogParam="/var/www/html/MaarchCourrier/apps/maarch_entreprise/xml/log4php.xml" maarchLoggerName="loggerTechnique" name="cs_olivet_MAIL_1">
<step function="CaptureMails" module="MailCapture" name="CaptureMails">
<input name="account">cs_olivet_MAIL_1</input>
<input name="Action">delete</input>
<input name="configFile">cs_olivet_MAIL_1 .xml</input>
<input name="folder"></input>
<input name="attachmentsOutputDir"></input>
<input name="addHeaderInMailContent">false</input>
<input name="folderError">incidents</input>
</step>
<step name="SendToMaarch" module="MaarchWSClient" function="processBatch">
<input name="WS">cs_olivet</input>
<input name="Process">MaarchRestWSProcess</input>
<input name="CatchError">true</input>
<input name="configFile">MaarchWSClient_standard_sample.xml</input>
</step>
</workflow>
</batch>
## Paramétrage de la capture de la boite mail
Créer le fichier ./modules/MailCapture/cs_olivet_MAIL_1.xml, compléter les informations de connexion à la boite mail et préciser l’identifiant du service destinataire (ID_SERVICE_DESTINATAIRE) :
<?xml version="1.0" encoding="UTF-8"?>
<MaarchWSClient>
<WS name="MaarchRestWS" type="REST" uri="http://userMaarchWS:passwordMaarchWS@maarchcourrier.ID_INSTANCE.interieur.gouv.fr/rest/" />
<process name="MaarchRestWSProcessFromScan">
<loop xpath="/Batch/Documents/Document">
<call name="/res" method="POST">
<argument type="entity" name="encodedFile" eval="base64_encode(file_get_contents($Element-&gt;path))"/>
<argument type="entity" name="data">
<column>type_id</column>
<value>1</value>
<type>integer</type>
</argument>
<argument type="entity" name="data">
<column>destination</column>
<value>COU</value>
<type>string</type>
</argument>
<argument name="data">
<column>priority</column>
<value>2</value>
<type>integer</type>
</argument>
<argument type="entity" name="data">
<column>scan_batch</column>
<value>SVE</value>
<type>string</type>
</argument>
<argument type="entity" name="collId">letterbox_coll</argument>
<argument type="entity" name="table">res_letterbox</argument>
<argument type="entity" name="fileFormat" attribute="extension"/>
<argument type="entity" name="status">INIT</argument>
<return>
<resId metadata="resId" />
</return>
</call>
</loop>
</process>
<process name="MaarchRestWSProcessFromMail">
<loop xpath="/Batch/Documents/Document">
<call name="/res" method="POST">
<argument type="entity" name="encodedFile" eval="base64_encode(file_get_contents($Element-&gt;path))"/>
<argument type="entity" name="data">
<column>subject</column>
<value metadata="subject" />
<type>string</type>
</argument>
<argument type="entity" name="data">
<column>doc_date</column>
<value metadata="doc_date" />
<type>date</type>
</argument>
<argument type="entity" name="data">
<column>type_id</column>
<value metadata="type_id"/>
<type>integer</type>
</argument>
<argument type="entity" name="data">
<column>destination</column>
<value metadata="destination"/>
<type>string</type>
</argument>
<argument type="entity" name="data">
<column>initiator</column>
<value metadata="destination"/>
<type>string</type>
</argument>
<argument type="entity" name="data">
<column>priority</column>
<value>2</value>
<type>integer</type>
</argument>
<argument type="entity" name="data">
<column>custom_t10</column>
<value xvalue="./Metadata/fromaddress" />
<type>string</type>
</argument>
<argument type="entity" name="data">
<column>custom_t11</column>
<value xvalue="./Metadata/toaddress" />
<type>string</type>
</argument>
<argument type="entity" name="data">
<column>custom_t12</column>
<value xvalue="./Metadata/ccaddress" />
<type>string</type>
</argument>
<argument type="entity" name="data">
<column>source</column>
<value xvalue="./Metadata/message_id" />
<type>string</type>
</argument>
<argument type="entity" name="collId">letterbox_coll</argument>
<argument type="entity" name="table">res_letterbox</argument>
<argument type="entity" name="fileFormat" attribute="extension"/>
<argument type="entity" name="status">INIT</argument>
<return>
<resId metadata="resId" />
</return>
</call>
<call name="/resExt" method="POST">
<argument type="entity" name="resId" metadata="resId"/>
<argument type="entity" name="data">
<column>nature_id</column>
<value>email</value>
<type>string</type>
</argument>
<argument type="entity" name="data">
<column>category_id</column>
<value>incoming</value>
<type>string</type>
</argument>
<argument type="entity" name="data">
<column>exp_contact_id</column>
<value xvalue="./Metadata/fromaddress"/>
<type>integer</type>
</argument>
<argument type="entity" name="data">
<column>address_id</column>
<value xvalue="./Metadata/fromaddress"/>
<type>integer</type>
</argument>
<argument type="entity" name="table">mlb_coll_ext</argument>
<argument type="entity" name="resTable">res_letterbox</argument>
<return>
<status metadata="status" />
</return>
</call>
<loop xpath="Attachments/Attachment">
<call name="/res" method="POST">
<argument type="entity" eval="base64_encode(file_get_contents($Element-&gt;path))" name="encodedFile"/>
<argument type="entity" name="data">
<column>title</column>
<value metadata="filename"/>
<type>string</type>
</argument>
<argument type="entity" name="data">
<column>res_id_master</column>
<value xvalue="ancestor::Document/Metadata/resId"/>
<type>integer</type>
</argument>
<argument type="entity" name="data">
<column>coll_id</column>
<value>letterbox_coll</value>
<type>string</type>
</argument>
<argument type="entity" name="data">
<column>attachment_type</column>
<value>incoming_mail_attachment</value>
<type>string</type>
</argument>
<argument type="entity" name="collId">letterbox_coll</argument>
<argument type="entity" name="table">res_attachments</argument>
<argument type="entity" name="fileFormat" attribute="extension"/>
<argument type="entity" name="status">TRA</argument>
<return>
<resId metadata="resId" />
</return>
</call>
</loop>
</loop>
</process>
</MaarchWSClient>
Les éléments de paramétrage suivants sont à définir pour une instance MaarchCourrier :
* **uri="http://userMaarchWS:passwordMaarchWS@maarchcourrier.ID\_INSTANCE.interieur.gouv.fr/rest/"** adresse web des webservices de l’instance MaarchCourrier ID_INSTANCE. Attention à bien respecter la structure suivante : **http://loginMaarch:passwordMaarch@nomDeDomaineInstanceMaarchCourrier**.
* **\<argument type="entity" name="status">INIT\</argument>** statut des documents arrivant dans MaarchCourrier.
A paramétrer en fonction de la clause where de la bannette de qualification des courriels.
<MailCapture>
<formatters>
<formatter name="date" script="scripts/formatters.php" func="format_mail_date"/>
</formatters>
<accounts>
<account name="cs_olivet_MAIL_1" >
<mailbox>{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX</mailbox>
<username>testmail@gmail.com</username>
<password>****</password>
<IMAP_CLIENT_CERT>/vagrant/certs/client.pem</IMAP_CLIENT_CERT>
<IMAP_CLIENT_KEY>/vagrant/certs/noclient.key</IMAP_CLIENT_KEY>
</account>
</accounts>
<messagerules>
<messagerule name="from_maarch" info="fromaddress" action="delete">false</messagerule>
</messagerules>
<messageoutputs >
<!-- info : header info -->
<messageoutput name="doc_date" info="date" formatter="date"/>
<messageoutput name="type_id">1</messageoutput>
<messageoutput name="destination">ID_SERVICE_DESTINATAIRE</messageoutput>
<messageoutput name="subject" info="subject" />
<messageoutput name="fromaddress" info="fromaddress"/>
<messageoutput name="frompersonal" info="from[0]/personal" />
<messageoutput name="toaddress" info="toaddress" />
<messageoutput name="message_id" info="message_id" />
<messageoutput name="ccaddress" info="ccaddress" />
</messageoutputs>
<attachmentrules>
<attachmentrule name="pj" info="extension" op="notin" action="none">EML PDF DOC DOCX XLSX ODT ODS ODP TXT JPG JPEG JPE GIF PNG BMP RTF HTM HTML CSV</attachmentrule>
<attachmentrule name="thename" info="filename" op="contains">PJ</attachmentrule>
<attachmentrule name="application" info="format" op="in">pdf msword vnd.oasis.opendocument.text octet-stream eml</attachmentrule>
</attachmentrules>
<attachmentoutputs mode="attachment">
<attachmentoutput name="filename" info="dparameters[filename]"/>
<attachmentoutput name="description" info="description"/>
</attachmentoutputs>
</MailCapture>
## Paramétrage de l'envoi des courriels dans MaarchCourrier
Ajouter le bloc suivant dans le haut du fichier ./modules/MaarchWSClient/MaarchWSClient.xml et configurer l’accès aux web services REST de l’instance MaarchCourrier cs_olivet :
<WS name="MaarchRestWS" type="REST" uri="http://userMaarchWS:passwordMaarchWS@courrier.metropoleorleans.fr/cs_oliver/rest/">
</WS>
## Paramétrage du shell de lancement de MaarchCapture pour la capture de courriels
Créer le fichier ./scripts/cs_olivet.sh :
#!/bin/sh
cd /opt/maarch/MaarchCapture/
php MaarchCapture.php init -BatchName cs_olivet_MAIL_1
Planifier le shell créé dans votre planificateur de tâches :
su maarch
crontab -e
*/10 * * * * /opt/maarch/MaarchCapture/scripts/cs_olivet_MAIL_1.sh
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment