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

3 discussions

  • Bonjour,
    Pensez-vous publier une version compatible 4.2 ?
    Car si on modifie le paquet.xml en forçant la 4.2, ça ne fonctionne pas.
    Merci.

    Répondre à ce message

  • 7

    Bonjour,

    Est-ce qu’une version compatible SPIP 4.0 / 4.1 est prévue ?

    Merci,
    François

    Répondre à ce message

  • Petites modifications

    J’ai apporté 2 petites modifications.

    Pour que le plugin soit aussi compatible avec le plugin « Archives » dans action/remplacer.php

    	//// si le plugin CIARCHIVE  OU ARCHIVE est actif on applique le statut 'archive'
    	if (test_plugin_actif('ciarchive') or test_plugin_actif('archive'))
    	$newstatut='archive';

    Pour pouvoir modifier l’article à nouveau on supprime le lien dans l’article archivé (l’idéal serait une option dans le paramétrage du plugin) :

    	// On supprime le version_of pour pouvoir dupliquer à nouveau
    	$maj_statut_article = sql_updateq("spip_articles", array('version_of' => ''), "id_article=".$article);

    Christophe

    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