Adobe AEM 6.5.10工作流:能否修改Payload适配资产重命名?
解决方案:更新AEM工作流Payload路径
完全可以更新工作流的Payload路径,让所有步骤识别资产的新名称,具体可以在重命名资产的ECMAScript脚本中直接修改工作流实例的Payload属性。
实现步骤
- 完成资产重命名后,在脚本中获取当前工作流实例
- 将工作流实例的Payload路径替换为资产的新JCR路径
- 保存工作流实例的变更
示例代码片段
// 假设newPath是重命名后的资产JCR路径 var workflowSession = sling.getService(Packages.com.adobe.granite.workflow.WorkflowSession); var currentWorkflowId = workflowData.getWorkflowInstanceId(); var workflowInstance = workflowSession.getWorkflow(currentWorkflowId); // 创建指向新路径的WorkflowData对象 var newWorkflowData = workflowSession.newWorkflowData("JCR_PATH", newPath); // 更新并保存工作流实例的Payload workflowInstance.setWorkflowData(newWorkflowData); workflowSession.updateWorkflow(workflowInstance);
额外注意事项
- 确保执行脚本的用户拥有
workflow-modify权限,否则无法修改工作流实例 - 若FFmpeg缩略图步骤为异步执行,建议调整工作流步骤顺序,将重命名步骤放在FFmpeg步骤之前,从根源避免路径不一致问题
- 重命名资产时同步更新关联的JCR引用(如元数据中的路径字段),防止后续出现其他引用错误
内容的提问来源于stack exchange,提问作者KellyM
相关产品推荐
相关产品推荐

