Demo VisualData 1.0
No edit summary |
No edit summary Tag: 2017 source edit |
||
(90 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{# | {{#visualdataprint: {{FULLPAGENAME}}|schema=Book|template=Book|template?authors=Book authors|format=template}} | ||
This is a page with an infobox that demonstrates the use of VisualData ([https://gerrit.wikimedia.org/r/c/mediawiki/extensions/VisualData/+/968230 latest version]) used as a [[wikipedia:Create,_read,_update_and_delete|CRUD]] | |||
|schema=Book | |||
|template=Book | |||
|template?authors=Book authors | |||
}} | |||
Click the button below to edit the article's metadata through a popup or the tab "Edit semantic" among the article's actions. | |||
{{#visualdataform: Book|title=edit infobox and page|action=edit|edit-page={{FULLPAGENAME}}|return-page=|view=popup|popup-size=medium|css-class=|pagename-formula=|edit-freetext=true|edit-categories=false|edit-content-model=false|default-categories=|default-content-model=wikitext|layout-align=top|popup-help=false|submit-button-text=|layout=tabs|validate-button-text=}} | |||
{{# | |||
|title = edit infobox and page | |||
|action = edit | |||
|edit-page = {{FULLPAGENAME}} | |||
|return-page = | |||
|view = popup | |||
|popup-size = medium | |||
|css-class = | |||
|pagename | |||
|edit-freetext = true | |||
|edit-categories = false | |||
|edit-content-model = false | |||
|default-categories = | |||
|default-content-model = wikitext | |||
|layout-align = top | |||
|popup-help = | |||
|submit-button-text = | |||
|layout = tabs | |||
|validate-button-text = | |||
}} | |||
Line 40: | Line 12: | ||
<pre> | <pre> | ||
{{# | {{#visualdataform: Book | ||
|title = edit infobox and page | |title = edit infobox and page | ||
|action = edit | |action = edit | ||
Line 48: | Line 20: | ||
|popup-size = medium | |popup-size = medium | ||
|css-class = | |css-class = | ||
|pagename | |pagename-formula = | ||
|edit-freetext = true | |edit-freetext = true | ||
|edit-categories = false | |edit-categories = false | ||
|edit-content-model = false | |edit-content-model = false | ||
|edit-target-slot = false | |||
|target-slot = json-data | |||
|default-categories = | |default-categories = | ||
|default-content-model = wikitext | |default-content-model = wikitext | ||
|preload= | |||
|preload-data= | |||
|layout-align = top | |layout-align = top | ||
|popup-help = | |popup-help = false | ||
|submit-button-text = | |submit-button-text = | ||
|layout = tabs | |layout = tabs | ||
Line 64: | Line 40: | ||
</pre> | </pre> | ||
A | A VisualData' form can edit whatever page (through the parameter <code>edit-page</code>, and create new pages with user-defined title or using a pagename formula. It is [https://json-schema.org/ json/schema] compliant<ref>It does not yet support allOf, anyOf, oneOf, and $refs both in the editor and in the viewer</ref> and can handle subitems, multiple fields and multiple sub items. It is deeply integrated with the Mediawiki's [https://doc.wikimedia.org/oojs-ui/master/demos/ OOUI library] and uses a lot or most of its features. | ||
'''In the latest version can query properties and nested properties, | '''In the latest version can query properties and nested properties, as well as render them using templates and nested templates and does not rely on [https://www.semantic-mediawiki.org/wiki/Semantic_MediaWiki SemanticMediawiki]'''. | ||
The infobox is rendered through the following code | The infobox is rendered through the following code: | ||
<pre> | <pre> | ||
{{# | {{#visualdataprint: {{FULLPAGENAME}} | ||
|?cover | |?cover | ||
|?title | |?title | ||
Line 80: | Line 56: | ||
|template=Book | |template=Book | ||
|template?authors=Book authors | |template?authors=Book authors | ||
|format=template | |||
}} | }} | ||
Line 85: | Line 62: | ||
This is a SemanticMediawiki-like parser function that can be used as a shorthand to invoke the more complex <code> {{# | This is a SemanticMediawiki-like parser function that can be used as a shorthand to invoke the more complex <code> {{#visualdataquery}} </code> parser function that can handle multi-page results and provides a basic query language. (more about this on the official page of the extension to be updated soon) | ||
The results are rendered on the page using 2 templates, [[Template:Book]] and [[Template:Book authors]]. The second is used as a nested template rendered inside the parent template ([[Template:Book]]) entitled to render the properties with path <code>authors</code>. ''' Note that the parent template must include a reference to the name of the child template since both values and template's containers are passed as named parameters.''' | |||
The form's schema(s) (a form can contain an arbitrary number of schemas, and a schema an arbitrary number of items and subitems) can be edited using this [[Special:ManageSchemas|Special page]] or [https://wikisphere.org/w/index.php?title=Test_visualdata_2.0&action=editsemantic this interface] (tab Edit semantic, edit icon on the right and then "Manage schemas") | |||
The related [[VisualDataSchema:Book|schema]] created by the UI contains an hidden property "name" that is filled-in with the compounded value of the fields <code>first_name</code> and <code>last_name</code>. | |||
Also, the cover file name contains a value-formula, that allows the file to be saved with the article-id as prefix (also for new articles) which is useful to easily upload on the wiki files with similar names. | |||
Have fun with this extension !! | |||
== See also == | |||
{{Demo VisualData footer}} | |||
== Download == | |||
[[mediawikiwiki:Special:ExtensionDistributor/VisualData|'''Latest version!''']] | |||
<!-- | |||
For custom development requests use this form https://wikisphere.org/wiki/Contact_form | |||
--> | |||
<references /> | |||
jsondata | |||
---|---|---|---|
Line 1: | Line 1: | ||
{} | { | ||
"schemas": { | |||
"Book": { | |||
"title": "The first men in the moon", | |||
"authors": [ | |||
{ | |||
"first_name": "Herbert ", | |||
"last_name": "Wells", | |||
"email": "", | |||
"name": "Herbert Wells" | |||
}, | |||
{ | |||
"first_name": "George", | |||
"last_name": "Wells", | |||
"email": "", | |||
"name": "George Wells" | |||
} | |||
], | |||
"cover": "File:First_Men_in_the_Moon_(1901)_frontispiece.jpg" | |||
} | |||
}, | |||
"schemas-data": { | |||
"untransformed": { | |||
"Book/authors/0/name": "Herbert Wells", | |||
"Book/authors/1/name": "George Wells", | |||
"Book/cover": "First_Men_in_the_Moon_(1901)_frontispiece.jpg" | |||
} | |||
} | |||
} | |||
pageproperties | |||
Line 1: | Line 1: | ||
{ | {} | ||
} |
Latest revision as of 21:22, 29 April 2024
Title | The first men in the moon |
---|---|
Authors | name: Herbert Wells email: name: George Wells email: |
Cover |
This is a page with an infobox that demonstrates the use of VisualData (latest version) used as a CRUD
Click the button below to edit the article's metadata through a popup or the tab "Edit semantic" among the article's actions.
The popup is rendered using the following code
{{#visualdataform: Book |title = edit infobox and page |action = edit |edit-page = {{FULLPAGENAME}} |return-page = |view = popup |popup-size = medium |css-class = |pagename-formula = |edit-freetext = true |edit-categories = false |edit-content-model = false |edit-target-slot = false |target-slot = json-data |default-categories = |default-content-model = wikitext |preload= |preload-data= |layout-align = top |popup-help = false |submit-button-text = |layout = tabs |submit-button-text = |validate-button-text = }}
A VisualData' form can edit whatever page (through the parameter edit-page
, and create new pages with user-defined title or using a pagename formula. It is json/schema compliant[1] and can handle subitems, multiple fields and multiple sub items. It is deeply integrated with the Mediawiki's OOUI library and uses a lot or most of its features.
In the latest version can query properties and nested properties, as well as render them using templates and nested templates and does not rely on SemanticMediawiki.
The infobox is rendered through the following code:
{{#visualdataprint: {{FULLPAGENAME}} |?cover |?title |?authors/name |?authors/email |schema=Book |template=Book |template?authors=Book authors |format=template }}
This is a SemanticMediawiki-like parser function that can be used as a shorthand to invoke the more complex {{#visualdataquery}}
parser function that can handle multi-page results and provides a basic query language. (more about this on the official page of the extension to be updated soon)
The results are rendered on the page using 2 templates, Template:Book and Template:Book authors. The second is used as a nested template rendered inside the parent template (Template:Book) entitled to render the properties with path authors
. Note that the parent template must include a reference to the name of the child template since both values and template's containers are passed as named parameters.
The form's schema(s) (a form can contain an arbitrary number of schemas, and a schema an arbitrary number of items and subitems) can be edited using this Special page or this interface (tab Edit semantic, edit icon on the right and then "Manage schemas")
The related schema created by the UI contains an hidden property "name" that is filled-in with the compounded value of the fields first_name
and last_name
.
Also, the cover file name contains a value-formula, that allows the file to be saved with the article-id as prefix (also for new articles) which is useful to easily upload on the wiki files with similar names.
Have fun with this extension !!
See also[edit | edit source]
- Demo VisualData 1.0
- New task
- Page upload
- CRUD
- Result formats
- Dependent values
- Geolocation
- Queries
- Query cities (join queries)
- Dynamic catalogue
- Official docs
Download[edit | edit source]
- ↑ It does not yet support allOf, anyOf, oneOf, and $refs both in the editor and in the viewer