Plugin Duplicator

Duplication de rubrique et de ses contenus, et duplication d’articles pour SPIP

Fonctionnement

Ce plugin permet de dupliquer une rubrique et son contenu depuis l’espace privé en ajoutant un bouton dans la navigation de gauche dans l’espace privé des rubriques.

Il permet également de dupliquer un article en ajoutant un bouton dans la navigation de gauche de l’espace privé des articles.

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’icone de configuration.

Elle n’est volontairement plus disponible depuis le menu de Configuration, car en principe, la configuration n’a lieu qu’un fois, il n’est donc pas nécessaire de surcharger le nombre de boutons dans ce menu pour si peu.

La configuration permet de faire apparaître le bouton de duplication sur les rubriques et/ou les articles.

Il est également possible de choisir spécifiquement le nom des champs SQL à dupliquer pour les rubriques ou pour les articles. Si aucun choix n’est fait, les champs par défaut de SPIP sont conservés.

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.

Incompatibilité - SPIP 2

Avec SPIP Sondage qui s’immisce dans le fonctionnement... ??

fille.id_lettre AS id, maman.id_secteur AS secteur FROM spip_sondages AS fille, spip_rubriques AS maman WHERE fille.id_rubrique = maman.id_rubrique AND fille.id_secteur <> maman.id_secteur 
Unknown column 'fille.id_lettre' in 'field list'

Il convient donc de désactiver SPIP Sondage avant duplication (et de ne pas oublier de le remettre ensuite... :p).

Autorisations

A partir de la version 1.5.0 (août 2014), il est possible de préciser qui a le droit de dupliquer comme le montre l’écran de config ci dessous

Authorisations sur le plugin SPIP Duplicator

Améliorations


-  Corriger le redirect à la fin de l’action, qui ne renvoie actuellement pas sur l’objet créé
-  Permettre de restreindre aux administrateurs et/ou webmestres depuis la config
-  Prendre en charge les traductions liées qui ne sont pas dans le même dossier (en cas de rubricage racine : langue1/langue2, suivre les liens entre articles pour dupliquer les rubriques « liées »). (déjà réalisé dans une version déviée du plugin)

Dernière modification de cette page le 13 février 2019

Discussion

28 discussions

  • 2

    Un seul mot : Nickel  !
    Je fais des sites multilingue (3, 4, voir 5 langues) et le gain de temps qu’offre ce plugin est considérable !
    Donc bravo, riche idée, et bon boulot !

    Juste une idée amélioration (surtout pour les sites multilingues basés sur des secteurs de langue) :
    Profité de la copie de l’article pour associer le lien de traduction.
    L’algo serait (corrigez-moi si besoin) :

    si l’id_trad de l’article source n’est pas vide :
    → copier aussi l’id_trad
    sinon
    → updater l’id_trad de l’article source avec son propre id_article
    → mettre se même id_article dans l’id_trad de l’article créé
    

    Je vais essayer de le faire, mais je connais pas trop le coté framework de SPIP.
    Ou si quelqu’un d’aguerri se sent motivé...

    • Salut Birdy.

      Normalement j’ai déjà fait une version multilangue de ce plugin pour mes besoins (c’est d’ailleurs cette version qui a motivé mes besoins). Mais c’était pas simple d’offrir les deux comportements en même temps.

      Je recherche où je l’ai foutu et si ça correspond et je reviens vers toi. N’hésite pas à me relancer mes journées sont plutôt denses... :)

    • j’ai fait quelque modif, ça a l’air de marcher :
      Dans action/dupliquer.php , dans la fonction dupliquer_article() :

      juste avant le foreach ($champs_dupliques as... (vers la ligne 33), j’ai ajouté

      1. if ($infos[0]['id_trad']<1) $infos[0]['id_trad'] = $infos[0]['id_article'];

      et après $maj_statut_article = sql_updateq(... (vers ligne 50), ajout de

      1. $maj_lien_trad = sql_updateq("spip_articles", array('id_trad'=>$infos[0]['id_trad']), "id_article=".$article);

      Ça serait mieux de mettre une case à cocher « faire lien de trad » dans le formulaire et mettre ces lignes derrières un IF

    Répondre à ce message

  • 1

    XDjuj soit béni sur 10 générations, ton plugin viens de me faire gagner des heures de boulots !

    Merci merci merci !!!!!!!

    Je t’offre un restau si tu passes par Grenoble un de ces 4.

    :D

    • Trop tard... J’étais pas loin la semaine dernière mais là c’est trop tard...

      :p

      Ravi que ça serve, mais je ne l’ai pas testé sur les dernières versions de SPIP, j’espère qu’il n’est pas cassé.

    Répondre à ce message

  • 1

    hello, les documents attachés ne sont pas pris en compte est-ce le fonctionnement normal ? (2.1.2)

    • Je crois qu’ils devraient l’être. La duplication de document est basée sur celle du plugin Docu Copieur. As-tu une erreur particulière ?

    Répondre à ce message

  • 5

    Bonjour,

    J’ai installé le plugin, les nouveaux boutons s’affichent bien, mais quand je clique sur ’dupliquer la rubrique’ j’ai le message d’erreur suivant :

    Error...
    File not found : duplicator

    Une idée ?

    Spip 2.0.5 avec les plugins suivants :
    Boutons d’administration supplémentaires,
    changurl,
    Duplicator

    Le tout en local avec EasyPHP.

    Merci d’avance,

    Nico

    • Là comme ça non je n’ai pas d’idée :)

      Mais je note que tu es en SPIP 2.0.5 et Duplicator avait été codé sous SPIP 2.0.10 (ou 2.0.8 je ne sais plus)

      Peut être peux-tu en profiter pour mettre ton site à jour ?
      => http://www.spip-contrib.net/Alerte-securite-SPIP-nouvelle

    • Merci pour ta réponse rapide, et pour tes conseils.

      Je vais upgrader.

      Pour info : ton plugin va me servir à dupliquer l’arbo complète d’un site pour une gestion multilingue. Enorme gain de temps. Grand merci.

    • Fait bien des backups SQL de ton site avant, sait-on jamais :)

      Je l’ai fait pour mon besoin, j’en ai deux versions, j’espère que ça fonctionnera comme tu l’attendais :)

      En revanche, tu devras tout de même refaire tes liens de traduction, que le plugin ne pourra pas inventer.

      Bonne journée :)

    • Upgrade effectué en spip 2.1.0
      Le plugin fonctionne parfaitement.

      Pour le multilingue : je ne fais pas de liens de traduction. J’utilise la technique suivante :
      http://www.paris-beyrouth.org/tutoriaux-spip/article/des-liens-entre-rubriques

      Merci !

    • Technique de 1.8 ;-) Mais fonctionnelle :)

      En tout cas c’est une bonne chose d’être passé en 2.1 :)

      Contant que ça ait marché ! :)

    Répondre à ce message

  • 3

    sous spip 2.0.10 j’ai rien qui s’affiche !
    J’utilise les plugins :
    Acces Restreint
    Le Couteau Suisse
    SPIP Bonux

    • Ca veut dire quoi : « j’ai rien qui s’affiche » ? :)

      Est-ce qu’il fait beau ? Où ? Quand ? Comment ? A quelle occasion ? Avec qui ? La tarte est froide !

      Non ? :)

    • Oops, désolé !
      Quand je suis sur une rubrique (ou un article) je n’ai aucun bouton « dupliquer » ! Que ça soit en modification ou pas de la rubrique !
      Le plugin est pourtant installé (en auto).
      F.

    • Es-tu loggué en tant que webmasteur ? L’opération de duplication n’est accessible qu’aux webmasteurs du site :)

    Répondre à ce message

  • 1

    Non en fait c’est bon, autant pour moi, à force de tester 1000 trucs j’avais oublié d’activer le plugin, comme un newb.

    Par contre sur SPIP TRAC il est dit que la profondeur de duplication est figée (profondeur figée (2)) alors que dans l’article, à moins que je sois passé à côté, rien n’est dit à ce sujet.

    Par contre ca ne dupliquer pas les éventuels documents associés si ? Au pire je me pencherais sans doute sur la question la semaine pro, ça m’intéresse fortement

    • Spip Trac ? :)

      Non elle a été figée quand j’ai commité le plugin, et 1h plus tard elle l’était plus, c’était dans la todo liste et je l’ai fait tout de suite :)

      Pour les docs... Je ne sais plus, pour les logos oui. Mais pour les documents :
      -  Mediatheque te permet de LIER un document (unique) à plusieurs articles (ce qui évite la duplication = mieux)
      -  DocuCopieur (plugin) s’en charge très bien lui même :)

      Du coup, est-ce vraiment nécessaire de dupliquer les documents ? A la base, c’est plus pour répercuter une hiérarchie de fonctionnement que du contenu réel, le contenu lors de la duplication ayant vocation a être effacé, les documents sont du contenu :)

      La question se pose donc... :) Pas sûr qu’il faille le faire ! :)

    Répondre à ce message

  • 1

    Sur le papier c’est juste parfait, mais dans les faits le plugin ne fait même pas mine de s’affiche chez moi : aucune icône n’apparaît sur mes rubriques.

    Pour infos j’ai les plugins suivants :

    CFG
    CKeditor
    Couteau Suisse
    Spip Bonux
    Thickbox
    Champ Extra 2
    Facteur
    Multidomaines
    SPIP Formulaires
    SPIP Surcharges

    • Déjà je vois SPIP Surcharge dans la liste ;-) Et quelle est la version de SPIP ?

    Répondre à ce message

  • Aaaaaleluhiah, Dieu m’a entendu ! :-D

    Merci XDjuj :D

    Répondre à ce message

Ajouter un commentaire

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