Jump to content

Extension:DynamicPageList4

From mediawiki.org
This page is a translated version of the page Extension:DynamicPageList4 and the translation is 90% complete.
Manuel des extensions MediaWiki
DynamicPageList4
État de la version : stable
Implémentation Balise , Fonction d'analyseur
Description Create lists of other articles based on their category, namespace, title, references or template usage and include contents or arguments of template calls of those articles into your page.
Auteur(s) Universal Omega
Dernière version 4.0.5 (2026-02-05)
MediaWiki 1.44.0+
Modifie la base
de données
Oui
Composer universal-omega/dynamic-page-list4
  • $wgDPLQueryCacheTime
  • $wgDPLFunctionalRichness
  • $wgDPLAllowUnlimitedCategories
  • $wgDPLCategoryStyleListCutoff
  • $wgDPLAllowedNamespaces
  • $wgDPLMaxCategoryCount
  • $wgDPLMaxResultCount
  • $wgDPLRunFromProtectedPagesOnly
  • $wgDPLRecursiveTagParse
  • $wgDPLAllowUnlimitedResults
  • $wgDPLRecursivePreprocess
  • $wgDPLMaxQueryTime
  • $wgDPLMinCategoryCount
  • $wgDPLOverrideParameterDefaults
  • $wgDPLAlwaysCacheResults
Licence Licence publique générale GNU v3.0 ou supérieur
Téléchargement
Exemple DynamicPageList4 Manual
Traduire l’extension DynamicPageList4 sur translatewiki.net si elle y est disponible
This is a continuation/rewrite of Extension:DynamicPageList3 . It is a fully reworked code base, with significant code and database speed improvements, and is designed to be fully backward compatible with previous versions. It fixes numerous bugs and adds more features then previous versions and makes the extension more maintainable and secure by converting to MediaWiki's SelectQueryBuilder for example.

L'extension DynamicPageList4 est un outil de reporting pour MediaWiki, listant les membres et intersections de catégories sous divers formats et détails. Pour la documentation complète, voir le manuel.

Lorsqu'il est appelé avec un ensemble de paramètres de sélection, DynamicPageList4 affiche une liste de pages liées à une ou plusieurs catégories Les sélections peuvent également être basées sur des facteurs tels que l'auteur, l'espace de noms, la date, un motif de noms, l'utilisation de modèles, ou bien encore des références à d'autres articles. Le résultat prend différentes formes, certaines d'entre-elles intègrent des éléments d'articles sélectionnés.

Cette extension est appelée avec la fonction d'analyse {{#dpl: .... }} ou la balise d'analyse ‎<DPL>. Une implémentation compatible Wikimedia de certaines fonctionnalités peut être appelée avec ‎<DynamicPageList>.

Des recherches complexes peuvent aboutir à des requêtes de bases de données coûteuses en temps. Toutefois, par défaut tout résultat est mis en cache pendant une heure afin de réduire la nécessité de réexécuter la requête chaque fois que la page est chargée. La page du manuel Autres paramètres contient les informations sur les paramètres qui peuvent être utilisés pour désactiver le cache et permettre des mises à jour instantanées.

Manuel et documentation complète
Manuel DynamicPageList4
Code source
Code source
Bogues et demandes de fonctionnalités
Suivi des problèmes et des demandes

Installation

  • Télécharger et placez le(s) fichier(s) dans un répertoire appelé DynamicPageList4 dans votre dossier extensions/.
  • Ajoutez le code suivant à la fin de votre fichier LocalSettings.php  :
    wfLoadExtension( 'DynamicPageList4' );
    
  • Configurer si nécessaire.
  • Yes Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.

Configuration

Voici les paramètres de configuration de DPL4 avec leur valeur définie par défaut.

Pour les modifier, assurez-vous qu'ils sont définis avant d'inclure l'extension sur le wiki.

Paramétrage Valeur par défaut Description
$wgDPLAllowedNamespaces [] Par défaut, tous les espaces de noms existants sont utilisés lorsque DPL4 est initialisé. Personnalisez ce paramètre avec un tableau de constantes d'espaces de noms pour contraindre DPL4 à travailler uniquement sur ces espaces de noms.
$wgDPLAllowUnlimitedCategories false Mettez ce paramètre à true afin d'ignorer $wgDPLMaxCategoryCount et autoriser les catégories sans limite. Merci de noter que plus vous sélectionnez de catégories dans une requête, plus vous risquez de ralentir, voire même de planter les serveurs.
$wgDPLAllowUnlimitedResults false Mettez ce paramètre à true pour ignorer $wgDPLMaxResultCount et autoriser les résultats sans limite. Merci de noter qu'un grand nombre de résultats peuvent ralentir ou faire échouer le chargement des pages.
$wgDPLAlwaysCacheResults false Initialiser à true pour ignorer 'allowcachedresults' et toujours activer le cache de l'analyseur.
$wgDPLCategoryStyleListCutoff 6 Nombre maximum d'éléments dans une liste de catégories avant d'être interrompue.
$wgDPLFunctionalRichness 3 Définit le niveau de paramètres disponibles pour les utilisateurs finaux.
$wgDPLMaxCategoryCount 8 Nombre maximum de catégories permises dans les requêtes.
$wgDPLMaxQueryTime 10000 Temps maximum autorisé pour les requêtes en base de données (millisecondes).
$wgDPLMaxResultCount 500 Nombre maximum de résultats de requête à renvoyer.
$wgDPLMinCategoryCount 0 Nombre minimum de catégories permises dans les requêtes.
$wgDPLOverrideParameterDefaults [] An associative array of parameter names and their override values. These values replace the default parameter values defined in ParametersData, but only if the current defaults differ.
$wgDPLQueryCacheTime 0 Configurer le temps de recherche dans le cache. Le cache de la requête ne peut pas être purgé. Valeur suggérée entre 30 et 600.
$wgDPLRecursivePreprocess true Use Parser::recursivePreprocess() to improve performance by preserving the internal cache, reducing redundant template parsing.
$wgDPLRecursiveTagParse false Faites une analyse récursive des balises sur les balises d'analyse ‎<dpl>, en convertissant les balises et les fonctions telles que les mots magiques comme {{PAGENAME}}. Ceci est similaire à l'appel de la fonction d'analyse {{#dpl}}, mais peut ne pas fonctionner de la même manière dans tous les cas.
$wgDPLRunFromProtectedPagesOnly false Initialiser à true pour permettre à DPL3 se s'exécuter uniquement sur les pages protégées. Ceci est recommandé si les administrateurs de wiki ont des problèmes avec des utilisateurs malveillants qui créent des requêtes informatiquement intensives.

La variable globale $wgNonincludableNamespaces est automatiquement respectée par DynamicPageList3.

Cela empêchera de voir le contenu des espaces de noms listés, dans la sortie de DynamicPageList3.

$wgDPLMaxResultCount est une LIMITE sur la requête SQL elle-même. Certains paramètres de requête DynamicPageList3 tels que includematch sont appliqués néanmoins après la requête SQL, donc les résultats ici peuvent être facilement perturbants.

Richesse fonctionnelle

DynamicPageList3 possède de nombreuses fonctionnalités déverrouillées en fonction du niveau de richesse fonctionnelle maximum.

Certaines peuvent provoquer une charge élevée du processeur ou de la base de données et doivent être utilisées avec modération.

  • $wgDPLFunctionalRichness = 0 – équivalent à DynamicPageList de Wikimedia (intersection)
  • $wgDPLFunctionalRichness = 1 – ajoute des paramètres de formatage supplémentaires
  • $wgDPLFunctionalRichness = 2 – ajoute des fonctionnalités équivalentes de performance pour les modèles et les liens de pages
  • $wgDPLFunctionalRichness = 3 – permet des fonctionnalités d'inclusion de page plus coûteuses et des requêtes d'expressions régulières
  • $wgDPLFunctionalRichness = 4not recommended for public websites. Includes debugging parameters for testing and development.

Utilisation

Fonctionnalités DPL étendues

Les listes de pages dynamiques étendues sont invoquées en utilisant la fonction d'analyse {{#dpl: .... }}, ou la balise d'extension de l'analyseur ‎<DPL>...‎</DPL>.

Voir l'Utilisation générale et la syntaxe d'appel et les Critères de sélection de page.

Compatibilité arrière

La fonctionnalité compatible avec l'extension DynamicPageList de Wikimedia peut être invoquée avec ‎<DynamicPageList>...‎</DynamicPageList>.

Vous trouverez plus d'informations sur la page du manuel de compatibilité.


Philosophie de l'utilisation et aperçu

En supposant qu'il existe certains articles écrits sur les pays ces articles auront typiquement trois choses en commun :

  • Ils appartiendront à une catégorie commune
  • Ils auront une structure similaire de chapitres, c'est-à-dire qu'ils contiendront des paragraphes intitulés Religion ou Histoire
  • Ils utiliseront un modèle qui sert à présenter de manière agréable (par exemple, sous forme de wikitable) les éléments de données courts très structurés (Capitale, Habitants, ..)

Générer un rapport basé sur le pays

S'il fallait rédiger un rapport sur les pays pratiquant une religion donnée, cela pourrait facilement être fait avec les paramètres category et linksto.

{{#dpl:
category=countries
|linksto=Pastafarianism
}}

Avec DynamicPageList3, vous pouvez :

  • Générer une liste de tous ces articles (ou un échantillon aléatoire)
  • Afficher les métadonnées des articles (popularité, date de dernière mise à jour, ..)
  • Afficher un ou plusieurs chapitres des articles (transclusion du contenu)
  • Afficher les valeurs des paramètres transmises au modèle commun
  • Organiser les articles de manière appropriée
  • Présenter le résultat dans un tableau triable
  • Générer la sortie sur plusieurs colonnes

Etapes nécessaires

Chercher les articles à lister :

  • Sélectionner avec une combinaison logique des catégories (AND, OR, NOT)
  • Indiquer un intervalle pour le nombre de catégories auxquelles l'article doit être attribué
  • Sélectionner avec une combinaison logique des espaces de noms (AND, OR, NOT)
  • Définir un motif qui corresponde au nom de l'article
  • Nommer une page à laquelle l'article doit ou ne doit pas être lié
  • Nommer un modèle que l'article doit ou ne doit pas utiliser
  • Nommer un motif textuel qui doit apparaître dans les liens externes d'une page
  • Exclure ou inclure les redirections
  • Restreindre votre recherche à des pages stables ou de qualité (versions marquées)
  • Utiliser d'autres critères de sélection tels que l'auteur, la date de la dernière modification, etc.
  • Définir les expressions régulières qui correspondent au contenu des pages que vous souhaitez inclure

Organiser la liste résultat des articles selon

  • Article title
  • Article display title
  • Taille de l'article
  • Date de la dernière modification
  • Dernier utilisateur ayant modifié

Définir les attributs à afficher

  • Nom de l'article
  • Espace de noms de l'article
  • Taille de l'article
  • Date de la dernière modification
  • Date du dernier accès
  • Dernier utilisateur ayant modifié

Définir le contenu à afficher

  • Article complet
  • Contenu de certaines sections (identifiées par leur titre)
  • Parties de texte (définies par des balises spéciales dans l'article)
  • Valeurs des appels aux modèles
  • Utiliser un modèle personnalisé pour afficher les sorties

Définir le format de sortie

  • Indique l'entête et le pied de page pour la sortie par défaut
  • Utiliser une liste ordonnée (non ordonnée)
  • Utiliser les tableaux
  • Formater les champs de table individuellement en appliquant des modèles sur leur contenu
  • Utiliser le listing du style des catégories
  • Tronquer le titre ou le contenu à sa longueur maximale
  • Ajouter un lien à l'article ou à l'une ou à plusieurs de ses sections

Considérations

Performance

L'exécution du code et l'accès à la base de données de DPL3 sont généralement rapides pour les recherches de catégories et d'articles.

Cependant, l'utilisation de paramètres de correspondance LIKE et REGEXP flous et (ou) la demande de grands ensembles de données peuvent entraîner des temps d'accès longs à la base de données.

Le temps d'analyse doit aussi être pris en considération.

Par exemple, faire entrer les résultats d'une requête d'images dans un modèle qui les affiche entraînera une transformation des médias dans l'analyseur pour chacun d'eux.

Cela peut facilement utiliser 2Mo de RAM pour la transformation d'un média.

It is recommended to configure the following configuration options:

  • $wgDPLMaxQueryTime']allows configuration of the max execution length for queries, in milliseconds
  • $wgDPLQueryCacheTimeallows configuration of the query cache. It also supports PoolCounter to limit query concurrency.

Voir aussi

Lectures complémentaires

DynamicPageList3 peut faire beaucoup plus que ce que nous pouvons expliquer ici.

Le manuel complet est disponible avec la description de tous les paramètres.