Extension:PageProperties/Héritage
PageProperties État de la version : stable |
|
---|---|
Implémentation | Accroche , Page spéciale |
Description | Permet aux utilisateurs de modifier facilement le titre affiché (display title), la langue et le modèle de contenu d'une page; d'associer des propriétés sémantiques aux pages sans avoir à les annoter manuellement (à condition que Semantic MediaWiki soit installé); et de définir des métadonnées SEO pour l'ensemble du wiki ou pour des pages spécifiques. |
Auteur(s) | thomas-topway-it (thomas-topway-itdiscussion) |
Dernière version | 1.2.5c (2023-03-27) |
Politique de compatibilité | Le master conserve la compatibilité arrière. |
MediaWiki | >= 1.35.0 |
Licence | Licence publique générale GNU v2.0 ou supérieur |
Téléchargement | |
|
|
|
|
Téléchargements trimestriels | 22 (Ranked 114th) |
Traduire l’extension PageProperties/Legacy sur translatewiki.net si elle y est disponible | |
PageProperties permet aux utilisateurs d'éditer le titre affiché, la langue et le modèle de contenu d'une page; d'associer des propriétés sémantiques aux pages sans avoir à les annoter manuellement (à condition que Semantic MediaWiki soit installé); et de définir des métadonnées SEO[1] pour l'ensemble du wiki ou pour des pages spécifiques.
L'extension ajoute une action au menu supérieur des articles du wiki permettant aux utilisateurs autorisés de définir toutes les propriétés d'une page.
Depuis la version 1.2.4, PageProperties dispose d'une interface graphique complète pour la création des propriétés sémantiques, des catégories sémantiques et des formulaires sémantiques basée sur OOUI[2] et sur les emplacements (slots).
L'extension ajoute un onglet Modifier la sémantique à la navigation de la page, une section Propriétés de la page dans la barre latérale, et un lien More → Properties d'action au menu de la page. L'affichage de chacun d'eux peut être géré en utilisant les paramètres décrits ci-après.
Onglet de page Modifier la sémantique :
Section de la barre latérale :
Installation
- Téléchargez et placez le ou les fichier(s) dans un répertoire appelé
PageProperties
de votre dossierextensions/
. - Ajouter le code ci-dessous à la fin de votre LocalSettings.php
wfLoadExtension( 'PageProperties' );
- Vous pouvez facultativement exécuter
composer update --no-dev
dans le répertoire des extensions pour installer les bibliothèques nécessaires à l'annotation JSON-LD[3] dans la page (voir la section ci-dessous pour d'autres informations) - Fait – Allez sur Special:Version de votre wiki pour vérifier que l'extension est bien installée.
Page Properties
Onglet Main
A partir de l'onglet Main Page → More → Properties, vous pouvez modifier le titre de l'affichage de la page, la langue et le modèle de contenu. Le titre de l'affichage peut être laissé vide pour cacher complètement le titre sans avoir à déclarer d'instructions CSS.
Fonctionnalités clé
- la langue définie est correctement affichée sur la Page d'information
- le titre de l'affichage est ajouté à la table des [[page_props |propriétés de page]] pour qu'il puisse être géré de manière autonome par les autres extensions, comme Display Title
- Catégorie de suivi optionnelle Pages with PageProperties
- support pour le modèle de contenu html et support amélioré pour le modèle de contenu texte clair (dans ce cas, la fonte du contenu de la page sera initialisée à monospace et les espaces blancs et les passages à la ligne sont conservés sauf si c'est nécessaire pour remplir les boîtes de lignes)
- les propriétés sont enregistrées à un emplacement dédié sur la page concernée et peuvent être affichées par l'onglet des propriétés properties dans le menu de la page (Attention : actuellement, le modèle de contenu de l'emplacement est correctement affiché mais uniquement sur MediaWiki 1.38 et supérieur; dans les autres versions, il utilisera le modèle de contenu de l'emplacement principal)
(cet onglet apparaît quand le paramètre $wgPagePropertiesShowSlotsNavigation
vaut true
ou que l'utilisateur possède les droits pageproperties-canmanagesemanticproperties
)
Onglet SEO
À partir de l'onglet SEO[1], vous pouvez facilement ajouter des balises méta ou des méta-propriétés à des pages spécifiques ou à l'ensemble du wiki.
Si l'extension Extension:wikiSEO est installée, PageProperties fournira une combobox avec les paramètres autorisés par l'extension, et ils seront gérés en interne par l'extension WikiSEO elle-même sans avoir besoin de les annoter manuellement sur la page.
Notez que la case à cocher appliquer à tout le wiki ne sera affichée que si les propriétés sont liées à la page d'accueil du wiki.
combobox disponible lorsque l'extension wikiSEO est installée
Modifier la sémantique
Cette fonctionnalité n'est disponible que si Semantic MediaWiki est installé.
Dans l'onglet Modifier la sémantique d'une page donnée, vous pouvez attribuer des formulaires sémantiques et des propriétés sémantiques uniques aux pages wiki sans utiliser les fonctions d'analyse syntaxique et sans les annoter manuellement sur la page.
L'initialisation des propriétés sera visible sur SMW FactBox et elles seront correctement gérées par les requêtes d'interrogation.
Voici les deux points d'entrée pour ajouter ou supprimer respectivement des formulaires vers ou de la page, et ajouter ou enlever des propriétés uniques (non liées à un formulaire spécifique) vers ou de l'une des pages. Chaque propriété est associée à un widget d'entrée OOUI et autorise plusieurs champs.
Ceci est un formulaire appliqué une fois sur une page. Le formulaire est composé de propriétés définies à travers la page spéciale Gérer les propriétés (voir ci-dessous) et regroupées ensuite dans un formulaire défini sur la même page. Forms peut aussi être utilisé pour créer de nouveaux articles comme dans l'Extension PageForms (voir aussi le Manuel de Forms).
Les sections associées pour créer des propriétés, des catégories et même des formulaires sont accessibles à partir de l'onglet Modifier la sémantique lui-même, via l'icône suivante (à l'exception de l'onglet Importer la sémantique qui n'est accessible que depuis la page spéciale Gérer les propriétés)
Fonctionnalités clés
- les formulaires multiples et les propriétés uniques peuvent être ajoutés de manière interactive à n'importe quelle page wiki
- chaque formulaire peut présenter ses propres catégories par défaut, sa formule du nom de page (uniquement pour les nouvelles pages) et son modèle de contenu. Lorsque les valeurs sont différentes entre elles, une entrée du type bouton radio est affichée à l'utilisateur pour qu'il sélectionne les valeurs souhaitées
- un grand ensemble d'entrées natives OOUI est disponible et peut être ajouté à un formulaire via une interface simple
- Les propriétés et les formulaires peuvent être édités ou créés en toute simplicité, sans quitter l'interface
- supporte le téléversement de fichiers multiples
Gérer les propriétés
Depuis la page spéciale Gérer les propriétés, vous pouvez créer ou modifier les propriétés sémantiques, les catégories sémantiques et même effectuer un import sémantique basé sur des fichiers csv.
Onglet des propriétés
C'est ici que vous pouvez définir une propriété. Options prises en charge :
- type de propriété (l'une de celles listées ici)
- vocabulaire importé (voir ici)
- champs multiples
- entrée préférée
- toutes les options liées aux propriétés sont listées ici
Un grand nombre d'entrées natives Mediawiki et OOUI sont prises en charge, comme :
- mw.widgets.DateInputWidget
- mw.widgets.datetime.DateTimeInputWidget
- mw.widgets.CategoryMultiselectWidget
- mw.widgets.TitlesMultiselectWidget
- mw.widgets.UsersMultiselectWidget
- OO.ui.MultilineTextInputWidget
- OO.ui.TagMultiselectWidget
- OO.ui.ComboBoxInputWidget
- OO.ui.SelectFileWidget
- Entrée de numéro de téléphone international pour le type de données numéro de téléphone (telephone_number)
Cette page de démonstration vous permet de créer des applications web en utilisant OOUI en JS ou PHP Essayez-la !
Lorsque vous supprimez ou renommez une propriété, toutes les pages contenant cette propriété seront également affectées, et la propriété sera soit supprimée, soit renommée sur toutes les pages associées, alors tenez compte du conseil suivant.
Conseil : exécutez continuellement maintenance/runJobs.php via la crontab, ou initialisez $wgJobRunRate à une valeur élevée, par exemple 50, pour vous assurer que les définitions des propriétés sont mises à jour en temps réel |
Onglet des catégories
C'est là que vous pouvez définir une catégorie. Options prises en charge :
- chaque catégorie peut être associée à n'importe quel vocabulaire importé enregistré sur le wiki.
Onglet des formulaires
C'est ici que vous pouvez définir un formulaire. Options prises en charge :
- formule du nom de page ou entrée du widget de titre
- afficher ou masquer les entrées de texte libre
- catégories par défaut
- modèle de contenu par défaut
C'est ici (dans la même fenêtre) que vous pouvez attribuer des champs à un formulaire. Les champs peuvent être réorganisés et, grâce aux boutons situés à côté de chacun d'eux, vous pouvez accéder à la fenêtre de propriété associée et à la fenêtre du champ.
C'est là que vous pouvez définir la propriété ou le champ attribué à un formulaire. Options prises en charge :
- valeurs requises et par défaut
- étiquette personnalisée (peut remplacer l'étiquette de propriété avec un message traduit)
- texte d'aide personnalisé (peut remplacer la description de la propriété si elle existe par un message traduit)
- entrée préférée (peut redéfinir le même attribut de la propriété associée)
- couples option-valeurs des entrées à choix multiples récupérées à partir de la déclaration des propriétés, des valeurs codées en dur, d'une liste de wikis ou d'une requête d'interrogation (voir ici)
- mapping-formula - pour les entrées qui sont des choix multiples, cela vous permet de modifier la façon dont elles sont affichées dans le formulaire, sans modifier la valeur de propriété actuelle, similaire au modèle d'association de l'extension PageForms.
- valeurs multiples (peut redéfinir le même attribut de la propriété associée)
- pour la création uniquement (si l'entrée doit être utilisée uniquement pour composer la formule du nom de page du formulaire)
Les formulaires créés sont répertoriés dans une section dédiée de la barre latérale ainsi :
Onglet d'importation
A partir de l'onglet Import, vous pouvez importer dans vos fichiers wiki au format csv , en associant leurs champs à des propriétés sémantiques définies ou à définir dans le wiki. Ainsi, un grand nombre de listes csv peut être importé progressivement et même prévisualisé avant l'importation réelle via l'interface. Une page sera créée pour chaque entrée CSV, avec un grand ensemble d'options afin de définir le nom de la page cible, le contenu de la page, le séparateur des valeurs, les catégories définies, et plus encore !
C'est ici que vous pouvez téléverser ou déposer les fichiers CSV à importer.
C'est ici que vous pouvez vérifier la cohérence de vos données et définir ou supprimer l'entête.
C'est ici que vous pouvez associer les champs csv aux propriétés sémantiques enregistrées dans le wiki et même créer de nouvelles propriétés au fil de l'eau.
C'est ici que vous pouvez prévisualiser l'importation, donc pour éviter ou minimiser les erreurs : notez en effet que par défaut une seule page wiki sera créée pour chaque entrée du csv.
Fonctions d'analyse syntaxique
Fonction #pagepropertiesform
La fonction d'analyse #pagepropertiesform
peut être utilisée pour afficher plusieurs formulaires sur n'importe quelle page wiki, chacun d'entre eux étant composé de plusieurs formulaires (traités comme des sections de formulaire).
Il suffit de créer un formulaire à travers l'interface comme indiqué ci-dessus, puis utiliser le wikicode suivant pour faire le rendu d'un formulaire composé sur la page.
{{#pagepropertiesform: Form a
|Form b
|Form c
}}
où Form a, Form b et Form c sont les noms de différents formulaires. Une fois que vous avez placé les formulaires sur l'article de votre choix, soumettre le formulaire créera un nouvel article basé sur la formule du nom de page du formulaire ou le titre entré par l'utilisateur dans le formulaire lui-même, ou déclenchera une erreur si un article avec le même titre existe déjà. En revanche, pour modifier les propriétés sémantiques de l'article en cours, il suffit d'utiliser l'onglet de modification des sémantiques. Enfin, grâce à cette fonction d'analyse, un nombre arbitraire de formulaires peut être inséré dans n'importe quel article à la position souhaitée.
Fonction #pagepropertiesformbutton
La fonction d'analyse #pagepropertiesformbutton
peut être utilisée pour afficher un bouton de lien pointant vers un nouveau formulaire rendu dans une page spéciale.
Le nouveau formulaire, comme ci-dessus, peut à son tour être constitué de plusieurs autres formulaires.
{{#pagepropertiesformbutton: text
|Form a
|Form b
|Form c
|button-type=
|class=
}}
où text est le texte du bouton, Form a, Form b et Form c sont les formulaires dont il faut faire le rendu sur la page spéciale, button-type est un paramètre optionnel pour déterminer si le bouton de formulaire sera généré comme un bouton ou en texte (utilisez les valeurs button et text), et la classe est un paramètre optionnel à ajouter au bouton pour attacher une ou plusieurs classes.
Fonction #pageproperties
La fonction analyseur #pageproperties
peut être utilisée pour afficher facilement les propriétés sémantiques associées à une page, en utilisant des modèles, à la fois pour l'ensemble donné des propriétés, ou pour chaque valeur d'une propriété donnée (utile lorsqu'une propriété contient plusieurs valeurs, par exemple pour faire le rendu des images d'une certaine manière)
Exemple 1
{{#pageproperties: {{FULLPAGENAME}}
|?First name
|?Email
|values-separator=,<nowiki> </nowiki>
|separator=<br>
}}
Exemple 2
{{#pageproperties: {{FULLPAGENAME}}
|?Organization name
|?Email
|template=Organization
|template?Logo=Organization logo
}}
Ici la fonction d'analyse récupérera la valeur Email
de la propriété sémantique Organization name
, affichera Logo
en utilisant le modèle Organization logo, et affichera ces paramètres en utilisant les modèles Organization (la valeur de la propriété Logo est traduite en utilisant le modèle souhaité)
JSON-LD
JSON-LD[3] est une méthode pour coder des données liées en utilisant JSON (source: w:JSON-LD). PageProperties inclut automatiquement l'ontologie associée à la page, si elle existe, sous la forme suivante :
{ "@context": { "name": "http://xmlns.com/foaf/0.1/name", "homepage": { "@id": "http://xmlns.com/foaf/0.1/workplaceHomepage", "@type": "@id" }, "Person": "http://xmlns.com/foaf/0.1/Person" }, "@id": "https://me.example.com", "@type": "Person", "name": "John Smith", "homepage": "https://www.example.com/" }
Cette fonctionnalité est disponible lorsque PageProperties est utilisé avec Semantic MediaWiki, et elle est particulièrement utile pour optimiser les moteurs de recherche, lorsque le wiki contient des pages décrivant des éléments schema.org, des personnes, des livres, des organismes et plus encore.
Assurez-vous d'exécuter composer update --no-dev dans le dossier de l'extension pour activer cette fonctionnalité ! |
Configuration
L'extension fonctionne pleinement lorsqu'elle est utilisée en combinaison avec Semantic MediaWiki, WikiSEO et Display Title. Cependant, aucun d'entre eux n'est nécessaire; lorsqu'il est utilisé sans Semantic MediaWiki l'onglet sémantique sera absent; lorsqu'on utilise sans les métabalises WikiSEO ils doivent être saisis sans liste déroulante, et lorsqu'on les utilise sans Display Title il est possible que le titre de la page alternative ne puisse pas être utilisé pour le lien.
Paramètres globaux
variable | description | valeur par défaut |
---|---|---|
$wgPagePropertiesDisableJsonLD |
désactiver la création de JsonLD à partir des propriétés sémantiques à ajouter au code source de la page | false
|
$wgPagePropertiesShowSlotsNavigation |
affiche les onglets des emplacements dans le panneau de navigation | condition (n) |
$wgPagePropertiesAddTrackingCategory |
ajouter la catégorie de suivi Pages avec PageProperties sur les pages contenant des propriétés | false
|
$wgPagePropertiesDisableSidebarLink |
masque le lien vers la page spéciale PageProperties dans la barre latérale | false
|
$wgPagePropertiesDisableNavigationLink |
masquer le lien vers la page spéciale PageProperties dans le panneau de navigation | false
|
$wgPagePropertiesOpenExternalLinksInNewTab |
Insère un attribut target="_blank" dans tous les liens externes pour qu'ils s'ouvrent dans un nouvel onglet |
false
|
$wgPagePropertiesDisplayAlwaysUnprefixedTitles |
afficher les titres non préfixés pour tous les espaces de noms, y compris ceux qui ne sont pas définis explicitement par l'extension | false
|
$wgPagePropertiesCreateJobsWarningLimit |
nombre de tâches créées sans émettre d'annonce | 0
|
$wgPagePropertiesDisableVersionCheck |
désactiver la vérification de la version de l'extension | false
|
(n) true
si l'utilisateur a les droits pageproperties-canmanagesemanticproperties
, sinon false
(si à la fois $wgPagePropertiesDisableSidebarLink
et $wgPagePropertiesDisableNavigationLink
sont initialisés à true
, la page spéciale PageProperties ne sera pas accessible depuis l'interface)
Droits et privilèges
Cette extension déclare les droits utilisateur suivants : Ils peuvent tous deux être inclus manuellement dans LocalSettings.php ou gérés par l'interface (page spéciale Special:UserRights). Les sysops et les bureaucrates reçoivent par défaut l'ensemble de tous les droits.
Droits
variable | description |
---|---|
pageproperties-caneditpageproperties |
Peut modifier les propriétés des pages |
pageproperties-caneditsemanticproperties |
Peut modifier les propriétés sémantiques |
pageproperties-canmanagesemanticproperties |
Peut gérer les propriétés sémantiques |
pageproperties-cancomposeforms |
Peut construire des formulaires |
pageproperties-canaddsingleproperties |
Peut ajouter des propriétés individuelles |
Exemple de configuration
$wgPagePropertiesDisableJsonLD = true;
$wgGroupPermissions['*']["pageproperties-caneditpageproperties"] = false;
$wgGroupPermissions['*']["pageproperties-caneditsemanticproperties"] = true;
$wgGroupPermissions['*']["pageproperties-canmanagesemanticproperties"] = false;
$wgGroupPermissions['*']["pageproperties-cancomposeforms"] = false;
$wgGroupPermissions['*']["pageproperties-canaddsingleproperties"] = false;
Groupes
groupe (pageproperties-) | Peut modifier les propriétés de page | Peut modifier les propriétés sémantiques | Peut gérer les propriétés sémantiques | Peut construire des formulaires | Peut ajouter des propriétés individuelles |
---|---|---|---|---|---|
admin |
|||||
editor |
|||||
pagepropertieseditor |
|||||
semanticpropertieseditor |
Problèmes connus
- Les modifications ultérieures du nom d'un fichier par l'implémentation spécifique de
OO.ui.SelectFileWidget
ne mettent pas encore à jour le nom du fichier publié. Cela sera corrigé dans une version à venir. - les propriétés renommées n'apparaissent pas sur les descripteurs des formulaires
- si l'emplacement dédié contient des propriétés non enregistrées, elles n'apparaitront pas sur la page spéciale Éditer la sémantique. Ceci pourrait changer à l'avenir.
Démonstrations et tests
Vous êtes invités à tester l'extension sur wikienterprise.org Essayez-la !
Améliorations récentes
- fonctions d'analyse
pagepropertiesform
etpagepropertiesformbutton
(les formulaires peuvent être insérés dans n'importe quel article du wiki) - validation de l'entrée native (en respectant l'attribut requis) pour toutes les entrées OOUI
- valeurs dynamiques des options pour les widgets d'entrées à choix multiples, basées sur les valeurs entrées par l'utilisateur, les listes wiki et les requêtes d'interrogation
- entrées masquées
- valeur-formule (garde une trace de la valeur originale, à utiliser pour les modifications ultérieures)
- renommer ou supprimer des propriétés via l'interface met automatiquement à jour toutes les pages et les formulaires ayant ces propriétés, avec une annonce des tâches à effectuer
- les catégories créées par l'interface graphique sont correctement gérées dans les requêtes d'interrogation
- chargement optimisé des données nécessaires
- widgets d'entrée supplémentaires, à savoir Rating et ButtonMultiselectWidget
Feuille de route
- options-inputs avec l'API de recherche et le défilement infini des résultats (pour les longues listes)
- étiquette d'entrée modifiable (réalisé dans la version 1.2.5c)
- sous-éléments ou sous-objets
- sections de formulaire (il suffit sur le panneau du formulaire d'ajouter l'option Est section de formulaire pour désactiver les autres paramètres principaux du formulaire, et hériter du formulaire parent, puis d'ajouter Groupe de formulaire)
- propriétés recherchables dans les emplacements et le contenu préchargé
- fenêtre dédiée pour les options de chaque entrée disponible, comme indiqué ici (exemple : OO.ui.TextInputWidget), cohérente avec la Gestion des propriétés et la Modification des champs (Edition de formulaire)
- modifications en masse
- entrées supplémentaires, comme les arbres et la notation (réalisé dans la version 1.2.5c : notation et plusieurs boutons de sélection)
- prise en charge de l'Extension Semantic_Interlanguage_Links
Support et bogues
Veuillez publier les messages d'erreur sur la page de discussion de l'extension. Les mises à jour seront publiées sur la liste de diffusion des utilisateurs Semantic MediaWiki et occasionnellement sur la liste de diffusion Wikitech de MediaWiki.
Pour le support professionnel, veuillez utiliser ce formulaire de contact (un formulaire de Extension:CIForms)
Voir aussi
- Extension:Semantic MediaWiki
- Extension:wikiSEO
- Extension:MetaMaster
- Extension:Semantic Meta Tags
- Extension:AdvancedMeta
- Extension:ContactManager
Références
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. |
- Stable extensions/fr
- Hook extensions/fr
- Special page extensions/fr
- GPL licensed extensions/fr
- Extensions in Wikimedia version control/fr
- ArticleUndelete extensions/fr
- BeforeInitialize extensions/fr
- BeforePageDisplay extensions/fr
- LinkerMakeExternalLink extensions/fr
- LoadExtensionSchemaUpdates extensions/fr
- MultiContentSave extensions/fr
- OutputPageParserOutput extensions/fr
- PageDeleteComplete extensions/fr
- ParserAfterTidy extensions/fr
- SidebarBeforeOutput extensions/fr
- SkinTemplateNavigation::Universal extensions/fr
- All extensions/fr
- Extensions included in WikiForge/fr
- Semantic MediaWiki extensions/fr
- Page metadata extensions/fr
- Menu extensions/fr