我需要在页面激活时向页面添加属性。我决定设置一个在激活步骤之前执行相同操作的工作流程。我的自定义工作流程步骤(激活步骤之前的步骤)使用 ECMA 脚本来实现这一点。这是我到目前为止所拥有的。
var workflowData = graniteWorkItem.getWorkflowData();
if (workflowData.getPayloadType() == "JCR_PATH") {
var path = workflowData.getPayload().toString();
var jcrsession = graniteWorkflowSession.adaptTo(Packages.javax.jcr.Session);
var node = jcrsession.getNode(path);
if (!node.hasProperty("foo")){
var cal = Packages.java.util.Calendar.getInstance();
node.setProperty("foo", cal);
node.save();
}
if (!node.hasProperty("foo2")){
node.setProperty("foo2", "2020-08-26T22:30:00.000+05:30");
node.save();
}
}
但是,当我在页面上运行工作流时,我需要创建的属性(在此实例中为 foo 和 foo2)不会被创建。
我究竟做错了什么?