Rozšíření:VisualData
Stav rozšíření: stabilní |
|
|---|---|
| Implementace | Háček, Speciální stránka |
| Popis | VisualData je plnohodnotný framework pro správu metadat založený na JSON-schema, který dokáže snadno zaznamenávat, organizovat a dotazovat se na sbírky dat na vaší wiki. |
| Autoři | thomas-topway-it (thomas-topway-itdiskuse) |
| Nejnovější verze | 1.1.2 (2025-10-20) |
| Zásady kompatibility | Větev master zachovává zpětnou kompatibilitu. |
| MediaWiki | 1.35+ |
| Změny v databázi | Ano |
|
|
|
|
|
|
| Licence | GNU General Public License 2.0 nebo novější |
| Stáhnout | |
| Příklad | Wikisphere |
| Přeložte rozšíření VisualData, používá-li lokalizaci z translatewiki.net | |
VisualData je plnohodnotný framework pro správu metadat založený na json-schema, který dokáže snadno zaznamenávat, organizovat a dotazovat se na sbírky dat na vaší wiki.
Vyznačuje se silným důrazem na UI/UX stránku a jeho cílem je prezentovat se jako lehká nebo moderní alternativa k Rozšíření:Semantic MediaWiki a Cargo.
Klíčové vlastnosti
- Na základě json-schema a sloty
- Formuláře a vyskakovací formuláře automaticky generované ze schématu JSON
- Integrovaný SchemaBuilder pro snadné vytváření schémat kompatibilních s JSON, s vnořenými položkami a OOUI widgety
- Formuláře jsou ověřovány standardním v oboru ajv-validator.
- SMW styl inline queries a plně funkční formáty výsledků jako Datatable, Carousel, Calendar, Map a další
- Umožňuje importovat/ukládat/dotazovat velké množství dat (s hierarchickou strukturou) v konkrétních článcích/celé wiki a znovu je sestavit během několika minut.
- Dokončeno pomocí odinstalačního skriptu: otestujte rozšíření a odhlaste se, pokud nesplňuje vaše požadavky!
Pro nejnovější vylepšení se podívejte na živá dema a poznámky k verzi
Prvky uživatelského rozhraní
Rozšíření přidává do vaší wiki následující prvky rozhraní (některé z nich pouze pro autorizované uživatele a nebo správce):
- Sekce postranního panelu, kde se dostanete ke všem speciálním stránkám nabízeným rozšířením
- Záložka akce "Upravit data", pomocí které lze přiřadit schémata k článku a vyplnit je pomocí automaticky generovaných formulářů OOUI
- Záložku jmenného prostoru, kde lze přistupovat ke slotu s daty JSON registrovanými v článku prostřednictvím rozšíření
Viditelnost každého z nich lze spravovat pomocí níže uvedených globálních parametrů.
Instalace
- Stáhněte a umístěte soubor(y) do adresáře s názvem
VisualDatave vaší složceextensions/. - Spusťte
composer install --no-devve složce rozšíření. Tím se nainstalují potřebné knihovny[1] - Přidejte následující kód na konec vašeho LocalSettings.php
wfLoadExtension( 'VisualData' );
- Spusťte
php maintenance/run.php update(tím se nainstalují požadované tabulky)
Dokončeno – Přejděte na Special:Version na své wiki a ověřte, že je rozšíření úspěšně nainstalováno.
Nezapomeňte spustit příkaz php maintenance/run.php ./extensions/VisualData/maintenance/RebuildData.php po každé aktualizaci rozšíření, pokud je to uvedeno v Poznámkách k verzi. Tím se odstraní/znovu vytvoří tabulky na základě dat uložených na wiki.
Hlavní sekce
Práva a výsady
Rozšíření vytváří následující uživatelská práva. Mohou být buď zahrnuty ručně do LocalSettings.php, nebo spravovány prostřednictvím rozhraní (speciální stránka Special:UserRights). Sysops a byrokraté mají ve výchozím nastavení přiřazenou kompletní sadu oprávnění.
Práva
| právo | popis |
|---|---|
visualdata-caneditdata |
Lze upravovat metadata související s články wiki úpravou/přiřazením schémat JSON k nim |
visualdata-canmanageschemas |
Schémata lze vytvářet/upravovat/mazat pomocí funkce SchemaBuilder. |
Příklad konfigurace
$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 Stejný jmenný prostor používají také Extension:JsonConfig a Extension:LinkedWiki
define("NS_DATA", 2220);
define("NS_DATA_TALK", 2221);
$wgExtraNamespaces[NS_DATA] = "Data";
$wgExtraNamespaces[NS_DATA_TALK] = "Data_talk";
Skupiny
| skupina | Může upravovat data | Může spravovat schémata |
|---|---|---|
sysop, bureaucrat |
||
visualdata-admin |
||
visualdata-editor |
Globální parametry
| proměnná | popis | výchozí |
|---|---|---|
$wgVisualDataDisableSlotsNavigation |
skrýt záložku sloty na navigačním panelu | false
|
$wgVisualDataDisableSidebarLink |
skrýt sekci odkazů VisualData na postranním panelu | false
|
$wgVisualDataEditDataNamespaces |
výchozí jmenné prostory s upravitelnými metadaty | 0, 4 (Main, Project)
|
$wgVisualDataTrackingCategoryJsonData |
přidat kategorii sledování k článkům s daty | false
|
$wgVisualDataCreateJobsWarningLimit |
počet vytvořených pracovních míst bez vydání oznámení | 0
|
$wgVisualDataDisableVersionCheck |
zakázat kontrolu verze rozšíření | false
|
Známé problémy
- V některých verzích a konfiguracích MediaWiki může ResourceLoader při sdružování souborů Javascript generovat syntaktické chyby. V tomto případě prosím použijte
$wgResourceLoaderDebug = true;v LocalSettings.php, tím se každý soubor zahrne zvlášť a problém by se měl vyřešit. - Přejmenování schémat a vlastností musí být synchronizováno s názvy vlastností a schémat pevně zakódovanými ve funkcích parseru. Toto bude vyřešeno implementací nástroje pro tvorbu dotazů a formulářů (viz plán)
- Dotazy vyžadují existenci prvního výpisu, jinak se řádek nezobrazí. Toto by se dalo vyřešit pomocí klíčového slova DUAL
- SchemaBuilder a formulářový procesor zatím nepodporují direktivy
oneOf,anyOfa klíčové slovo$ref.
Plán
- Zpracování viditelnosti bloků obsahu (formuláře)
- Zvládnout viditelnost na základě vícenásobného výběru vstupních widgetů (kontrola, zda obsahuje položky)
- Přidat podporu pro
oneOf,anyOfaallOfdo generátoru formulářů a SchemaBuilderu (SchemaBuilder bude obsahovat výběr na hlavním panelu schématu) - Přidat klíčové slovo tuple a
$refdo SchemaBuilderu (panel vlastností, kromě 'přidat pole', 'přidat blok obsahu' atd.) - Přidat další vlastnosti do SchemaBuilderu (další panel)
- Přidat nástroj pro tvorbu dotazů a formulářů: Toto uloží dotazy a formuláře jako schémata JSON, takže přejmenování schémat nebo vlastností lze aktualizovat v rámci těchto schémat, nikoli ve wikitextu. Funkce parser přidá dotazy a formuláře podle jejich názvů nebo kódu.
- Uživatelské rozhraní pro hromadnou úpravu dat JSON na speciální stránce BrowseData
Ajax navigace pro datové tabulky, SearchPanesa SearchBuilder
Dodatek:
- Správa verzí schémat a souvisejících dat, takže úpravy schématu se omezují na data související s předchozí datovou strukturou
- Oznámení o správě verzí zobrazené prostřednictvím Rozšíření:Echo a nebo v souladu s lepšími návrhovými postupy
- Částečná úprava schémat a operací s poli, jako jsou ArrayUnion, ArrayRemove atd. ve Firebase.
- Přednačíst entity json-ld/schema.org jako json-schemas
- Přiřadit slovník json-ld/schema.org k uživatelsky definovaným schématům
Poznámky k vydání
Rozšíření:VisualData/Poznámky k verzi
Podpora a chyby
Zveřejněte, prosím, chybové zprávy na diskuzní stránce rozšíření. Aktualizace budou občas zveřejňovány na [mailing listu https://lists.wikimedia.org/postorius/lists/mediawiki-l.lists.wikimedia.org/ Wikitech] MediaWiki.
Pro profesionální podporu prosím napište na e-mailovou adresu uvedenou zde
Související odkazy
Stránky MediaWiki
- Extension:ContactManager (Demo wiki aplikace postavená na platformě VisualData)
- Rozšíření:Semantic MediaWiki
- Rozšíření:Cargo
- Extension:PageForms
- Extension:FlexForm
- Příručka:Správa dat v MediaWiki – přehled a srovnání
- Outreachy 30: VisualData's json-schema enhancements (bringing JSON-Schema to MediaWiki)
Externí stránky
- Dema na Wikisphere
- json-schema
- Demoverze editoru JSON
- Tvůrce schémat JSON
- Úložiště schémat
- php-json-schema-model-generator
Vyzkoušejte to!
Poznámky pod čarou
- ↑ Ačkoli rozšíření funguje bez dalších knihoven, jsou nutné pro zpracování přejmenování schémat a vlastností a pro podporu preload-data override
- Stable extensions/cs
- Hook extensions/cs
- Special page extensions/cs
- AfterImportPage extensions/cs
- AlternateEdit extensions/cs
- ArticleUndelete extensions/cs
- BeforeInitialize extensions/cs
- BeforePageDisplay extensions/cs
- ContentAlterParserOutput extensions/cs
- ContentGetParserOutput extensions/cs
- EditPage::showEditForm:initial extensions/cs
- LoadExtensionSchemaUpdates extensions/cs
- MediaWikiServices extensions/cs
- MultiContentSave extensions/cs
- OutputPageParserOutput extensions/cs
- PageDeleteComplete extensions/cs
- PageRenderingHash extensions/cs
- PageSaveComplete extensions/cs
- ParserAfterTidy extensions/cs
- ParserFirstCallInit extensions/cs
- ParserPreSaveTransformComplete extensions/cs
- RandomPageQuery extensions/cs
- RevisionFromEditComplete extensions/cs
- ScribuntoExternalLibraries extensions/cs
- SidebarBeforeOutput extensions/cs
- SkinBuildSidebar extensions/cs
- SkinTemplateNavigation::Universal extensions/cs
- GPL licensed extensions/cs
- Extensions in Wikimedia version control/cs
- All extensions/cs
- Page metadata extensions/cs
- Data extraction extensions/cs
- Database extensions/cs
- Data management extensions/cs
- Table extensions/cs
- Page content extensions/cs
