Platform Explorer / Nuxeo Platform 5.6

Extension point chains

Operation Chain registration

Contribution Descriptor

Existing Contributions

  • nuxeo-social-workspace-core-5.6.jar
    <extension point="chains" target="org.nuxeo.ecm.core.operation.OperationServiceComponent">
        <chain id="SocialWorkspaceCreatedChain">
          <operation id="Context.FetchDocument"/>
          <operation id="Context.SetVar">
            <param name="name" type="string">admins</param>
            <param name="value" type="object">administrators</param>
          </operation>
          <operation id="Workflow.CreateTask">
            <param name="task name" type="string">validateSocialWorkspace</param>
            <param name="directive" type="string">VERIFICATION</param>
            <param name="comment" type="string">Please validate social workspace</param>
            <param name="variable name for actors prefixed ids" type="string">admins</param>
            <param name="create one task per actor" type="boolean">true</param>
          </operation>
          <operation id="Notification.SendMail">
            <param name="from" type="string">expr:Env["mail.from"]</param>
            <param name="message" type="string">&lt;html&gt;
    Hello,
    
    Social Workspace &lt;a href="${docUrl}"&gt;${Document.title}&lt;/a&gt; was created. Please validate it &lt;a href="${baseUrl}nxadmin/${Session.repositoryName}${Document.path}@view_admin?tabIds=MAIN_TABS%3Aadmin%2CNUXEO_ADMIN%3ASocialWorkspacesAdministration"&gt;here&lt;/a&gt;.
    &lt;/html&gt;</param>
            <param name="subject" type="string">Social Workspace  created</param>
            <param name="HTML" type="string">true</param>
            <param name="to" type="stringlist">expr:Fn.getEmailsFromGroup("administrators")</param>
          </operation>
        </chain>
        <chain id="SocialWorkspaceNotValidatedChain">
          <operation id="Context.FetchDocument"/>
          <operation id="Document.SetLifeCycle">
            <param name="value" type="string">delete</param>
          </operation>
          <operation id="Notification.SendMail">
            <param name="from" type="string">expr:Env["mail.from"]</param>
            <param name="message" type="string">Social Workspace "${Document.title}" was not validated by adminitrators and it will be suspended.</param>
            <param name="subject" type="string">expr:Social Workspace not validated: @{Document.title}</param>
            <param name="to" type="stringlist">expr:Fn.getEmail(Document["dc:creator"])</param>
          </operation>
        </chain>
      </extension>
  • nuxeo-platform-document-routing-dm-5.6.jar
    <extension point="chains" target="org.nuxeo.ecm.core.operation.OperationServiceComponent">
    
        <chain id="simpleTask">
          <operation id="Context.FetchDocument"/>
          <operation id="Workflow.CreateRoutingTask">
            <param name="accept operation chain" type="string">
              setTaskDone
            </param>
            <param name="reject operation chain" type="string">
              setTaskDone
            </param>
            <param name="mappingProperties" type="Properties">
              <property key="dc:description">StepTask:dc:description</property>
              <property key="nt:directive">StepTask:dc:description</property>
            </param>
           </operation> 
    	   <operation id="Context.RunDocumentOperationInNewTx">
    	     <param name="rollbackGlobalOnError" type="boolean">false</param>
    	     <param name="id" type="string">sendTaskCreatedNotificationMail</param>
    	   </operation>
        </chain>
        
        <chain id="followLifeCycleTransitionTask">
          <operation id="Context.FetchDocument"/>
          <operation id="Workflow.CreateRoutingTask">
            <param name="accept operation chain" type="string">
              followLifeCycleTransition
            </param>
            <param name="reject operation chain" type="string">
              setTaskDone
            </param>
            <param name="mappingProperties" type="Properties">
              <property key="dc:description">StepTask:dc:description</property>
            </param>
          </operation>
          <operation id="Context.RunDocumentOperationInNewTx">
    	     <param name="rollbackGlobalOnError" type="boolean">false</param>
    	     <param name="id" type="string">sendTaskCreatedNotificationMail</param>
    	   </operation>
        </chain>
        
         <chain id="publishTask">
          <operation id="Context.FetchDocument"/>
          <operation id="Workflow.CreateRoutingTask">
            <param name="accept operation chain" type="string">
              publishDocument
            </param>
            <param name="reject operation chain" type="string">
              setTaskDone
            </param>
            <param name="mappingProperties" type="Properties">
              <property key="dc:description">StepTask:dc:description</property>
            </param>
          </operation>
          <operation id="Context.RunDocumentOperationInNewTx">
    	     <param name="rollbackGlobalOnError" type="boolean">false</param>
    	     <param name="id" type="string">sendTaskCreatedNotificationMail</param>
    	   </operation>
        </chain>
        
         <chain id="conditionalTask">
          <operation id="Context.FetchDocument"/>
          <operation id="Workflow.CreateRoutingTask">
            <param name="accept operation chain" type="string">
              evaluateCondition
            </param>
            <param name="reject operation chain" type="string">
              setTaskDone
            </param>
            <param name="mappingProperties" type="Properties">
              <property key="dc:description">StepTask:dc:description</property>
            </param>
          </operation>
          <operation id="Context.RunDocumentOperationInNewTx">
    	     <param name="rollbackGlobalOnError" type="boolean">false</param>
    	     <param name="id" type="string">sendTaskCreatedNotificationMail</param>
    	   </operation>
        </chain>
    
        <chain id="setTaskDone">
          <operation id="Document.Routing.SetRunningStepFromTask">
             <param name="mappingComments" type="boolean">true</param>
          </operation>
          <operation id="Document.Routing.Resume.Step"/>
        </chain>
      
       <chain id="undoRunningTask">
         <operation id="Workflow.RemoveRoutingTask"/>
         <operation id="Document.Routing.BackToReady"/>
       </chain>
      
        <chain id="followLifeCycleTransition">
          <operation id="Context.FetchDocument"/>
          <operation id="Document.Routing.SetRunningStepFromTask"/>
          <operation id="Document.SetLifeCycle">
            <param name="value" type="string">expr:Context["document.routing.step"].getDocument().getPropertyValue("tkst:directive")</param>
          </operation>
    
          <operation id="Document.Routing.Resume.Step"/>
        </chain>
        
        <chain id="publishDocument">
          <operation id="Context.FetchDocument"/>
          <operation id="Document.Routing.SetRunningStepFromTask"/>
          <operation id="Document.Publish">
          	<param name="target" type="string">expr:Context["document.routing.step"].getDocument().getPropertyValue("tkst:directive")</param>
          </operation>
          <operation id="Document.Routing.Resume.Step"/>
        </chain>
        
         <chain id="evaluateCondition">
          <operation id="Context.FetchDocument"/>
          <operation id="Document.Routing.SetRunningStepFromTask"/>
          <operation id="Document.Routing.EvaluateCondition">
          	<param name="subject" type="string">expr:Context["document.routing.step"].getDocument().getPropertyValue("ctkst:subject")</param>
          	<param name="operator" type="string">expr:Context["document.routing.step"].getDocument().getPropertyValue("ctkst:operator")</param>
          	<param name="value" type="string">expr:Context["document.routing.step"].getDocument().getPropertyValue("ctkst:value")</param>
          </operation>
          <operation id="Update.NextStep.ConditionalFolder">
          	<param name="nextStepPos" type="string">expr:Context['nextStepPos']</param>
          </operation>
          <operation id="Document.Routing.Resume.Step"/>
        </chain>
        
        <chain id="sendTaskCreatedNotificationMail">
          <operation id="Notification.SendMail">
            <param name="from" type="string">Administrator@nuxeo.com</param>
            <param name="message" type="string">template:routingTaskAssigned</param>
            <param name="subject" type="string">expr:Context["document.routing.step"].getDocument().getPropertyValue("dc:title")</param>
            <param name="to" type="stringlist">expr:Fn.getEmails(Context["document.routing.task.actors"])</param>
            <param name="HTML" type="boolean">false</param>
          </operation>
       </chain>  
      </extension>
  • nuxeo-platform-document-routing-core-5.6.jar
    <extension point="chains" target="org.nuxeo.ecm.core.operation.OperationServiceComponent">
        <chain id="setDone">
          <operation id="Document.Routing.Step.Done"/>
        </chain>
        <chain id="simpleValidate">
          <operation id="Document.Routing.Resume.Step"/>
        </chain>
        <chain id="simpleRefuse">
          <operation id="Document.Routing.Resume.Step"/>
        </chain>
        <chain id="simpleUndo">
          <operation id="Document.Routing.BackToReady"/>
        </chain>
        <chain id="setNextStep">
          <operation id="Update.NextStep.ConditionalFolder"/>
        </chain>    
        <chain id="decideNextStepAndSimpleValidate">
          <operation id="Update.NextStep.ConditionalFolder">
          	<param name="nextStepPos" type="string">expr:Context['nextStepPos']</param>
          </operation>
          <operation id="Document.Routing.Resume.Step"/>
        </chain>
        <chain id="updateCommentsOnDoc">
          <operation id="Document.Routing.UpdateCommentsInfoOnDocument"/>  
        </chain>
        <chain id="simpleChooseNextOption1AndDone">
          <operation id="Update.NextStep.ConditionalFolder">
          	<param name="nextStepPos" type="string">1</param>
          </operation>
          <operation id="Document.Routing.Step.Done"/>
        </chain>
        <chain id="simpleChooseNextOption2AndDone">
          <operation id="Update.NextStep.ConditionalFolder">
          	<param name="nextStepPos" type="string">2</param>
          </operation>
          <operation id="Document.Routing.Step.Done"/>
        </chain>
      </extension>
  • nuxeo-platform-comment-workflow-5.6.jar
    <extension point="chains" target="org.nuxeo.ecm.core.operation.OperationServiceComponent">
    
        <chain id="acceptComment">
          <operation id="Context.FetchDocument"/>
          <operation id="Comment.Moderate">
            <param name="accept" type="boolean">true</param>
          </operation>
        </chain>
    
        <chain id="rejectComment">
          <operation id="Context.FetchDocument"/>
          <operation id="Comment.Moderate">
            <param name="accept" type="boolean">false</param>
          </operation>
        </chain>
    
      </extension>
  • nuxeo-platform-webapp-core-5.6.jar
    <extension point="chains" target="org.nuxeo.ecm.core.operation.OperationServiceComponent">
    
        <chain id="addCurrentDocumentToWorklist">
          <operation id="Context.FetchDocument"/>
          <operation id="Seam.AddToWorklist"/>
        </chain>
    
      </extension>
  • nuxeo-platform-webapp-base-5.6.jar
    <extension point="chains" target="org.nuxeo.ecm.core.operation.OperationServiceComponent">
    
        <chain id="downloadFilesZip">
          <operation id="Context.FetchDocument"/>
          <operation id="Blob.GetAll"/>
          <operation id="Blob.CreateZip">
            <param name="filename" type="string">attachments.zip
            </param>
          </operation>
          <operation id="Seam.DownloadFile"/>
        </chain>
    
      </extension>
  • nuxeo-automation-jsf-5.6.jar
    <extension point="chains" target="org.nuxeo.ecm.core.operation.OperationServiceComponent">
        <chain id="ImportWorklist">
          <operation id="Seam.InitContext"/>
          <operation id="UserWorkspace.CreateDocumentFromBlob"/>
          <operation id="Document.Save"/>
          <operation id="Seam.AddToWorklist"/>
          <operation id="Seam.DestroyContext"/>
        </chain>
        <chain id="ImportClipboard">
          <operation id="Seam.InitContext"/>
          <operation id="UserWorkspace.CreateDocumentFromBlob"/>
          <operation id="Document.Save"/>
          <operation id="Seam.AddToClipboard"/>
          <operation id="Seam.DestroyContext"/>
        </chain>
        <chain id="SeamActions.GET">
          <operation id="Seam.RunOperation">
            <param name="id" type="string">Actions.GET</param>
          </operation>
        </chain>
    
        <chain id="FileManager.ImportWithMetaDataInSeam">
          <operation id="FileManager.Import">
             <param name="overwite" type="boolean">true</param>
          </operation>
          <operation id="Document.Update">
            <param name="properties" type="properties">expr:Context.get("docMetaData")</param>
          </operation>
          <operation id="Seam.RunOperation">
            <param name="id" type="string">Seam.Refresh</param>
          </operation>
        </chain>
    
        <chain id="FileManager.ImportInSeam">
          <operation id="FileManager.Import">
             <param name="overwite" type="boolean">true</param>
          </operation>
          <operation id="Seam.RunOperation">
            <param name="id" type="string">Seam.Refresh</param>
          </operation>
        </chain>
    
      </extension>
  • nuxeo-automation-features-5.6.jar
    <extension point="chains" target="org.nuxeo.ecm.core.operation.OperationServiceComponent">
        <chain id="VersionAndAttachFile">
          <operation id="Blob.PushList">
          </operation>
          <operation id="Document.Fetch">
            <param name="value" type="string">expr:Context.get("currentDocument")</param>
          </operation>
          <operation id="Document.CheckIn">
            <param name="version" type="string">minor</param>
            <param name="comment" type="string">Automatic checkin before file update</param>
          </operation>
          <operation id="Context.SetInputAsVar">
            <param name="name" type="string">newDocument</param>
          </operation>
          <operation id="Context.SetVar">
            <param name="name" type="string">currentDocument</param>
            <param name="value" type="string">expr:Context.get("newDocument").id</param>
          </operation>
          <operation id="Blob.PopList">
          </operation>
          <operation id="BlobHolder.Attach">
            <param name="useMainBlob" type="boolean">true</param>
          </operation>
        </chain>
        <chain id="AttachFiles">
          <operation id="BlobHolder.Attach">
            <param name="useMainBlob" type="boolean">false</param>
          </operation>
        </chain>
        <chain id="VersionAndAttachFiles">
          <operation id="Blob.PushList">
          </operation>
          <operation id="Document.Fetch">
            <param name="value" type="string">expr:Context.get("currentDocument")</param>
          </operation>
          <operation id="Document.CheckIn">
            <param name="version" type="string">minor</param>
            <param name="comment" type="string">Automatic checkin before files update</param>
          </operation>
          <operation id="Context.SetInputAsVar">
            <param name="name" type="string">newDocument</param>
          </operation>
          <operation id="Context.SetVar">
            <param name="name" type="string">currentDocument</param>
            <param name="value" type="string">expr:Context.get("newDocument").id</param>
          </operation>
          <operation id="Blob.PopList">
          </operation>
          <operation id="BlobHolder.Attach">
            <param name="useMainBlob" type="boolean">false</param>
          </operation>
        </chain>
        <chain id="FileManager.ImportWithMetaData">
          <operation id="FileManager.Import">
             <param name="overwite" type="boolean">true</param>
          </operation>
          <operation id="Document.Update">
            <param name="properties" type="properties">expr:Context.get("docMetaData")</param>
          </operation>
        </chain>
      </extension>
  • nuxeo-platform-document-routing-default-5.6.jar
    <extension point="chains" target="org.nuxeo.ecm.core.operation.OperationServiceComponent">
        <chain id="logInAudit">
          <operation id="Audit.Log">
            <param name="event" type="string">expr:NodeVariables["button"] =="reject"?"Document refused":"Document validated"</param>
            <param name="category" type="string">Review workflow</param>
            <param name="comment" type="string">expr:@{nodeLastActor} @{NodeVariables["button"] =="reject"?"Document refused":"validated"} the document with the following comment: @{NodeVariables["assigneeComment"]}</param>
          </operation>
        </chain>
        <chain id="nextAssignee">
          <operation id="Context.RunScript">
            <param name="script" type="string">if (NodeVariables["button"] == "validate") {
      WorkflowVariables["index"] = WorkflowVariables["index"] + 1;
    }
    else if (NodeVariables["button"] == "reject") {
      WorkflowVariables["index"] = WorkflowVariables["index"] - 1;
    }
    else if (NodeVariables["button"] == "submit") {
      WorkflowVariables["index"] = 0;
    }</param>
          </operation>
        </chain>
        <chain id="notifyInitiatorEndOfWorkflow">
          <operation id="Context.FetchDocument"/>
          <operation id="Notification.SendMail">
            <param name="from" type="string">contact@noadress.com</param>
            <param name="message" type="string">The document was approved by every participant.</param>
            <param name="subject" type="string">Document approved</param>
            <param name="to" type="stringlist">expr:Fn.getEmail(workflowInitiator)</param>
            <param name="HTML" type="boolean">false</param>
            <param name="viewId" type="string">view_documents</param>
          </operation>
        </chain>
        <chain id="terminateWorkflow">
          <operation id="Context.FetchDocument"/>
          <operation id="Context.RunOperation">
            <param name="id" type="string">logInAudit</param>
            <param name="isolate" type="boolean">false</param>
          </operation>
          <operation id="Context.RunDocumentOperationInNewTx">
            <param name="id" type="string">notifyInitiatorEndOfWorkflow</param>
            <param name="isolate" type="boolean">false</param>
            <param name="rollbackGlobalOnError" type="boolean">false</param>
          </operation>
          <operation id="Context.RunOperation">
            <param name="id" type="string">expr:WorkflowVariables["validationOrReview"] == "validation"?"validateDocument":"voidChain"</param>
            <param name="isolate" type="boolean">false</param>
          </operation>
          <operation id="Audit.Log">
            <param name="event" type="string">Review completed successfully</param>
            <param name="category" type="string">Review workflow</param>
            <param name="comment" type="string">All the participants of the review have approved the document.</param>
          </operation>
        </chain>
        <chain id="validateDocument">
          <operation id="Context.FetchDocument"/>
          <operation id="Document.SetLifeCycle">
            <param name="value" type="string">approve</param>
          </operation>
        </chain>
        <chain id="voidChain">
          <operation id="Context.FetchDocument"/>
        </chain>
      </extension>