Champs Extras 3 (synchronisation)

Cette contribution ou ce plugin est en phase de test. Des bugs peuvent subsister. N’hésitez pas à les signaler dans le forum ci-dessous.

Un plugin permettant d’avoir la même définition des champs extra sur plusieurs sites.

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é :

Discussion

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 :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

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.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom