« LINUX:MediaWiki - Semantic MediaWiki » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
(9 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 21 : | Ligne 21 : | ||
Ces méthodes sont décrites dans l'article sur la [[LINUX:MediaWiki - Récupération des paquets et mise en place|Récupération des paquets et mise en place]]. | Ces méthodes sont décrites dans l'article sur la [[LINUX:MediaWiki - Récupération des paquets et mise en place|Récupération des paquets et mise en place]]. | ||
Il est noter qu'une correction doit être faite pour l'extension Semantic-Result-Formats. La version installée actuellement est la 4.2.0 par "composer" mais elle provoque un message d'erreur dans les journaux de PHP. Elle résulte d'une ligne de code mal placée dans le script "SemanticResultFormats.php". | |||
La ligne "self::registerHooks();" de la ligne 49 doit être déplacée avant la ligne 96. ("$hookContainer = MediaWikiServices::getInstance()->getHookContainer();") | |||
On peut trouver sa correction à l'URL: https://github.com/SemanticMediaWiki/SemanticResultFormats/commit/a0b5adec7cb4d0408c000a537780950a6bf551ae qui est publiée comme la version 4.2.1. | |||
Ligne 47 : | Ligne 52 : | ||
=[[LINUX:MediaWiki - SMW - | =Droits= | ||
Suite à cette installation, trois groupes d'administrateurs spécifiques à "Semantic MediaWiki" sont apparus. En tant qu'administrateur, on se donne ces droits si on est administrateur. | |||
On va dans les "Pages Spéciales" à la section "Utilisateurs et droits rattachés". On clique sur le point "Droits des utilisateurs". Dans l'écran qui s'ouvre, on introduit notre nom d'utilisateur MediaWiki qui a les droits administrateurs. | |||
On coche les trois droits liés à "Semantic MediaWiki" et on les enregistre. | |||
[[FILE:LINUX:Mw.droits.png|600px|center]] | |||
=Composants= | |||
Auparavant, nous allons présenter quelques concepts. | |||
Dans les exemples suivants, nous serons confrontés à diverses ressources: | |||
* les propriétés | |||
* les formulaires | |||
* les modèles | |||
* les catégories | |||
* les requêtes | |||
==Propriété== | |||
Une propriété défini une catégorie de données auquel on donne un nom et que l'on relie à un type de données. Sous cette propriété, viendront se regrouper des relations entre une valeur de cette propriété et une page où elle se trouve. | |||
==Formulaire== | |||
Un formulaire est une page spéciale qui sert à introduire des valeurs liées un ensemble de propriétés pour une page classique. | |||
==Modèle== | |||
Un modèle est une page particulière qui sert à mettre en page de façon standardisée les valeurs de propriétés dans un contexte. Elle sera appelée par la page classique. Voyez l'article sur le [[LINUX:MediaWiki - Modèle|Modèle]]. | |||
==Catégorie== | |||
Une catégorie est un index reprenant les différentes pages concernant un sujet, dans notre cas, liés à un modèle. Voyez l'article sur la [[LINUX:MediaWiki - Catégorie|Catégorie]]. | |||
==Requête== | |||
Une requête est une recherche de données parmi les valeurs des propriétés des pages concernées. On peut les afficher, par exemple, sous forme de tableau. | |||
=Création par l'exemple= | |||
Au lieu d'un exposé théorique, rien de tel que de l'aborder au travers d'exemples basiques. | |||
==[[LINUX:MediaWiki - SMW - Création de propriétés|Création de propriétés]]== | |||
La première étape consiste à créer des propriétés. | |||
==[[LINUX:MediaWiki - SMW - Prototype: Personnes|Prototype: Personnes]]== | |||
Cet exemple concerne un embryon de gestion de personnes. On crée un prototype à partir des outils fournis. | |||
==[[LINUX:MediaWiki - SMW - Requête: Personnes|Requête: Personnes]]== | |||
On constitue diverses requêtes. | |||
==[[LINUX:MediaWiki - SMW - Amélioration: Personnes|Amélioration: Personnes]]== | |||
On améliore ensuite cet embryon de gestion de personnes. | |||
==[[LINUX:MediaWiki - SMW - Prototype: Livres|Prototype: Livres]]== | |||
Cet exemple concernera un embryon de gestion de livres. On crée un prototype à partir des outils fournis. | |||
==[[LINUX:MediaWiki - SMW - Requête: Livres|Requête: Livres]]== | |||
On constitue diverses requêtes. | |||
==[[LINUX:MediaWiki - SMW - Amélioration: Livres|Amélioration: Livres]]== | |||
On améliore ensuite cet embryon de gestion de livres. | |||
=[[LINUX:MediaWiki - SMW - Correction de groupe de schéma de propriétés|Correction de groupe de schéma de propriétés]]= | |||
Au fur et à mesure des migrations, un problème de mise à jour a subsisté. | |||
Dernière version du 11 février 2024 à 13:46
But
Semantic MediaWiki est une extension qui permet de gérer et d'exploiter un ensemble structuré de données.
On l'allie à d'autres extensions pour étendre ses capacités.
En entreprise, je l'ai utiliser pour créer une fiche d'identification du personnel.
Chaque fiche rassemble les données minimales tels le nom et le prénom de la personne. On y associe des données liées à l'entreprise tels son Email, son n° de téléphone, à quel service il appartient, sa photo, son lieu de travail, sa fonction,...
A partir de ces informations, on peut créer des listes des n° de téléphone par bâtiment, un tableau de photos par service,...
Installation
L'extension Semantic-MediaWiki s'installe via le logiciel "composer". On va aussi utiliser l'extension Semantic-Result-Formats qui s'installe aussi par le même logiciel. Une autre extension nécessaire PageForms est installée par décompression d'un fichier.
Dans un des exemples décrits, nous aurons besoins des trois extensions suivantes: Arrays, Loops, et Variables qui s'installent aussi de façon classique.
Ces méthodes sont décrites dans l'article sur la Récupération des paquets et mise en place.
Il est noter qu'une correction doit être faite pour l'extension Semantic-Result-Formats. La version installée actuellement est la 4.2.0 par "composer" mais elle provoque un message d'erreur dans les journaux de PHP. Elle résulte d'une ligne de code mal placée dans le script "SemanticResultFormats.php".
La ligne "self::registerHooks();" de la ligne 49 doit être déplacée avant la ligne 96. ("$hookContainer = MediaWikiServices::getInstance()->getHookContainer();")
On peut trouver sa correction à l'URL: https://github.com/SemanticMediaWiki/SemanticResultFormats/commit/a0b5adec7cb4d0408c000a537780950a6bf551ae qui est publiée comme la version 4.2.1.
UPDATE
Après cette phase de mise en place des logiciels, il faut mettre à jour MediaWiki. POur ce faire on exécute en mode console sous Linux la commande de mise à jour "update" du répertoire "maintenance":
php81 /web/wiki.39/maintenance/update.php --conf /web/wiki.39/LocalSettings.php
Cette opération va mettre à jour la base de données MariaDB et ajouter un grand nombre de tables et y injecter des données. Au passage un fichier spécial contenant une clé de mise à jour est créé. Il s'agit du fichier "/web/wiki.39/extensions/SemanticMediaWiki/.smw.json". Sauvez-le.
Maintenant il faut vérifier la propriété et les droits d'accès pour l'utilisateur "apache". (voir l'article sur les Propriétaire et droits d'accès) car on a ajouté de nombreux fichiers.
Maintenance
D'autre commandes du même type viennent avec le logiciel. Il se trouvent dans le répertoire "/web/wiki.39/extensions/SemanticMediaWiki/maintenance".
Voici quelques commandes utiles:
php81 /web/wiki.39/extensions/SemanticMediaWiki/maintenance/setupStore.php php81 /web/wiki.39/extensions/SemanticMediaWiki/maintenance/rebuildData.php -v php81 /web/wiki.39/extensions/SemanticMediaWiki/maintenance/removeDuplicateEntities.php php81 /web/wiki.39/extensions/SemanticMediaWiki/maintenance/disposeOutdatedEntities.php php81 /web/wiki.39/extensions/SemanticMediaWiki/maintenance/updateQueryDependencies.php
Leur nom est explicite.
Certaines de ces commandes sont accessibles via l'interface Web de MediaWiki. Elles se trouvent dans les "pages Spéciales" sous la section "MediaWiki Sémantique"; on clique sur le point "Tableau de bord de MediaWiki Sémantique" et on passe à l'onglet "Maintenance". Là vous trouvez quatre boutons pour enclencher diverses actions.
Le nombre de tâches lancées est important. Il vaut mieux lancer manuellement ces tâches comme décrit dans l'article sur les Tâches de fond en interactif.
Droits
Suite à cette installation, trois groupes d'administrateurs spécifiques à "Semantic MediaWiki" sont apparus. En tant qu'administrateur, on se donne ces droits si on est administrateur.
On va dans les "Pages Spéciales" à la section "Utilisateurs et droits rattachés". On clique sur le point "Droits des utilisateurs". Dans l'écran qui s'ouvre, on introduit notre nom d'utilisateur MediaWiki qui a les droits administrateurs.
On coche les trois droits liés à "Semantic MediaWiki" et on les enregistre.
Composants
Auparavant, nous allons présenter quelques concepts. Dans les exemples suivants, nous serons confrontés à diverses ressources:
- les propriétés
- les formulaires
- les modèles
- les catégories
- les requêtes
Propriété
Une propriété défini une catégorie de données auquel on donne un nom et que l'on relie à un type de données. Sous cette propriété, viendront se regrouper des relations entre une valeur de cette propriété et une page où elle se trouve.
Formulaire
Un formulaire est une page spéciale qui sert à introduire des valeurs liées un ensemble de propriétés pour une page classique.
Modèle
Un modèle est une page particulière qui sert à mettre en page de façon standardisée les valeurs de propriétés dans un contexte. Elle sera appelée par la page classique. Voyez l'article sur le Modèle.
Catégorie
Une catégorie est un index reprenant les différentes pages concernant un sujet, dans notre cas, liés à un modèle. Voyez l'article sur la Catégorie.
Requête
Une requête est une recherche de données parmi les valeurs des propriétés des pages concernées. On peut les afficher, par exemple, sous forme de tableau.
Création par l'exemple
Au lieu d'un exposé théorique, rien de tel que de l'aborder au travers d'exemples basiques.
Création de propriétés
La première étape consiste à créer des propriétés.
Prototype: Personnes
Cet exemple concerne un embryon de gestion de personnes. On crée un prototype à partir des outils fournis.
Requête: Personnes
On constitue diverses requêtes.
Amélioration: Personnes
On améliore ensuite cet embryon de gestion de personnes.
Prototype: Livres
Cet exemple concernera un embryon de gestion de livres. On crée un prototype à partir des outils fournis.
Requête: Livres
On constitue diverses requêtes.
Amélioration: Livres
On améliore ensuite cet embryon de gestion de livres.
Correction de groupe de schéma de propriétés
Au fur et à mesure des migrations, un problème de mise à jour a subsisté.