struct Plugin
兼容的版本 Dokuwiki
- 2024-02-06 "Kaos" 未知
- 2023-04-04 "Jack Jackrum" 未知
- 2022-07-31 "Igor" 未知
- 2020-07-29 "Hogfather" 是
This extension is not in the 'plugin' or 'template' namespace and is therefore ignored.
类似 data, data-au, json, jsoneditor, jsongendoc, jsontable, strata
被依赖 bez, dirtylittlehelper, structacl, structat, structautolink, structcombolookup, structcondstyle, structgantt, structgeohash, structgroup, structgroup8, structgroupby, structinputstretch, structjoin, structodt, structprogress, structpublish, structrowcolor, structsection, structstatus, structtasks, structtemplate, structtemplating, structupdate, swarmwebhook
为什么使用 “struct” 取代 “data”?
这个插件从Data插件中汲取灵感,尝试解决将结构化数据分配给页面并从中构建自动聚合的问题。
为什么需要另一个插件?Data插件被证明是非常有用和通用的,但有一些缺点:
- 每个页面定义其自身的结构化数据集。
- 缺少中心化,无法确保结构化数据在多个页面保持一致。
- 缺少简单的方法来修改多个页面的结构化数据集。
- 没有对输入的数据进行验证。
Bureaucracy插件帮助解决了其中的一些问题,但不是全部。于是Struct插件尝试重新设计Data插件:
- 结构化数据按 模式(schemas) 分类
- 每个模式(schema)包含一组 字段(fields)
- 字段(fields) 具有特定的 类型(type)
- 类型(type) 控制数据如何展示和校验
- 模式(schema)中类型(types)具有特定的配置
- 模式(schemas)在管理员界面集中管理
- 页面(pages)通过 明明空间模式(namespace patterns) 进行分配
- 修改模式(schema)会调整其所有关联的页面
- 结构化数据不再是页面语法的一部分
- 数据只能通过标准编辑器中的专用表单,或通过内联编辑进行编辑
- 可以创建未附加到任何页面的 全局(global) 数据 1)
- 全局数据可用于 查找下拉列表(lookup dropdowns)
- 序列(serial) 数据在指定的页面内建立结构化数据集合
- 自动化测试涵盖所有关键代码
这个插件允许集中管理所需的结构化数据,同时保持Data插件的功能。
安装
外部依赖: 此插件需要以下必须单独安装的附加组件:
另请注意,此插件需要 PHP 5.6 或更高版本.
使用
示例
开发
修改记录
- Version upped (2024-04-09 23:51)
- fix filter mechanism (2024-04-09 08:30)
- Version upped (2024-02-16 23:51)
- Fix #708 (2024-02-16 12:26)
- Version upped (2024-02-14 23:51)
- remove auto-comment.yml (2024-02-14 16:27)
- Merge pull request #705 from cosmocode/lazy-search (2024-02-14 10:31)
- Remove obsolete code (2024-02-13 18:38)