Aem CQ5工作流内容收件箱|批准文件夹内容错误url
我们已经创建了一个工作流,用于向审批者发送审批邮件。有效负载是jcr:文件夹或PDF的内容。 编码后,行为用于: pdf:它生成正确的URL作为http:///damadmin.html/content/ab/cd/abc.pdf 文件夹:它生成错误的url作为http:///damadmin.html/content/folder-name/jcr:content 因此,对于folder,我们更新了代码,将有效负载更改为folderpath,而不是folderpath/jcr:content 就我们用过的,Aem CQ5工作流内容收件箱|批准文件夹内容错误url,aem,day-cq,Aem,Day Cq,我们已经创建了一个工作流,用于向审批者发送审批邮件。有效负载是jcr:文件夹或PDF的内容。 编码后,行为用于: pdf:它生成正确的URL作为http:///damadmin.html/content/ab/cd/abc.pdf 文件夹:它生成错误的url作为http:///damadmin.html/content/folder-name/jcr:content 因此,对于folder,我们更新了代码,将有效负载更改为folderpath,而不是folderpath/jcr:content
WorkflowData wfData = wfSession.newWorkflowData("JCR_PATH", folder_node_path);
wfSession.updateWorkflowData(workItem.getWorkflow(), wfData);
代码更改后,当用户修改任何dam内容(如pdf)时,url的正确性如下http:///damadmin.html/
但是,当用户修改文件夹属性时,发送给审批人的邮件的url错误为http:///
表示缺少/damadmin.html
我们需要正确的链接应该为PDF和文件夹添加。
提前感谢。问题已解决。我正在使用CQ 5.5。
分享我的经验。我们不需要改变有效载荷。有效负载可以保持为jcr:content
我们需要做两件事:
确保文件夹路径/jcr:content在属性jcr:title中具有值。它将显示在收件箱页面的内容列中
对于收件箱页面中的文件夹链接,它必须为/content//jcr:content。问题是/damadmin.html没有添加到url之前。
任何资产或页面都不会出现此问题。
解决办法是:
您需要在/libs/cq/workflow/components/inbox/list/json.jsp中添加以下代码
A=>
添加私有方法
private String handleDamPathForFolder(Logger log, String payloadUrl, Session session, WorkItem wi)
{
try
{
if(isFolderNode(session, wi))
{
return ("/damadmin.html#"+payloadUrl);
}
}catch (Exception e)
{
log.error("Unable to handle path creation for work item: " + wi.getId(), e);
}
return payloadUrl;
}
我们必须编写方法isFolderNode,如果节点是文件夹,它将返回true
B=>更换
顺便说一下
JSONWriterUtil.writewriter、有效负载、handleDamPathForFolderlog、pathBuilder.getPathwi、会话、wi、JSONWriterUtil.WriteMode.BOTH、xss
JSONWriterUtil.write(writer, "payload", pathBuilder.getPath(wi),JSONWriterUtil.WriteMode.BOTH, xss);
<br/>