Plugin Duplicator

Duplication des objets éditoriaux de SPIP : rubriques, articles, auteurs, ....

Fonctionnement

Auparavant limité à rubriques et articles, la version 2.0 du plugin permet de dupliquer aisément tous les objets courants de SPIP (rubriques, articles, auteurs, mots-clés, .....) en ajoutant un bouton « dupliquer » dans l’espace privé

Ce plugin peut être associé au plugin Vider rubrique afin de nettoyer plus facilement les arborescences.

Rubriques

Pour les rubriques, la duplication reprend :

  • les logos
  • les articles (leur contenu, leur statut, leurs mots clefs et logos)
  • les sous-rubriques (n niveaux), les mots clefs liés, ses articles (contenu + statut + mots clefs) et ses logos
  • l’URL en ajoutant le numéro de rubrique à la fin pour éviter des URL identiques
  • le contenu de la rubrique (description, etc.) et les éventuels champs extra s’ils sont mentionnés dans la configuration du plugin.

La nouvelle rubrique est créée au même niveau que la rubrique copiée.

Articles

Pour les articles, la duplication reprend :

  • le logo
  • le contenu et les éventuels champs extra s’ils sont mentionnés dans la configuration du plugin,
  • les documents joints
  • les mots clés
  • l’URL en ajoutant le numéro de l’article à la fin pour éviter des URL identiques.

L’article est créé dans la même rubrique.

Configuration

La configuration est disponible à partir de la page classique de gestion des plugins de SPIP.

À droite du nom du plugin, en cliquant sur l’icône de configuration.

Sur le menu de configuration, on peut choisir les objets que l’on veut permettre de dupliquer :

Sur chaque objet éditorial, vous pouvez déplier les options pour choisir :

  • les autorisations (qui a le droit de dupliquer ?)
  • si besoin les choix des champs à dupliquer
  • le statut à reprendre ou non
  • les enfants à reprendre ou non

En images

Un nouveau bouton apparaît dans la colonne de gauche des rubriques

Au clic une fenêtre de confirmation apparaît.

Après validation l’opération est executée.

La nouvelle rubrique est créée, contient la même hiérarchie que sa rubrique sœur, les articles sont conservés ainsi que leurs statuts et leurs contenus, en fonction de la configuration choisie.

Les articles quant à eux sont copiés dans la même rubrique.

Discussion

37 discussions

  • 1

    Bonjour
    J’ai passé un site en spip 4.2, php 8.1 chez O2switch. Et duplicator 3.0.4. Mais les rubriques et leurs enfants ne se dupliquent plus (tout marchait avant), je vois bien le bouton, mais quand on clique dessus, on a une page blanche et rien... J’ai laissé comme plugins Duplicator, Saisies pour formulaire et YAML. Que puis-je faire ?

    Répondre à ce message

  • Bonjour,

    La duplication d’un événement fonctionne très bien, mais s’il y a des répétitions celles-ci ne sont pas dupliquées.
    Est-ce que cette fonctionnalité est prévue ?
    https://git.spip.net/spip-contrib-extensions/duplicator/issues/11
    François

    Répondre à ce message

  • 4
    Delaney

    Bonjour,
    Je m’aperçois que Duplicator n’est pas indiqué comme compaatible avec Spip 4.1, y a-t-il une raison structurelle à cela ?
    En attendant je vais essayer de modifier paquet.xml pour voir si ça passe.
    Merci !

    • Bonjour,

      J’ai testé le plugin avec SPIP 4.1 :

      • duplication d’un article : ça a l’air OK
      • duplication d’une rubrique : la rubrique est dupliquée, mais pas les articles qu’elle contient

      Testé avec et sans le plugin Déclarer le parent

    • Il n’y a normalement plus besoin de déclarer parent. Et je viens de tester en v4.1.4 avec le plugin v3.0.1 -> ca marche, mais par contre j’avais un bug dans mon cache SPIP privé suite à une mise à jour depuis une autre version de SPIP -> j’ai du faire un recalcul pour avoir l’affichage correct.

    • Au temps pour moi, je n’avais pas vu le 2e bouton [Dupliquer ce contenu et ses enfants].

      Donc, le plugin fonctionne sous SPIP 4.1.

    • Michel Suquet

      je confirme, il fonctionne avec la version 4.1.5.
      https://apmep-iledefrance.fr/

      Une mise à jour du plugin est-elle prévue ?

      Cordialement,

      Michel Suquet

    Répondre à ce message

  • 1

    Bonjour,
    Juste pour signaler un coquille dans le fichier duplicator_autoriser.php, ligne13
    if ($autorisation = lire_config("duplication/$quoi/autorisation")) {
    >> Il est écrit duplication au lieu de duplicator !
    Du coup la configuration des autorisations ne fonctionne pas ...
    Cordialement
    TG
    PS : le problème a été reconduit dans la branche compat_spip_4

    • Merci. C’est corrigé dans master + releasé en v2.0.10

      Et j’ai aussi mis pour compat_spip_4

    Répondre à ce message

  • 1

    Bonjour,
    Je constate que je n’arrive plus à dupliquer mes événements via ce plugin alors que pour les articles cela fonctionne correctement.
    Agenda 3.39.5
    Spip 3.2.12
    Cela fonctionnait il y a quelques mois de cela.

    Quand on clique sur le bouton « Dupliquer ce contenu », il ne se passe rien, pas de message d’erreur.

    Merci,
    JuL

    • Il me semble qu’il y avait un bug dans les version 3 d’agenda, corrigé dans les v4

    Répondre à ce message

  • Bonjour,

    Ce plugin très utile sera-t-il porté sur la version 4.0 de Spip ?

    Merci

    Répondre à ce message

  • Jean-Marc Vanel

    J’ai dupliqué cet évènement :
    https://www.linneenne-lyon.org/spip3/spip.php?article2022&var_mode=calcul
    mais le vrai URL ne marche pas : Erreur 404
    https://www.linneenne-lyon.org/spip3/spip.php?article2022

    SPIP 3.2.4 [24285]
    Duplicator 2.0.8 - stable

    Répondre à ce message

  • 5
    Jean-Marc Vanel

    J’ai dupliqué et modifié un article :
    https://www.linneenne-lyon.org/spip3/spip.php?article2022&var_mode=preview
    mais si on enlève &var_mode=preview , ça ne marche pas : Erreur - 404
    https://www.linneenne-lyon.org/spip3/spip.php?article2022

    SPIP 3.2.4 [24285]
    Duplicator 2.0.8 - stable

    • Bah tout semble montrer que le nouvel article n’est pas en statut publié. Cela la configuration du plugin, le statut peut être ou pas conservé. A vous de voir, et le cas échéant de publier.

    • Merci Maïeul ;
      Pour moi (blanc-bec Spip) le statut était publié après la duplication.
      J’ai fait la bascule « publié » => « en rédaction » => « publié »
      Ca n’a rien changé .

    • bah tu dois avoir un problème ailleur dans ton squelette du coup je pense ...

    • Ha oui , SarkaSpip qui est peu maintenu ...
      Je crois que je vais devoir faire du copier collé à la main.
      Pourtant le Duplicator avait marché il y quelques mois et on n’a rien changé à la config. ...

    • bah en fait je vois pas en quoi un copier-coller à la main changerait quoi que ce soit : un article publié doit être visible normalement côté public. S’il l’est pas c’est surement pas à cause du fait que c’est produit par duplicator...

    Répondre à ce message

  • Bonjour,

    Pouvez-vous me confirmer qu’il n’est pas possible de dupliquer un événement ?

    Bonne journée

    Répondre à ce message

  • 5

    il doit y avoir un bug dans votre plugin
    j’ai dupliqué 1 rub avec 2 s/rub
    sans aucun article ni mot clé
    ca marche bien, sauf que :
    une simple boucle comme :
    <BOUCLE_rub_art(RUBRIQUES){id_secteur=1}{titre=Articles}>
    ne ramène pas les rubriques racine (dans mon cas) qui ont des s/rub créées avec Duplicator
    Si je rajoute le critère tout elles apparaîssent.
    Comme si les s/rub n’avaient pas d’article (alors que j’en ai créé)
    Il faut savoir que j’utilise dans mes_options.php un code (de spip) qui publie les art automatiquement à la création.
    Ce qui est marrant, c’est que le fait de dépublier l’art et de le republier, les rubriques apparaissent
    J’ai fait plein de tests, qui confirment que le plugin est responsable
    j’ai tout supprimé les rubriques créées avec ton plugin et recréer tout à la main et ca fonctionne

    Voilà

    • Bonsoir.

      Par défaut, si une rubrique ne contient pas d’article, (et tu sembles indiquer que tu dupliques une rubrique vide), elle n’est pas publiée.

      Si la rubrique dupliquée contient des articles mais que la nouvelle rubrique n’est pas publiée, vérifie dans la liste des champs que tu indiques dans la configuration, que la colonne « statut » est bien renseigné. Le statut (qui doit contenir le mot « publié » dans la base de donnée) sera alors copié à l’identique de ta rubrique d’origine.

      A priori, ça devrait répondre à ta question.

    • Merci pour ta réponse
      en fait, quand 1 art est créé, il est automatiquement publié avec dans mes_options.php :

      $GLOBALS['spip_pipeline']['pre_insertion'] .= "|ma_fonction_pre_insertion";
      
      // Les nouveaux articles ou annonces seront automatiquement publiés si racine = 1; 
      function ma_fonction_pre_insertion($flux){
       if ($flux['args']['table']=='spip_articles' && $flux['data']['id_secteur'] == 1){
         $flux['data']['statut'] = 'publie';
       }
       return $flux;
      }

      Il se trouve que la rubrique reste en statut« prepa », ce qui explique le pb
      ton plugin n’est pas responsable (j’étais pas formel)

      connais-tu la ligne à ajouter pour mettre en même temps la rubrique de l’article en « publie »
      sinon je demanderais dans le forum de spip

      Merci d’avance

    • Tu dois demander à SPIP de publier ton article plutôt que de le faire toi même.

      Le plus propre est d’utiliser la fonction article_instituer :
      -  http://code.spip.net/autodoc/tree/ecrire/action/editer_article.php.html#function_article_instituer

      Le plus dégueu mais qui dans ton cas bien précis fonctionnera, sera de changement manuelle le statut de la rubrique de ton article en publié comme tu le fais pour l’article.

      Mais article_instituer est là pour ça :)

    • merci,

      en fait dans mon formulaire editer_article il doit y avoir une erreur ;
      car en utilisant celui de spip ca marche
      les lignes ajoutées dans mes_options ou la ligne :
      <input type='hidden' name='statut' value='publie' />
      ajoutée dans le formulaire editer_article forcent bien le statut « publie » dans les rubriques, en partant de la racine ...

      Merci

    • J’ai exactement le même problème que toi, avec le même code dans mes_options.php. Selon cette discussion tu as oublié duplicator pour tout faire à la main ou tu as changé le code php ? Je ne comprends pas. Merci

    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