Platform Explorer / Nuxeo Platform 5.8

Extension point chains

Documentation

Operation Chain registration

Contribution Descriptors

Existing Contributions

Contributions are presented in the same order as the registration order on this extension point. This order is displayed before the contribution name, in brackets.

  • nuxeo-platform-document-routing-default-5.8.jar
    <extension point="chains" target="org.nuxeo.ecm.core.operation.OperationServiceComponent">
        <chain id="NRD-AC-PR-ChooseParticipants-Output">
          <operation id="Context.FetchDocument"/>
          <operation id="Context.RunOperation">
            <param name="id" type="string">NRD-AC-PR-LockDocument</param>
            <param name="isolate" type="boolean">false</param>
          </operation>
          <operation id="Context.SetWorkflowVar">
            <param name="name" type="string">initiatorComment</param>
            <param name="value" type="object">expr:NodeVariables["comment"]</param>
          </operation>
        </chain>
        <chain id="NRD-AC-PR-LockDocument">
          <operation id="Context.FetchDocument"/>
          <operation id="Auth.LoginAs">
            <param name="name" type="string">expr:workflowInitiator</param>
          </operation>
          <operation id="Document.Lock"/>
        </chain>
        <chain id="NRD-AC-PR-UnlockDocument">
          <operation id="Context.FetchDocument"/>
          <operation id="Document.Unlock"/>
        </chain>
        <chain id="NRD-AC-PR-ValidateNode-Output">
          <operation id="Context.FetchDocument"/>
          <operation id="Context.RunOperation">
            <param name="id" type="string">NRD-AC-PR-UnlockDocument</param>
            <param name="isolate" type="boolean">false</param>
          </operation>
          <operation id="Context.RunOperation">
            <param name="id" type="string">logInAudit</param>
            <param name="isolate" type="boolean">false</param>
          </operation>
        </chain>
        <chain id="NRD-AC-PR-force-validate">
          <operation id="Context.FetchDocument"/>
          <operation id="Auth.LoginAs">
            <param name="name" type="string">expr:Context["workflowInitiator"]</param>
          </operation>
          <operation id="Audit.Log">
            <param name="event" type="string">Consultation time excedeed</param>
            <param name="category" type="string">Review workflow</param>
            <param name="comment" type="string">Some consultation tasks were aborted by the system as they received no feedback message.</param>
          </operation>
          <operation id="Workflow.ResumeNodeOperation"/>
        </chain>
        <chain id="NRD-AC-PR-storeTaskInfo">
          <operation id="Context.FetchDocument"/>
          <operation id="Context.RunScript">
            <param name="script" type="string">This[0]</param>
          </operation>
          <operation id="Context.SetVar">
            <param name="name" type="string">tasksInfo</param>
            <param name="value" type="object">expr:NodeVariables["tasks"]</param>
          </operation>
          <operation id="Context.SetVar">
            <param name="name" type="string">numberNA</param>
            <param name="value" type="object">expr:NodeVariables["tasks"].getNumberEndedWithStatus("NA")</param>
          </operation>
          <operation id="Context.SetVar">
            <param name="name" type="string">numberRejected</param>
            <param name="value" type="object">expr:NodeVariables["tasks"].getNumberEndedWithStatus("reject")</param>
          </operation>
          <operation id="Context.SetVar">
            <param name="name" type="string">numberApproved</param>
            <param name="value" type="object">expr:NodeVariables["tasks"].getNumberEndedWithStatus("approve")</param>
          </operation>
          <operation id="Context.SetVar">
            <param name="name" type="string">numberOfTasks</param>
            <param name="value" type="object">expr:NodeVariables["numberOfTasks"]</param>
          </operation>
          <operation id="Render.Document">
            <param name="template" type="string">template:NRD-PR-TasksInfo</param>
            <param name="filename" type="string">output.ftl</param>
            <param name="mimetype" type="string">text/xml</param>
            <param name="type" type="string">ftl</param>
          </operation>
          <operation id="Context.SetWorkflowVar">
            <param name="name" type="string">review_result_file</param>
            <param name="value" type="object">expr:This.get(0)</param>
          </operation>
          <operation id="Context.SetWorkflowVar">
            <param name="name" type="string">review_result</param>
            <param name="value" type="object">expr:This.get(0).getString()</param>
          </operation>
        </chain>
        <chain id="initInitiatorComment">
          <operation id="Context.RunScript">
            <param name="script" type="string">if((NodeVariables["comment"] != "") AND (NodeVariables["comment"] != null)){
    WorkflowVariables["initiatorComment"]= NodeVariables["comment"];}</param>
          </operation>
        </chain>
        <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["comment"]}</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">expr:Env["mail.from"]</param>
            <param name="message" type="string">The document was approved by every participant.</param>
            <param name="subject" type="string">expr:@{Env["nuxeo.notification.eMailSubjectPrefix"]} Document approved</param>
            <param name="to" type="stringlist">expr:Fn.getEmail(workflowInitiator)</param>
            <param name="HTML" type="boolean">false</param>
            <param name="rollbackOnError" type="boolean">true</param>
            <param name="viewId" type="string">view_documents</param>
          </operation>
        </chain>
        <chain id="reinitAssigneeComment">
          <operation id="Context.RunScript">
            <param name="script" type="string">if((NodeVariables["comment"] != "") AND (NodeVariables["comment"] != null)){
    NodeVariables["comment"]= null;}</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>
          <operation id="Document.CheckIn">
            <param name="version" type="string">minor</param>
            <param name="comment" type="string">Automatic checkin after validation</param>
          </operation>
        </chain>
        <chain id="voidChain">
          <operation id="Context.FetchDocument"/>
        </chain>
      </extension>
  • nuxeo-platform-document-routing-dm-5.8.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.8.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.8.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-rendition-core-5.8.jar
    <extension point="chains" target="org.nuxeo.ecm.core.operation.OperationServiceComponent">
        <chain id="blobToPDF">
          <operation id="Blob.Pop"/>
          <operation id="Blob.ToPDF"/>
        </chain>
      </extension>
  • nuxeo-web-mobile-dm-5.8.jar
    <extension point="chains" target="org.nuxeo.ecm.core.operation.OperationServiceComponent">
        <chain id="sendEmailToMe">
          <operation id="Context.FetchDocument"/>
          <operation id="Notification.SendMail">
            <param name="from" type="string">noreply@nuxeo.com</param>
            <param name="message" type="string">
              &lt;html&gt;
                &lt;head&gt;
                &lt;/head&gt;
                &lt;body&gt;
                  You asked to send an email to your own email account.
                  You will find files attached to this email.
                  &lt;br/&gt;
                  Original document is &lt;a href="${docUrl}"&gt;${Document['dc:title']}&lt;/a&gt;. 
                  &lt;br/&gt;
                  Sent from Nuxeo.
                &lt;/body&gt;
              &lt;/html&gt;
            </param>
            <param name="subject" type="string">[Nuxeo] MailMe Service - new Binary sent</param>
            <param name="to" type="stringlist">expr:Fn.getEmail(Context.principal.name)</param>
            <param name="HTML" type="boolean">true</param>
            <param name="files" type="stringlist">file:content</param>
            <param name="viewId" type="string">view_documents</param>
          </operation>
        </chain>
      </extension>
  • nuxeo-platform-webapp-core-5.8.jar
    <extension point="chains" target="org.nuxeo.ecm.core.operation.OperationServiceComponent">
    
        <chain id="addCurrentDocumentToWorklist">
          <operation id="Context.FetchDocument"/>
          <operation id="Seam.AddToWorklist"/>
          <operation id="Seam.AddMessage">
            <param name="severity" type="string">INFO</param>
            <param name="message" type="string">label.document.added.to.worklist</param>
          </operation>
        </chain>
    
      </extension>
  • nuxeo-jenkins-report-3.2.0.jar
    <extension point="chains" target="org.nuxeo.ecm.core.operation.OperationServiceComponent">
        <chain id="JenkinsReportCreation">
          <operation id="Context.FetchDocument"/>
          <operation id="Document.SetProperty">
            <param name="value" type="serializable">expr:CurrentUser.name</param>
            <param name="xpath" type="string">jenkinsreport:reporter</param>
            <param name="save" type="boolean">false</param>
          </operation>
          <operation id="Document.SetProperty">
            <param name="value" type="serializable">expr:@{CurrentDate.year}/@{CurrentDate.format("MM")}/@{CurrentDate.format("dd")}</param>
            <param name="xpath" type="string">dc:title</param>
            <param name="save" type="boolean">false</param>
          </operation>
          <operation id="Document.SetProperty">
            <param name="value" type="serializable">expr:CurrentDate.calendar</param>
            <param name="xpath" type="string">jenkinsreport:report_date</param>
            <param name="save" type="boolean">false</param>
          </operation>
          <operation id="Document.SetProperty">
            <param name="value" type="serializable">0</param>
            <param name="xpath" type="string">jenkinsreport:number_failed</param>
            <param name="save" type="boolean">false</param>
          </operation>
          <operation id="Document.SetProperty">
            <param name="value" type="serializable">0</param>
            <param name="xpath" type="string">jenkinsreport:previous_number_failed</param>
            <param name="save" type="boolean">false</param>
          </operation>
          <operation id="Document.SetProperty">
            <param name="value" type="serializable">0</param>
            <param name="xpath" type="string">jenkinsreport:previous_number_unclaimed</param>
            <param name="save" type="boolean">false</param>
          </operation>
        </chain>
        <chain id="JenkinsReportModified">
          <operation id="Context.FetchDocument"/>
          <operation id="Context.RunScript">
            <param name="script" type="string">var jobs = Document["jenkinsreport:unstable_jobs"];
    nbUnclaimed = 0;
    foreach (job : jobs) {
      if (job["claimer"] == empty and job["type"] != "SUCCESS" and job["updated_type"] != "SUCCESS") {
        nbUnclaimed ++;
      }
    }
    Document["jenkinsreport:number_unclaimed"] = nbUnclaimed;</param>
          </operation>
          <operation id="Context.RunScript">
            <param name="script" type="string">var jobs = Document["jenkinsreport:unstable_jobs"];
    nbFailing = 0;
    foreach (job : jobs) {
      if (job["type"] != "SUCCESS" and job["updated_type"] != "SUCCESS") {
        nbFailing ++;
      }
    }
    Document["jenkinsreport:number_failed"] = nbFailing;</param>
          </operation>
          <operation id="Context.RunScript">
            <param name="script" type="string">var jobs = Document["jenkinsreport:unstable_jobs"];
    nb = 0;
    foreach (job : jobs) {
      if (job["updated_type"] == "SUCCESS") {
        nb --;
      } else if (job["newly_failing"] == true) {
        nb ++;
      }
    }
    Document["jenkinsreport:report_trend"] = nb;</param>
          </operation>
        </chain>
        <chain id="JenkinsReportSendMail">
          <operation id="Context.FetchDocument"/>
          <operation id="Document.Push"/>
          <operation id="Document.GetParent"/>
          <operation id="Context.SetVar">
            <param name="name" type="string">jenkins_report_email</param>
            <param name="value" type="object">expr:Document.getProperty("jenkinsreports:report_email")</param>
          </operation>
          <operation id="Context.SetVar">
            <param name="name" type="string">jenkins_url</param>
            <param name="value" type="object">expr:Document.getProperty("jenkinsreports:view_url")</param>
          </operation>
          <operation id="Document.Pull"/>
          <operation id="Notification.SendMail">
            <param name="from" type="string">expr:CurrentUser.email</param>
            <param name="message" type="string">template:JenkinsReportSendMail</param>
            <param name="subject" type="string">expr:Jenkins Report - @{Document.title}</param>
            <param name="to" type="stringlist">expr:Context["jenkins_report_email"]</param>
            <param name="HTML" type="boolean">true</param>
            <param name="rollbackOnError" type="boolean">true</param>
            <param name="viewId" type="string">view_documents</param>
          </operation>
          <operation id="Seam.AddInfoMessage">
            <param name="message" type="string">Email sent</param>
          </operation>
        </chain>
        <chain id="JenkinsReportsContainerCreation">
          <operation id="Context.FetchDocument"/>
          <operation id="Document.SetProperty">
            <param name="value" type="serializable">http://qa.nuxeo.org/jenkins/view/Dashboard/</param>
            <param name="xpath" type="string">jenkinsreports:view_url</param>
            <param name="save" type="boolean">false</param>
          </operation>
          <operation id="Document.SetProperty">
            <param name="value" type="serializable">http://qa.nuxeo.org/jenkins/claims/</param>
            <param name="xpath" type="string">jenkinsreports:claim_url</param>
            <param name="save" type="boolean">false</param>
          </operation>
        </chain>
      </extension>
  • nuxeo-platform-webapp-base-5.8.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-dam-jsf-5.8.jar
    <extension point="chains" target="org.nuxeo.ecm.core.operation.OperationServiceComponent">
    
        <chain id="Dam.ImportInSeam">
          <operation id="Dam.Import">
            <param name="overwrite" type="boolean">true</param>
          </operation>
          <operation id="Seam.InitContext"/>
          <operation id="Seam.AddMessage">
            <param name="severity" type="string">INFO</param>
            <param name="message" type="string">label.dam.assets.imported</param>
          </operation>
          <operation id="Seam.Refresh"/>
          <operation id="Seam.DestroyContext"/>
        </chain>
    
        <chain id="Dam.ImportWithMetaDataInSeam">
          <operation id="Dam.Import">
            <param name="overwrite" type="boolean">true</param>
            <param name="importInCurrentDocument" type="boolean">true</param>
          </operation>
          <operation id="Document.Update">
            <param name="properties" type="properties">expr:Context.get("docMetaData")
            </param>
          </operation>
          <operation id="Seam.AddMessage">
            <param name="severity" type="string">INFO</param>
            <param name="message" type="string">label.dam.assets.imported</param>
          </operation>
          <operation id="Seam.Refresh"/>
        </chain>
    
      </extension>
  • nuxeo-social-workspace-core-5.8.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="rollbackOnError" type="boolean">false</param>
            <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="rollbackOnError" type="boolean">false</param>
            <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-automation-features-5.8.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-automation-jsf-5.8.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>