Platform Explorer / Nuxeo Platform LTS 2017 9.10

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-webapp-base-9.10.jar /OSGI-INF/chains-contrib.xml
    <extension point="chains" target="org.nuxeo.ecm.core.operation.OperationServiceComponent">
    
        <chain id="downloadFilesZip">
          <operation id="Context.FetchDocument"/>
          <operation id="Document.GetBlobs"/>
          <operation id="Blob.CreateZip">
            <param name="filename" type="string">attachments.zip
            </param>
          </operation>
          <operation id="WebUI.DownloadFile"/>
        </chain>
    
      </extension>
  • nuxeo-routing-default-9.10.jar /OSGI-INF/extensions.xml
    <extension point="chains" target="org.nuxeo.ecm.core.operation.OperationServiceComponent">
        <chain id="NRD-AC-PR-ChooseParticipants-Output">
          <operation id="Context.FetchDocument"/>
          <operation id="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="RunOperation">
            <param name="id" type="string">expr:Document.isLocked()?"voidChain":"Document.Lock"</param>
            <param name="isolate" type="boolean">false</param>
          </operation>
        </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="RunOperation">
            <param name="id" type="string">NRD-AC-PR-UnlockDocument</param>
            <param name="isolate" type="boolean">false</param>
          </operation>
          <operation id="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.LogEvent">
            <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.ResumeNode"/>
        </chain>
        <chain id="NRD-AC-PR-storeTaskInfo">
          <operation id="Context.FetchDocument"/>
          <operation id="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="cancelWorkflow">
          <operation id="Context.FetchDocument"/>
          <operation id="Context.SetVar">
            <param name="name" type="string">isParallelWF</param>
            <param name="value" type="object">expr:Event.context.getProperty("wfName").equals("wf.parallelDocumentReview.ParallelDocumentReview")?true:false</param>
          </operation>
          <operation id="RunOperation">
            <param name="id" type="string">expr:isParallelWF?"Document.Unlock":"voidChain"</param>
            <param name="isolate" type="boolean">false</param>
          </operation>
        </chain>
        <chain id="initInitiatorComment">
          <operation id="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.LogEvent">
            <param name="event" type="string">expr:NodeVariables["button"] =="reject"?"chain.document.refused":"chain.document.validated"</param>
            <param name="category" type="string">Review workflow</param>
            <param name="comment" type="string">expr:@{nodeLastActor} @{NodeVariables["button"] =="reject"?"chain.document.refused":"chain.document.validated"} the document with the following comment: @{NodeVariables["comment"]}</param>
          </operation>
        </chain>
        <chain id="nextAssignee">
          <operation id="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="Document.Mail">
            <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="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="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="RunOperation">
            <param name="id" type="string">expr:WorkflowVariables["validationOrReview"] == "validation"?"validateDocument":"voidChain"</param>
            <param name="isolate" type="boolean">false</param>
          </operation>
          <operation id="Audit.LogEvent">
            <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.FollowLifecycleTransition">
            <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-routing-core-9.10.jar /OSGI-INF/document-routing-operation-chains-contrib.xml
    <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-easyshare-core-9.10.jar /OSGI-INF/extensions.xml
    <extension point="chains" target="org.nuxeo.ecm.core.operation.OperationServiceComponent">
        <chain id="addToAShareDocument">
          <operation id="Seam.GetCurrentDocument"/>
          <operation id="Context.SetInputAsVar">
            <param name="name" type="string">shareDocument</param>
          </operation>
          <operation id="Context.SetVar">
            <param name="name" type="string">shareDocumentPath</param>
            <param name="value" type="object">expr:Document.path</param>
          </operation>
          <operation id="Seam.FetchFromWorklist"/>
          <operation id="CreateProxyLive">
            <param name="Destination Path" type="string">expr:shareDocumentPath</param>
          </operation>
          <operation id="Context.RestoreDocumentInput">
            <param name="name" type="string">shareDocument</param>
          </operation>
          <operation id="Audit.Log">
            <param name="event" type="string">Documents added to the share</param>
            <param name="category" type="string">EasyShareFolderCategory</param>
            <param name="comment" type="string">expr:Some documents were added to the share folder @{Document["dc:title"]}</param>
          </operation>
          <operation id="Seam.Refresh"/>
          <operation id="Seam.AddInfoMessage">
            <param name="message" type="string">Added</param>
          </operation>
        </chain>
        <chain id="navToParent">
          <operation id="Context.FetchDocument"/>
          <operation id="Document.GetParent"/>
          <operation id="Seam.NavigateTo"/>
        </chain>
      </extension>
  • nuxeo-automation-jsf-9.10.jar /OSGI-INF/operations-contrib.xml
    <extension point="chains" target="org.nuxeo.ecm.core.operation.OperationServiceComponent">
        <chain id="Blob.ImportWorklist">
          <aliases>
            <alias>ImportWorklist</alias>
          </aliases>
          <operation id="WebUI.InitSeamContext"/>
          <operation id="UserWorkspace.CreateDocumentFromBlob"/>
          <operation id="Document.Save"/>
          <operation id="WebUI.AddToWorklist"/>
          <operation id="WebUI.DestroySeamContext"/>
        </chain>
        <chain id="Blob.ImportClipboard">
          <aliases>
            <alias>ImportClipboard</alias>
          </aliases>
          <operation id="WebUI.InitSeamContext"/>
          <operation id="UserWorkspace.CreateDocumentFromBlob"/>
          <operation id="Document.Save"/>
          <operation id="WebUI.AddToClipboard"/>
          <operation id="WebUI.DestroySeamContext"/>
        </chain>
        <chain id="SeamActions.GET">
          <operation id="WebUI.RunOperationInSeam">
            <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="WebUI.RunOperationInSeam">
            <param name="id" type="string">WebUI.Refresh</param>
          </operation>
        </chain>
    
        <chain id="FileManager.ImportInSeam">
          <operation id="FileManager.Import">
            <param name="overwite" type="boolean">true</param>
          </operation>
          <operation id="WebUI.RunOperationInSeam">
            <param name="id" type="string">WebUI.Refresh</param>
          </operation>
        </chain>
    
      </extension>
  • nuxeo-automation-features-9.10.jar /OSGI-INF/operations-contrib.xml
    <extension point="chains" target="org.nuxeo.ecm.core.operation.OperationServiceComponent">
        <chain id="VersionAndAttachFile">
          <operation id="Context.PushBlobList">
          </operation>
          <operation id="Repository.GetDocument">
            <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="Context.PopBlobList">
          </operation>
          <operation id="BlobHolder.AttachOnCurrentDocument">
            <param name="useMainBlob" type="boolean">true</param>
          </operation>
        </chain>
        <chain id="AttachFiles">
          <operation id="BlobHolder.AttachOnCurrentDocument">
            <param name="useMainBlob" type="boolean">false</param>
          </operation>
        </chain>
        <chain id="VersionAndAttachFiles">
          <operation id="Context.PushBlobList">
          </operation>
          <operation id="Repository.GetDocument">
            <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="Context.PopBlobList">
          </operation>
          <operation id="BlobHolder.AttachOnCurrentDocument">
            <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-webapp-core-9.10.jar /OSGI-INF/chains-contrib.xml
    <extension point="chains" target="org.nuxeo.ecm.core.operation.OperationServiceComponent">
    
        <chain id="addCurrentDocumentToWorklist">
          <operation id="Context.FetchDocument"/>
          <operation id="WebUI.AddToWorklist"/>
          <operation id="WebUI.AddMessage">
            <param name="severity" type="string">INFO</param>
            <param name="message" type="string">label.document.added.to.worklist</param>
          </operation>
        </chain>
    
      </extension>
  • nuxeo-routing-dm-9.10.jar /OSGI-INF/dm-task-operation-chains-contrib.xml
    <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.FollowLifecycleTransition">
            <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-mail-core-9.10.jar /OSGI-INF/automation-contrib.xml
    <extension point="chains" target="org.nuxeo.ecm.core.operation.OperationServiceComponent">
        <chain id="CreateMailDocumentFromAutomation">
          <operation id="Context.RestoreDocumentInput">
            <param name="name" type="string">mailFolder</param>
          </operation>
          <operation id="Document.Create">
            <param name="type" type="string">MailMessage</param>
            <param name="name" type="string">expr:Context["mailDocumentName"]</param>
            <param name="properties" type="properties">expr:mail:messageId=@{messageId}
            </param>
          </operation>
          <operation id="Context.SetInputAsVar">
            <param name="name" type="string">mailDocument</param>
          </operation>
          <operation id="Context.RunOperationOnList">
            <param name="id" type="string">ProcessAttachment</param>
            <param name="list" type="string">attachments</param>
            <param name="isolate" type="boolean">true</param>
            <param name="item" type="string">attachment</param>
          </operation>
          <operation id="RunScript">
            <param name="script" type="string">
               
               Context["mailDocument"].setPropertyValue("dc:title",Context["subject"]);
               Context["mailDocument"].setPropertyValue("mail:htmlText",Context["text"]);
               Context["mailDocument"].setPropertyValue("mail:recipients",Context["recipients"]);
               Context["mailDocument"].setPropertyValue("mail:cc_recipients",Context["ccRecipients"]);
               Context["mailDocument"].setPropertyValue("mail:sending_date",Context["sendingDate"]);
                  
            </param>
          </operation>
          <operation id="Context.RestoreDocumentInput">
            <param name="name" type="string">mailDocument</param>
          </operation>
          <operation id="Document.Save"/>
        </chain>
        <chain id="ProcessAttachment">
          <operation id="Context.RestoreBlobInput">
            <param name="name" type="string">attachment</param>
          </operation>
          <operation id="Blob.AttachOnDocument">
            <param name="document" type="document">expr:Context["mailDocument"]</param>
            <param name="save" type="boolean">false</param>
            <param name="xpath" type="string">files:files</param>
          </operation>
        </chain>
      </extension>
  • nuxeo-platform-rendition-core-9.10.jar /OSGI-INF/rendition-contrib.xml
    <extension point="chains" target="org.nuxeo.ecm.core.operation.OperationServiceComponent">
        <chain id="blobToPDF">
          <operation id="Context.PopBlob"/>
          <operation id="Blob.ToPDF"/>
        </chain>
    
        <chain id="xmlExportRendition">
          <operation id="Context.PopDocument"/>
          <operation id="Document.Export"/>
        </chain>
    
        <chain id="zipTreeExportRendition">
          <operation id="Context.PopDocument"/>
          <operation id="Document.Export">
            <param name="exportAsTree" type="boolean">true</param>
          </operation>
        </chain>
      </extension>
  • nuxeo-platform-imaging-core-9.10.jar /OSGI-INF/operations-contrib.xml
    <extension point="chains" target="org.nuxeo.ecm.core.operation.OperationServiceComponent">
    
        <chain id="Image.Blob.Resize">
          <operation id="Blob.RunConverter">
            <param name="converter" type="string">pictureResize</param>
          </operation>
        </chain>
    
        <chain id="Image.Blob.ConvertToPDF">
          <operation id="Context.PopBlob"/>
          <operation id="Blob.RunConverter">
            <param name="converter" type="string">pictureConvertToPDF</param>
          </operation>
        </chain>
    
      </extension>
  • nuxeo-platform-rendition-core-9.10.jar /OSGI-INF/rendition-download-contrib.xml
    <extension point="chains" target="org.nuxeo.ecm.core.operation.OperationServiceComponent">
    
        <chain id="mainBlob">
          <operation id="Context.PopDocument"/>
          <operation id="Document.GetBlob"/>
        </chain>
    
        <chain id="containerContentBlob">
          <operation id="Context.PopDocument"/>
          <operation id="Document.GetContainerRendition">
            <param name="reason" type="string">download</param>
            <param name="limit" type="int">200</param>
            <param name="maxDepth" type="int">2</param>
          </operation>
        </chain>
    
      </extension>
  • nuxeo-platform-comment-workflow-9.10.jar /OSGI-INF/comment-operation-contrib.xml
    <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>