Mapout-M-Storage
Script d'export
Sommaire
Introduction
Cette documentation décrit la mise en oeuvre du script d'export en masse des documents archivés par l'outil Mapout / M-Storage.
Il s'agit d'un script php, lancé en ligne de commande, avec diverses options permettant de générer des fichiers PDF accompagnés ou non d'un fichier d'index xml.
Pré-requis
L'extraction tourne exclusivement sur la plateforme Windows sur laquelle est installée Mapout / M-Storage.
L'extraction des documents étant réalisée à partir des informations contenues dans la base de données MySQL de l'application Mapweb / M-Storage Web, il sera nécessaire, si cela n'est pas déjà le cas, d'installer M-Storage Web au préalable, puis de lancer la reconstruction des bases et index de chaque répertoire d'archive devant être exportés. Pour cette étape, se reporter aux manuels d'installation et d'utilisation de Mapweb / M-Storage Web.
Versions minimales requises :
- M-Storage : 7.2.0.37383 minimum. Un exécutable "M-Storage_export.exe" à copier dans le dossier d'installation de Mapout/M-Storage peut être fourni avec le package du script d'export.
- M-Storage Web ou Mapweb : 7.1 ou 7.2
MapWeb / M-Storage Web nécessite :
- Apache 2.2 ou 2.4
- MySQL version 5.1 minimum
Installation
Le script est fourni sous la forme d'un package comprenant les modules php ainsi que php 7.1.8 pour Windows.
1 - Décompresser le package et copier le dossier "MStorageExport" dans le dossier "MapWebFiles" de Apache.
Exemple : C:\Program files\Apache Software Foundation\Apache2.2\htdocs\MapWebFiles\MStorageExport
2- Ajouter un paramètre avec le chemin de la log dans le fichier de configuration de MapWeb / M-Storage Web
Emplacement par défaut : C:\Mapping\Apache Software Foundation\Apache2.2\htdocs\MapWebFiles\custom\config.ini
Ajouter la section suivante, en spécifiant l'emplacement désiré pour le fichier de log :
[debug] log_file_path = "c:/Mapping/export_MStorage.log"
Utilisation
1 - Avant de lancer la première extraction de documents, il est nécessaire de récupérer les informations suivantes permettant de construire la requête
- L'emplacement du programme Mapout.exe ou M-storage.exe
- L'emplacement du dossier d'archives à exporter
2 - Ouvrir une invite de commande (cmd) en tant qu'administrateur et se positionner sur le dossier MapWebFiles :
Exemple :
cd "C:\Program files\Apache Software Foundation\Apache2.2\htdocs\MapWebFiles"
Toutes les commandes suivantes devront impérativement être saisies à partir de cet emplacement !!!
3 - Pour obtenir de l'aide en ligne, saisir la commande suivante
php718\php help.php
4 - Commande de base de l'extraction
php718\php index.php
Paramètres obligatoires
______Paramètre______ | Commentaire |
---|---|
--archive | Emplacement du dossier d'archives à exporter (exemple : D:\Archives\Factures ). Il s'agit d'un dossier contenant divers fichiers dont Spool.cpr et Passwd.txt
|
--dest | Destination des documents à extraire. Il s'agit du chemin complet du fichier PDF à créer, sans l'extension. Si les dossiers spécifiés n'existent pas, ils seront créés automatiquement. Le chemin peut contenir des valeurs de méta données (entre chevrons <xxxx> ) et d'index (entre doubles crochets [[c_xxxxx]] ). |
--pgm | Chemin complet du programme M-Storage.exe ou Mapout.exe (selon la version installée) |
--action | Action du script :
|
Exemple de commande simple :
php718\php index.php --archive="D:\Archives\Factures" --dest="D:\Export Archives\<NomUser>\[[c_numfac]]_[[c_numcli]]" --pgm="C:\Mapping\M-Storage\m-storage.exe" --action="getCommands"
Paramètres facultatifs
Exemple de commande avancée :
Génération des documents PDF issus de l'archive D:\Archives\012018 pour lesquels le format MapDraw/M-Designer est "FACTURE", le nom du client "EXEMPLE" pour la période janvier 2018. Chaque PDF contiendra les données d'un seul client (rupture par c_numcli) et un fichier d'index non personnalisé accompagnera chaque fichier PDF. Le plan de classement des fichiers PDF générés sera dynamique et comportera la date, le nom du client et l'identifiant du spool d'impression.
php718\php index.php --action="generate" --archive="D:\Archives\012018" --filtermeta_egal="Format=FACTURE" --filterindex_contains="c_nomcli=EXEMPLE" --filtermeta_begin="NomSpool=201801" --rupt="c_numcli" --nextpage --indexfile --dest="D:\Export\[[c_date]]\[[c_nomcli]]_<NomSpool>.pdf" --pgm="D:\Mapping\M-storage\M-storage.exe"
Exemples de XSL
Conversion XSL pour Alfresco
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0"> <xsl:output method="xml" encoding="UTF-8" indent="yes" omit-xml-declaration="no" cdata-section-elements="field" exclude-result-prefixes="xsl xs"/> <xsl:template match="/"> <xsl:text disable-output-escaping='yes'><!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> </xsl:text> <xsl:apply-templates/> </xsl:template> <xsl:template match="Indexes"> <properties> <entry key="type">cm:content</entry> <entry key="aspects"></entry> <xsl:apply-templates/> </properties> </xsl:template> <xsl:template match="Meta"> <entry> <xsl:attribute name="key">mp:<xsl:value-of select="translate(@name,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')"/> </xsl:attribute><xsl:value-of select="."/> </entry> </xsl:template> <xsl:template match="Index"> <entry> <xsl:attribute name="key">mp:<xsl:value-of select="translate(@name,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')"/> </xsl:attribute><xsl:value-of select="Value"/> </entry> </xsl:template> </xsl:stylesheet>