动作·提交条件(Submission Criteria)
提交条件决定一个动作能不能被提交。它把业务规则"焊"进数据编辑权限里, 保证本体数据质量与编辑治理。这一篇讲清它是什么、由什么组成、怎么配置。
https://www.palantir.com/docs/foundry/action-types/submission-criteria/
原始标题:Action types · Submission criteria
一句话速览
动作·提交条件(Submission Criteria):提交条件决定一个动作能不能被提交。它把业务规则"焊"进数据编辑权限里,保证本体数据质量与编辑治理。这一篇讲清它是什么、由什么组成、怎么配置。
一句话:提交条件 = "这条动作现在能不能交"
Submission criteria(原名 validations)决定动作是否可提交。
提交条件(submission criteria)是判断一个动作能否被提交的一组条件。它把业务规则编码进 数据编辑权限里,从而保证本体(Ontology)的数据质量与编辑治理。
提交条件由条件(conditions)和运算符(operators)组合而成:把"基于上下文的值" (比如当前用户、某个参数)与"静态信息"拼成一条逻辑判断。它可以纳入对象、关系、甚至用户信息来做判断。
它由什么组成:条件 + 运算符
一个条件是比较两个值;运算符把多个条件拼起来。
条件(condition)是单一的比较检查:在中间用一个运算符,比较两个值。每个条件要么通过、要么失败。 运算符(operator)则用来把不同的条件组合、嵌套,写出贴近真实业务流程的复杂逻辑。
举个航空业的例子:航司想修改某航班(Flight)关联的飞机(Aircraft)。动作本身允许用户改链接,
但航司只希望特定的用户(如飞行调度员)能这么改,并且只允许使用仍在运营状态的飞机。
用提交条件就能把"用户属于某组"和"飞机状态为运营中"这两条绑在一起,缺一不可。
三种条件模板:从哪拿要比较的值
Current user / Parameter / Execution context。
| 条件模板 | 拿什么值来比较 | 典型用途 |
|---|---|---|
| Current user 当前用户 | 提交动作的人:用户 ID、所属组(group IDs)、MultiPass 属性(如组织)。 | 限制"只有某角色的人能提交"。 |
| Parameter 参数 | 动作参数区里定义的参数(由用户或其他应用传入)。 | 把业务规则嵌进参数,挡掉不合规的数据。 |
| Execution context 执行上下文 | 动作是在什么上下文被评估的,例如是否在某个本体场景(Ontology Scenario)内提交。 | 场景内允许规划者试算,正式环境只允调度者。 |
NOT。平台支持"作用域令牌(scoped token)"——它只携带用户权限的子集,
可能缺少 NOT 要检查的那条属性,于是条件反而通过、发给了不该有的权限。这是典型的误配置。
运算符与取值:怎么比、比什么
运算符会按参数类型预筛;值可以是参数、静态值或"空"。
运算符定义两个值之间的比较。为简化配置,系统会按参数类型预筛只显示合法的运算符;一旦改了参数,用到它的条件都要重配。
单值参数常用运算符
| 运算符 | 含义 |
|---|---|
| is | 左值完全等于右值。 |
| is not | 左值与右值不相等。 |
| matches | 左值匹配某个正则(如 ^[AEI])。 |
| is less than / is greater than or equals | 数值比较(小于 / 大于等于)。 |
多值参数常用运算符
| 运算符 | 含义 |
|---|---|
| includes | 左值中至少有一个等于右值。 |
| includes any | 左值中至少有一个等于右值列表中的某一个。 |
| is included in | 左值等于右值列表中的某一个。 |
| each is / each is not | 左值全部等于 / 全都不等于右值。 |
值(value)是比较的另一侧:可以基于某个已有参数、一个静态值,或"无值(no value)"——
后者用来判断第一个值是否为空(null)。在航班例子里:调度员的组用静态值选定(每次都一样);
飞机"在运营"则要求状态属性等于静态值 Yes。最后用逻辑运算符把多个条件串起来,可嵌套、可要求"全部/任一/都不"。
失败消息与测试运行
不满足条件时,告诉用户"为什么被拦"。
失败消息(failure message)定义当动作无法提交时,向用户展示什么错误。根层级上的每个条件与逻辑运算符都有自己的失败消息; 底层条件不通过时,显示的是其对应父级的失败消息。
另外,你可以用本体管理器(Ontology Manager)里的测试运行(test run), 针对一组给定的参数值,验证你的提交条件到底会如何评估。这在正式上线前很有用。
动手:该用哪种条件模板?
逐个场景判断。点选项看解析。
一页带走
延伸阅读 · 相关页面
按主题横向跳转,不必顺着目录一篇篇读。
常见问题速答 · FAQ
关于「动作·提交条件(Submission Criteria)」,读者最常问的几个问题。