2017-03-10 4 views
0

프레스코 커뮤니티 V5.2 페이지 중에서도 /share/page/start-workflow워크 플로 양식의 reviewTask 화면에 사용자 지정 테이블을 추가하는 방법은 무엇입니까?

에이 가능한 미리 구성된 워크 플로우의 일부를 포함하고,이 나에게 관심입니다 - 리뷰 할당 - "검토 및 승인 (하나 이상의 검토)입니다 여러 검토 자에게 작업 ".

이 비즈니스 프로세스는 고객 중 하나의 요구 사항에 매우 적합합니다.

유일한 차이점은 ReviewTask 화면에서 모든 출연자의 표를 보는 것이 필요하다는 것입니다.

나는 Muralidharan Deenathayalan에 의해이 멋진 기사와 함께 시작하기로 결정 : Alfresco community 5.1.x workflow form add input fields dynamically

시작, 난 내 화면에 표를보고 싶습니다.

하지만 문제가 발생했습니다. 테이블이 표시되지 않습니다 (심지어 정적 헤더).

그리고이 문서를 승인하거나 거부 할 때, 예외가 발생합니다

org.activiti.engine.ActivitiException : 예외를 TaskListener 호출하는 동안 : 02,100,034 필수 작업 속성이 없었다 제공! {http://www......com/model/workflow/1.0} userDetails

일부 세부 정보는 다음과 같습니다.

워크 플로우 model.xml :

<?xml version="1.0" encoding="UTF-8"?> 

<model name="mswf:workflowmodel" xmlns="http://www.alfresco.org/model/dictionary/1.0"> 

    <imports> 
     <import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/> 
     <import uri="http://www.alfresco.org/model/bpm/1.0" prefix="bpm"/> 
    </imports> 

    <namespaces> 
     <namespace uri="http://www.........../model/workflow/1.0" prefix="mswf" /> 
    </namespaces> 

    <types> 
     <type name="mswf:submitConcurrentReviewTask"> 
     <parent>bpm:startTask</parent> 
     <properties> 
      <property name="mswf:requiredApprovePercent"> 
       <type>d:int</type> 
       <mandatory>true</mandatory> 
       <default>50</default> 
       <constraints> 
        <constraint type="MINMAX"> 
         <parameter name="minValue"><value>1</value></parameter> 
         <parameter name="maxValue"><value>100</value></parameter> 
        </constraint> 
       </constraints> 
      </property> 
     </properties> 
     </type> 

     <type name="mswf:submitParallelReviewTask"> 
     <parent>mswf:submitConcurrentReviewTask</parent> 
     <mandatory-aspects> 
      <aspect>bpm:assignees</aspect> 
     </mandatory-aspects> 
     </type> 

     <type name="mswf:activitiReviewTask"> 
      <parent>bpm:activitiOutcomeTask</parent> 
      <properties> 
       <property name="mswf:reviewOutcome"> 
        <type>d:text</type> 
        <default>Reject</default> 
        <constraints> 
         <constraint name="mswf:reviewOutcomeOptions" type="LIST"> 
          <parameter name="allowedValues"> 
           <list> 
            <value>Approve|...</value> 
            <value>Reject|...</value> 
           </list> 
          </parameter> 
         </constraint> 
        </constraints> 
       </property> 
       <property name="mswf:userDetails"> 
        <title> User Details</title> 
        <type>d:text</type> 
        <mandatory>true</mandatory> 
       </property> 
      </properties> 
      <overrides> 
       <property name="bpm:packageItemActionGroup"> 
        <default>edit_package_item_actions</default> 
       </property> 
       <property name="bpm:outcomePropertyName"> 
        <default>{http://www......../model/workflow/1.0}reviewOutcome</default> 
       </property> 
      </overrides> 
     </type> 

     <type name="mswf:rejectedParallelTask"> 
     <parent>bpm:workflowTask</parent> 
     <mandatory-aspects> 
      <aspect>mswf:parallelReviewStats</aspect> 
     </mandatory-aspects> 
     </type> 

     <type name="mswf:approvedParallelTask"> 
     <parent>bpm:workflowTask</parent> 
     <mandatory-aspects> 
      <aspect>mswf:parallelReviewStats</aspect> 
     </mandatory-aspects> 
     </type> 
    </types> 

    <aspects> 
     <aspect name="mswf:parallelReviewStats"> 
     <properties> 
      <property name="mswf:reviewerCount"> 
       <type>d:int</type> 
      </property> 
      <property name="mswf:requiredPercent"> 
       <type>d:int</type> 
      </property> 
      <property name="mswf:approveCount"> 
       <type>d:int</type> 
      </property> 
      <property name="mswf:actualPercent"> 
       <type>d:int</type> 
      </property> 
     </properties> 
     </aspect> 
    </aspects> 
</model> 

contractsApproval.bpmn :

<?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://www.activiti.org/....-10.0"> 
    <process id="contractsApproval" name="..... Approval " isExecutable="true"> 
    <extensionElements> 
     <activiti:executionListener event="start" class="org.alfresco.repo.workflow.activiti.listener.ScriptExecutionListener"> 
     <activiti:field name="script"> 
      <activiti:string><![CDATA[execution.setVariable('mswf_approveCount', 0); 
         execution.setVariable('mswf_rejectCount', 0); 

         execution.setVariable('mswf_actualPercent', 0); 
         execution.setVariable('mswf_actualRejectPercent', 0); 

         execution.setVariable('mswf_reviewerCount', bpm_assignees.size()); 
         execution.setVariable('mswf_requiredPercent', mswf_requiredApprovePercent);]]></activiti:string> 
     </activiti:field> 
     </activiti:executionListener> 
    </extensionElements> 
    <startEvent id="start" activiti:formKey="mswf:submitParallelReviewTask"></startEvent> 
    <sequenceFlow id="flow1" sourceRef="start" targetRef="reviewTask"></sequenceFlow> 
    <userTask id="reviewTask" name="Review Task" activiti:assignee="${reviewAssignee.properties.userName}" activiti:formKey="mswf:activitiReviewTask"> 
     <extensionElements> 
     <activiti:taskListener event="create" class="org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener"> 
      <activiti:field name="script"> 
      <activiti:string><![CDATA[if (typeof bpm_workflowDueDate != 'undefined') task.dueDate = bpm_workflowDueDate 
         if (typeof bpm_workflowPriority != 'undefined') task.priority = bpm_workflowPriority;]]></activiti:string> 
      </activiti:field> 
     </activiti:taskListener> 
     <activiti:taskListener event="complete" class="org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener"> 
      <activiti:field name="script"> 
      <activiti:string><![CDATA[if(task.getVariableLocal('mswf_reviewOutcome') == 'Approve') { 
          var newApprovedCount = mswf_approveCount + 1; 
          var newApprovedPercentage = (newApprovedCount/mswf_reviewerCount) * 100; 

          execution.setVariable('mswf_approveCount', newApprovedCount); 
          execution.setVariable('mswf_actualPercent', newApprovedPercentage); 
         } else { 
          var newRejectCount = mswf_rejectCount + 1; 
          var newRejectPercentage = (newRejectCount/mswf_reviewerCount) * 100; 

          execution.setVariable('mswf_rejectCount', newRejectCount); 
          execution.setVariable('mswf_actualRejectPercent', newRejectPercentage); 
         }]]></activiti:string> 
      </activiti:field> 
     </activiti:taskListener> 
     </extensionElements> 
     <multiInstanceLoopCharacteristics isSequential="false" activiti:collection="bpm_assignees" activiti:elementVariable="reviewAssignee"> 
     <completionCondition>${mswf_actualPercent &gt;= mswf_requiredApprovePercent || mswf_requiredApprovePercent &gt; (100 - mswf_actualRejectPercent)}</completionCondition> 
     </multiInstanceLoopCharacteristics> 
    </userTask> 
    <sequenceFlow id="flow2" sourceRef="reviewTask" targetRef="reviewDecision"></sequenceFlow> 
    <exclusiveGateway id="reviewDecision" name="Review Decision"></exclusiveGateway> 
    <sequenceFlow id="flow3" sourceRef="reviewDecision" targetRef="approved"> 
     <conditionExpression xsi:type="tFormalExpression"><![CDATA[${mswf_actualPercent >= mswf_requiredApprovePercent}]]></conditionExpression> 
    </sequenceFlow> 
    <sequenceFlow id="flow4" sourceRef="reviewDecision" targetRef="rejected"></sequenceFlow> 
    <userTask id="approved" name="Document Approved" activiti:assignee="${initiator.exists() ? initiator.properties.userName : 'admin'}" activiti:formKey="mswf:approvedParallelTask"> 
     <documentation>The document was reviewed and approved.</documentation> 
     <extensionElements> 
     <activiti:taskListener event="create" class="org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener"> 
      <activiti:field name="script"> 
      <activiti:string><![CDATA[if (typeof bpm_workflowDueDate != 'undefined') task.dueDate = bpm_workflowDueDate 
         if (typeof bpm_workflowPriority != 'undefined') task.priority = bpm_workflowPriority; 

         // Set parallel review params on task, to be kept in history 
         task.setVariableLocal('mswf_reviewerCount', mswf_reviewerCount); 
         task.setVariableLocal('mswf_requiredPercent', mswf_requiredPercent); 
         task.setVariableLocal('mswf_actualPercent', mswf_actualPercent); 
         task.setVariableLocal('mswf_approveCount', mswf_approveCount);]]></activiti:string> 
      </activiti:field> 
     </activiti:taskListener> 
     </extensionElements> 
    </userTask> 
    <userTask id="rejected" name="Document Rejected" activiti:assignee="${initiator.exists() ? initiator.properties.userName : 'admin'}" activiti:formKey="mswf:rejectedParallelTask"> 
     <documentation>The document was reviewed and rejected.</documentation> 
     <extensionElements> 
     <activiti:taskListener event="create" class="org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener"> 
      <activiti:field name="script"> 
      <activiti:string><![CDATA[if (typeof bpm_workflowDueDate != 'undefined') task.dueDate = bpm_workflowDueDate 
         if (typeof bpm_workflowPriority != 'undefined') task.priority = bpm_workflowPriority; 

         // Set parallel review params on task, to be kept in history 
         task.setVariableLocal('mswf_reviewerCount', mswf_reviewerCount); 
         task.setVariableLocal('mswf_requiredPercent', mswf_requiredPercent); 
         task.setVariableLocal('mswf_actualPercent', mswf_actualPercent); 
         task.setVariableLocal('mswf_approveCount', mswf_approveCount);]]></activiti:string> 
      </activiti:field> 
     </activiti:taskListener> 
     </extensionElements> 
    </userTask> 
    <sequenceFlow id="flow5" sourceRef="approved" targetRef="end"></sequenceFlow> 
    <sequenceFlow id="flow6" sourceRef="rejected" targetRef="end"></sequenceFlow> 
    <endEvent id="end"></endEvent> 
    </process> 

    <bpmndi:BPMNDiagram id="BPMNDiagram_contractsApproval"> 
    ... 
    </bpmndi:BPMNDiagram> 
</definitions> 

주-설정-있는 Custom.xml (일부 필드가 지정되지 않음) :

<alfresco-config> 
    <config evaluator="string-compare" condition="activiti$activitiReview"> 
     <forms> 
     <form> 
      <field-visibility> 
       <show id="bpm:workflowDescription" /> 
       <show id="bpm:workflowDueDate" /> 
       <show id="bpm:workflowPriority" /> 
       <show id="bpm:assignee" /> 
       <show id="packageItems" /> 
       <show id="bpm:sendEMailNotifications" /> 
      </field-visibility> 
      <appearance> 
       <set id="" appearance="title" label-id="workflow.set.general" /> 
       <set id="info" appearance="" template="/org/alfresco/components/form/2-column-set.ftl" /> 
       <set id="assignee" appearance="title" label-id="workflow.set.assignee" /> 
       <set id="items" appearance="title" label-id="workflow.set.items" /> 
       <set id="other" appearance="title" label-id="workflow.set.other" /> 

       <field id="bpm:assignee" label-id="workflow.field.reviewer" set="assignee" /> 
       <field id="mswf:userDetails" set="userDetails" label="User Details" read-only="true"> 
        <control template="/org/alfresco/components/form/controls/workflow/userdetails.ftl" /> 
       </field>     
      </appearance> 
     </form> 
     </forms> 
    </config>  
    <config evaluator="string-compare" condition="activiti$contractsApproval"> 
     <forms> 
     <form> 
      <field-visibility> 
       <show id="bpm:workflowDescription" /> 
       <show id="bpm:workflowDueDate" /> 
       <show id="bpm:workflowPriority" /> 
       <show id="bpm:assignees" /> 
       <show id="mswf:requiredApprovePercent" /> 
       <show id="packageItems" /> 
      </field-visibility> 
      <appearance> 
       <set id="" appearance="title" label-id="workflow.set.general" /> 
       <set id="info" appearance="" template="/org/alfresco/components/form/2-column-set.ftl" /> 
       <set id="assignee" appearance="title" label-id="workflow.set.assignees" /> 
       <set id="items" appearance="title" label-id="workflow.set.items" /> 
       <set id="other" appearance="title" label-id="workflow.set.other" /> 

       <field id="bpm:assignees" label-id="workflow.field.reviewers" set="assignee" /> 
       <field id="mswf:userDetails" set="userDetails" label="User Details" read-only="true"> 
        <control template="/org/alfresco/components/form/controls/workflow/userdetails.ftl" /> 
       </field> 
       <field id="packageItems" set="items" /> 
      </appearance> 
     </form> 
     </forms> 
    </config>  
    <config evaluator="string-compare" condition="activiti$activitiLifecycleApproval"> 
     <forms> 
     <form> 
      <field-visibility> 
       <show id="bpm:workflowDescription" /> 
       <show id="bpm:workflowDueDate" /> 
       <show id="bpm:workflowPriority" /> 
       <show id="bpm:assignee" /> 
       <show id="packageItems" /> 
       <show id="bpm:sendEMailNotifications" /> 
      </field-visibility> 
      <appearance> 
       <set id="" appearance="title" label-id="workflow.set.general" /> 
       <set id="info" appearance="" template="/org/alfresco/components/form/2-column-set.ftl" /> 
       <set id="assignee" appearance="title" label-id="workflow.set.assignee" /> 
       <set id="items" appearance="title" label-id="workflow.set.items" /> 
       <set id="other" appearance="title" label-id="workflow.set.other" /> 

       <field id="mswf:userDetails" set="userDetails" label="User Details" read-only="true"> 
        <control template="/org/alfresco/components/form/controls/workflow/userdetails.ftl" /> 
       </field> 
      </appearance> 
     </form> 
     </forms> 
    </config>    
    <config evaluator="task-type" condition="bpm:startTask"> 
     <forms> 
     <form id="workflow-details"> 
      <field-visibility> 
       <show id="bpm:sendEMailNotifications" /> 
       <show id="packageItems" /> 
      </field-visibility> 
      <appearance> 
       <set id="" appearance="title" label-id="workflow.set.workflow.more_info" /> 
       <set id="items" appearance="title" label-id="workflow.set.items" /> 

       <field id="packageItems" set="items" /> 
      </appearance> 
     </form> 
     <form> 
      <field-visibility> 
       <show id="message" /> 
       <show id="taskOwner" /> 
       <show id="bpm:workflowPriority" /> 
       <show id="bpm:workflowDueDate" /> 
       <show id="bpm:taskId" /> 
       <show id="bpm:status" /> 
       <show id="packageItems" /> 
       <show id="bpm:sendEMailNotifications" /> 
      </field-visibility> 
      <appearance> 
       <set id="" appearance="title" label-id="workflow.set.task.info" /> 
       <set id="info" appearance="" template="/org/alfresco/components/form/3-column-set.ftl" /> 
       <set id="progress" appearance="title" label-id="workflow.set.task.progress" /> 
       <set id="items" appearance="title" label-id="workflow.set.items" /> 
       <set id="other" appearance="title" label-id="workflow.set.other" /> 

       <field id="mswf:userDetails" set="userDetails" label="User Details" read-only="true"> 
        <control template="/org/alfresco/components/form/controls/workflow/userdetails.ftl" /> 
       </field> 

      </appearance> 
     </form> 
     </forms> 
    </config>  
    <config evaluator="task-type" condition="mswf:submitParallelReviewTask"> 
     <forms> 
     <form id="workflow-details"> 
      <field-visibility> 
       <show id="mswf:requiredApprovePercent" /> 
       <show id="bpm:sendEMailNotifications" /> 
       <show id="packageItems" /> 
      </field-visibility> 
      <appearance> 
       <set id="" appearance="title" label-id="workflow.set.workflow.more_info" /> 
       <set id="items" appearance="title" label-id="workflow.set.items" /> 

       <field id="packageItems" set="items" /> 
      </appearance> 
     </form>  
     <form> 
      <field-visibility> 
       <show id="message" /> 
       <show id="taskOwner" /> 
       <show id="bpm:workflowPriority" /> 
       <show id="bpm:workflowDueDate" /> 
       <show id="bpm:taskId" /> 
       <show id="mswf:requiredApprovePercent" /> 
       <show id="bpm:status" /> 
       <show id="packageItems" /> 
       <show id="bpm:sendEMailNotifications" /> 
      </field-visibility> 
      <appearance> 
       <set id="" appearance="title" label-id="workflow.set.task.info" /> 
       <set id="info" appearance="" template="/org/alfresco/components/form/3-column-set.ftl" /> 
       <set id="progress" appearance="title" label-id="workflow.set.task.progress" /> 
       <set id="items" appearance="title" label-id="workflow.set.items" /> 
       <set id="other" appearance="title" label-id="workflow.set.other" /> 

       <field id="mswf:userDetails" set="userDetails" label="User Details" read-only="true"> 
        <control template="/org/alfresco/components/form/controls/workflow/userdetails.ftl" /> 
       </field> 

      </appearance> 
     </form> 
     </forms> 
    </config>  
    <config evaluator="task-type" condition="bpm:workflowTask"> 
     <forms> 
     <form> 
      <field-visibility> 
       <show id="message" /> 
       <show id="taskOwner" /> 
       <show id="bpm:priority" /> 
       <show id="bpm:dueDate" /> 
       <show id="bpm:taskId" /> 
       <show id="bpm:status" /> 
       <show id="packageItems" /> 
       <show id="bpm:comment" /> 
       <show id="transitions" /> 
      </field-visibility> 
      <appearance> 
       <set id="" appearance="title" label-id="workflow.set.task.info" /> 
       <set id="info" appearance="" template="/org/alfresco/components/form/3-column-set.ftl" /> 
       <set id="progress" appearance="title" label-id="workflow.set.task.progress" /> 
       <set id="items" appearance="title" label-id="workflow.set.items" /> 
       <set id="response" appearance="title" label-id="workflow.set.response" /> 

       <field id="mswf:userDetails" set="userDetails" label="User Details" read-only="true"> 
        <control template="/org/alfresco/components/form/controls/workflow/userdetails.ftl" /> 
       </field> 
      </appearance> 
     </form> 
     </forms> 
    </config>  
    <config evaluator="task-type" condition="mswf:reviewTask"> 
     <forms> 
     <form> 
      <field-visibility> 
       <show id="message" /> 
       <show id="taskOwner" /> 
       <show id="bpm:priority" /> 
       <show id="bpm:dueDate" /> 
       <show id="bpm:taskId" /> 
       <show id="packageItems" /> 
       <show id="bpm:comment" /> 
       <show id="transitions" /> 
      </field-visibility> 
      <appearance> 
       <set id="" appearance="title" label-id="workflow.set.task.info" /> 
       <set id="info" appearance="" template="/org/alfresco/components/form/3-column-set.ftl" /> 
       <set id="progress" appearance="title" label-id="workflow.set.task.progress" /> 
       <set id="items" appearance="title" label-id="workflow.set.items" /> 
       <set id="response" appearance="title" label-id="workflow.set.response" /> 

       <field id="mswf:userDetails" set="userDetails" label="User Details" read-only="true"> 
        <control template="/org/alfresco/components/form/controls/workflow/userdetails.ftl" /> 
       </field> 

      </appearance> 
     </form> 
     </forms> 
    </config>  
    <config evaluator="task-type" condition="mswf:activitiReviewTask"> 
     <forms> 
     <form> 
      <field-visibility> 
       <show id="message" /> 
       <show id="taskOwner" /> 
       <show id="bpm:priority" /> 
       <show id="bpm:dueDate" /> 
       <show id="bpm:taskId" /> 
       <show id="packageItems" /> 
       <show id="bpm:comment" />    
       <show id="mswf:reviewOutcome" /> 
      </field-visibility> 
      <appearance> 
       <set id="" appearance="title" label-id="workflow.set.task.info" /> 
       <set id="info" appearance="" template="/org/alfresco/components/form/3-column-set.ftl" /> 
       <set id="progress" appearance="title" label-id="workflow.set.task.progress" /> 
       <set id="items" appearance="title" label-id="workflow.set.items" /> 
       <set id="response" appearance="title" label-id="workflow.set.response" /> 

       <field id="mswf:userDetails" set="userDetails" label="User Details" read-only="true"> 
        <control template="/org/alfresco/components/form/controls/workflow/userdetails.ftl" /> 
       </field> 
      </appearance> 
     </form> 
     </forms> 
    </config>  
    <config evaluator="task-type" condition="mswf:approvedParallelTask"> 
     <forms> 
     <form> 
      <field-visibility> 
       <show id="message" /> 
       <show id="taskOwner" /> 
       <show id="bpm:priority" /> 
       <show id="bpm:dueDate" /> 
       <show id="bpm:taskId" /> 
       <show id="mswf:reviewerCount" /> 
       <show id="mswf:approveCount" /> 
       <show id="mswf:requiredPercent" /> 
       <show id="mswf:actualPercent" /> 
       <show id="packageItems" /> 
       <show id="bpm:comment" /> 
       <show id="transitions" /> 
      </field-visibility> 
      <appearance> 
       <set id="" appearance="title" label-id="workflow.set.task.info" /> 
       <set id="info" appearance="" template="/org/alfresco/components/form/3-column-set.ftl" /> 
       <set id="progress" appearance="title" label-id="workflow.set.task.progress" /> 
       <set id="outcome" appearance="title" label-id="workflow.set.outcome" 
        template="/org/alfresco/components/form/2-column-set.ftl" /> 
       <set id="items" appearance="title" label-id="workflow.set.items" /> 
       <set id="response" appearance="title" label-id="workflow.set.response" /> 

       <field id="mswf:userDetails" set="userDetails" label="User Details" read-only="true"> 
        <control template="/org/alfresco/components/form/controls/workflow/userdetails.ftl" /> 
       </field> 
      </appearance> 
     </form> 
     </forms> 
    </config>  
    <config evaluator="task-type" condition="mswf:rejectedParallelTask"> 
     <forms> 
     <form> 
      <field-visibility> 
       <show id="message" /> 
       <show id="taskOwner" /> 
       <show id="bpm:priority" /> 
       <show id="bpm:dueDate" /> 
       <show id="bpm:taskId" /> 
       <show id="mswf:reviewerCount" /> 
       <show id="mswf:approveCount" /> 
       <show id="mswf:requiredPercent" /> 
       <show id="mswf:actualPercent" /> 
       <show id="packageItems" /> 
       <show id="bpm:comment" /> 
       <show id="transitions" /> 
      </field-visibility> 
      <appearance> 
       <set id="" appearance="title" label-id="workflow.set.task.info" /> 
       <set id="info" appearance="" template="/org/alfresco/components/form/3-column-set.ftl" /> 
       <set id="progress" appearance="title" label-id="workflow.set.task.progress" /> 
       <set id="outcome" appearance="title" label-id="workflow.set.outcome" 
        template="/org/alfresco/components/form/2-column-set.ftl" /> 
       <set id="items" appearance="title" label-id="workflow.set.items" /> 
       <set id="response" appearance="title" label-id="workflow.set.response" /> 

       <field id="mswf:userDetails" set="userDetails" label="User Details" read-only="true"> 
        <control template="/org/alfresco/components/form/controls/workflow/userdetails.ftl" /> 
       </field>     
      </appearance> 
     </form> 
     </forms> 
    </config> 
</alfresco-config> 

내가 틀린 곳? ..

나는 정보에 대해 매우 감사 할 것입니다. 모두에게 감사드립니다.

+0

userdetails.ftl을 공유 할 수 있습니까? 그리고 공유 폴더 아래에 사용자 컨트롤의 위치? –

+0

댓글을 주셔서 감사합니다. 'userdetails.ftl' 나는 방금 [here] (http://stackoverflow.com/questions/37966639/alfresco-community-5-1-x-workflow-form-add-input-fields-dynamically)에서 복사했습니다. '