动作类型详解

动作类型上手:十分钟做出第一个"改字段"动作

跟着向导,在 Ontology Manager 里新建一个把工单优先级改成 P0/P1/P2 的动作类型,并让它出现在对象页面上。

原文 Palantir Foundry · Action types 预计阅读 9 分钟 互动演示 + 5 道测验
本文来源 · Source 内容整理自 Palantir Foundry 官方文档:
https://www.palantir.com/docs/foundry/action-types/getting-started/
原始标题:Getting started · Action types

一句话速览

动作类型上手:十分钟做出第一个"改字段"动作:跟着向导,在 Ontology Manager 里新建一个把工单优先级改成 P0/P1/P2 的动作类型,并让它出现在对象页面上。

1 我们要做一件什么事
本篇要带你在 Ontology Manager(本体管理器)里新建一个动作类型(action type),它的作用是:把某张工单的优…
2 走一遍新建向导
在 Ontology Manager 左侧边栏选择 Action types,再点右上角的 New action type
3 把优先级限制成可选项
切到 Parameters 标签,可以看到系统已经根据规则自动建好了 Ticket 和 Priority 两个参数
4 只对 Open 的工单生效
打开侧边栏 Security & Submission Criteria 标签里的 submission criteria 区块,在…
1

准备与目标:我们要做一件什么事

这篇用到的例子,是一个能"修改工单优先级"的动作类型。

本篇要带你在 Ontology Manager(本体管理器)里新建一个动作类型(action type),它的作用是:把某张工单的优先级(priority)改成 P0P1P2,并且只允许对状态(status)Open 的工单执行。

官方示例用了一个名为 Demo Ticket 的对象类型(object type),它至少包含 Ticket IDTitleStatusPriority 几个属性(property)。你不必真的建出这些对象,跟着理解流程即可。

前置条件:用户要能"应用"某个动作,本体必须开启可编辑。若运行 Object Storage v2,需在开关处开启编辑(edit);若是旧的 Object Storage v1(Phonograph),则要创建一个写回数据集(writeback dataset)。
2

创建动作类型:走一遍新建向导

向导会帮你配好动作类型最重要的几项特征。

Ontology Manager 左侧边栏选择 Action types,再点右上角的 New action type。向导分几步收集信息,下面这层叠图可以逐层点开看每一步在做什么。

第 1 步Action type(动作类型)
选对象类型,并指定"这个动作对对象做什么"
打开 Object 标签页,选择 Demo Ticket 对象类型,然后在 Object actions 下选择 Modify object(s)(修改对象)。也就是:这个动作会去改一张已有工单。
第 2 步Mapping(映射)
决定动作会修改哪些属性
点击 Add property,把 Priority 属性加进来。这一步就定义了"动作能改什么字段"。
第 3 步Metadata(元数据)
给动作起名字
Action type name 里填写动作类型的名称,例如"Change Ticket Priority"。走到最后一步点 Create 即可。

创建完成后,你会看到动作类型的完整详情视图,之后还能继续微调——比如在 Overview 标签加一段描述(description),或在 Rules 标签追加可修改的属性。

3

调整参数:把优先级限制成可选项

参数(parameter)决定了用户执行动作时能填什么。

切到 Parameters 标签,可以看到系统已经根据规则自动建好了 TicketPriority 两个参数。点开 Priority 参数,我们要限制它能取的值。

把约束从 User input(用户自由输入)改成 Multiple choice(多选一),这样就能限定可选值。接着把 P0P1P2 加为选项。现在如果用户把这个动作用在一张工单上,就只能在 P0/P1/P2 之间挑一个优先级。

提示:参数可以自动从规则生成,也可以手动追加。先理解"规则决定参数"这条主线,后面会反复用到。
4

加提交条件:只对 Open 的工单生效

提交条件(submission criteria)决定动作什么时候"允许"被执行。

打开侧边栏 Security & Submission Criteria 标签里的 submission criteria 区块,在 Execution 部分点 Condition 新建一个条件。

Parameter 条件模板,对 Ticket 对象参数的 Status 属性设条件:用 is 运算符,把工单状态与具体值 Open 做精确字符串比较。还可以加一条失败消息(failure message),让用户知道为什么动作没跑成。

Actions can be seamlessly integrated across applications in Foundry.动作类型可以在 Foundry 的各个应用间无缝集成。(含义:配置好一次,到处可用)

到这里,我们的动作定义就完成了,接下来要让它出现在 Object Explorer 的对象页面旁边。

5

挂到 Object View:让按钮出现在页面上

把动作放进对象的"动作"组件,用户就能一键触发。

打开 Demo Ticket One 并编辑它的 Object View(对象视图)。在顶部加一个新组件,选择 Actions widget(动作组件)。在侧边栏点 Add Item,把在 Ontology Manager 里复制到的动作 RID 粘进 Action RID 字段,并把标签命名为"Change Ticket Priority"。

默认情况下,动作表单会把每个参数都显示成一个字段,连 Ticket 参数也会显示出来——但动作并不知道该把"当前对象"自动填进 Ticket。我们要这样处理:

  • Default valueAdd Item,填入 Ticket 参数的参数 ID(本例设为 ticket);
  • 把值类型改成 Environment variable(环境变量),选择 Current object(当前对象);
  • 再把显示选项改成 Hidden(隐藏),这样用户不能拿它去改别的工单。

保存并发布 Object View 后,预览页就会出现这个动作按钮。

6

试跑与应用:真的点一下看看

上线前先在 Ontology Manager 里做一次 test run,确认逻辑无误。

访问一张状态为 Open 的工单,点我们配置好的 Change Ticket Priority 按钮,动作表单会浮现在视图上。点开 Priority 字段,会看到我们加在参数上的那条提交条件;挑一个优先级再点 Submit,表单消失,对象视图随即更新成新的优先级。

而我们的提交条件规定:不能对"已关闭"的工单跑这个动作。如果打开状态为 Closed 的 Demo Ticket Two,动作就不会被允许执行。

下一步:在正式应用前,可到 Ontology Manager 里用 test run(试跑)验证提交条件、规则与最终编辑,详见本系列《动作·试跑》。

动作"不知道"该把当前对象填进 Ticket 参数,推荐怎么解决?点我看推荐 →

一页带走

① 向导四步建动作
Action type → Mapping → Metadata → Create,先选对象再选改什么。
② 参数由规则生成
改 Priority 用 Multiple choice 限定可选值,约束用户的输入。
③ 提交条件管"能不能跑"
用 Condition 限定只对 Open 工单生效,并给出失败提示。
④ 挂到视图才可见
把 Ticket 固定为当前对象并隐藏,再发布 Object View 即可用。

延伸阅读 · 相关页面

按主题横向跳转,不必顺着目录一篇篇读。

常见问题速答 · FAQ

关于「动作类型上手:十分钟做出第一个"改字段"动作」,读者最常问的几个问题。

准备与目标:我们要做一件什么事?
本篇要带你在 Ontology Manager(本体管理器)里新建一个动作类型(action type),它的作用是:把某张工单的优先级(priority)改成 P0、P1 或 P2,并且只允许对状态(status)为 Open 的工单执行。
创建动作类型:走一遍新建向导是什么?
在 Ontology Manager 左侧边栏选择 Action types,再点右上角的 New action type。向导分几步收集信息,下面这层叠图可以逐层点开看每一步在做什么。
调整参数:把优先级限制成可选项是什么?
切到 Parameters 标签,可以看到系统已经根据规则自动建好了 Ticket 和 Priority 两个参数。点开 Priority 参数,我们要限制它能取的值。
加提交条件:只对 Open 的工单生效是什么?
打开侧边栏 Security & Submission Criteria 标签里的 submission criteria 区块,在 Execution 部分点 Condition 新建一个条件。