Extension:DynamicPageList (Wikimedia)

From mediawiki.org
This page is a translated version of the page Extension:DynamicPageList (Wikimedia) and the translation is 87% complete.
Outdated translations are marked like this.
Manuel des extensions MediaWiki
DynamicPageList
État de la version : stable
Implémentation Balise , Fonction d'analyseur
Description Affiche une liste à puces des éléments les plus récents résidant dans une catégorie ou un croisement de plusieurs catégories.
Auteur(s) IlyaHaykinson and Amgine
Dernière version Continuous updates
Politique de compatibilité Versions ponctuelles alignées avec MediaWiki. Le master n'est pas compatible arrière.
MediaWiki 1.23+
PHP 5.4+
Modifie la base
de données
Non
Licence Licence publique générale GNU v2.0 ou supérieur
Téléchargement
Exemple
  • $wgDLPmaxCategories
  • $wgDLPMaxCacheTime
  • $wgDLPAllowUnlimitedResults
  • $wgDLPAllowUnlimitedCategories
  • $wgDLPQueryCacheTime
  • $wgDLPMaxResultCount
  • $wgDLPMaxQueryTime
‎<DynamicPageList>
Utilisé par les wikis publics 813 (Ranked 314th)
Traduire l’extension DynamicPageList (Wikimedia)
Problèmes Tâches ouvertes · (Wikimedia) Signaler un bogue
Cette extension est utilisée par Wikimedia, pour ne pas être confondu avec les Extension:DynamicPageList (module tiers) ou Extension:DynamicPageList3 .

L'extension "DynamicPageList" permet aux utilisateurs de wiki de créer une liste de pages qui sont listées dans un ensemble de catégories. Voir m : Help : DPL pour des informations générales.

Origines du projet

Il a été initialement développé pour Wikinews. Il est actuellement installé sur la plupart des projets Wikinews (voir n:Wikinews:DynamicPageList), Meta, MediaWiki.org, Wikibooks et Wikiversity et peut être installé sur n'importe quel Wikis de petite ou moyenne taille. Il ne sera plus installé sur davantage de wiki Wikimedia à cause de problèmes de performance.

Cette extension était précédemment connue sous le nom de DynamicPageList/old et plus tard Intersection. Vous pourriez également être intéressé par DynamicPageList3 , qui a plus de fonctionnalités.

Installation et mise en oeuvre

Installation

  • Téléchargez et placez le(s) fichier(s) dans un répertoire appelé intersection dans votre dossier extensions/.
    Les développeurs et les contributeurs au code doivent à la place installer l'extension à partir de Git en utilisant:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/intersection
  • Ajoutez le code suivant à la fin de votre fichier LocalSettings.php  :
    wfLoadExtension( 'intersection' );
    
  • Yes Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.

Configuration

L'extension prend également en charge quelques variables de configuration. Normalement, vous ne voudriez pas changer la valeur par défaut, mais si vous le faites, vous pouvez les ajouter à votre "LocalSettings.php" après la ligne require_once. Voici les variables de configuration prises en charge avec leurs valeurs par défaut :

# Configuration variables. Warning: These use DLP instead of DPL
# for historical reasons (pretend Dynamic list of pages)
$wgDLPmaxCategories = 6;                // Maximum number of categories to look for
$wgDLPMaxResultCount = 200;             // Maximum number of results to allow
$wgDLPAllowUnlimitedResults = false;    // Allow unlimited results
$wgDLPAllowUnlimitedCategories = false; // Allow unlimited categories
// How long to cache pages using DPL's in seconds. Default to 1 day. Set to
// false to use the normal amount of page caching (most efficient), Set to 0 to disable
// cache altogether (inefficient, but results will never be outdated)
$wgDLPMaxCacheTime = 60*60*24;          // How long to cache pages in seconds

Utilisation

DynamicPageList peut être utilisé avec une syntaxe de type XML dans la vue d'édition de wiki. Les paramètres contrôlent les pages en mode liste, ordre et affichage. Consultez les sections suivantes pour plus d'informations sur chaque paramètre. Par exemple, voici les cinq pages les plus anciennes de ce wiki qui ont été récemment déplacées sur MediaWiki.org.

<DynamicPageList>
category             = Pages recently transferred from Meta
count                = 5
order                = ascending
addfirstcategorydate = true
</DynamicPageList>

Exemple de DynamicPageList très complexe :

<DynamicPageList>
category=foo
count=20
namespace=file
addfirstcategorydate=ymd
imagewidth=70
galleryshowfilesize=yes
galleryshowfilename=yes
imagesperrow=7
gallerycaption=Galleries!
ordermethod=sortkey
order=ascending
mode=gallery
offset=12
</DynamicPageList>

Répertorie les 12e à 34e pages de l'espace de noms de fichiers qui sont également dans la catégorie foo, les mettant en forme dans une galerie d'images, avec la date à laquelle ils ont été ajoutés à la catégorie foo dans la légende au format année mois jour, et ayant les images ont une largeur de 70px

Sélection du contenu

category

La category répertorie les catégories à intersecter. DynamicPageList répertorie les pages trouvées dans la catégorie "every". Un nombre minimum et maximum d'entrées à lister est défini dans le code source de l'extension. Vous pouvez utiliser magic words comme {{CURRENTMONTHNAME}}

La syntaxe est category = category name

<DynamicPageList>
category = Demo
category = Demo 1
</DynamicPageList>

notcategory

notcategory restreint la liste des pages à celles "not" dans une catégorie particulière. Vous pouvez utiliser magic words comme {{CURRENTMONTHNAME}} dans le nom de la catégorie.

<DynamicPageList>
category    = Demo
notcategory = Demo 1
</DynamicPageList>

namespace

namespace restreint la liste des pages spécifiées ci-dessus à celles d'un espace de noms particulier, spécifié par nom ou numéro (voir la Liste des espaces de noms par défaut). Tout nom non valide est équivalent à l'espace de noms de l'article principal.

<DynamicPageList>
category  = Demo
namespace = Help
</DynamicPageList>

redirects

redirects détermine s'il faut inclure ou non redirect pages. La valeur peut être "exclude" (par défaut, ne listez pas les redirections), "include" (redirections de liste), ou "only" (ne listez pas les pages qui ne sont pas redirections).

<DynamicPageList>
category  = Demo
redirects = only
</DynamicPageList>

stablepages

stablepages détermine s'il faut inclure ou non des pages stables (marquées) lors de l'utilisation de Extension:FlaggedRevisions . La valeur peut être exclude (ne pas lister), include ((liste stable et non stable). par défaut), ou only (liste uniquement les pages stables). Nécessite l'installation de FlaggedRevs pour fonctionner.

qualitypages

qualitypages détermine s'il faut inclure ou non des pages de qualité (avec indicateur au niveau 'immaculé') lors de l'utilisation de Extension:FlaggedRevisions . La valeur peut être exclude (ne pas lister), include (lister la qualité et non la qualité) ou only (lister uniquement les pages qualité).

Remarque : le comportement de qualitypages a changé par rapport aux versions antérieures. Dans les versions plus anciennes qualitypages=exclude automatiquement fait stablepages=only être défini. Ce n'est plus le cas.

count

count restreint le nombre de résultats affichés. Par défaut, les pages ajoutées à la catégorie la plus récente sont affichées (voir order). Notez que l'extension ne listera pas plus de résultats que le maximum défini dans le code source de l'extension.

<DynamicPageList>
category = Demo
count    = 2
</DynamicPageList>

offset

offset starts the list from somewhere other than the first page on the list. For example, this can be used with count to make multi-column layouts.

For example, this can be used with count to make multi-column layouts.

<DynamicPageList>
category = Demo
offset    = 2
</DynamicPageList>

Démonstration de colonne

<table>
<tr><th colspan="3"> recent articles in [[:category:Demo|:category:Demo]]</th></tr>
<tr><td>

<DynamicPageList>
category = Demo
count=5
</DynamicPageList>
</td>
<td>
<DynamicPageList>
category = Demo
offset    = 5
count= 5
</DynamicPageList>
</td>
<td>

<DynamicPageList>
category = Demo
offset    = 10
count=5
</DynamicPageList>
</td></tr></table>

Détails affichés==

affichage namespace

shownamespace affiche l'espace de noms dans les noms de page. The value can be true (default, display in name: Help:Contents ) or false (don't display in name: Contents ).

<DynamicPageList>
category      = Demo
shownamespace = false
</DynamicPageList>

addfirstcategorydate

"addfirstcategorydate" indique la date à laquelle chaque article a été ajouté à la catégorie. La valeur peut être "true" (date d'affichage), "false" (par défaut, ne pas afficher la date) ou un spécificateur de date (ymd, md, dm, dmy, mdy et ISO 8601). Si de nombreuses catégories sont spécifiées, elle utilise la première catégorie. Les noms de pages liées sont précédés de la date formatée selon vos préférences d'affichage de date MediaWiki locales.

<DynamicPageList>
category             = Demo
addfirstcategorydate = true
</DynamicPageList>

mode

mode détermine le format de la liste. La valeur peut être :

  • unordered — Liste à puces
  • ordered — Liste numérotée
  • none — liens simples avec des sauts de ligne
  • gallery — galerie d'images, comme ‎<gallery>
  • inline — Valeurs séparées par des virgules.
unordered:
<DynamicPageList>
category = Demo
mode     = unordered
</DynamicPageList>

ordered:

<DynamicPageList>
category = Demo
mode     = ordered
</DynamicPageList>

plain links:

<DynamicPageList>
category = Demo
mode     = none
</DynamicPageList>

inline:

<DynamicPageList>
category = Demo
mode     = inline
</DynamicPageList>
mode=gallery

La galerie est un mode spécial où la sortie est une galerie d'images. Si Extension:PageImages est installé, l'image-page, si elle existe, sera utilisée pour les pages non-fichier. Dans le cas contraire, les pages d'espace de noms autres que File ne seront qu'un espace vide.

<DynamicPageList>
category = Demo
mode     = gallery
namespace= file
</DynamicPageList>

Le mode Galerie prend également en charge les options imagewidth (largeur des images dans la galerie, vous devrez peut-être aussi définir hauteur d'image si vous utilisez cela), imageheight (hauteur de l'image), galleryshowfilesize (montrer la taille d'image, comme sur les pages de catégorie), galleryshowfilename (montrer le nom de fichier sur les pages de catégorie), imagesperrow' (nombre d'images par ligne dans la galerie), gallerycaption (légende pour la galerie).

Si addfirstcategorydate est utilisé, la date est ajoutée à la légende de l'image.

Note, gallerycaption at the moment cannot accept links. (but it can accept things like {{CURRENTMONTHNAME}})

Un exemple complexe de galerie pourrait être:

<DynamicPageList>
count=20
namespace=file
addfirstcategorydate=ymd
imagewidth=70
galleryshowfilesize=yes
galleryshowfilename=yes
imagesperrow=7
gallerycaption=Look at my pretty gallery.
mode=gallery
shownamespace=false
</DynamicPageList>

suppresserrors

"suppresserrors" masque les erreurs. La valeur peut être "true" (masquer les erreurs) ou "false" (par défaut, afficher les erreurs).

true:
<DynamicPageList>
category       = Dem
suppresserrors = true
</DynamicPageList>

false:
<DynamicPageList>
category       = Dem
suppresserrors = false
</DynamicPageList>

nofollow

'nofollow' définit rel="nofollow" sur les liens. Cela empêche les intrus d'accéder à la page via le lien de la DynamicPageList. En général, cela est inutile, car les intrus pourront soit indexer la page à partir d'autres liens, ou pas du tout à cause de robots.txt/$wgDefaultRobotPolicy . En général, vous ne devriez pas utiliser cette option à moins de savoir ce que vous faites et d'avoir une bonne raison. Le principal cas d'utilisation est que sur le Wikinews en anglais, Google News considère tout ce qui est lié depuis la page principale comme un article.

<DynamicPageList>
category       = Demo
nofollow       = true
</DynamicPageList>

googlehack

C'est un piratage pour Wikinews. Auparavant, Google News considérait uniquement les articles comportant des chiffres comme des articles de presse [1], ce qui ajoute ?dpl_id=&lt ; id of article&gt ; à la fin des url de la liste. Vous ne devriez pas utiliser cette option à moins d'avoir une bonne raison de le faire (mais cela ne fera rien de mal). Cela remplace l'option showcurid qui n'est plus prise en charge.

<DynamicPageList>
category       = Demo
googlehack       = true
</DynamicPageList>

Order

ordermethod

"ordermethod" détermine l'ordre et la date à afficher. La valeur peut être :

  • categoryadd — par défaut, les pages de tri par date ont été classées pour la première catégorie
  • lastedit — trier par date de dernière modification
  • length — par longueur d'article
  • created — Par date de création d'article
  • categorysortkey — essentiellement ordre alphabétique par la touche de tri de la première catégorie
  • sortkey — Alias pour categorysortkey .

Il faut noter, que finalement, il trie vraiment par la dernière fois que la page a été touchée. Dans certains cas, ce n'est pas équivalent à la dernière modification (par exemple, cela inclut les modifications d'autorisation, la création ou la suppression de pages liées et la modification de modèles contenus). Si vous ne spécifiez pas de catégorie, certaines de ces méthodes d'ordre ne fonctionneront pas ; en particulier, categoryadd et categorysortkey reviennent à created s'il n'y a pas de clause category.

<DynamicPageList>
category             = Demo
addfirstcategorydate = true
ordermethod          = lastedit
</DynamicPageList>

exemple alphabétique :

<DynamicPageList>
category             = Demo
ordermethod          = sortkey
</DynamicPageList>

order

"ordre" décide de la direction de tri. La valeur peut être "descendant" (par défaut, plus récent à plus ancien) ou "ascendant" (plus ancien à plus récent). The value can be descending (default, most recent to oldest) or ascending (oldest to most recent).

<DynamicPageList>
category  = Demo
order     = ascending
</DynamicPageList>

Modèles

Pour utiliser un modèle et passer des paramètres, utilisez les fonctions d'analyse, etc., utilisez la fonction {{#tag :  :

{{#tag:DynamicPageList|
category = {{{1}}}
count    = {{#if: {{{2|}}} | 10 | 20 }}
ordermethod = sortkey
order = ascending
}}

La page de modèle elle-même affiche un message d'erreur, car la valeur de catégorie est vide sur la page de modèle, sauf si vous placez le modèle dans les balises ‎<includeonly>. Exemple:

Erreur : vous devez inclure au moins une catégorie ou bien préciser un espace de noms !


Extensions dérivées

  • Extensions dérivées : DPLforum sorties dans le style forum Extension:GoogleNewsSitemap est comme ceci mais produit un flux RSS. DynamicPageList (module tiers) est une version modifiée avec plus de fonctionnalités, mais aussi plus cher en ressources. Aucune de ces dernières n'est utilisée sur les sites de Wikimedia.
  • Version 1.8.4 of DynamicPageList (module tiers) is fully downward compatible with the extension described here. So the way is open for a re-unification of the different development paths. This is not true any more for the current versions since version 2.01 of DynamicPageList (third-party) does not support ordermethod=sortkey.
  • Extension:DynamicPageListEngine - rend les listes dynamiques de pages disponibles pour Scribunto module.