图式包括实体类型和字段,概念近似于数据库的 schema,遨奇思特流程管理系统由数据驱动,图式管理就是对这两者数据的管理。
实体类型的图式包含名称、帮助信息,启用、包含预设字段等属性,字段图式则包含名称、数据类型、帮助信息等属性。
当用户增删查改图式时,系统内部的表结构和字段关系也会同步调整。
开发者可以通过 Python API 查看完整的图式,代码如下:
session = Api(host, login, password)
session.login()
session.read_schema()
管理实体类型需要了解以下属性:
属性 | 说明 |
显示名称 | 仅用于显示,修改显示名称不影响图式结构。 |
描述 | 关于该实体类型的帮助信息。 |
启用 | 为真则启用。 |
支持已读 | 调用 read 类型的 action 接口时会标记实体为已读。
在收件箱中点击站内信也会标记为已读,已读信件会移除红色圆点标记。 默认支持标记为已读的实体类型有 Version、Note、Ticket、Delivery。 |
支持关注 | 调用 follow 类型的 action 接口时会标记实体为已关注。
已关注实体在修改时会通知关注者。 上下文菜单、详情页面会提供关注按钮。 默认支持标记为已关注的实体类型包括:Asset、Sequence、Episode、Shot、Task、Version、Playlist、Composition、Level、Scene 等。 |
支持收藏 | 调用 favor 类型的 action 接口时会标记实体为已收藏。
已收藏的实体在修改时会通知收藏者。 页面设置菜单提供了收藏菜单项。 默认支持标记为已收藏的实体类型有 Project、Playlist、Page、Version。 |
支持发布 | 添加一个 published_files 字段,关联该字段到 已发布文件。 |
支持页面 | 为该实体类型创建一个页面,方便用户在页面中管理数据。
如果不创建页面,用户只能通过 Python API 的方式管理数据。 |
支持批注 | 添加 notes、notes_count、replies 字段。
在发送或回复消息时允许指定 关联实体 字段为该类型实体。 |
支持关联项目 | 添加 project 字段。
可以为该类型实体指定 项目。 |
支持关联版本 | 添加 versions 字段,关联该字段到 版本。 |
支持关联文件 | 添加一个 attachments 字段,关联该字段到 附件,前端表单允许创建附件。 |
支持关联流程 | 添加 pipeline 、tasks、iterations 字段。
表示采用何种 流程,关联 tasks 字段到根据 pipeline 创建的 任务。 |
支持关联标签 | 添加 tags 字段。关联该字段到 标签。 |
支持关联流程配置缓存 | 添加 pipeline_config_caches 字段,关联到 流程配置缓存,该字段允许用户覆盖默认的流程配置。 |
用户可以进入实体类型页面查看相关数据,但我们更推荐全局设置的方式。
通过 用户菜单 – 全局设置 – 实体类型 进入管理界面,如下图所示:
创建实体类型可以点击 [+]创建一个新实体类型 按钮,注意实体类型名称不可以有特殊字符。填完表单后点击面板右下角的应用按钮即可完成创建。
如果实体类型启用了 支持页面 功能,鼠标悬浮在图中实体类型上方时会显示跳转页面的按钮,这是进入实体类型页面的快捷方式。
创建、修改实体类型涉及更为复杂的图式机制,该过程用时约十秒,过程中请勿关闭或刷新页面。
修改实体类型可以点击图中实体类型,比如点击 临时工时制度 展开设置视图,修改该实体的显示名称(这里并不建议修改系统预设的实体类型)后点击提交即可更新图式。
展开后如下图所示:
注意:删除实体类型并不会立刻删除它的数据表。新创建的实体类型如果与已删除的实体类型重名,已删除的实体类型的数据表会被立刻覆盖,操作图式时需要充分了解风险以免造成数据损失。一部分预设实体类型与系统内置功能相关,删除前请充分了解风险。
全局设置还支持修改 字段 的 显示名称、描述、显示在表格中 属性,修改方式与实体类型相同,界面如下图所示:
字段创建面板提供了丰富的数据类型,下面是数据类型的介绍:
名称 | 代号 | 可创建 | 说明 |
表达式 | lambda | ✔ |
只读,不支持写入。 允许读取当前实体类型的字段,允许使用以下操作符进行类型转换及运算:CEILING, FLOOR, UPPER, LOWER, LEFT, RIGHT, MID, LEN, FIXED, TO_FLOAT, TO_STRING, TO_CURRENCY, TO_PERCENT, TO_DURATION, TO_DAYS, TO_HOURS, TO_MINUTES, TODAY, DATE. 示例: LOWER({code}) DATE({start_date}) – DATE({end_date}) |
复选框 | checkbox | ✔ | 布尔型。 |
货币 | currency | ✔ | 浮点型,支持最大 10 位数,小数精度 2 位。 |
日期 | date | ✔ | 支持 Y-m-d 格式,表示日期类型。 |
日期和时间 | date_time | ✔ | 支持 Y-m-d H:i:s 格式,表示日期时间类型。 |
持续时间 | duration | ✔ | 整数型,表示时长,默认单位是小时。 |
邮箱地址 | ✔ | 字符串型,遵守 email 格式。 | |
实体 | entity | ✔ |
实体型,一般以字典的方式表示,包含 id 和 type 两个键。实体字段支持关联多个实体类型,与传统外键相比更加先进。 实体字段支持路由路径的语法,允许范围更小、层次更深的查询方式,比如:entity.Shot.code 表示只查询实体字段 entity 中类型为 Shot 的实体的 code 字段值。 |
浮点型 | float | ✔ | 浮点型。 |
剪辑片段 | footage | ✔ | 正整数型。35毫米胶片每英尺胶片16格。 |
图片 | image | ✔ |
字符串型,需要遵守一般路径格式。 比如:/static/123.jpg;/media/123.jpg static 和 media 是预留关键字,用于表示系统文件,当路径不以 static、media 起始时,表示存储在对象存储服务器中的云文件。 |
列表 | list | ✔ | 字符串型,显示值和值不能留空,默认值不能超出值的范围。 |
实体列表 | multi_entity | ✔ |
实体列表型,一般以列表的方式表示,列表可以为空,也可以包含任意数量的实体类型数据。 不支持路由路径的语法。 |
数字 | number | ✔ | 整数型。 |
通用唯一标识符 | uuid | ✔ | 字符串型,遵守 uuid 32位字符串格式。 |
文件路径/网页链接 | url | ✔ | 路径型,支持 mac、linux、win、网络存储路径格式以及类似 “/a/b/c.exr 1001-10021” 的序列帧格式。 |
百分比 | percent | ✔ | 整数型,输入 99 表示 99%。 |
统计 | summary | ✔ |
只读,不支持写入。 用户需要在 query 配置中提供 summary_type,summary_field,entity_type,filters。 summary_type 支持 none,count,sum,single,multiple,has,has_not,earliest,lastest,average,max,min 等统计方法。 summary_field 表示统计字段。 entity_type 表示统计实体类型。 filters 表示查询条件。 该字段目前需要自行编写配置,用户可以参考默认图式中 summary 类型字段的 query 配置。 |
状态列表 | status | ✔ |
字符串型。 挑选状态放进列表,用户在使用该字段时候无需输入,从列表中挑选状态即可。 默认值不能超出状态值的范围。 |
可序列化数据 | serializable | ✔ | 可序列化类型,一般表示为字典或者列表。 |
文本 | text | ✔ | 字符串类型。 |
时间码 | timecode | ✔ | 字符串型,需要遵守 00:00:00:00 的格式。 |
保密 | privacy | ✖ | 保密字符串类型,读取时仅返回 ******** |
整数 | integer | ✖ | 整数型。 |
工序 | step | ✖ | 实体型。 |
颜色 | color | ✖ | 字符串类型,需要遵守 255,255,255 或 255,255,255,255 的格式。 |
实体类型 | entity_type | ✖ | 字符串型,必须是图式中的实体类型。 |
透视 | pivot | ✖ |
只读,不支持写入。 用于生成数据透视表,也称为多维数据表。 |
密码 | password | ✖ | 字符串型。 |
创建字段面板的右侧是常规图式属性,简介如下:
属性名称 | 属性代号 | 说明 |
Name | name | 必填,字段名称,不可以有特殊字符。 |
Summarizer | summarizer | 选填,统计方法,支持多种统计方法,启用后在表头下方显示该字段的统计数据。 |
Sorter | sorter | 选填,排序依据,构造更高阶的排序表达式。 |
Help | help | 选填,帮助信息,或者对字段的描述。 |
下面是一个创建实体字段的示例,首先打开创建字段面板,在左侧选在一个数据类型,这里选择实体。然后填写 Name 为 entity,填写 Help 为 “关联到 Shot、Asset”,然后点击 选择实体类型 的标题栏上的 + 按钮。
如下图所示:
此时点击创建字段面板右下角 应用 按钮即可开始创建。创建用时 10 秒左右,请不要刷新或关闭页面以免影响更新页面图式。回到 Vendor 页面,就可以使用 entity 字段啦:
更多图式知识敬请期待。