LINUX:MediaWiki - Semantic MediaWiki

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche

retour au menu de MediaWiki


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.

LINUX:Mw.droits.png


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é.




retour au menu de MediaWiki