SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

273 Plugins, 191 contribs sur SPIP-Zone, 131 visiteurs en ce moment

Accueil du site > Administration et BDD > Duplicator > Plugin Duplicator

Plugin Duplicator

3 janvier 2010 – par xdjuj – 25 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

15 votes

Duplication de rubrique et de ses contenus pour SPIP 2

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.

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

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

En images

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

Au clic une confirmation est attendue.

Après validation, un message confirme la création de la nouvelle rubrique.

La nouvelle rubrique est créée, contient la même hiérarchie que sa rubrique soeur, les articles ont conservés leur statut et leur contenu.

Elles sont toutes les deux sur le même niveau hiérarchique.

Incompatibilité

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).

Améliorations

-  Rajouter des logs (spip_log) c’est sûrement plus propre
-  Restreindre aux administrateurs
-  Faire le distingo dupli article/rubrique (ouvrir la possibilité de ne copier QUE un article, dans ce cas changer le titrage dans colonne de gauche)
-  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)

Retour en haut de la page

Vos commentaires

  • Le 5 juin 2011 à 13:04, par phil En réponse à : Plugin Duplicator

    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

  • Le 10 mars 2011 à 19:20, par Guillaume En réponse à : Plugin Duplicator

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

    1. function associer_documents($objet, $id_source, $id_dest){
    2.         // récupération des documents liés à l'article que l'on souhaite dupliqué
    3.         $champs = array('*');
    4.         $from = 'spip_documents_liens';
    5.         $where = array(
    6.                 'id_objet='.$id_source,
    7.                 'objet="'.$objet.'"'
    8.         );
    9.         $docs = sql_allfetsel($champs, $from, $where);
    10.        
    11.         // liaison des documents au nouvel article
    12.         foreach($docs as $doc){
    13.                 $n = sql_insertq(
    14.                         'spip_documents_liens',
    15.                         array(
    16.                                 'id_document' => $doc["id_document"],
    17.                                 'id_objet' => $id_dest,
    18.                                 'objet' => $doc["objet"],
    19.                                 'vu' => $doc["vu"]
    20.                         )
    21.                 );
    22.         }
    23. }

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

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

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

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

    Encore merci. Très beau boulot !

    • Le 11 mars 2011 à 08:34, par xdjuj En réponse à : Plugin Duplicator

      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

  • Le 10 février 2011 à 23:59, par Birdy En réponse à : Plugin Duplicator

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

    • Le 11 février 2011 à 09:41, par xdjuj En réponse à : Plugin Duplicator

      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... :)

    • Le 11 février 2011 à 14:28, par Birdy En réponse à : Plugin Duplicator

      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

  • Le 17 janvier 2011 à 16:19, par Chris En réponse à : Plugin Duplicator

    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

    • Le 17 janvier 2011 à 16:29, par xdjuj En réponse à : Plugin Duplicator

      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

  • Le 19 décembre 2010 à 20:41, par Pi r En réponse à : Plugin Duplicator

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

    • Le 17 janvier 2011 à 16:29, par xdjuj En réponse à : Plugin Duplicator

      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

  • Le 13 avril 2010 à 09:29, par Nico En réponse à : Plugin Duplicator

    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

    • Le 13 avril 2010 à 09:36, par xdjuj En réponse à : Plugin Duplicator

      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

    • Le 13 avril 2010 à 11:19, par Nico En réponse à : Plugin Duplicator

      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.

    • Le 13 avril 2010 à 11:23, par xdjuj En réponse à : Plugin Duplicator

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

    • Le 13 avril 2010 à 12:04, par Nico En réponse à : Plugin Duplicator

      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 !

    • Le 13 avril 2010 à 12:34, par xdjuj En réponse à : Plugin Duplicator

      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

  • Le 14 février 2010 à 15:36, par fleg En réponse à : Plugin Duplicator

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

    • Le 14 février 2010 à 15:41, par XD En réponse à : Plugin Duplicator

      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 ? :)

    • Le 17 février 2010 à 15:59, par fleg En réponse à : Plugin Duplicator

      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.

    • Le 22 février 2010 à 03:14, par ? En réponse à : Plugin Duplicator

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

    Répondre à ce message

  • Le 12 février 2010 à 12:12, par ? En réponse à : Plugin Duplicator

    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

    • Le 14 février 2010 à 15:39, par XD En réponse à : Plugin Duplicator

      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

  • Le 12 février 2010 à 09:06, par ? En réponse à : Plugin Duplicator

    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

    • Le 12 février 2010 à 10:05, par XD En réponse à : Plugin Duplicator

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

    Répondre à ce message

  • Le 10 janvier 2010 à 13:16, par Loiseau2nuit En réponse à : Plugin Duplicator

    Aaaaaleluhiah, Dieu m’a entendu ! :-D

    Merci XDjuj :D

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Brownygreen

    3 février – <blink style='color:red;'>public|spip|ecrire:commentaire</blink>

    Un thème simple de couleur marron et vert, en largeur fixe, constitué de 2 colonnes avec une en-tête facilement personnalisable. Présentation Adaptation de Versatility par E-cosystems. Si vous utilisez le plugin Menus, une navigation principale (...)

  • Corbeille

    2 novembre 2008 – 27 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Un plugin pour retrouver les éléments supprimés dans la corbeille.

  • Formulaire de contact libre

    27 avril 2011 – 35 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Dans SPIP il n’y a pas un formulaire de contact, mais autant de formulaires de contact que d’auteurs. Cette phrase de Romy, dans son article Une page de contact dans mon SPIP, pointe un petit manque de SPIP. La possibilité d’insérer rapidement un (...)

  • Typographie avancée

    3 mars 2010 – <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    « Typographie avancée » active automatiquement un grand nombre d’automatismes destinés à affiner la typographie des textes produits par SPIP. Nécessite PHP 5 au minimum. « Typographie avancée » est l’adaptation, pour SPIP, de la classe « PHP Typography », (...)

  • Plugin Convertisseur

    24 février 2008 – 15 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Convertit différents formats d’articles (wiki, docx, pdf, etc..). en format SPIP (texte avec les raccourcis typographiques SPIP)