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

  • 8

    n’est pas compatible spip 3.1.3

    • Bonjour Richard :) Et en étant plus précis ça donne quoi ?
      Il s’installe mais ne fonctionne pas ? Il ne fonctionne qu’à moitié ? Il ne s’installe pas ? Il donne des messages d’erreurs ? Il n’en donne pas ? etc.

    • Plugin incompatible
      je mets une photo jointe

      merci
      réponse rapide

    • Tu n’as juste pas installé la version compatible avec SPIP 3.1. En colonne de droite, fait bien attention à télécharger Duplicator 1.5.7 et non 0.3.0 ;-)

    • ah merci,
      mais c’était entre les 2 zip ;
      pas judicieux
      peut-être pas de ta faute

      en tout cas bravo, plugin utils, pratique ;

      peux-tu faire la même chose avec les auteurs et ce sera top

      car j’ai 1200 agents à créer

      Cordialement

    • merci

      super ca marche ; ca duplique bien l’arborescence, mais me la met à la racine et nom pas à l’emplacement initial.

      pour améliorer le tout, serait-il possible de choisir le nom de la rubrique comme destination, dans le formulaire

      merci

    • Après, ce n’est pas compliqué de déplacer une rubrique dans l’arborescence de spip...

    • merci bien

      mais j’ai 1200 rubriques à créer ; une rubrique par employé de l’établissement
      par contre pouvoir donner le nom de la rubrique serait bien ;
      chaque employé a une rubrique principale avec son no de matricule

    • Salut Richard.

      Cliquer 1200 fois sur Duplicator je ne pense pas non plus que ça soit idéal... Tu iras nettement plus vite à te faire une requête SQL pour faire tes rubriques et les insérer directement en base de donnée !

    Répondre à ce message

  • 2

    DUPLICATOR embarque des CSS pour rien !

    En cherchant à réduire la taille de mes pages, j’ai analysé les fichiers CSS embarqués,
    et j’ai découvert plusieurs jquery.ui.*.css assez volumineux.

    J’ai appris que ces fichiers font parti de JQUERY UI qui est fourni dans la dist de SPIP.
    Mais les fichiers sont embarqués dans le header QUE si un plugin en a fait la demande.

    Donc je regarde quel plugin est le coupable,
    et je tombe sur DUPLICATOR.
    Effectivement, si je désactive DUPLICATOR, les fichiers CSS ne sont plus embarqués dans l’espace public.

    1) En quoi DUPLICATOR a t’il besoin de JQUERY UI ?
    2) Et pourquoi JQUERY UI est-il embarqué dans l’espace public alors que DUPLICATOR n’est utilisable que dans l’espace privé ?

    • Hello,

      C’est le cas de pal mal d’autres plugins, c’est certainement car il utilise la pipeline d’insertion des plugin jquery sans faire le test pour l’espace privé, y’a la même pour le plugin selecteur_generique ...

      du coup la pipeline insère des deux cotés privé et public

      par exemple pour grappes et le composant draggable, je fais comme ça :

      /**
       * Pipeline jqueryui_forcer pour demander au plugin l'insertion des scripts pour .sortable()
       *
       * @param array $plugins
       * @return array
       */
      function grappes_jqueryui_forcer($plugins){
          if(test_espace_prive()){ // On envoie que si on est dans l'espace prive
      		$plugins[] = "jquery.ui.core";
      		$plugins[] = "jquery.ui.widget";
      		$plugins[] = "jquery.ui.mouse";
      		$plugins[] = "jquery.ui.sortable";
      		$plugins[] = "jquery.ui.droppable";
      		$plugins[] = "jquery.ui.draggable";
          }
      	return $plugins;
      }

      Après je dirais aussi que certains plugins impose leurs css via une insertion auto, dans INSERT_HEAD_CSS et oblige a surcharger par la suite, ce qui bien souvent ne m’arrange pas : on multiplie les rêgles css et selecteurs pour rien. Il faudrait pouvoir choisir depuis le plugin si oui ou non on veut inssérer les styles... comme ça le non-intégrateur profite d’une installation facilitée et les autres peuvent construire leur site et optimiser si l’envie leur en prends ;-)

      un plugin ou module css ne devrait fournir quasiement que les selecteurs ou class css vides, a titre de base et d’information... sans considération de design ou de thème (pas de border, background-color, ....), enfin c’est mon avis et ce qui collerais le mieux avec mes « habitudes de travail »

    • Salut. Effectivement ça ne devrait pas être côté public, très juste, à corriger donc.
      En revanche, jQuery UI est utilisé pour les messages d’alertes et de confirmation, donc indispensable.

    Répondre à ce message

  • 1

    Bonjour,

    Je souhaite dupliquer la majeur partie de mon site pour produire une version anglaise. Les articles dupliqués font appel aux mêmes images avec leurs titres et descriptions.
    Si je remplace le titre d’une image, il se remplace partout.
    Je suis donc obligé pour mes articles dupliqués de supprimer mes images de les re-importer.

    Y a t’il une solution pour avoir sur une même image deux versions des titres et descriptifs en fonction de l’article dans lequel elles sont appelées ?

    Ou de dupliquer aussi les images quand on duplique un article ?

    Merci

    Répondre à ce message

  • 1

    Avec la version 0.3.0 sur spip 2.1 : alors que je demande la duplication d’un article, un nouvel article est bien créé, mais vide de texte (ni titre, ni contenu). Par contre, les motclés sont bien dupliqués.

    • Salut JLuc. Je crois qu’effectivement les « champs par défaut » ne fonctionnent pas (ou ne fonctionnaient pas, ça fait longtemps que je n’ai pas vu un SPIP 2.1 :) ). Va simplement dans la configuration du plugin et force le nom des champs que tu souhaites voir dupliqués, ça devrait le faire :)

      Bonne journée !

    Répondre à ce message

  • 2

    Bonjour,

    Merci pour cet outil bien pratique ;)

    SPIP 3.1.0-rc [22564] + Duplicator 1.5.3 (configuration vierge : 1 rubrique + 1 article, pas d’autres plugins).

    J’ai constaté 2 soucis :

    • Si on duplique un article qui possède un logo : il y a un retour de page blanche, mais l’article est dupliqué correctement
    • Si on choisi l’option « Choisir les champs à dupliquer », l’article est bien dupliqué mais le TITRE de l’article n’est pas dupliqué : c’est dommage, ce devrait être le minimum de la copie, sinon on ne peut pas éditer l’article ;)))))) Il faut alors OBLIGATOIREMENT ajouter le champ SQL TITRE pour ne pas se trouver coincé !

    Merci,
    françois

    • ... c’est bientôt Noël : une liste de tous les champs SQL disponibles proposés avec des cases à cocher serait peut-être pas mal ;)
      Avec bien sûr le champ TITRE coché par défaut.

    • La fonction

      action_spip_image_ajouter_dist() 

      semble causer le souci.

    Répondre à ce message

  • 2

    Bonjour,
    Merci pour ce plugin qui s’avère très pratique dans certains cas.
    Mes 2 suggestions :
    -  Ajouter une option pour dupliquer les logos (Il y a une API depuis SPIP 3.0.1x me semble-t-il).
    -  Ajouter la duplication des évènements.

    Répondre à ce message

  • 8
    Guillaume

    Bonjour,

    Est-ce que le plugin fonctionne toujours ?
    J’ai tout essayé, mais jamais le bouton Dupliqué n’est apparu dans la colonne de Gauche.

    Pouvez-vous m’aider.
    Pourtant je suis en version 3 de Spip et j’ai récupéré la dernière version du plugin sur le SVN.

    Merci d’avance

    • Bonjour

      Il faut être WEBMESTRE.
      ADMINISTRATEUR n’est pas suffisant.

    • Bonne réponse, merci.
      Est-il possible, et si oui comment, d’étendre la capacité de dupliquer aux administrateurs, voire aux rédacteurs ?

      Merci beaucoup d’avance

    • OUI c’est possible.

      Comment ? en modifiant le code du plugin.

      Perso, pas trop le temps de m’y mettre mais je suggère à celui qui s’y attellera que cette possibilité soit configurable.

    • Bonjour,
      je viens d’effectuer une modification afin de gérer l’autorisation des administrateurs à utiliser la duplication. J’en ai profité pour que cela soit modifiable via la configuration.
      C’est a minima (nous avions juste besoin d’autoriser les administrateurs en plus des webmestres), mais facilement modifiable pour ajouter éventuellement les rédacteurs.

      Je ne sais pas du tout comment je dois procéder pour en faire bénéficier tout le monde !
      Envoyer les 3 fichiers impactés à l’un des développeurs serait le plus simple je pense :-)
      J’ai mis mon courriel si vous voulez me contacter directement.
      Bonne journée à tous.

    • Salut :)

      Le plus simple serait que tu commites directement ! En demandant un accès à SPIP Zone (http://zone.spip.org/trac/spip-zone/ => Comment Participer) :) Ca te permettrait de continuer de contribuer, éventuellement sur d’autres plugins.

      Mais oui, sinon tu peux envoyer les corrections à qui tu le souhaites ayant un compte sur SPIP Zone qui pourra alors les commiter à ta place.

      Bonne journée !

    • MERCI Oliv pour ta contribution

      Je fais la même réponse que xdjuj. Demande ton accès spip-zone et ainsi tu rejoindras la communauté des contributeurs.

      C’est vrai, cela demande un petit effort au départ (comprendre comment fonctionne la zone, etc.) mais quelle satisfaction de pouvoir apporter sa brique à l’édifice et sentir que l’on fait partie d’une noble entité !

      En passant, l’admin de spip-contrib pourra aussi t’ajouter en tant que Rédacteur, voir admin, de cet article. Tu pourras le modifier pour ajouter les nouvelles fonctionnalités.

      http://zone.spip.org/trac/spip-zone/

    • Merci à vous deux pour cette confiance :-)
      Je viens d’effectuer l’inscription et la demande, j’espère correctement !
      Dès que j’ai une autorisation, je regarde comment cela fonctionne pour déposer.
      A bientôt.

    • Salut, merci pour la fonctionnalité d’autorisation oliv, je viens de mettre à jour l’article avec une copie d’écran qui précise que c’est possible.

    Répondre à ce message

  • 2

    Bonjour,

    Merci pour ce plugin, tout est OK sur SPIP3.011.
    Est-il possible de l’adapter simplement à la duplication de brèves ?

    • Quentin

      Et pour la duplication d’évènement ? Ce serait possible ?

      Merci d’avance.

    • Merci pour l’outil !!.... Comme Quentin, est-il possible de le faire pour les événements ? Merci.

    Répondre à ce message

  • hello, la doc dit que la duplication d’article reprend les documents joints, mais ce n’est pas la cas.
    Une évolution est prévue ?

    Répondre à ce message

  • 1

    Bonjour,

    Est-il possible de limiter la présence du bouton « dupliquer cette rubrique » uniquement sur les rubriques secteurs ?
    Si oui, comment peut-on procéder ?

    • Salut :)

      En fait j’ai une version non commitée qui fait pas mal de trucs dans le genre... Et qui répond à des demandes précédentes. Cette version rajoute des fonctionnalités et fusionne également le plugin Vider rubriques...

      Là ce soir je peux juste te suggérer d’attendre un peu :)

    Répondre à ce message

  • 8

    Bonjour,

    Après dernière mise à jour du plugin en Version 1.2.0 SVN [68646] sous spip 3.05, duplicator ne fonctionne plus, pas de boite qui s’ouvre et il me crée un article vide

    Il s’agit d’une erreur jquery UI :
    TypeError : jQuery(...).html(...).dialog is not a function

    J’ai supprimé le plugin réinstallé et re-paramétré et vidé le cache mais rien n’y fait !

    J’ai testé sur un spip3 avec Duplicator et CFG seuls sans effets.

    Cordialement
    Luc

    • Oups... :)

      C’est normalement réparé j’ai commité un correctif. Dit moi si c’est ok.

    • Bonjour merci pour ta réactivité,

      C’est pas réglé, j’ai cette erreur :

      Erreur dans les plugins : /monchemin/plugins/auto/duplicator/v1.2.0/duplicator_pipelines.php

      Merci

    • Alors j’avoue que je ne sais pas trop comment fonctionne auto car je ne l’utilise jamais. Mais tu devrais être en 1.2.1 et non pas en v1.2.0 c’est peut être déjà un soucis.

      Sinon, voici le contenu des modifications que j’ai effecutées, si tu veux les répercuter à la main pour essayer ? (je n’ai pas testé là j’ai pas de quoi le faire)
      -  http://zone.spip.org/trac/spip-zone/changeset/68945

    • Bonsoir xdjuj,

      J’étais sur la bonne piste : http://contrib.spip.net/jQuery-UI-4180

      Sinon, il y a un s en trop à duplicator_pipelines dans le xml


      doit être

      J’ai corrigé à la main la boîte s’ouvre bien mais j’ai toujours une création sans copie !

      Cordialement

    • Flute

      la bonne syntaxe
      pipeline nom=« jqueryui_plugins » inclure=« duplicator_pipeline.php »

    • Oui effectivement, c’est une coquille pour le s, c’est corrigé et commité.

      Pour les copies vides, c’est un bug qu’on avait remarqué mais on avait pas fait gaffe plus que ça. Je viens de regarder, c’est le « par défaut » qui ne fonctionne pas, je t’invite (en attendant que ça soit corrigé) à spécifier manuellement les champs que tu souhaites, par exemple :

      -  articles : titre,descriptif,texte,surtitre,soustitre,url_site
      -  rubriques : titre,descriptif,texte,id_parent

      Ca fera la blague en attendant.

    • Si tu mets à jour avec la version 1.3.0 du plugin tout semble rentré dans l’ordre, car la solution que je te donne juste avant était aussi cassée sur la version 1.2.x du plugin.

      Normalement, là c’est tout ok, tu me confirmes que ça va mieux ?

    • Ce petit post pour te remercier xdjuj, plugin opérationnel le lundi matin !

    Répondre à ce message

  • Je viens de faire une grosse mise à jour sur le plugin pour SPIP 3. Nettoyage du code et simplification de l’ergonomie (confirmation par pop-in plutôt que par multi pages).

    J’ai mis à jour la documentation en conséquence (nouveaux screenshots).

    Joyeuses fêtes !

    Répondre à ce message

  • 1

    Bonjour et merci pour ce plugin qui vient de me faire économiser beaucoup de temps.

    Une petite suggestion pour une prochaine évolution : dupliquer également les champs extra.

    Il me semble que cela ne devrait pas être compliqué à implémenter car les champs extra ne sont que des champs (colonnes) supplémentaires pour chaque objet (articles ou rubriques). C’est juste une question de modifier un peu la requête mysql.

    • Bonjour

      Si cela intéresse l’auteur du plugin, j’ai développé la fonctionnalité qui permet de configurer les champs à dupliquer. D’ailleurs c’était en TODO dans le code. Du coup, cela permet de spécifier des champs extra. Je peux lui transmettre le code ou commiter sur la zone, au choix.

    Répondre à ce message

  • 1

    Une autre suggestion : dupliquer également les url, en ajoutant le n° de l’objet à la fin de l’url.

    • Bonjour

      Si cela intéresse l’auteur du plugin, j’ai développé la fonctionnalité de recopie des url. Je peux lui transmettre le code ou commiter, au choix.

    Répondre à ce message

  • Bonjour, formidable ce plugin !! Il fait très exactement ce dont j’ai besoin - pour gérer le calendrier des manifestations d’une asso qui refait pratiquement les mêmes chaque année. Mais une petite question : j’ai également des évènements dans certains articles (plugin agenda), sont-ils aussi dupliqués ?

    Merci encore pour ce superbe boulot ...

    Marc.

    Répondre à ce message

  • 2

    Bonjour,

    Il ya une petite modification à faire sur le fichier formulaires/duplicator_confirm.html à la ligne 2
    Remplacer naviguer par rubrique

    <p><a href="[(#URL_ECRIRE{naviguer}|parametre_url{'id_rubrique',[(#ENV*{message_ok}|table_valeur{cible})]})]" title="Rafraichir">[(#ENV*{message_ok}|table_valeur{type_retour})]</a></p>
    par
    <p><a href="[(#URL_ECRIRE{rubrique}|parametre_url{'id_rubrique',[(#ENV*{message_ok}|table_valeur{cible})]})]" title="Rafraichir">[(#ENV*{message_ok}|table_valeur{type_retour})]</a></p>

    • Petite précision : cela concerne la version du plugin pour spip 3

    • Effectivement les liens ont changé dans SPIP 3, c’est corrigé, merci :) (mais il ne fallait pas hésiter et commiter directement cette modification !!)

      Précision également, le répertoire V1 est désormais renommé branches/v0/ (il concerne la version v0.x du plugin, pour SPIP 2.x) et le dossier V2 est renommé trunk/ (et concerne la version v1.x du plugin, version pour SPIP 3.x).

    Répondre à ce message

  • 1

    Bonjour,
    Sous spip3, les champs extras ne sont pas dupliqués visiblement.

    • Je crois que ça n’est pas pris du tout en compte, il faudrait qu’on y jette un oeil c’est vrai, car en SPIP3 c’est devenu tellement facile et pratique que l’usage des champs extras est devenu terriblement courant :)

    Répondre à ce message

  • Une nouvelle version du plugin ajoute la fonction de duplication sur les articles, un nouveau bouton apparaît : « Dupliquer cet article ».

    Répondre à ce message

  • 1
    Guillaume

    Bonsoir. Merci pour cet excellent plugin !!!
    Juste un bémol : par défaut le plugin ne duplique pas les liens entre articles et documents.

    je propose donc cette petite modification dans le fichier action/dupliquer ajouter la fonction associer_documents : :

    function associer_documents($objet, $id_source, $id_dest){
    	// récupération des documents liés à l'article que l'on souhaite dupliqué
    	$champs = array('*');
    	$from = 'spip_documents_liens';
    	$where = array( 
    		'id_objet='.$id_source, 
    		'objet="'.$objet.'"'
    	);
    	$docs = sql_allfetsel($champs, $from, $where);
    	
    	// liaison des documents au nouvel article
    	foreach($docs as $doc){
    		$n = sql_insertq(
    			'spip_documents_liens',
    			array(
    				'id_document' => $doc["id_document"],
    				'id_objet' => $id_dest,
    				'objet' => $doc["objet"],
    				'vu' => $doc["vu"]
    			)
    		);
    	}
    }

    Et modifier ajouter la ligne suivante dans la fonction dupliquer_article() juste avant de retourner l’id du nouvel article :

    associer_documents("article", $article, $id_article);

    Et de même pour l’action dupliquer_rubrique() :

    associer_documents("rubrique", $rubrique, $id_nouvelle_rubrique);

    Encore merci. Très beau boulot !

    • Bonjour Guillaume :)

      Ca n’est pas un oubli :) Quand tu dupliques une hiérarchie complète, l’idée est souvent qu’elle contiendra un contenu différent. Les documents étant justement du contenu, si tu dois t’amuser à désassembler les documents... Ca prend du temps pour rien :)

      Typiquement si tu dupliques une arborescence d’une galerie photo, c’est que tu veux l’utiliser pour de nouvelles photos (sinon la duplication n’a pas de sens). C’est pour ça que Duplicator ne prend pas en compte les documents liés aux articles :)

      Pour tenir ce rôle, il existe déjà le plugin DocuCopieur : http://www.spip-contrib.net/DocuCopieur-copieur-de-documents

      Ton code pourrait en revanche être optionnel, pour les cas particuliers que tu sembles utiliser, avec une checkbox « conserver les documents attachés » :)

      Bonne journée et merci de ton retour ! :)

    Répondre à ce message

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

      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

      $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

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