DokuWiki

It's better when it's simple

用户工具

站点工具


zh:plugin:struct

struct Plugin

兼容的版本 Dokuwiki

  • 2022-07-31 "Igor" 未知
  • 2020-07-29 "Hogfather" 
  • 2018-04-22 "Greebo" 
  • 2017-02-19 "Frusterick Manners" no

plugin 一个新的结构化数据插件

最后更新于
2022-01-13
提供
Syntax, Admin, Action, Remote
仓库
源码
冲突
ckgedit, discussion
依赖
sqlite

为什么使用 “struct” 取代 “data”?

这个插件从Data插件中汲取灵感,尝试解决将结构化数据分配给页面并从中构建自动聚合的问题。

为什么需要另一个插件?Data插件被证明是非常有用和通用的,但有一些缺点:

  • 每个页面定义其自身的结构化数据集。
  • 缺少中心化,无法确保结构化数据在多个页面保持一致。
  • 缺少简单的方法来修改多个页面的结构化数据集。
  • 没有对输入的数据进行验证。

Bureaucracy插件帮助解决了其中的一些问题,但不是全部。于是Struct插件尝试重新设计Data插件:

  • 结构化数据按 模式(schemas) 分类
  • 每个模式(schema)包含一组 字段(fields)
  • 字段(fields) 具有特定的 类型(type)
  • 类型(type) 控制数据如何展示和校验
  • 模式(schema)中类型(types)具有特定的配置
  • 模式(schemas)在管理员界面集中管理
  • 页面(pages)通过 明明空间模式(namespace patterns) 进行分配
  • 修改模式(schema)会调整其所有关联的页面
  • 结构化数据不再是页面语法的一部分
  • 数据只能通过标准编辑器中的专用表单,或通过内联编辑进行编辑
  • 可以创建未附加到任何页面的 全局(global) 数据 1)
  • 序列(serial) 数据在指定的页面内建立结构化数据集合
  • 自动化测试涵盖所有关键代码

这个插件允许集中管理所需的结构化数据,同时保持Data插件的功能。

安装

A CosmoCode Plugin

:!: 外部依赖: 此插件需要以下必须单独安装的附加组件:

:!: 另请注意,此插件需要 PHP 5.6 或更高版本.

通过插件管理器使用上面给出的URL来安装。要手动安装插件请参考Plugins

使用

示例

开发

修改记录

已知的缺陷和问题

1)
在老版本的struct中称为 lookup
zh/plugin/struct.txt · 最后更改: 2022-06-03 09:25 由 wangsp

除额外注明的地方外,本维基上的内容按下列许可协议发布: 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