Carnet Wiki

signaler les révisions côté public

Version 5 — January 2016 flouvel

Dans l’objectif d’un spip 3 en mode wiki (objectif déjà poursuivi par Gribouille pour spip 2), déjà, signaler les révisions côté public. Utilise le plugin Révisions , (Autorité étant utilisé pour créer l’espace wiki)

En partant de /plugins/revisions/prive/objets/liste/version.html :
créer un fichier /squelettes/inclure/version.html avec le code ci-dessous, l’inclure par <INCLURE{fond=inclure/revision} /> sur la page sommaire par exemple, pour avoir les 10 dernières révisions, avec lien sur la page revision de l’espace privé de l’objet concerné si connecté, sinon sur la page public.

<BOUCLE_liste_rev(VERSIONS){id_version>1}{objet!=''}{id_auteur?} {id_objet?} {objet?}{where?}{par date} {inverse} {0,10}>
<tr><td>[(#INFO_STATUT{#OBJET,#ID_OBJET}|puce_statut{#OBJET})]</td>
<td>[(#OBJET|objet_icone{16})]</td>
<td><a #SET{titre,#INFO_TITRE{#OBJET,#ID_OBJET}}
[(#AUTORISER{modifier, #OBJET, #ID_OBJET}|?{
href="[(#ENV{url_modif,#URL_ECRIRE{revision}}|parametre_url{id_objet,#ID_OBJET} |parametre_url{objet,#OBJET}|parametre_url{id_version,#ID_VERSION})]"
, href="[(#ENV{url_modif,#URL_PAGE{#OBJET}}|parametre_url{id_#OBJET,#ID_OBJET})]"}
)]
title="<:revisions:voir_revisions{objet=#OBJET,id_objet=#ID_OBJET,titre=#GET{titre}}|attribut_html:>">
#GET{titre}</a>[ ((#TITRE_VERSION))]  
</td><td>[(#DATE|date_relative)]</td>
<td>
    [(#REM) retourner le dernier auteur modifiant l'objet ]
    &lt;BOUCLE_lastauteur(VERSIONS){objet=#OBJET}{id_objet=#ID_OBJET}{!par  date}{0,1}>&lt;span  class="vcard  author">&lt;a  class="url  fn  spip_in "  href="#URL_AUTEUR">#INFO_NOM{'auteur',#ID_AUTEUR}</a>&lt;/span </td>&lt;/tr >
    &lt;/BOUCLE_lastauteur >
 &lt;/td >
 &lt;/tr >
 </BOUCLE_liste_rev>

On peut de même signaler qu’il y a eu révision sur un objet consulté (article, ...) :
<INCLURE{fond=inclure/historique} />, avec /squelettes/inclure/historique.html =

<table><tbody>
<BOUCLE_liste_rev(VERSIONS?){id_version>1}{id_article ?}{id_xxxx ?}{where?}{tri #ENV{par,date},#GET{defaut_tri}}{pagination #ENV{nb,10}}>
<tr><td><a #SET{titre,#INFO_TITRE{#OBJET,#ID_OBJET}}
[(#AUTORISER{modifier, #OBJET, #ID_OBJET}|oui)
href="[(#ENV{url_modif,#URL_ECRIRE{revision}}|parametre_url{id_objet,#ID_OBJET}|parametre_url{objet,#OBJET}|parametre_url{id_version,#ID_VERSION})]"
]>
<:revisions:voir_revisions{objet=#OBJET,id_objet=#ID_OBJET,titre=#GET{titre}}|attribut_html:></a>[ ((#TITRE_VERSION))]</td>
<td>[<:der_revision:> : (#DATE|date_relative)]</td>
<td>
    [(#REM) retourner le dernier auteur modifiant l'objet ]
    &lt;BOUCLE_lastauteur(VERSIONS){objet=#OBJET}{id_objet=#ID_OBJET}{!par  date}{0,1}>&lt;span  class="vcard  author">&lt;a  class="url  fn  spip_in "  href="#URL_AUTEUR">#INFO_NOM{'auteur',#ID_AUTEUR}</a>&lt;/span </td>&lt;/tr >
    &lt;/BOUCLE_lastauteur >
 &lt;/td >
 &lt;/tr >
 </BOUCLE_liste_rev>
</tbody></table>

On ne fait donc que signaler sur la page public qu’une révision a été effectuée, avec lien sur l’espace privé pour pouvoir voir la révision, si connecté et ayant droit.

Maintenir le filtre |revisions_diff qui pourrait (?) permettre de voir les révisions sur la page public, génère une erreur (Filtre revisions_diff non défini). Pas encore “d’onglet” historique ( comme sur wikipedia) possible.