【问题标题】:Alfresco workflow api is loosing a variableAlfresco 工作流 api 正在丢失一个变量
【发布时间】:2021-09-15 13:22:21
【问题描述】:

我有一个带有自定义工作流程的 Alfresco community 5.2 安装。用户需要指定一些参与者作为此工作流程的一部分并查看提交的文档。用户分为 4 组(共同作者、审阅者、批准者、授权者),我使用 Alfresco JS Api 开始工作流程,传递所有变量和参与者。

我遇到的问题是:其中一个参与者组(审阅者)的工作流变量已正确传递给 wf Params,但在工作流启动时被接收为 null

var wfparams = new Array();
wfparams["mywf:coAuthorsAssignees"] = coAuthorsProp;
wfparams["mywf:reviewersAssignees"] = reviewersProp;
wfparams["mywf:approverAssignee"] = approverProp;
wfparams["mywf:authorizerAssignee"] = authorizerProp;
wfparams["bpm:priority"] = workflowPriorityProp;
wfparams["mywf:taskDueDateDaysNumber"] = workflowTaskDueDateDaysNumberProp;
wfparams["bpm:description"] = workflowMessageProp;
wfparams["bpm:workflowDescription"] = workflowMessageProp;
wfparams["mywf:copyToInitiator"] = copyToInitiator;
wfparams["mywf:previousTaskComments"] = workflowInitiatorComment;
wfparams["_startTaskCompleted"] = new Date();

logger.info("mywf:reviewersAssignees"); // OK, the variable is correct

workflowAction.startWorkflow(package, wfparams);

这是我的开始

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://alfresco.org">
  <process id="DTTPublishWorkflow" name="Parallel Review And Approve Document" isExecutable="true">
    <extensionElements>
      <activiti:executionListener event="start" class="org.alfresco.repo.workflow.activiti.listener.ScriptExecutionListener">
        <activiti:field name="script">
          <activiti:string><![CDATA[//checkSingleWFIstance();
              // printing the variable inside the workflow (bpmn), I see it null
              logger.info(execution.getVariable('mywf_reviewersAssignees')) // null
<!-- ... -->

这怎么可能?我错过了什么?

或者我可以做些什么来找出问题所在?我可以以某种方式调试在startWorkflow(package, wfparams); 下发生的事情吗?

-- 编辑--

会不会是javascript对象转换的一些奇怪问题?

【问题讨论】:

  • 希望所有组都有用户,请在 js 分配期间检查这些组并检查该属性名称。
  • “希望所有群组都有用户”是什么意思?这些组不是强制性的。它们可以是空的。但问题是在 wfparams 中传递的变量值丢失了。会不会是一些 javascript 对象类型的问题?
  • 您的每个自定义属性都是 null 还是只有这个?
  • 很遗憾,只有这个

标签: workflow alfresco


【解决方案1】:

看起来像一些前缀错误。 您通过前缀“mywf”进行分配,并且通过“eneawf”获取。 这是你的获取方式还是错误?

【讨论】:

  • 可悲的是,当我粘贴到 Stackoverflow 时,这只是一个类型错误......读取变量是正确的,它是 mywf_revieversAssignees
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多