Nouvelle version - Modération de modifications

Ce plugin permet d’étendre le processus de validation des modifications d’un article au cas d’un article déjà publié en ligne. Il permet aux rédacteurs de reprendre le texte de l’article publié, disponible dans un article temporaire (en-cours de rédaction) qui prendra la place de la version publique, en conservant le même id_article, lors de sa validation par un administrateur.

Principe

Cette fonctionnalité permet de :

-  Modérer a priori les modifications proposées d’un article publié en ligne
-  Archiver la version antérieure complète de l’article une fois la modification validée par un administrateur.

Des rédacteurs peuvent donc reprendre et modifier un article en ligne (tout le monde peut créer une nouvelle version d’article) avec ses liens et documents, mais seuls des administrateurs peuvent publier cette version modifiée, qui remplacera alors totalement la version originelle.

Installation

Ce plugin s’installe comme tous les plugins ; vous le trouverez dans la Gestion des plugins.

Ce plugin reprend le plugin duplicator pour la partie duplication d’article.
(11/11/14) : la version 2.1 évite désormais l’écueil d’un préfixe identique à duplicator.

La partie « remplacement et publication » est écrite ex-nihilo.

Fonctionnement du plugin

Le plugin utilise un nouveau champ ’version_of’ dans la table articles.

1. Un nouveau bouton apparait dans la zone de contrôle de l’article affiché avec la mention « Nouvelle Version » [1]

2. Un message d’alerte précède la duplication de cet article, sous un nouvel ID d’article ’encours de rédaction’. L’opération est irréversible car c’est un insert en base.

3. Une fois l’alerte approuvée, un message s’inscrit après la création de la nouvelle version de l’article, et propose de se rendre sur la nouvelle version.

4. La nouvelle version est maintenant un article accessible et ’en cours de rédaction’. On note qu’il s’agit d’un article avec un nouvel ID mais avec le contenu de l’article publié. On peut modifier tranquillement cet article sans toucher à l’article en ligne. Une fois les modifications apportées et si on est administrateur avec le droit de publier sur le site, on peut choisir de « Publier cette version » comme le montre le nouveau bouton dans la zone de modification de statut de l’article.

Sur l’article d’origine

Voici ce qu’en verrait un administrateur sur l’article d’origine : noter le renvoi vers la version en-cours pour modifications

 

 

 

 

 

 

5. Au clic sur le bouton « Publier cette version » , on est prié d’en confirmer la publication :

6. La version en cours de rédaction est alors republiée dans l’article en ligne, en reprenant l’ancien ID.

7. En cliquant le lien vers l’article publié, on notera que l’id du message n’a pas changé, mais que les textes eux, sont à jour.
La version antérieure est mise à la poubelle.
(11/11/14) : Désormais, si le plugin ciarchive est activé, la version antérieure de l’article est archivée.

Améliorations ultérieures

/// Ajouts du 11 février 2012///

Suite à demandes pertinentes postées sur le forum de spip-contrib, plusieurs modifications ont été apportées :
-  J’ai limité à une seule version en cours d’édition pour un article donné.
-  J’ai ajouté des liens de la version vers l’original et de l’original vers la version en cours d’édition.
-  J’ai ajouté des icônes supplémentaires différenciant chaque bouton clairement.
-  La création d’une nouvelle version n’est proposée que si l’article en cours est publié.

// Ajouts du 11 novembre 2014 //
V2.1 :
-  Changement de préfixe (duplicator -> versioning)
-  Changement de certains libellés (plus explicites)
-  Prise en compte de la présence de ciarchive pour archiver les articles au lieu de les mettre à la poubelle
-  Indentation plus soignée :/ .. merci Ybbet

V3.0 :
-  Nouvelle version compatible SPIP3

// Ajouts du 22 janvier 2019 //
V3.2.1 :
-  Saut quantique avec une version compatible 3.2, carrément.. (ok c’est pas trop tôt ...)
-  Page de configuration de 2 modes de gestion des auteurs : l’auteur de la modification reste seul auteur de l’article modifié, OU l’auteur de la modification s’ajoute à la liste des auteurs précédents
-  Gestion des documents dans l’article dupliqué !! Attention toutefois, on duplique les liens en base, mais la modifications des attributs d’un documents sur l’article en cours de modification se retrouvent sur le document de l’article en ligne. La fonctionnalité toutefois permet de supprimer et/ou d’ajouter des documents dans l’article dupliqué.
-  Il manque encore la gestion du Logo qui n’est pas dupliqué... A vot’ bon coeur si ça vous dit :)

// Ajouts du 6 novembre 2022 //
Version 4.1.0

Compatibilité SPIP4.0 et SPIP4.1
-  prise en compte des nouvelles fonctions et de la dépréciation de certaines autres.
-  Page de configuration plus conforme au design SPIP4
-  Nouvelles icônes par @Graphie - merci !
-  Bug sur les mots-clefs répliqués corrigé (on peut désormais ajouter ou supprimer des mots clefs dans l’article en cours de rédaction, et c’est bien repris une fois publié)
-  Passage à .. ’stable’ ! après 10 ans de rôdage \o/ Poke @JLuc

Notes

[1« Proposer des Modifications » a remplacé « Nouvelle version » pour plus de clarté.

-  J’ai développé ce plugin suite à une migration depuis le fork antédiluvien « SPIP-Agora », dont il reprend la fonctionnalité fort utile « Nouvelle version » et qui permet de modérer les modifications d’un article en ligne.
-  Le plugin est développé sur la zone git : https://git.spip.net/spip-contrib-extensions/nouvelle_version

Voir aussi : Le plugin propositions_modifications permet de proposer des modifications (via scripts) sur des contenus SPIP, sans les appliquer directement.

Discussion

17 discussions

  • 3

    Bonjour,

    Merci pour un excellent plugin pour une propre modification des articles publiés. Avec des fichiers de langue, mais malheureusement je trouve plusieurs textes codés en dur. Merci pour le corriger dans une prochaine version !

    Cordialement

    • Bonjour,

      j’ai l’impression que l’auteur du plugin n’est pas très actif.

      Cependant, vous pouvez effectuer vous mêmes ces modifications en demandant un accès à la zone, l’espace de développement des plugins de SPIP (ou bien m’envoyer vos corrections par email, et je ferais moi les modifications sur la zone).

    • Maïeul,

      Je préfère le dernier, parce qu’il me manque d’expérience avec le SVN.
      Ou puis-je déposer le zip ?

      Cordialement

    • m’envoyer par courriel (monprenom@monprenom.net). Je pourrais m’en occuper ce week-end, pas avant.

    Répondre à ce message

  • 3

    Bonjour,
    Pensez-vous publier un version pour Spip 3.1 ? Je cherche à intégrer la fonctionnalité que propose votre plugin sur mon site, mais n’en trouve aucun autre qui le permette...

    • Bonjour,

      je ne suis pas l’auteur du plugin, mais je peux potentiellement vous aider.

      Dans le fichier paquet.xml du plugin, modifiez

      compatibilite="[3.0.0;3.0.*]"

      par

      compatibilite="[3.0.0;3.1.*]"

      Cela vous permettra ensuite d’activer le plugin. Il faudra alors vérifier qu’il fonctionne bien. Si tel est le cas, me prévenir, et je modifierai la version distribuée.

    • Merci de votre aide.
      Cela semble bien fonctionner !

    • je viens donc de modifier le fichier, pour que les gens puisse connaître cette compatibilité.

    Répondre à ce message

  • 6

    J’avais prévu d’utiliser.... je recommence !

    Avant meme d’utiliser, je livre des interrogations à la lecture de la page :
    -  le changement des versions n’est pas « limpide » a comprendre, malgré les précisions de Valéry
    -  qu’en est-il des dates de publications, et des documents liés (avec ou sans Mediathèque)
    -  qu’en est-il des auteurs précédents... sont-ils repris /
    peuvent-ils toujours intervenir a plusieurs sur la rédaction en-cours ?? ?
    _(la réponse est NON dommage pour le collaboratif : ce serait presque un « bug »
    contraire au droit d’auteur français !)

    C’était les questions « avant usage »...
    Et comme j’ai pas terminé ce msg avant de commencer à utiliser :
    un p’tit souci !!

    Premier usage, et
    finallement je ne veux pas de cette duplication, je ré-écris dans cet article un tout nouveau contenu, qui doit être publié « a-coté » de l’article d’origine...et que je publie dans la foulée [1]

    Cela marche, mais comment me débarrasser du lien excédentaire qui reste a trainer « Publier cette version » ??
    Ah  ! fallait pas faire comme cela ?? Ben désolé, mais j’savions point !!

    Voila ; à suivre...

    • Bonjour,

      Merci pour avoir pris le temps de faire un retour sur ce plugin, malgré l’utilité limitée que vous lui avez trouvée :))
      Pour les questions :
      -  Ce n’est effectivement pas limpide, ça correspondait à une demande très précise dans le cadre de la reprise d’un workflow Agora ’immuable’ (J’ai moi même eu du mal à en mesurer l’importance au début ...)
      -  Les documents liés et leur date de publication ne sont pas touchées. Il est juste fait une entrée en base de l’association id_article<->id_document . Pour la Médiathèque, je ne pense pas, je n’ai jamais utilisé ce plugin
      -  Les auteurs précédents ne sont pas repris, et effectivement je vais regarder comment permettre à l’auteur antérieur. Dans mon cas, les auteurs sont tous administrateurs restreints à la même rubrique, donc le problème ne se pose pas.
      Si je comprends bien, vous dites qu’un rédacteur ayant créé l’article n’a plus accès à la nouvelle version créée .. C’est très bloquant en effet, je regarde pour un correctif et vous tiens informé d’une mise à jour dans ce sens.


      Pour le problème d’usage, vous avez plutôt l’air de vouloir créer un nouvel article. Dans ce cas pourquoi s’embarrasser de ce plugin ? Cependant, je suis aussi pour le droit au changement d’avis inopiné :) ... du coup, l’ajout d’un bouton ’Détacher et publier’ (on peut disucter du libellé :)) conviendrait-il ?

      Merci encore pour vos commentaires...

    • Bonjour,

      je reviens sur la discussion de ce plugin suite à un echange sur la liste spip-dev....

      en reprenant lecture de la documentation, le comportement de ce plugin (que j’avais oublié) me serait presque parfait, si.... il était possible de configurer un vrai « remplace en base » pour l’administrateur qui validera la publication du nouvel article.

      En effet, utilisant beaucoup les liens directs internes, raccourcis en NN, l’écriture d’un nouvel article destiné à remplacer un article publié (donc déjà existant et utilisé dans biens d’autres en interne), obligerait à une recherche et correction de tous les « liens vers contenus » (feu le plugin de Nicolas H.) qui n’a pas suivi SPIP 3.

      De plus, cela ferait perdre les liens externes de référencement des moteurs de recherche, dès lors qu’ils ne seraient pas uniquement fondé sur le titre, mais sur une URL plus ou moins composée à partir de l’ID_ARTICLE (dans mon cas, sur SPN ).

      Ce qui amène à imaginer une deuxième option de configuration avancée : pour interdire éventuellement de modifier le titre de l’article initial !

      YannX

      PS comme j’ai progressé sur la programmation des plugins, je vais regarder la possibilité de coder mes idées dans une version dérivée ; et alors peut-etre, la proposer pour SPIP 3 si quelqu’un le reporte d’abord en branches et trunk pour SPIP2 et SPIP 3 (merci).

      Car c’est un vrai besoin pour un travail de rédaction collaborative (et non seulement coopératif cf. la distinction établie ici), sauf à totalement éliminer le work-flow traditionnel de SPIP

      Peut-etre lui-faudrait-il un nom plus parlant (j’y suis revenu en passant par google et ce lien Remplacement-du-plugin-Duplicator, alors meme que ’Nouvelle version - Moderation de modification etait la première proposition de la page google !

      • Modificator
      • Reredactor (ou Re-rédaction ?)
    • Bonjour,

      Merci pour votre retour. Je suis absolument ravi que ce plugin puisse être encore utilisé, et je suis prêt à m’y recoller si le besoin se fait sentir.

      J’ai cependant du mal à comprendre ce que vous entendez par ’un vrai remplace en base’ ... je ne pense pas que vous fassiez référence à REPLACE en SQL. Le comportement que vous évoquez est normalement celui du plugin. En, effet, afin d’éviter les mises à jour fastidieuses des liens vers un nouvel article, le plugin garde le même identifiant de l’article modifié. En effet, et c’est tout l’objet du plugin, la nouvelle version de l’article se présente dans un premier temps comme un article avec un nouvel ID. Mais, quand l’administrateur valide la publication, tous les contenus (et le liens documents, mots clefs .. ) de l’article modifié viennent bien remplacer les contenus de l’article à modifier, qui conserve donc bien son ID.

      Peut-être que je ne comprends pas bien votre requête, et je vous prie de m’en excuser par avance, mais si c’est le cas, merci de tenter une nouvelle fois de m’expliquer :)

      Pour le nom, je suis ouvert à tout .. mais j’ai des doutes sur ’remplacement de duplicator’ :) car c’est pas vraiment la même chose .. avez vous d’autres suggestions ?

      Enfin, pour la version SPIP3, je vais m’y atteler, etvoir aussi si qqun n’y a pas déjà pensé ..

      merci encore pour vos retours, et votre utilisation de ma modeste contribution.

      fwd

    • La version Spip3 est dispo.

      A l’écoute de vos retours avisés.. en attendant une doc digne de ce nom :)

      fwedboot

    • Hello, sur la zone ça serait un plus

    • Hello,
      Il est sur la zone, j’ai mis le lien au bas de l’article..

      ou alors je comprends pas ce que tu as voulu dire..

    Répondre à ce message

  • 2

    Bonjour,

    En faisant une recherche sur le Plugin Versioning (cf. http://plugins.spip.net/versioning.html ), je suis tombé sur ce présent plugin.
    En vue des différents commentaires me précédant, il semble qu’il y ait un fort intérêt encore aujourd’hui pour ce plugin. (Personnellement, j’en ai besoin). Tout va donc super bien ! Jusqu’à moment où… patatra ! En regardant les fichiers sur la zone, je me rends compte que le prefixe de ce plugin n’est pas « nouvelle_version » ou encore « versioning » comme son « prédécesseur » mais « duplicator »… et là, il y a un problème : http://plugins.spip.net/duplicator.html
    Il y a un doublon dans le préfixe.

    Même s’il y a antériorité du présent plugin… Etant donné que ce plugin duplicator est déjà généré et distribué sur plugins.spip.net, ne peut-on pas imaginer changer le prefixe pour « versioning » ?

    • Hello,

      merci pour ce retour .. effectivement, ,c’est pas terrible .. c’était un hommage à Duplicator, mais plutôt mal placé .. j’ai fait une version avec versioning en préfixe, je viens de la tester avec succès, mais auriez vous l’amabilité d’en être un autre beta testeur avant que je ne la mette en ligne pour remplacer la précédente ?

      Je vous l’envoie par mail pour ne pas brouiller le workflow de contrib, et mettrai à jour le package (zip + svn) dès que j’aurai votre confirmation que tout va bien, si cela vous convient.

      Bonne soirée,

      fwedboot

    • La mise à jour 2.1 règle le souci.

      merci !

      fwdboot

    Répondre à ce message

  • 3

    Les articles constituants les anciennes versions sont ils intégrés dans l’outil « Historique des modifications » des articles de SPIP ?
    L’idée c’est de savoir si on peut gérer les différentes versions d’un même article (revenir à une version antérieure, voir les modifs entre 2 versions...) avec l’outil natif de SPIP lorsque l’on utilise ce plugin...

    • Bonjour,

      La nouvelle version rentre dans l’outil d’historisation des modifications de SPIP de l’article original.
      C’est à dire qu’on peut tout à fait voir les modifications avec la version antérieure.

      Cependant, je ne savais pas que l’outil natif de spip permettait, outre la comparaison, le retour à une version antérieure.
      Avec mon plugin, la procédure pour revenir à une version antérieure créée à l’aide de ce plugin, est la suivante :

      -  Aller sur la version à remettre en ligne qui doit avoir le statut ’à la poubelle’
      -  Le repasser en ’en cours de rédaction’, le bouton ’publier cette version’ réapparait.
      -  Cliquer ’publier cette version’
      -  et voilà ...

      Si il existe effectivement un moyen via l’outil natif de spip de revenir à une version antérieure, ce doit toujours être possible car j’ai intégré le plus complètement possible les actions aux fonctions intégrées de SPIP.

      N’hésitez pas si vous avez besoin de précisions ou si je ne suis pas clair :)

      fwedboot

    • Valéry

      La fonctionnalité n’est pas explicite dans l’interface : mais en cliquant sur une version antérieure puis sur « modifier cet article » on se retrouve dans l’interface d’édition avec le contenu de la version antérieure. Enregistrer cette page publie la version antérieure à la place de la version actuelle (je viens de tester la manipulation dans 2.1). En revanche je ne retrouve plus dans l’historique le contenu ainsi écrasé. La manipulation proposée avec votre plugin me semble donc préférable.

    • Valéry

      Notons que SPIP 3.0 propose désormais un joli bouton « Restaurer cette version ».

    Répondre à ce message

  • Super, cela fait plaisir de voir que les quelques avantages qu’avait SPIP Agora à l’époque viennent petit à petit dans SPIP !

    Répondre à ce message

  • Bonjour,

    En recherches sur les contraintes de travail en collaboratif sur un site SPIP, Stanislas me fait découvrir ces plugins aujourd’hui : je voudrais signaler peut-etre deux autres possibilités, suite au problème des liens internes !

    -  meme si cette faculté n’est pas très utilisée dans SPIP (voir l’ancien Editeur-de-liens-internes->http://www.spip-contrib.net/Editeur-de-liens-internes], il me parait souvent profitable d’insérer des liens internes dans le texte d’un article, c’est-à-dire des liens raccourcis vers un autre article, qui peuvent être détéctés par le plugin Liens entre Contenus.

    Peut-etre que la solution est de replacer alors un chainage dans l’ancien article, le chapo commencant par un =[->artNNN] si cela était reconnu !

    -  personnellement, j’etais en train de m’orienter vers une autre approche, à savoir conserver deux arborescences de rubriques pour les articles, un peu comme avec Contrib + Carnet, de facon à permettre lors de la validation de l’article par un rédacteur et son admin restreint, de le retourner en proposé dans un secteur de « publication définitive » aux bons soins de l’instance centralisatrice de rédaction !

    Du coup, Duplicator va m’etre utile !

    Cdlt
    Yx

    PS http://www.spip-contrib.net/Quels-b...

    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