Version 1 — Septembre 2010 — Joseph
IEconfig (Importeur / Exporteur de Configurations) a pour objectif de permettre à plusieurs plugins de pouvoir exporter leur configuration respective dans un seul et même fichier de configuration au format YAML.
Cela permet à un utilisateur de pouvoir exporter (et de restaurer) ses différentes configurations en une seule fois. Par ailleurs, un squelette utilisant plusieurs plugins peut ainsi fournir un fichier de configuration pour configurer ces différents plugins en une seule fois.
IECFG nécessitent les plugins saisies, yaml et verifier.
Pour qu’un plugin puisse exporter/importer sa configuration avec IEconfig, il doit se brancher sur le pipeline iecfg. Ce pipeline est appelé 4 fois :
Pour un exemple de code, voir http://svn.spip.org/trac/spip-zone/...
Construction du formulaire d’export
Pour construire le formulaire d’export, IEconfig appelle le pipeline ieconfig en transmettant en argument $flux['args']['action']='form_export'
.
$flux['args']['data']
contient un tableau de saisies (voir Saisies) . On ajoutera dès lors à ce tableau les options de saisies propres au plugin. Elles seront réunies dans un fieldset
dont le nom sera le préfixe du plugin. Les noms des options de saisies commenceront toutes par prefix_
pour éviter les interférences avec d’autres plugins.
Au minimum, le plugin devra proposer d’exporter ou de ne pas exporter sa configuration.
Il est possible de préciser des critères de vérifications aux saisies (voir Saisies : Doc complémentaire).
Tableau à exporter
Pour construire le tableau d’export, IEconfig appelle le pipeline ieconfig en transmettant en argument $flux['args']['action']='export'
.
Les paramètres d’export saisis par l’utilisateur sont accessibles via la fonction _request()
.
$flux['args']['data']
contient le tableau des données à exporter. Le plugin rajoutera une entrée à ce tableau, avec pour clé le préfixe du plugin, contenant la configuration à exporter.
Construction du formulaire d’import
Pour construire le formulaire d’export, IEconfig appelle le pipeline ieconfig en transmettant en argument $flux['args']['action']='form_import'
. $flux['args']['action']='config'
contient le tableau à importer.
$flux['args']['data']
contient un tableau de saisies (voir Saisies) . On ajoutera dès lors à ce tableau les options de saisies propres au plugin, si le tableau à importer contient une configuration à importer pour ce plugin (entrée ayant comme clé le préfixe du plugin). Elles seront réunies dans un fieldset
dont le nom sera le préfixe du plugin. Les noms des options de saisies commenceront toutes par prefix_
pour éviter les interférences avec d’autres plugins.
Au minimum, le plugin devra proposer d’importer ou de ne pas importer la configuration le concernant.
Il est possible de préciser des critères de vérifications aux saisies (voir Saisies : Doc complémentaire).
Import de la configuration
Pour importer la configuration, IEconfig appelle le pipeline ieconfig en transmettant en argument $flux['args']['action']='import'
. $flux['args']['action']='config'
contient le tableau à importer.
Les paramètres d’import saisis par l’utilisateur sont accessibles via la fonction _request()
.
$flux['args']['data']
contient un message d’erreur à afficher si un problème est rencontré. Il sera complété par le plugin si une erreur a été rencontrée lors de l’import.