DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:struct

This is an old revision of the document!


struct Plugin

Compatible with DokuWiki

2016-06-26a, !Detritus, !Hrun, !Ponder Stibbons, !Binky

plugin A new structured data plugin

Last updated on
2017-07-11
Provides
Syntax, Admin, Action
Repository
Source
Conflicts with
ckgedit, discussion, fastwiki
Requires
sqlite

Why “struct” instead of “data”?

This plugin draws heavy inspiration from the data plugin. It basically tries to solve the same problem of assigning structured data to pages and build automatic aggregations from it.

So why another plugin? The data plugin proved to be very useful and versatile but had a few shortcomings:

  • each page defined its own set of structured data
  • there was no central way to ensure the structured data was consistent over multiple pages
  • there was no easy way to modify the structured data set for multiple pages
  • there was no validation for the data entered

The bureaucracy plugin helped with some of the points but not all of them. So struct tries to rethink the data plugin:

  • structured data is classified in schemas
  • a schema holds a set of fields
  • fields have a specific type
  • types control how the data is displayed and validated
  • types have specific configuration within the schema
  • schemas are managed centrally in an admin interface
  • pages are assigned schemas through namespace patterns
  • changing a schema changes it for all associated pages
  • the structured data is no longer part of the page syntax
  • data is only edited via a dedicated form within the standard editor or through inline editing
  • it is possible to create lookup schemas where data is not attached to any page
  • lookup schemas can be used as data source for lookup dropdowns
  • all crucial code is covered by automated tests

This allows for central management of wanted structured data while keeping the functionality of the data plugin.

Installation

A CosmoCode Plugin

:!: External requirements: This plugin requires the following additional components that must be installed separately:

:!: Please also note that this plugin requires PHP 5.6 or higher.

Install the plugin using the Extension Manager and the download URL above, which points to latest version of the plugin. Refer to Plugins on how to install plugins manually.

Usage

Development

Change Log

Build Status

Known Bugs and Issues

plugin/struct.1503402699.txt.gz · Last modified: 2017-08-22 13:51 by SFITCS

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki