As Andi pointed out in an earlier post, the business setups we target at with our ICKE 2.0 project are all about structured data. Projects, products, organizational entities like workgroups and employees are represented using custom pages or namespace structures. Aggregating, listing and filtering these entities is an important feature for the ICKE project. It allows for example to list recent projects, upcoming meetings for a user or just all employees in a group.
Fortunately, the data plugin allows to attach structured data to wiki pages which then can be used to produce lists and tables. So we decided to use the plugin in the ICKE project: data entries representing our entities are created with the respective namespace structures, dashboard and overview pages contain lists of projects or meetings for example.
The field types provided by the data plugin are not sufficient to represent complex, relational structures. Therefor we introduced type aliases. Type aliases are custom data types which are defined by a base type (one of the built-in types like page
or no type), and optionally a prefix or postfix. Moreover, type aliases can specify a set of valid values for fields of that type. Type aliases are managed on an own page in the admin menu. They can be used in data entries, lists and tables like the built-in types.
While the creation of data entries is performed by the bureaucracy wizards Andi described in his blog post, changing them is awkward as they use a very formalized, technical syntax. We thus deemed it necessary to provide an easier and safer way of editing data entries.
In the last months, I enhanced DokuWiki to support highly specialized edit forms for syntax elements. This work was done for the table editor plugin I wrote for the ICKE project, but it allows the creation of a different editor for data entries as well.
The data editor features a table of fields, each with caption, value and comment. Depending on the field type there are different ways of specifying the field’s value: For types with value sets, there are dropdown or multiselect lists, for dates there is bureaucracy’s JavaScript calendar and aliases which are page links have autocompletion support.
An even more powerful edit mode allows the change not only the content, but the structure of the data entry as well.
The data plugin provides a simple way of storing structured data with wiki pages. Many entities in business processes can thus be represented and later aggregated. The new custom editor makes handling of data entries much easier and hides technical details from the user, thus reducing the danger of accidentally destroying the entry.