Le besoin
Nous sommes nombreux à posséder plusieurs sites SPIP partageant un même squelette. Et bien souvent, un squelette exploitent des champs extra qui lui sont spécifiques. Et un squelette, cela évolue dans le temps. Et si vous ajoutez ou modifiez un champs extra, vous êtes bon pour refaire et reporter toutes les modifications, une par une, sur tous vos sites. Si vous avez plusieurs dizaines ou centaines de sites, on y réfléchit à deux fois avant de toucher aux champs extra.
Avec SPIP 2, il y a le plugin Import/Export de Champs Extras.
Avec SPIP 3 ces fonctionnalités sont intégrées et prises en charge par le plugin Champs Extras 3.
Le fonctionnement dans les grandes lignes
A partir d’un site dit « de référence », on peut synchroniser la définition des champs extras sur des sites suiveurs. Sur le site de référence, on met à jour les champs extra avec l’interface champs extra, on teste, tout comme d’habitude. Quand c’est OK, on va sur les sites suiveurs, un par un, et on synchronise la définition.
Notez que les sites suiveurs ou de référence n’ont pas besoin d’être mutualisés. Bien sûr c’est mieux, notamment pour répercuter automatiquement les évolutions du squelette, mais cela n’est techniquement pas obligatoire. D’ailleurs, il est tout à fait possible de synchroniser à partir d’un site distant puisque les paramètres présents (connect.php) le permettent.
Installation
Comme tous les autres plugins : http://www.spip.net/fr_article3396.html
Le plugin nécessite les plugins Champs extras 3, Saisies.
Si il y a une différence par rapport à la définition sur le site de référence, le plugin vous l’indique et pré-coche les objets éditoriaux concernés :
Ensuite, il faut désigner le site de référence. Cela se fait simplement en copiant le fichier /config/connect.php du site de référence dans le répertoire /config du site suiveur et en le renommant scextras_reference.php.
ATTENTION de bien le renommer AVANT de faire le collé ; sinon vous écraserez le fichier connect.php du site suiveur.
Fonctionnement
Dans l’espace privé du site suiveur, la fonction de synchronisation est accessible par le Menu « Squelettes » : Synchroniser les champs extra.
Vous pouvez alors décocher certains objets dont la définition de champs extra doit resté inchangé (spécificité du site).
Puis vous cliquez sur le bouton « Mettre à jour les champs extra ». Et hop, c’est synchronisé.
Si les définitions sont identiques entre la référence et le suiveur, le message suivant est affiché :
Discussions par date d’activité
4 discussions
Je ne sais pas, je n’ai jamais fait l’essai.
Il est possible que cela fonctionne.
Répondre à ce message
Merci Bruno pour ce plugin.
Celui-ci permet-il de récupérer sur nouveau Spip3 des champs extras d’un Spip 2 ?
Répondre à ce message
Bonjour
OUI c’est possible si le serveur distant autorise un accès distant à la base de données.
L’option import/export n’a pas été implémentée car l’approche de ce plugin est différente. On se sert d’une base de données de référence. Ainsi il n’y a pas de fichiers à manipuler.
Il existait avant un plugin qui faisait cela. Mais au moment où j’en ai eu besoin, le plugin n’avait pas encore été porté sous SPIP3. C’est en voulant le migrer que j’ai été amené à réfléchir au besoin et aux possibilités d’aller plus vite que j’ai eu l’idée de baser la mise à jour des déf. de champs à partir d’une base directement.
Répondre à ce message
Je cherche à transférer mes définitions de champs extra d’un site local à un site distant (Et inversement).
Est-ce possible à réaliser avec ce plugin ?
Il devrait y avoir une option « Exporter/Importer une liste de configuration de champs », sinon.
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |