Extension:VisualData
État de la version : stable |
|
|---|---|
| Implémentation | Accroche, Page spéciale |
| Description | VisualData est un environnement de gestion des métadonnées à part entière basé sur le schéma JSON capable d'enregistrer, d'organiser et de consulter facilement la collecte des données sur votre wiki. |
| Auteur(s) | thomas-topway-it (thomas-topway-itdiscussion) |
| Dernière version | 1.1.2 (2025-10-20) |
| Politique de compatibilité | Le master conserve la compatibilité arrière. |
| MediaWiki | 1.35+ |
| Modifie la base de données |
Oui |
| Licence | Licence publique générale GNU v2.0 ou supérieur |
| Téléchargement | |
| Exemple | Wikisphere |
|
|
|
|
|
|
| Traduire l’extension VisualData sur translatewiki.net si elle y est disponible | |
VisualData est un environnement de gestion des métadonnées à part entière basé sur le schéma JSON et capable d'enregistrer, d'organiser et d'interrpoger facilement la collecte des données sur votre wiki.
Il se caractérise par une forte emphase sur le côté UI/UX et vise à se présenter comme une alternative légère ou moderne à Extension:Semantic MediaWiki et Cargo.
Fonctionnalités clé
- Basé sur le schéma JSON et les emplacements (slots)
- formulaires et fenêtres contextuelles de formulaires générées automatiquement à parir du schéma JSON
- SchemaBuilder intégré pour créer facilement des schémas conformes aux schémas JSON, avec des éléments imbriqués et des widgets OOUI
- Les formulaires sont validés par les normes industrielles ajv-validator
- Requêtes en ligne dans le style de SMW et formats des résultats avec diverses possibilités comme les tableaux de données, le carrousel, le calendrier, les cartes géopraphiques et autres
- Peut importer, enregistrer, interroger de grandes quantités de données (avec structure hiérarchique) dans des articles spécifiques ou l'ensemble du wiki, et les reconstruire en quelques minutes
- terminé avec un script de désinstallation : tester l'extension et le désabonnement si elle ne vérifie pas vos contraintes !
Prenez connaissance des Démonstrations en ligne et des Notes de diffusion pour les dernières améliorations
Eléments de l'interface utilisateur
L'extension ajoute les éléments d'interface suivants à votre wiki (certains d'entre-eux étant dédiés à des utilisateurs autorisés et (ou) aux administrateurs système)
- Une section de la barre latérale permettant d'accéder à toutes les pages spéciales offertes par l'extension
- onglet d'action Modifier les données permettant d'assigner des schémas aux articles et de les remplir via des formulaires OOUI générés automatiquement
- et un onglet d'espace de noms pour accéder à l'emplacement à l'aide des données JSON enregistrées à l'intérieur d'un article via l'extension
L'affichage de chacun d'eux peut être géré en utilisant les paramètres globaux ci-dessous.
Installation
- Télécharger et mettre les fichiers dans le répertoire
VisualDatade votre dossierextensions/. - exécuter
composer install --no-devdans le répertoire des extensions. Ceci installera les bibliothèques nécessaires[1] - Ajouter le code suivant à la fin de votre LocalSettings.php
wfLoadExtension( 'VisualData' );
- Exécuter
php maintenance/run.php update(ceci installera les tables nécessaires)
Fait – Aller sur Special:Version de votre wiki et vérifier que l'extension est correctement installée.
Assurez-vous d'exécuter php maintenance/run.php ./extensions/VisualData/maintenance/RebuildData.php après chaque mise à jour de l'extension si mentionné dans les Notes de diffusion. Ceci va supprimer ou recréer les tables basées sur les données enregistrées dans le wiki.
Principales sections
Droits et privilèges
L'extension crée les droits utilisateur ci-dessous. Tous deux peuvent être ajoutés manuellement dans LocalSettings.php, ou être gérés via l'interface (page spéciale Special:UserRights). Les administrateurs système et le bureaucrates reçoivent l'ensemble des droits par défaut.
Droits
| droits | description |
|---|---|
visualdata-caneditdata |
peut modifier les métadonnées liées aux articles du wiki en les éditant ou en leur assignant des schémas JSON |
visualdata-canmanageschemas |
Permet de créer, modifier, supprimer des schémas via SchemaBuilder |
Exemple de configuration
$wgGroupPermissions['*']["visualdata-caneditdata"] = true;
$wgGroupPermissions['*']["visualdata-canmanageschemas"] = false;
$wgVisualDataDisableSidebarLink = false;
$wgVisualDataDisableSlotsNavigation = false;
$wgVisualDataCreateJobsWarningLimit = 0;
$wgVisualDataEditDataNamespaces = [ 0, 4, 2226, 2230 ];
$wgVisualDataTrackingCategoryJsonData = false;
$wgVisualDataTrackingCategoryForms = false;
$wgVisualDataTrackingCategoryQueries = false;
$wgVisualDataTrackingCategoryButtons = false;
$wgVisualDataMaptilerApiKey = '';
// @Attention le même espace de noms est également utilisé par Extension:JsonConfig et Extension:LinkedWiki
define("NS_DATA", 2220);
define("NS_DATA_TALK", 2221);
$wgExtraNamespaces[NS_DATA] = "Data";
$wgExtraNamespaces[NS_DATA_TALK] = "Data_talk";
Groupes
| Groupe | peut modifier les données | peut gérer les schémas |
|---|---|---|
sysop, bureaucrat |
||
visualdata-admin |
||
visualdata-editor |
Paramètres globaux
| Variable | Description | Par défaut |
|---|---|---|
$wgVisualDataDisableSlotsNavigation |
masquer des positions d'onglets dans le panneau de navigation | false
|
$wgVisualDataDisableSidebarLink |
masquer la section des liens VisualData dans la barre latérale | false
|
$wgVisualDataEditDataNamespaces |
espaces de noms par défaut avec des métadonnées modifiables | 0, 4 (Main, Project)
|
$wgVisualDataJsonDataTrackingCategory |
ajoute une catégorie de suivi aux articles avec des données | false
|
$wgVisualDataCreateJobsWarningLimit |
nombre de tâches créées sans émettre d'annonce | 0
|
$wgVisualDataDisableVersionCheck |
désactive le contrôle de la version de l'extension | false
|
Problèmes connus
- dans certaines versions MediaWiki et configurations, ResourceLoader peut produire des erreurs de syntaxe quand vous ajoutez les fichiers Javascript. Dans ce cas veuillez utiliser
$wgResourceLoaderDebug = true;dans LocalSettings.php, ceci va inclure séparément chaque fichier et devrait résoudre le problème. - le renommage des schémas et des propriétés doit rester synchronisé avec les noms des propriétés et des schémas codés en dur dans les fonctions de l'analyseur syntaxique. Ceci sera résolu en implémentant un générateur de requêtes et de formulaires (voir la feuille de route)
- les requêtes nécessitent qu'une première impression existe, sinon la ligne ne s'affichera pas. Ceci peut être résolu en utilisant le mot-clé DUAL
- SchemaBuilder et le processeur de formulaire ne prennent pas encore en charge les directives
oneOf,anyOfet le support pour le mot clé$ref.
Feuille de route
- gèrer la visibilité pour les blocs de contenus (formulaires)
- gérer la visibilité basée sur des widgets d'entrées à sélections multiples (vérifier si ces éléments sont présents)
- ajouter la prise en charge de
oneOf,anyOfetallOfau générerateur de formulaires et à SchemaBuilder (ce dernier contiendra un sélecteur sur le panneau principal du schéma) - ajouter un tuple et le mot clé
$refau SchemaBuilder (panneau des propriétés, à coté de ajouter un champ, ajouter un bloc de contenu, etc.) - ajoute des propriétés supplémentaires au SchemaBuilder (panneau supplémentaire)
- ajouter une requête et un constructeur de formulaires : cela enregistrera les requêtes et les formulaires en tant que schemas JSON, afin qu'en renommant des schemas ou des propriétés les mises à jour se fassent à l'intérieur de ces schemas, et pas dans le wikicoide. La fonction de l'analyseur syntaxique va ajouter des requêtes et des formulaires d'après leur nom ou leur code
- Interface utilisateur pour la modification en masse des données JSON dans la page spéciale BrowseData
Navigation Ajax pour les tables de données, SearchPaneset SearchBuilder
Et en plus :
- contrôle de version des schémas et des données associées, de sorte que les modifications du schéma se limitent aux données relatives à la structure de données précédente
- avis de contrôle de version affiché via Extension:Echo et (ou) conforme à de meilleures pratiques de conception
- édition partielle des schémas et opérations sur les champs telles que ArrayUnion, ArrayRemove, etc. de Firebase.
- précharger les entités json-ld ou schema.org en tant que schémas JSON
- associer le vocabulaire de json-ld / schema.org aux schémas définis par l'utilisateur
Notes de diffusion
Notes de diffusion de Extension:VisualData
Support et bogues
Veuillez rapporter les messages d'erreur sur la Page de discussion de l'extension ou utiliser Phabricator pour les contributions techniques. Les mises à jour seront occasionnellement postées sur la liste de diffusion Wikitech de MediaWiki.
Pour un support professionnel veuillez écrire à cette adresse courriel
Voir aussi
Pages MediaWiki
- Extension:ContactManager (Exemple d'application wiki construite par dessus VisualData)
- Extension:Semantic MediaWiki
- Extension:Cargo
- Extension:PageForms
- Extension:FlexForm
- Manuel:Gestion des données dans MediaWiki – Aperçu et comparaison
- Outreachy 30: VisualData's json-schema enhancements (bringing JSON-Schema to MediaWiki)
Sites externes
- Démonstration sur Wikisphere
- json-schema
- démonstration de l'éditeur JSON
- créateur de schéma JSON
- dépôt de schémas
- php-json-schema-model-generator
Essayez !
Références
- ↑ bien que l'extension fonctionne sans bibliothèque supplémentaire, celles-ci sont nécessaires pour gérer le renommage des schémas et des propriétés et pour prendre en charge la redéfinition des données préchargées
- Stable extensions/fr
- Hook extensions/fr
- Special page extensions/fr
- GPL licensed extensions/fr
- Extensions in Wikimedia version control/fr
- AfterImportPage extensions/fr
- AlternateEdit extensions/fr
- ArticleUndelete extensions/fr
- BeforeInitialize extensions/fr
- BeforePageDisplay extensions/fr
- ContentAlterParserOutput extensions/fr
- ContentGetParserOutput extensions/fr
- EditPage::showEditForm:initial extensions/fr
- LoadExtensionSchemaUpdates extensions/fr
- MediaWikiServices extensions/fr
- MultiContentSave extensions/fr
- OutputPageParserOutput extensions/fr
- PageDeleteComplete extensions/fr
- PageRenderingHash extensions/fr
- PageSaveComplete extensions/fr
- ParserAfterTidy extensions/fr
- ParserFirstCallInit extensions/fr
- ParserPreSaveTransformComplete extensions/fr
- RandomPageQuery extensions/fr
- RevisionFromEditComplete extensions/fr
- ScribuntoExternalLibraries extensions/fr
- SidebarBeforeOutput extensions/fr
- SkinBuildSidebar extensions/fr
- SkinTemplateNavigation::Universal extensions/fr
- All extensions/fr
- Page metadata extensions/fr
- Data extraction extensions/fr
- Database extensions/fr
- Data management extensions/fr
- Table extensions/fr
- Page content extensions/fr
