DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:struct

This is an old revision of the document!


struct Plugin

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 global data not attached to any page 1)
  • global data can be used as data source for lookup dropdowns
  • serial data is a collection of data structures belonging to a given page
  • 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.

Search and install the plugin using the Extension Manager. Refer to Plugins on how to install plugins manually.

Usage

Development

Change Log

Build Status

Known Bugs and Issues

1)
referred to as lookup in previous versions of struct
plugin/struct.1615968759.txt.gz · Last modified: 2021-03-17 09:12 by andi

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