L'exportation des documents peut revêtir deux formes :
Le format d'exportation est un flux XML ou une archive au format d'archive zip.
L'export contient un entête INFO portant les informations :
L'entête est soit un fichier xlm, soit une balise <info> dans le flux suivant le format d'export demandé.
Pour chacun des documents, le flux XML intègre les documents. Les attributs fichiers sont encodés dans le flux en base64. Une fonction de récupération des schémas est disponible : pour un nom logique de famille elle retourne sont schéma.
L'archive contient le fichier INFO info.xml.
L'archive contient un fichier xml <titre> {id}.xml par document. Ce fichier contient une référence vers le schéma. Un seul document schéma est présent par famille dans l'archive.
Les noms des fichiers xml sont composées du titre suivi de leur nom logique (l'id le cas échéant) encadré par des accolades.
Exemple : (animal {ZOO_ANIMAL}.xsd, totor alligator {3456}.xml, titi l'agouti {5678}.xml, …).
Les attributs fichiers dans ce cas ne contiennent pas de référence aux fichiers physiques : <an_photo vaultid=“456” mime=“image/jpeg”>totor.jpeg</an_photo>
Une option permet de demander si les fichiers (attributs) sont exportés ou non.
Une option permet de demander si les fichiers sont exportés dans le xml (encodés) ou sous forme de fichier.
Dans ce cas les attributs fichiers contiennent une référence aux fichiers physiques contenus dans l'archive <an_photo vaultid=“456” mime=“image/jpeg” file=“nom du fichier {idfichier}.jpg”>nom du fichier .ext</an_photo>
[
]
<an_photo vaultid=“456” mime=“image/jpeg” filename=“nom du fichier .ext”><![CDATA[……..base64 encoded….==]]></an_photo>
Dans ce cas l'archive contient elle même une archive par document. totor alligator {3456}.fdoc , titi l'agouti {5678}.fdoc
Une archive document est composée de
En option supplémentaire il possible de demander l'export du profil.
Les formats d'archives précédemment cités peuvent être importés dans la base. Si un document contient déjà un id il sera mis à jour sinon il sera créé. Le principe actuel d'importation avec les clefs d'importation est conservé pour détecter les documents identiques (mise à jour).
Ces clefs pourront être explicitement déclarées dans le xml du document.
Les contrôles à l'importation:
L'interface freedom permet de lancer les exportations (depuis les recherches/dossiers) et importations. Ces actions sont accessibles via une URL.
Une commande wsh permet d'importer une archive accessible localement depuis le serveur freedom. Cette commande a les arguments suivants :
Un connecteur permet de réaliser les imports en utilisant les mécanismes existants du module freedom-fileconnector.
Il serait intéressant que l'import génère un rapport reprenant