Aras Innovator 开发与配置指南
这套文档面向需要真正配置、开发和维护 Aras Innovator 的工程师。内容不再把不同 Release 的界面和 API 混成一套“通用答案”,而是先说明版本,再给出可以验证的步骤、代码和预期结果。
最后核验:2026-08-13。当前公开资料已覆盖到 Aras Innovator 39;具体项目仍以已安装 build 和对应文档包为准。
先确认你的 Release
Aras Innovator 的服务端运行时、认证流程、表单编辑器和客户端 API 都在持续演进。本文档当前主要使用三组基线:
- R31 配置基线:原厂《Configuring Solutions Student Guide Innovator R31》(2024-12)。
- R35 编程基线:官方 Programmer's Guide 与 RESTful API 文档。
- R39 当前版本观察:官方 Release Notes(2026-05)。
11 SP9 的《基本开发详解》只用于解释仍然成立的 AML、IOM 和事件概念;其中 IE、COM、frame、showModalDialog 等实现统一视为历史兼容内容。
推荐学习路线
如果你第一次接触 Aras,按下面的顺序完成一个小型业务对象。每一步都有清晰的可见结果:
- 认识架构与版本边界
- 创建第一个 ItemType
- 设计 Property
- 建立 RelationshipType
- 制作 Form
- 配置 Identity 与 Permission
- 把对象放入 TOC
- 加入 Lifecycle 与 Workflow
- 用 AML 查询刚才创建的数据
- 编写第一个 Method
完成后,你会得到一条贯通“数据模型 → 界面 → 权限 → 流程 → 代码”的最小开发链路。
按工作内容查找
平台与部署
- 系统架构:组件职责、请求链路和 Release 演进
- 安装与环境核验:按 Release 检查前置条件,而不是套用固定技术栈
- 用户、Identity 与访问主体:User、Alias、Group 和嵌套成员关系
- 文件与 Vault:File 元数据、物理文件与下载授权
配置与建模
- ItemType:从零创建可搜索、可打开的业务对象
- Property:数据类型、约束、显示和升级影响
- RelationshipType:Source、Relationship Item 与 Related Item
- Form:Classic Form 与 Responsive Form 的适用边界
- TOC:为角色提供导航入口
- Permission:Discover、Get、Update、Delete 与动态权限
- Lifecycle:状态、Transition、版本与锁定
- Workflow:Activity、Assignment、Path 与受控 Item
- Query Builder 与 Tree Grid View:先定义查询,再组织树形展示
- 扩展分类:Class Structure、xClass 与 xProperty
- Poly Item:多态来源与高级建模边界
- CUI:命令栏、菜单和 Location 定制
- Reporting:先识别版本与许可,再选择报表能力
开发与集成
- AML:查询、关系、递归与数据操作
- Method:客户端/服务端上下文、事件与事务
- IOM、OAuth 与 OData:外部系统连接与错误处理
- 代码样例审查手册:把现有 JS、C#、SQL、XML 分成可用、兼容、私有和拒绝四类
交付与质量
- LDE 与 SDE:环境职责和团队协作
- Package Definition:依赖、导入导出与可重复交付
- Visual Studio 开发:按 Release 选择模板与调试方式
- Code Tree、XDT 与 JDT:以变换管理物理配置差异
- 测试与 TAF:区分普通集成测试与 Aras TAF
文档中的可信度标记
| 标记 | 含义 | 使用方式 |
|---|---|---|
| 已核验基线 | 能在指定原厂/官方资料中找到对应能力 | 仍需在你的具体 build 上回归 |
| 版本相关 | 公共概念稳定,但菜单、签名或 DOM 可能变化 | 按页面给出的版本分支处理 |
| 私有实现 | 依赖 iframe、内部对象或实验性 API | 不作为新开发首选,升级前必须测试 |
| 拒绝示例 | 绕过权限、事务或平台数据层,或原代码本身不可运行 | 只解释风险,不提供可直接执行的危险代码 |
如何使用代码片段
教程主线使用 acme_ 前缀;Cookbook 还会用 Example ...、xp-example-* 明确表示待替换的占位定义,ID 同样使用占位符。先换成项目命名并在开发环境验证,再通过 Package Definition 交付。不要把示例中的 ItemType、Identity、URL、数据库名或 GUID 原样复制到生产环境。
本次重构采用的资料顺序
判断冲突时,优先级如下:
- 与目标 Release 匹配的 Aras 官方帮助、Programmer's Guide、RESTful API、安装与 Release Notes
- 与目标 Release 匹配的 Aras Training 学员手册
- 可在隔离环境复现的标准产品行为
- 团队已有代码与历史培训资料
用户提供的 50 份代码是重要的需求和经验线索,但不是 API 规范。凡是与官方事务、权限或版本模型冲突的片段,以可验证行为为准。
