Extension:DynamicPageList3
DynamicPageList3 État de la version : stable |
|
---|---|
Implémentation | Balise , Fonction d'analyseur |
Description | Crée des listes d'autres articles basées sur leurs catégorie, espace de noms, titre, références ou usage de modèles et inclut des contenus ou arguments d'appels de modèles de ces articles dans votre page. |
Auteur(s) | Universal Omega, Alexia E. Smith, Algorithmix, Dangerville, IlyaHaykinson, Theaitetos, Unendlich~dewiki |
Dernière version | 3.5.2 (2023-01-14) |
MediaWiki | 1.39.0+ |
Modifie la base de données |
Oui |
Composer | universal-omega/dynamic-page-list3 |
Licence | Licence publique générale GNU v3.0 ou supérieur |
Téléchargement | |
Exemple | DPL:Manual - Gamepedia Help Wiki |
|
|
|
|
Traduire l’extension DynamicPageList3 | |
L'extension DynamicPageList3 est un outil de reporting pour MediaWiki, listant les membres et intersections de catégories sous divers formats et détails. La documentation complète (en anglais) est disponible ici.
Lorsqu'il est appelé avec un ensemble de paramètres de sélection, DPL 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, l’échantillonnage 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 analytique (parser) {{#dpl: .... }}
ou le tag analytique (parser tag) <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 informatiquement parlant. Toutefois, tout résultat est mis en cache par défaut pendant une heure afin de réduire la nécessité de relancer la requête chaque fois que la page est rechargée. La page de manuel DPL:Paramètres : Autres paramètres (en anglais) contient des renseignements 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
- Documentation sur Gamepedia Help Wiki (en anglais)
- Code source
- Code source sur GitHub
- Bogues et demandes de fonctionnalités sur GitHub
- [1]
- Gestion des licences
- DynamicPageList3 est publié sous la licence publique générale GNU (GNU Général Public License), version 3.
Installation
- Télécharger et placez le(s) fichier(s) dans un répertoire appelé
DynamicPageList3
dans votre dossierextensions/
. - Ajoutez le code suivant à la fin de votre fichier LocalSettings.php :
wfLoadExtension( 'DynamicPageList3' );
- Si nécessaire, configurer comme demandé.
- 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 DPL avec les valeurs définies par défaut.
Pour les modifier, assurez-vous qu'ils soient définis avant d'inclure l'extension sur le wiki.
$dplSettings
à $wgDplSettings
. Ceci a été mis en place pour faciliter la compatibilité avec le changement de déclaration de l'extension de MediaWiki 1.25.Paramétrage | Valeur par défaut | Description |
---|---|---|
$wgDplSettings['allowedNamespaces']
|
null
|
Par défaut, tous les espaces de noms existants sont utilisés lorsque DPL3 est initialisé. Personnalisez ce paramètre avec une série de constantes de l'espace de noms pour restreindre le fonctionnement de DPL3 uniquement dans ces espaces de noms. |
$wgDplSettings['allowUnlimitedCategories']
|
false
|
Mettez ce paramètre à vrai (true) afin d'ignorer 'maxCategoryCount' et autoriser les catégories sans aucune limite. Merci de noter que plus vous sélectionnez de catégories, plus vous risquez de ralentir voire même planter les serveurs.
|
$wgDplSettings['allowUnlimitedResults']
|
false
|
Mettez ce paramètre à vrai (true) pour ignorer 'maxResultCount' et autoriser les résultats sans limite. Merci de noter que des paramètres de résultats étendus peuvent ralentir ou faire échouer les chargements de page.
|
$wgDplSettings['alwaysCacheResults']
|
false
|
Set this to true to ignore 'allowcachedresults' and always enable the parser cache.
|
$wgDplSettings['categoryStyleListCutoff']
|
6 | Nombre maxi d'objets dans une liste de catégories avant d'être interrompue. |
$wgDplSettings['functionalRichness']
|
3 | Définit le niveau de paramètres disponibles pour les utilisateurs finaux. |
$wgDplSettings['maxCategoryCount']
|
4 | Nombre maxi de catégories permises dans les requêtes. |
$wgDplSettings['minCategoryCount']
|
0 | Nombre mini de catégories permises dans les requêtes. |
$wgDplSettings['maxResultCount']
|
500 | Nombre maxi de résultats affichés depuis une requêtes. |
$wgDplSettings['recursiveTagParse']
|
false
|
Do recursive tag parsing on <dpl> parser tags converting tags and functions such as magic words like {{PAGENAME}} . This is similar to the {{#dpl}} parser function call, but may not work exactly the same in all cases.
|
$wgDplSettings['runFromProtectedPagesOnly']
|
false
|
Set this to true to allow DPL3 to run from protected pages only. This is recommend if wiki administrators are having issues with malicious users creating computationally intensive queries.
|
$wgDplSettings['handleSectionTag']
|
false
|
Set this to true to have DPL3 handle <section> tags outside of DPL parser tags.
|
$wgDplSettings['maxQueryTime']
|
10000 | Maximum allowed time for database queries in milliseconds. |
$wgDplSettings['queryCacheTime']
|
0 | Configure query cache time. The query cache cannot be purged. Suggested value between 30 to 600. |
The global variable $wgNonincludableNamespaces is automatically respected by DPL3.
It will prevent the contents of the listed namespaces from appearing in DPL3's output.
$wgDplSettings['maxResultCount']
is a LIMIT on the SQL query itself. Some DPL query parameters like includematch
are applied after the SQL query, however, so results here may easily be misleading.Functional Richness
DynamicPageList3 has many features which are unlocked based on the maximum functional richness level.
There are some that can cause high CPU or database load and should be used sparingly.
$wgDplSettings['functionalRichness'] = 0
- equivalent to Wikimedia's DynamicPageList (Intersection)$wgDplSettings['functionalRichness'] = 1
- adds additional formatting parameters$wgDplSettings['functionalRichness'] = 2
- adds performance equivalent features for templates and pagelinks$wgDplSettings['functionalRichness'] = 3
- allows more-expensive page inclusion features and regular expression queries$wgDplSettings['functionalRichness'] = 4
- permits exotic and potentially dangerous batch update and delete operations; not recommended for public websites. Includes debugging parameters for testing and development.
Usage
Extended DPL Functionality
Extended DPL is invoked by using the parser function {{#dpl: .... }}
, or the parser extension tag <DPL>...</DPL>
.
Backwards Compatibility
Functionality compatible with Wikimedia's DPL extension can be invoked with <DynamicPageList>...</DynamicPageList>
.
Further information can be found on the Compatibility manual page.
Usage Philosophy and Overview
With the assumption there are some articles written about countries those articles will typically have three things in common:
- They will belong to a common category
- They will have a similar chapter structure, i.e. they will contain paragraphs named 'Religion' or 'History'
- They will use a template which is used to present highly structured short data items ('Capital', 'Inhabitants', ..) in a nice way (e.g. as a wikitable)
Generate a report based on countries
If there was a need to assemble a report of what countries practice a certain religion this could be easily done with the category
and linksto
parameters.
{{#dpl: category=countries |linksto=Pastafarianism }}
With DPL one could:
- Generate a list of all those articles (or a random sample)
- Show metadata of the articles (popularity, date of last update, ..)
- Show one or more chapters of the articles ('transclude' content)
- Show parameter values which are passed to the common template
- Order articles appropriately
- Present the result in a sortable table (e.g.)
- Generate multiple column output
Which steps are necessary?
Find the articles you want to list:
- Select by a logical combination (AND,OR,NOT) of categories
- Specify a range for the number of categories the article must be assigned to
- Select by a logical combination (AND,OR,NOT) of namespaces
- Define a pattern which must match the article's name
- Name a page to which the article must or must not link
- Name a template which the article must or must not use
- Name a text pattern which must occur within external links from a page
- Exclude or include redirections
- Restrict your search to stable pages or quality pages ("flagged revisions")
- Use other criteria for selection like author, date of last change etc.
- Define regular expressions to match the contents of pages you want to include
Order the result list of articles according to
- Article name
- Article size
- Date of last change
- Last user to make an edit
Define attributes you want to see
- Article name
- Article namespace
- Article size
- Date of last change
- Date of last access
- Last user to make an edit
Define contents you want to show
- Whole article
- Contents of certain sections (identified by headings)
- Text portions (defined by special marker tags in the article)
- Values of template calls
- Use a custom template to show output
Define the output format
- Specify header and footer for the default output
- Use ordered list, unordered list
- Use tables
- Format table fields individually by applying templates to their content
- Use category style listing
Truncate title or contents to a certain maximum length
- Add a link to the article or to one or more of its sections
Considerations
Performance
DPL3's code execution and database access is typically fast for typical category and article look ups.
However, using loose LIKE and REGEXP match parameters and/or requesting large data sets can result in long database access times.
Parser time should also be kept in consideration.
For example, having the query of image results go into a template that displays them will result in a parser media transform for each one.
This can quickly eat up 2MBs of RAM per media transform.
Version 3.4.0 introduces two new configuration options, $wgDplSettings['maxQueryTime']
, which allows configuration the max execution length for queries, in milliseconds, and $wgDplSettings['queryCacheTime']
, which allows configuration of query cache. It also adds support for PoolCounter to limit query concurrency.
See also
Further reading
DPL3 can do much more than we can explain here.
A complete manual is available with full parameter documentation.
- Manuel:Gestion des données dans MediaWiki – An overview and comparison.
Cette extension est incluse dans les fermes de wikis ou les hôtes suivants et / ou les paquets : Cette liste ne fait pas autorité. Certaines fermes de wikis ou hôtes et / ou paquets peuvent contenir cette extension même s'ils ne sont pas listés ici. Vérifiez toujours cela avec votre ferme de wikis ou votre hôte ou votre paquet avant de confirmer. |