[关闭]
@windwolf 2017-07-25T08:57:37.000000Z 字数 1802 阅读 358

Sailing之元数据

Sailing

对前端来说,Metadata专指从后端获取的各种配置信息, 数据类型带Metadata后缀. 而MetaStatus是指前端运行时要用到的启动后不变的配置信息.
例如前端从后端获取了列表页面的元数据,内含TableItem, 这个就是元数据. 前端在获取了这份元数据后, 还需要解析成SearchbarItem和Table的ColumnItem,
这两份为MetaStatus, MetaStatus的数据类型带MetaStatus后缀.

对后端来说,只有Metadata的概念.

版本化

元数据加载完整过程

  1. 加载所有MetadataDescriptor.
  2. 所有的Descriptor加载完原始元数据. Mongo仅加载Json, 不解析; Anotation仅加载Anotation.
  3. 所有的Descriptor, 根据index, 依次完成:
    a. 检查Descriptor中要求的版本.
    b. 如果需要迁移, 则为原始元数据执行迁移操作.
    c. 将原始元数据解析为对应的Metadata实例.
  4. 缓存所有Metadata.
  5. 所有的Descriptor, 根据index, 执行PostProcess.
  6. 缓存所有Metadata.

其中1-4步, 可以在启动前完成, 5-6步需要在完整环境启动后执行.

Metadata

Element

Entity

EntityMask

Toolbar

Process

ListView

DetailView

Dialog

MetaStatus

元数据验证

uiMetadata

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注