自动化与脚本
AEM 6.5 LTS/AMS 上工作流模型设计、开发…
当需要在 AEM 6.5 LTS 或 Adobe Managed Services 上处理 Granite Workflow Engine 工作流的建模、开发、触发、launcher 配置、卡住/失败排查或事故分诊时,先按意图路由再执行对应专家技能的做法。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
AEM 6.5 LTS/AMS 上工作流特定
解决思路
- 按用户意图匹配 Intent Router 表:创建/设计工作流模型、添加步骤、设计 OR/AND 分支、配置变量 → Model Design(workflow-model-design/SKILL.md)
- 自定义 WorkflowProcess 步骤、ParticipantStepChooser、OSGi 服务注册 → Development(workflow-development/SKILL.md)
- 从代码、HTTP API、Timeline UI、Manage Publication、复制触发启动工作流 → Triggering(workflow-triggering/SKILL.md)
- 配置 launcher、资源上传自动启动、覆盖 OOTB launcher → Launchers(workflow-launchers/SKILL.md)
- 工作流卡住、步骤失败、Inbox 任务缺失、实例陈旧、线程池耗尽、purge → Debugging(workflow-debugging/SKILL.md)
- 对工作流事故分类、确定所需日志、JMX 诊断、Splunk 查询 → Triaging(workflow-triaging/SKILL.md)
- 端到端生命周期或跨多个关注点的请求 → Orchestrator(workflow-orchestrator/SKILL.md)
- 打开匹配到的那个 specialist 的 SKILL.md 并阅读
- 遵循该技能中定义的 workflow、references 和输出契约(output contract)
- 对宽泛或含糊、跨多个关注点的请求,使用 Orchestrator,它负责协调所有 specialist 技能并加载基础引用
- JMX:通过 Felix Console(/system/console/jmx)或 JMX 客户端进行完整访问
- 重试失败项:使用 JMX retryFailedWorkItems 或 Inbox Retry
- 陈旧实例检测:使用 JMX countStaleWorkflows
- 陈旧实例重启:先用 JMX restartStaleWorkflows(dryRun=true) 试运行,再实际执行
- 清理:使用 JMX purgeCompleted(dryRun=true) 或 Purge Scheduler
- 日志访问:直接读文件系统 crx-quickstart/logs/ 或使用 AMS 日志访问
- 配置变更:Felix Console、仓库中的 OSGi config,或 CRX/DE
- 不要编辑 /libs;改用 /apps 下的 overlay,或存放到 /conf/global
- 模型设计时路径:/conf/global/settings/workflow/models/<id>(优先)或 /etc/workflow/models/<id>(legacy)
- 模型运行时路径(供 API 调用):/var/workflow/models/<id>
- Launcher 配置路径:/conf/global/settings/workflow/launcher/config/(优先)
- 服务用户:用 ResourceResolverFactory.getServiceResourceResolver() 配合 sub-service;避免 loginAdministrative
- OSGi 注解:优先 DS R6;6.5 LTS 仍支持 Felix SCR
- 部署方式:Package Manager、Maven + Content Package Plugin
适用边界 · 注意事项
- 环境不是 AEM 6.5 LTS 或 Adobe Managed Services(AMS)时,例如 AEM as a Cloud Service 或其他版本
- 项目没有 Maven 结构(core 与 ui.apps 模块)时,相关开发与部署做法不适用
- 用户请求与 AEM 工作流无关时,不要走这条路由