Extension:Approved Revs

From mediawiki.org
Jump to navigation Jump to search
This page is a translated version of the page Extension:Approved Revs and the translation is 97% complete.
Outdated translations are marked like this.
Other languages:
English • ‎Türkçe • ‎français • ‎العربية • ‎日本語
Manuel des extensions MediaWiki
OOjs UI icon advanced-invert.svg
Approved Revs
État de la version : stable
Implémentation Accroche
Description Permet aux administrateurs de marquer une certaine révision d'une page comme "approuvée".
Auteur(s) Yaron Koren <yaron57@gmail.com> and others
Dernière version 1.5 (juin 2021)
Politique de compatibilité Le master conserve la compatibilité arrière.
MediaWiki 1.31+
Modifications de
la base de données
Oui
Licence Licence publique générale GNU v2.0 ou supérieur
Téléchargement
  • $egApprovedRevsBlankIfUnapproved
  • $egApprovedRevsEnabledNamespaces
  • $egApprovedRevsAutomaticApprovals
  • $egApprovedRevsFileAutomaticApprovals
  • $egApprovedRevsShowNotApprovedMessage
  • $egApprovedRevsBlankFileIfUnapproved
  • $egApprovedRevsSelfOwnedNamespaces
  • $egApprovedRevsShowApproveLatest
viewlinktolatest, approverevisions, viewapprover
Traduire l’extension Approved Revs sur translatewiki.net

Vérifier la matrice des utilisations et des versions.

Problèmes Tâches ouvertes · Signaler un bogue

ApprovedRevs est une extension qui permet aux administrateurs de marquer une certaine révision d'une page comme "approuvée". La révision approuvée est celle affichée lorsque les utilisateurs affichent la page à son URL principale.

Approved Revs a été conçu pour être une alternative simple et plus légère à l'extension FlaggedRevs . FlaggedRevs est une extension très riche en fonctionnalités et très résistante qui fournit non seulement l'approbation de révision, mais aussi la révision et les fonctionnalités connexes ; elle définit 4 droits d'utilisateur, 3 groupes d'utilisateurs, 15 variables globales, 3 types de journaux, 11 pages spéciales et 9 tables de base de données (par contraste, les révisions approuvées définissent 3 droits d'utilisateur, aucun groupe d'utilisateurs, 6 variables globales, 1 type de journal, 1 page spéciale et 2 tables de base de données). Si vous utilisez un wiki à grande échelle comme, par exemple, Wikipedia, où la décision de la révision à montrer comme "officielle" doit être prise par, ou au moins acceptée par, beaucoup de gens, FlaggedRevs est très probablement le bon outil à utiliser. Cependant, si vous exécutez un wiki de petite ou moyenne échelle, avec seulement quelques administrateurs, les versions approuvées peuvent être la solution la plus appropriée.

Même si une révision est approuvée, la plupart des extensions qui récupèrent le contenu des pages obtiendront toujours la dernière révision, et non la révision approuvée (si les deux sont différents). Cependant, les extensions qui obtiennent des "données" spécifiques à partir de pages, comme Cargo , Semantic MediaWiki et DynamicPageList , afficheront heureusement les données correctes (c.-à-d. approuvées).

Téléchargement

Vous pouvez télécharger le code des versions approuvées, au format .zip, ici.

Vous pouvez aussi télécharger le code directement via Git depuis le référentiel de code source de MediaWiki. À partir d'une ligne de commande, vous pouvez appeler les éléments suivants :

git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/ApprovedRevs.git

Pour afficher le code en ligne, y compris l'historique des versions pour chaque fichier, allez à phab:diffusion/EARE/browse/master/.

Installation

Pour installer cette extension, créez un répertoire 'ApprovedRevs' (en extrayant un fichier compressé ou en le téléchargeant via Git) et placez ce répertoire dans le répertoire principal de MediaWiki 'extensions'. Ensuite, dans le fichier 'LocalSettings.php', ajoutez la ligne suivante :

wfLoadExtension( 'ApprovedRevs' );

Vous devrez également installer deux tables de base de données pour cette extension : "approved_revs" et "approved_revs_files". Vous pouvez le faire de deux façons : exécutez le script "update.php " dans le répertoire /maintenance de MediaWiki, ou appelez le SQL directement dans votre base de données - vous pouvez le trouver dans les fichiers ApprovedRevs.sql et ApprovedFiles.sql, tous deux situés dans le répertoire /sql de l'extension.

Si vous exécutez une version de la version approuvée antérieure à 1.4 et que vous effectuez une mise à niveau vers la version 1.4 ou supérieure, vous devez appeler à nouveau update.php afin de disposer de la dernière structure de table de base de données.

Enfin, les droits utilisateur suivants sont définis pour les versions approuvées :

  • 'approverevisions' - Autorisation d'approuver et d'annuler les révisions de pages. Par défaut, il est donné à tous les membres du groupe 'sysop'.
  • 'viewlinktolatest' - L'autorisation de voir une note en haut des pages qui ont une révision approuvée, expliquant que ce que l'utilisateur voit n'est pas nécessairement la dernière révision. Par défaut, il est donné à tout le monde (par exemple, '*').
  • 'viewapprover' - L'autorisation de voir une autre note en haut des pages qui ont une révision approuvée, indiquant qui l'a approuvée en dernier. Par défaut, il est donné à tous les membres du groupe 'sysop'.

Vous pouvez modifier l'ensemble des utilisateurs disposant de l'une de ces autorisations. Par exemple, pour que le lien "afficher la révision la plus récente" s'affiche uniquement pour les administrateurs, vous pouvez ajouter ce qui suit, sous l'inclusion des versions approuvées :

$wgGroupPermissions['*']['viewlinktolatest'] = false;
$wgGroupPermissions['sysop']['viewlinktolatest'] = true;

Auteurs

Approuvé Revs a été écrit par Yaron Koren. D'importantes contributions au code ont également été faites par Raimond Spekking, Siebrand Mazeland, Jeroen De Dauw, Eli Handel, Andrew Engelbrecht, hashar, Anomie, Mark Hershberger, Flo, Addshore, James Montalvo, Fodagus, Kris Field et autres personnes.

Utilisation

Une page d'historique, avec des liens "approuver", plus une étoile et un lien "désapprouver" pour la révision approuvée

Une fois l'extension installée, toute personne avec la permission de 'approverevisions' verra un lien qui lit "(approuve)" sur chaque ligne d'une page d'historique de page. Cliquer sur ce lien définira cette révision comme celle approuvée. Si vous revenez ensuite à la page d'historique, vous verrez un lien "approuver" à côté de chaque autre révision, ainsi qu'un lien "désapprouver" pour la révision approuvée ; la ligne de la révision approuvée aura également une étoile à côté. Le fait de cliquer sur "approuver" pour toute autre révision rétablira l'approbation de cette révision ; lorsque vous cliquez sur "désapprouver", cela signifie qu'il n'y aura plus de révision approuvée pour cette page.

Les utilisateurs sans l'autorisation 'approverevisions' ne verront rien de spécial dans la page d'historique, autre qu'une icône en étoile sur la ligne de la révision approuvée.

Par défaut, si un utilisateur avec l'autorisation 'approverevisions' effectue une modification sur une page qui a déjà une révision approuvée, cette modification, c'est-à-dire la dernière révision de la page, est automatiquement marquée comme approuvée. En revanche, si une page n'a pas de révision approuvée (cela inclut bien sûr les nouvelles pages), les approbations automatiques ne seront pas appliquées.

Vous pouvez éliminer les approbations automatiques, ce qui nécessite que chaque approbation soit effectuée manuellement, en ajoutant ce qui suit à LocalSettings.php sous l'inclusion des révisions approuvées :

$egApprovedRevsAutomaticApprovals = false;

A similar logic applies for new versions of files; these automatic approvals, too, can be turned off automatically with the following line:

$egApprovedRevsFileAutomaticApprovals = false;

À l'inverse, si vous définissez "$egApprovedRevsBlankIfUnapproved" sur true dans LocalSettings.php (voir ci-dessous), chaque modification effectuée par un utilisateur avec l'autorisation "approverevisions" devient approuvée - même les modifications apportées aux pages qui n'ont pas de révision approuvée.

Les approbations de révision manuelles et les non-approbations sont stockées dans le journal d'approbation ; bien que les approbations qui se produisent automatiquement, à la suite d'une personne ayant le pouvoir d'approbation de modifier une page, ne le font pas.

Special:ApprovedRevs page

Approved Revs defines a special page, "Special:ApprovedRevs" which shows four separate lists:

  • pages dont la révision approuvée n'est pas leur dernière
  • toutes les pages avec une révision approuvée
  • "pages non approuvées" (toutes les pages sans révision approuvée)
  • les pages dont les approbations ne sont pas valides (par exemple, les pages d'un espace de noms qui était précédemment autorisé mais ne l'est plus).

Pour la troisième liste, des pages sans révision approuvée, vous pouvez éventuellement inclure un lien pour chaque page pour marquer la dernière révision de cette page comme approuvée. Pour inclure de tels liens, ajoutez ce qui suit à LocalSettings.php :

$egApprovedRevsShowApproveLatest = true;

Stockage des informations d'approbation

Les renseignements sur les approbations - qui les a faites et quand elles ont été faites - sont conservés dans le journal "Approbation de révision", qui peut être consulté à la page Special:Log. Des approbations récentes sont également indiquées en Special:RecentChanges.

Affichage des pages non approuvées comme vides

Si vous le souhaitez, vous pouvez avoir des pages qui n'ont pas de révision approuvée afficher comme vide - les utilisateurs pourront toujours voir toutes les révisions s'ils cliquent sur l'onglet "historique", mais l'affichage principal sera une page vide. To do that, just add the following line to LocalSettings.php, anywhere after the inclusion of Approved Revs:

$egApprovedRevsBlankIfUnapproved = true;

Similarly, you can set files with no approved version to not show up when embedded in other pages, by adding the following line:

$egApprovedRevsBlankIfUnapproved = true;

Affichage des pages non approuvées

Par défaut, les pages sans révision approuvée apparaissent simplement normalement, sans indication de leur état. You can have such pages display a message at the top saying, "This is the latest revision of this page; it has no approved revision." To do that, add the following line to LocalSettings.php:

$egApprovedRevsShowNotApprovedMessage = true;

Définition des pages comme étant approuvées

Certaines pages wiki peuvent avoir leurs révisions approuvées, tandis que d'autres ne le peuvent pas ; ceci est déterminé de trois manières.

Définir toutes les pages d'un espace de noms comme étant admissibles

Il existe une variable globale, $egApprovedRevsEnabledNamespaces, qui détermine les espaces de noms gérés par l'extension. Cette variable est un tableau, et par défaut elle contient six espaces de noms : NS_MAIN (l'espace de noms principal), NS_USER (pages utilisateur), NS_FILE (fichiers), NS_TEMPLATE (modèles), NS_HELP (pages d'aide) et NS_PROJECT (l'espace de noms du projet, qui a généralement le même nom que le wiki). Vous pouvez ajouter des espaces de noms supplémentaires à ce jeu - après l'inclusion des versions approuvées dans LocalSettings.php, ajoutez quelque chose comme :

$egApprovedRevsEnabledNamespaces[NS_USER_TALK] = true;

Il n'est pas recommandé d'ajouter les espaces de noms Category ou MediaWiki à ce tableau, car, en raison de leur implémentation spéciale dans MediaWiki, les approbations ne fonctionneront pas correctement sur ces pages.

Pour supprimer les espaces de noms par défaut comme approuvés, définissez leur valeur sur false. Par exemple, pour rendre les fichiers non approuvés, ajoutez ce qui suit :

$egApprovedRevsEnabledNamespaces[NS_FILE] = false;

Rendre les pages approuvées avec #approvable_by

Approved Revs approuvé définit la fonction d'analyseur #approvable_by, qui vous permet de définir certaines pages comme étant approuvées par certains utilisateurs et groupes individuels. Par exemple, l'appel suivant permettrait à l'utilisateur Alice Jones, ainsi qu'aux utilisateurs des groupes Bureaucrat et Sysop, d'approuver la page sur laquelle elle était appelée :

{{#approvable_by: users = Alice Jones | groups = bureaucrat,sysop }}

Notez que, si un utilisateur autorisé à modifier une page à cause de cette fonction d'analyse approuve une révision avant que cette fonction ait été ajoutée, alors il perdra la possibilité d'effectuer d'autres approbations (puisque la révision approuvée ne contient pas cet appel), jusqu'à ce qu'un administrateur arrive et annule son action.

Définition des pages approuvées par un mot magique

Les pages individuelles ne faisant pas partie de l'un des espaces de noms spécifiés peuvent également être rendues approuvables, en ajoutant le __APPROVEDREVS__ mot magique n'importe où dans la page. Il est recommandé d'ajouter ce mot magique aux pages via un modèle. Si __APPROVEDREVS__ est ajouté directement à une page, veillez à ne pas approuver une révision de la page avant que cette chaîne ait été ajoutée ; cela peut conduire à un comportement inattendu.

Permettre aux non-administrateurs de "posséder" des pages

Parfois, il est utile de permettre à ceux qui n'ont pas la permission 'approverevisions' générale de pouvoir approuver les révisions de certaines pages - en d'autres termes, d'avoir la propriété de certaines pages. Un exemple évident est les pages utilisateur - il est logique de permettre à chaque utilisateur de pouvoir approuver des révisions sur leurs propres pages utilisateur. Pour les espaces de noms autres que "Utilisateur", vous pouvez choisir de désigner l'utilisateur qui a initialement créé une page dans cet espace de noms comme propriétaire de la page, qui dispose alors de l'autorisation d'approbation de révision pour cette page.

Pour avoir ce genre de "propriété" pour un espace de noms spécifique, vous devez ajouter l'espace de noms à la variable $egApprovedRevsSelfOwnedNamespaces. Pour permettre aux utilisateurs de "posséder", c'est-à-dire être en mesure d'approuver, les pages dans les espaces de noms principaux et utilisateurs, par exemple, vous devez ajouter ce qui suit à LocalSettings.php:

$egApprovedRevsSelfOwnedNamespaces = array( NS_MAIN, NS_USER );

Un espace de noms doit appartenir à $egApprovedRevsEnabledNamespaces avant de pouvoir être ajouté à $egApprovedRevsSelfOwnedNamespaces.

Affichage des informations d'approbation

Les révisions approuvées définissent cinq "mots magiques" qui peuvent être utilisés pour afficher des informations d'approbation sur une page spécifique. Ce sont :

  • APPROVALYEAR - l'année de la dernière approbation de la page
  • APPROVALMONTH - mois de la dernière approbation de la page
  • APPROVALDAY - le jour du mois de la dernière approbation de la page
  • APPROVALTIMESTAMP - horodatage complet de la date/heure de la dernière approbation de la page
  • APPROVALUSER - l'utilisateur qui a approuvé la page pour la dernière fois.

Les cinq peuvent être simplement appelés par eux-mêmes (qui renverront ces informations pour la page sur laquelle l'appel est situé), ou appelés avec un nom de page passé (qui renverront ces informations pour la page spécifiée). So, for example, in the page "Main Page", the call {{APPROVALYEAR}} will display the year in which the page "Main Page" was last approved, while the call {{APPROVALYEAR:Employees list}} will display the year in which the page "Employees list" was last approved.

Si l'un de ces mots magiques est appelé pour une page qui n'a pas de révision approuvée, ou pour une page qui n'existe pas, ils n'afficheront tout simplement rien.

Notez que, si vous avez commencé à utiliser les versions approuvées avant la version 1.4, les quatre premiers mots magiques, qui ont tous à voir avec l'heure à laquelle la révision a été effectuée, afficheront très probablement un blanc pour toute page dont la révision a été approuvée alors que les versions approuvées étaient encore sur une version antérieure.

API

Approved Revs définit une action API, "approuver", qui vous permet soit d'approuver ou (si le paramètre supplémentaire "désapprouver" est ajouté) d'annuler toute révision via l'API MediaWiki. See here for an explanation of the syntax for this API.

Définition des pages comme étant approuvées

Pour les pages qui n'ont pas encore de révision approuvée, vous pouvez approuver automatiquement leur dernière révision afin d'initialiser rapidement leur contenu. For that, you can use the command line script 'ApprovedRevs/maintenance/approveAllPages.php'. Ce script approuve la dernière révision de toutes les pages qui peuvent être approuvées mais qui n'ont pas de révision approuvée. (Le script a plusieurs options, dont une qui vous permet de gérer les pages qui ont déjà une révision approuvée.)

Approbation de fichiers

Sélection de la version d'un fichier à approuver

Vous pouvez également approuver des révisions de fichiers avec des révisions approuvées. Il convient de noter que seules les révisions apportées au dossier réel peuvent être approuvées ; les révisions apportées au wikitexte des pages de fichiers ne le sont pas. Par conséquent, l'approbation des fichiers ne se fait pas en cliquant sur le lien "afficher l'historique" en haut à droite de la page du fichier. Au lieu de cela, faites défiler la section "Historique des fichiers" vers le bas de la page du fichier, et cliquez sur "approuver" à droite de la table d'historique des fichiers.

Lorsqu'une version d'une image est approuvée, cette version s'affiche lorsque l'image est incluse sur d'autres pages. Pour les téléchargements autres que des images (p. ex., PDF), les liens directs vers le fichier seront dirigés vers la version approuvée, et non vers la dernière version.

Historique des versions

Les versions approuvées sont actuellement à la version 1.4. See the entire version history.

Changement de rupture dans v1.0

Dans la version 1.0, la variable $egApprovedRevsNamespaces a été supprimée et remplacée par la variable $egApprovedRevsEnabledNamespaces. (Cette modification était nécessaire pour modifier la gestion de MediaWiki de extension.json.) Pour plus d'informations sur l'utilisation de cette variable pour configurer les espaces de noms autorisés, reportez-vous à la section ci-dessus intitulée "Définition de toutes les pages d'un espace de noms comme autorisées".

Problèmes connus

  • Les versions approuvées ne semblent pas fonctionner avec l'extension AccessControl - l'approbation d'une révision entraîne une erreur "Deny_action".

Contribution au projet

Problèmes connus et demandes d’améliorations

Envoyez des rapports de bogues et des demandes à Yaron Koren (yaron57@gmail.com).

Contribuer au projet à l'aide de patchs

Si vous avez trouvé un bogue et que vous l'avez corrigé, ou si vous avez écrit du code pour une nouvelle fonctionnalité, veuillez soit faire un commit Git pour celui-ci, soit créer un patch en allant dans le répertoire "ApprovedRevs", et en tapant :

git diff > descriptivename.patch

Si vous créez un patch, veuillez l'envoyer avec une description à Yaron Koren.

Traductions

La traduction des versions approuvées se fait au moyen de translatewiki.net. La traduction de cette extension peut être trouvée ici : https://translatewiki.net/w/?title=Special:Translate&group=ext-approvedrevs. Pour ajouter des valeurs de langue ou modifier des valeurs existantes, vous devez créer un compte sur translatewiki.net, puis demander l'autorisation aux administrateurs de traduire une ou plusieurs langues sur cette page (ce processus est très simple). Une fois que vous avez l'autorisation pour une langue donnée, vous pouvez vous connecter et ajouter ou modifier les messages que vous souhaitez dans cette langue.

Voir aussi