图式包括实体类型和字段,概念近似于数据库的 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 字段,关联到 流程配置缓存,该字段允许用户覆盖默认的流程配置。

用户可以进入实体类型页面查看相关数据,但我们更推荐全局设置的方式。

通过 用户菜单 – 全局设置 – 实体类型 进入管理界面,如下图所示:

manage entity type in global setting page

创建实体类型可以点击 [+]创建一个新实体类型 按钮,注意实体类型名称不可以有特殊字符。填完表单后点击面板右下角的应用按钮即可完成创建。

如果实体类型启用了 支持页面 功能,鼠标悬浮在图中实体类型上方时会显示跳转页面的按钮,这是进入实体类型页面的快捷方式。

创建、修改实体类型涉及更为复杂的图式机制,该过程用时约十秒,过程中请勿关闭或刷新页面。

修改实体类型可以点击图中实体类型,比如点击 临时工时制度 展开设置视图,修改该实体的显示名称(这里并不建议修改系统预设的实体类型)后点击提交即可更新图式。

展开后如下图所示:

expand calendar day

注意:删除实体类型并不会立刻删除它的数据表。新创建的实体类型如果与已删除的实体类型重名,已删除的实体类型的数据表会被立刻覆盖,操作图式时需要充分了解风险以免造成数据损失。一部分预设实体类型与系统内置功能相关,删除前请充分了解风险。

全局设置还支持修改 字段显示名称描述显示在表格中 属性,修改方式与实体类型相同,界面如下图所示:

version code in global setting page
只有在某实体的页面才可以为该实体类型创建新字段,比如为新创建的实体类型 Vendor 添加一个名为 email 的字段,需要先进入 Vendor 页面,点击 工具栏 – 字段 – 管理 Vendor 字段 – [+]创建一个新字段按钮,打开创建字段面板,如下图所示:

字段创建面板提供了丰富的数据类型,下面是数据类型的介绍:

名称 代号 可创建 说明
表达式 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 字符串型,遵守 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”,然后点击 选择实体类型 的标题栏上的 + 按钮。

如下图所示:

展开的选择器分上下两部分,头部是输入框,方便快速查找实体类型;下方是可用的实体类型列表,点击勾选框可以选择多个实体类型。这里输入镜头或者 Shot 并勾选,输入资产或者 Asset 并勾选,勾选的实体类型会自动添加到 选择实体类型 编辑器中。添加镜头、资产后的创建字段面板如下图所示:

此时点击创建字段面板右下角 应用 按钮即可开始创建。创建用时 10 秒左右,请不要刷新或关闭页面以免影响更新页面图式。回到 Vendor 页面,就可以使用 entity 字段啦:

更多图式知识敬请期待。