Carnet Wiki

signaler les révisions côté public

Version 2 — March 2015 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évision , (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>&lt;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="&lt;:revisions:voir_revisions{objet=#OBJET,id_objet=#ID_OBJET,titre=#GET{titre}}|attribut_html title="&lt;: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></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 } 
 {tri  #ENV{par,date},#GET{defaut_tri}}{pagination #ENV{nb,10}}>
<tr><td>&lt;a #SET{titre,#INFO_TITRE{#OBJET,#ID_OBJET}}
&#91;(#AUTORISER{modifier, #OBJET, #ID_OBJET}|oui)
href="&#91;(#ENV{url_modif,#URL_ECRIRE{revision}}|parametre_url{id_objet,#ID_OBJET}|parametre_url{objet,#OBJET}|parametre_url{id_version,#ID_VERSION href="&#91;(#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:>&lt;/a &lt;:revisions:voir_revisions
 {objet=#OBJET,id_objet=#ID_OBJET,titre=#GET{titre}}|attribut_html:>&lt;/a >[ ((#TITRE_VERSION))]</td>
<td>[<:der_revision:> : (#DATE|date_relative)]</td></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. Pas encore “d’onglet” historique ( comme sur wikipedia) possible.