拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Aras PLM 系统管理实战手册:从用户权限到窗体设计的完整配置指南

Aras PLM 系统管理实战手册:从用户权限到窗体设计的完整配置指南

简介:这份 Aras PLM 学习文档面向刚接触产品生命周期管理系统的工程师、实施人员与运维管理者,帮助其系统掌握 Aras PLM 的用户、权限与数据建模机制。资源以单个 docx 文档交付,压缩包约 11.06MB,内容按章节组织,涵盖用户管理、权限配置、数据类型、对象类型等核心模块,目录结构清晰,便于按主题检索查阅。文档从用户管理切入,讲解用户管理页面、登录用户、创建参与者与特殊参与者等操作;随后展开权限体系,涉及权限创建、发现权限、可创建者权限、创建子类对象权限及 TOC 访问权限;数据类型部分则覆盖列表创建、外部数据类型与序列配置等内容。目前已有 1275 人学习,适合作为日常配置参考与入门培训材料,帮助读者快速理解 Aras PLM 的权限模型与数据建模思路,减少上手摸索成本。

1. 从一份 Word 手册说起:Aras PLM 管理员的入门底牌

很多刚接手 Aras Innovator 的工程师,第一次登录系统时都会经历一段“我是谁、我在哪、我该点哪”的迷茫期。界面看着不复杂,但真要动手建一个用户、配一条权限、拉一个生命周期,往往找不到北。这份《Aras PLM 系统管理使用手册》Word 版,就是冲着这个场景来的——它不是 API 参考,也不是架构白皮书,而是一份从用户管理一路讲到窗体设计的操作型文档,覆盖了 Aras 管理端最常被问到的十几个模块。如果你正在做 PLM 实施、系统运维,或者被安排接手一套已经上线的 Aras 环境,这份手册能帮你把“管理”这件事从玄学变成可复现的步骤。它适合两类人:一是刚接触 Aras 的初级管理员,二是需要快速查某个配置项在哪里的熟手。下面我按实际动手顺序,把这份文档里最值得先啃的几块拆开讲。

2. 用户、参与者与权限:先把“谁能干什么”理清楚

2.1 用户管理和参与者到底是不是一回事

在 Aras 里,用户(User)和参与者(Participant)是两个容易混淆的概念。用户是能登录系统的账号,参与者则是权限分配的基本单位。一个用户必然对应一个参与者,但参与者还可以是组织、团队、角色,甚至是一个虚拟的身份组。手册里把“创建参与者”单独拎出来讲,就是因为很多权限配置的起点不是用户,而是参与者。

实际操作中,我一般会先建组织(Organization),再建用户,然后把用户挂到组织下面。这样后续做权限时,可以直接给组织授权,而不是一个个用户去点。手册里提到的“特殊参与者”通常指 Administrator、World 这类内置身份,它们不走常规创建流程,但会在权限规则里频繁出现。理解这一点,后面配权限时就不会被“为什么这个用户明明没授权却能看到”这类问题卡住。

2.2 创建一个权限的完整动作链

权限在 Aras 里不是一个孤立的开关,它由“权限对象 + 访问规则 + 参与者”三部分咬合而成。手册里“创建一个权限”这一节,核心是让你在 Permission 对象里定义好 Access 类型(比如 Read、Update、Delete),然后把它挂到某个 ItemType 上。

下面是我按手册逻辑整理的一段配置示例,用 Aras 的 AML 脚本方式展示,方便你直接套用:

<!-- 创建一个名为 "Part_ReadOnly" 的权限 --> <Item type="Permission" action="add"> <name>Part_ReadOnly</name> <description>只读权限,用于普通用户查看 Part 对象</description> <access_type>read</access_type> <can_discover>1</can_discover> <!-- 允许用户在搜索中发现该对象 --> <can_get>1</can_get> <!-- 允许读取对象属性 --> <can_update>0</can_update> <!-- 禁止修改 --> <can_delete>0</can_delete> <!-- 禁止删除 --> </Item>

这段代码里,can_discover控制的是“能不能在搜索列表里看到”,can_get控制的是“能不能打开详情”。很多新手只设了can_get忘了can_discover,结果用户搜不到对象,以为权限没生效。手册里“关于发现权限”那一节专门讲了这个区别,值得回头细看。

参数上,access_type要和后续绑定的 ItemType 行为匹配。如果你给一个只读权限绑了 Update 操作,系统不会报错,但用户点保存时会失败,排查起来很费时间。我一般会在权限命名里带上用途,比如Part_ReadOnly、Part_Edit_Own,这样在 ItemType 的权限列表里一眼就能对上。

2.3 可创建者权限和子类权限的边界

“可创建者权限”(Can Add)和“创建子类对象的权限”是手册里两个容易被跳过的点,但它们在多对象类型(Polymorphic ItemType)场景下非常关键。简单说,Can Add 决定用户能不能在某个 ItemType 下新建对象;而子类权限决定用户能不能在继承体系里创建特定子类型的对象。

举个例子:你有一个基类Document,下面有Spec和Drawing两个子类。如果只给用户Document的 Can Add 权限,用户能建 Document,但建不了 Spec。要建 Spec,必须单独给 Spec 这个子类配 Can Add。手册里“创建子类对象的权限”这一节就是讲这个。我踩过的坑是:给用户开了基类权限,以为子类自动继承,结果用户反馈“新建按钮是灰的”。后来才明白,Aras 的权限不自动向下传递,必须显式配置。

2.4 TOC 访问权限:别让用户看到不该看的目录

TOC(Table of Contents)访问权限控制的是左侧导航栏里哪些目录对用户可见。手册里把它放在权限章节的最后,但实际配置时,我建议先配 TOC,再配对象权限。因为如果用户连目录都看不到,后面对象权限配得再对也没用。

配置 TOC 权限时,需要在 TOC 对象的permission属性里引用对应的权限项。常见做法是给每个角色建一个 TOC 权限,比如TOC_Admin、TOC_Engineer,然后在 TOC 的 Access 里绑定。注意,TOC 权限和 ItemType 权限是独立的,用户可能能看到目录,但点进去看不到对象,也可能反过来。排查权限问题时,这两层要分开查。

3. 数据类型、对象类型与关系:建模的三块基石

3.1 数据类型和列表的配置顺序

数据类型(Data Type)在 Aras 里定义的是“值长什么样”,比如字符串、整数、日期、列表。手册里把“创建列表”放在数据类型章节,是因为列表本质上是一种特殊的数据类型,用于下拉选项。

我一般会先建列表,再建数据类型,最后建属性。顺序反了的话,属性里引用不到列表。下面是一个创建列表的 AML 片段:

<!-- 创建一个名为 "Part_Status" 的列表 --> <Item type="List" action="add"> <name>Part_Status</name> <description>零件状态:草稿、审核中、已发布、已废弃</description> <filter>Part</filter> <!-- 限定该列表只用于 Part 对象 --> <Item type="ListValue" action="add"> <value>Draft</value> <label>草稿</label> <sort_order>1</sort_order> </Item> <Item type="ListValue" action="add"> <value>InReview</value> <label>审核中</label> <sort_order>2</sort_order> </Item> <Item type="ListValue" action="add"> <value>Released</value> <label>已发布</label> <sort_order>3</sort_order> </Item> </Item>

filter字段不是必填,但填了之后,这个列表只会出现在指定对象的属性下拉里,避免列表泛滥。sort_order控制下拉顺序,不填的话按字母排,中文环境下会乱。手册里“配置序列”那一节讲的是序列号生成规则,和列表是两回事,别搞混。

3.2 对象类型创建时容易漏掉的三个属性

对象类型(ItemType)是 Aras 建模的核心。手册里“创建”一节列了基本步骤,但实际配的时候,有三个属性最容易被漏掉:implementation_type、class_structure和toc_view。

implementation_type决定这个 ItemType 是单对象还是多对象。单对象就是普通类型,多对象支持继承。如果你后面要建子类,这里必须选多对象,否则建不了。class_structure控制类结构是“按需”还是“固定”,一般选按需,灵活性高。toc_view决定这个对象在 TOC 里怎么展示,不配的话对象建了也看不到入口。

我见过一个实施项目,对象类型建了几十个,但 TOC 视图没配,用户登录后左侧空空如也,以为系统坏了。后来一个个补 TOC 视图,花了两天。所以建 ItemType 时,最好把 TOC 视图一起配了,哪怕先给个默认视图。

3.3 关系类型和属性的区别:别把关系当属性用

手册里“关系 vs 属性”这一节标题很直白,但实际建模时,很多人还是会把该用关系的地方做成属性。简单判断标准:如果两个对象之间是“一对多”或“多对多”,且关联本身有生命周期或权限,那就用关系;如果只是对象的一个静态描述,比如零件的颜色、重量,那就用属性。

关系类型(RelationshipType)在 Aras 里是一个独立的对象,它定义了两个 ItemType 之间的连接规则。创建关系时,需要指定源对象、目标对象、关系 ItemType。手册里“创建一个标准的独立的关系类型”讲的就是这个流程。独立关系类型意味着关系本身也是一个对象,可以有自己的属性和权限。非独立关系则只是连接,没有额外数据。

我一般会在关系命名里带上方向,比如Part_BOM_Child,这样在关系列表里能看出谁连谁。关系类型的权限配置和普通 ItemType 类似,但要注意,关系的访问权限受源对象和目标对象双重影响。用户可能能看源对象,但看不到目标对象,这时关系就显示不全。排查时要两边都查。

4. 生命周期、工作流与版本:让对象“动起来”

4.1 生命周期配置里的 Email 和对象行为

生命周期(Life Cycle)定义了一个对象从创建到废弃的状态流转。手册里“创建”一节讲了基本的状态和转变,但“配置 Email”和“对象行为”这两块才是让生命周期真正可用的关键。

Email 配置是在状态转变时触发通知。比如零件从“审核中”变成“已发布”,系统自动发邮件给相关负责人。配置时需要在 Life Cycle 的on_transition事件里绑定 Email 模板。模板里可以用变量引用对象属性,比如${item_number}、${item_name}。注意,Email 发送依赖系统的 SMTP 配置,如果邮件发不出去,先查 SMTP,再查模板变量。

对象行为(Item Behavior)是在状态转变时执行自定义逻辑。手册里“对象行为”这一节讲的是如何挂 Method。常见做法是写一个 C# 或 VB 的 Method,在on_transition里调用。比如状态变成“已发布”时,自动锁定对象,禁止再编辑。Method 里可以用this引用当前对象,用Innovator对象访问系统服务。

4.2 工作流路径和动态分配

工作流(Workflow)比生命周期更重,它支持并行分支、动态分配、活动工作列表。手册里“路径”和“动态分配”这两节是工作流的核心。

路径(Path)定义的是活动之间的流转方向。一个工作流可以有多个路径,每个路径有触发条件。比如“审核通过”走路径 A,“审核不通过”走路径 B。配置路径时,要指定源活动和目标活动,以及触发路径的条件。条件可以用 Method 写,也可以用简单的表达式。

动态分配(Dynamic Assignment)是指活动的执行人不是写死的,而是根据对象属性或组织关系动态计算。比如“部门经理审批”这个活动,执行人应该是发起人所在部门的经理。配置时需要在活动的assignment里写一个 Method,返回参与者的 ID。手册里“动态分配”这一节给了基本思路,但实际写 Method 时,要注意处理“找不到经理”的情况,否则工作流会卡住。

4.3 版本集和历史记录的可配置项

版本集(Version Set)是 Aras 里管理版本序列的机制。手册里“创建版本集”讲的是如何定义一个版本号生成规则,比如 A、B、C 或 1、2、3。配置时要注意,版本集是绑定在 ItemType 上的,一个 ItemType 只能有一个版本集。如果对象已经存在,再改版本集,历史版本号不会自动重排。

历史记录(History)在 Aras 里默认是开启的,但手册里“可配置的历史记录”讲的是如何自定义历史记录的粒度和内容。比如你可以配置只记录状态变更,不记录属性修改。配置入口在 ItemType 的history属性里。我一般会保留默认配置,除非性能有问题,因为历史记录是排查问题的后悔药,删了容易,恢复难。

5. 避坑与排查:那些手册没写但一定会遇到的问题

5.1 权限配了但用户还是看不到对象

现象:给用户配了 Read 权限,用户登录后搜索不到对象。 原因:can_discover没开。Aras 的搜索走的是 Discover 权限,不是 Get 权限。 解决:在权限对象里把can_discover设为 1,或者直接在 ItemType 的权限列表里检查 Discover 列。

5.2 生命周期状态转变后对象没锁住

现象:配置了“已发布”状态自动锁定,但用户还能编辑。 原因:对象行为 Method 没挂上,或者 Method 里判断条件写错了。 解决:检查 Life Cycle 的on_transition事件是否绑定了 Method,Method 里是否用了this.lock()或Innovator.getLockManager().applyLock()。另外确认 Method 的异常有没有被吞掉,建议在 Method 里加日志。

5.3 工作流卡在某个活动不动

现象:工作流提交后,一直停在“经理审批”,没有下一步。 原因:动态分配的 Method 返回了空,或者路径条件不满足。 解决:先查活动的assignment是否返回了有效参与者,再查路径的触发条件是否覆盖了当前状态。可以在工作流实例的“活动工作列表”里看当前活动的状态和分配人。

5.4 关系对象保存时报“权限不足”

现象:用户能创建关系,但保存时报错。 原因:关系类型的权限没配,或者目标对象的权限不足。 解决:检查关系 ItemType 的 Can Add 权限,同时确认用户对源对象和目标对象都有 Read 权限。关系保存时会校验两端对象的访问权。

5.5 国际化配置后界面文字没变

现象:配了多语言,但登录后还是英文。 原因:用户的首选项语言没设,或者 ItemType 的label没配多语言。 解决:在用户首选项里设置语言,然后在 ItemType 的label属性里用en、zh等键值对配置多语言。手册里“国际化”那一节讲的是 Innovator 的本地化机制,但实际生效需要用户首选项和对象标签两边都配。

6. 窗体设计与包定义:把配置打包成可复用的资产

窗体(Form)是 Aras 里用户直接交互的界面。手册里“窗体”章节从创建到添加字段讲得很细,但实际做的时候,我建议先想清楚“这个窗体给谁用、在什么场景用”。比如管理员用的窗体和工程师用的窗体,字段和布局应该不一样。

创建窗体的基本步骤是:新建 Form 对象,选择关联的 ItemType,然后拖拽字段。手册里“添加字段到窗体”这一节讲的是如何把 ItemType 的属性加到窗体上。注意,窗体上的字段顺序和 ItemType 的属性顺序是独立的,窗体上可以只显示部分字段,也可以调整顺序。我一般会把必填字段放在最上面,只读字段放在下面,减少用户误操作。

包定义(Package Definition)是 Aras 里用来打包配置的机制。手册里“包定义”这一节讲的是如何把一组 ItemType、权限、生命周期、窗体打包成一个可导入的包。这个功能在跨环境迁移时非常有用,比如从测试环境导到生产环境。配置包时,要注意依赖关系:如果包 A 引用了包 B 里的对象,导入时要先导 B 再导 A。我一般会在包命名里带上版本号,比如Part_Config_v1.2,方便回滚。

最后说一个我自己的习惯:每次改完配置,不管多小的改动,都强制走一遍“导出包 → 在测试环境导入 → 验证功能”的流程。刚开始觉得麻烦,后来有一次直接在生产环境改权限,把管理员自己锁在外面,花了半小时才恢复。从那以后,我再也不敢跳过验证。希望这份手册和上面的拆解,能帮你少走点弯路。

本文还有配套的精品资源,点击获取

返回列表