| 47 | | <section> |
|---|
| 48 | | <title>Nuxeo Workflow Document API and services</title> |
|---|
| 49 | | |
|---|
| 50 | | <para><inlinemediaobject> |
|---|
| 51 | | <imageobject> |
|---|
| 52 | | <imagedata fileref="pictures/wf-doc-overview.png"></imagedata> |
|---|
| 53 | | </imageobject> |
|---|
| 54 | | </inlinemediaobject></para> |
|---|
| 55 | | |
|---|
| 56 | | <para></para> |
|---|
| 57 | | </section> |
|---|
| 58 | | </section> |
|---|
| 59 | | |
|---|
| 60 | | <section xml:id="workflow-service-deploy-process-definitions"> |
|---|
| 61 | | <title>Deploying process definitions</title> |
|---|
| 62 | | |
|---|
| 63 | | <para>A workflow definition is designed for a given workflow engine |
|---|
| 64 | | backend and not for the Nuxeo workflow service itself. Nuxeo workflow |
|---|
| 65 | | doesn't specify a new process definition language. Thus it has no Nuxeo |
|---|
| 66 | | specificities speaking of format or process definition language. For |
|---|
| 67 | | instance, if you use jBPM as a backend with Nuxeo5 then the workflow |
|---|
| 68 | | definition should be a standard jpdl file that you may have designed using |
|---|
| 69 | | your favorite editor or still if you are using Shark as a backend then the |
|---|
| 70 | | workflow definition will be a standard WFMC process definition.</para> |
|---|
| 71 | | |
|---|
| 72 | | <para>Once your workflow definition has been designed and is ready you can |
|---|
| 73 | | deploy it in Nuxeo workflow. Of course, the target workflow engine backend |
|---|
| 74 | | plugin should be deployed and registered against the workflow |
|---|
| 75 | | service.</para> |
|---|
| 76 | | |
|---|
| 77 | | <section> |
|---|
| 78 | | <title>Using extension points</title> |
|---|
| 79 | | |
|---|
| 80 | | <para>The Nuxeo workflow service provides a dedicated extension point |
|---|
| 81 | | for workflow definition deployment.The extension point is called |
|---|
| 82 | | <emphasis role="bold">definition.</emphasis></para> |
|---|
| 83 | | |
|---|
| 84 | | <para>In this case, the workflow definition will be deployed at |
|---|
| 85 | | application server deployment time (For now, this is the case when the |
|---|
| 86 | | application server is starting up since hot deployment is not yet |
|---|
| 87 | | possible using Nuxeo Runtime.at the time of writing this document).It |
|---|
| 88 | | means this way of deploying workflow definition is not suitable for all |
|---|
| 89 | | cases. See the next subsections for other ways of deploying workflow |
|---|
| 90 | | definitions.</para> |
|---|
| 91 | | |
|---|
| 92 | | <para>Below is an example of a jpdl workflow definition contribution for |
|---|
| 93 | | the jBPM backend. This XML fragment would be defined in a contribution |
|---|
| 94 | | registered as a component in a bundle:</para> |
|---|
| 95 | | |
|---|
| 96 | | <programlisting><?xml version="1.0"?> |
|---|
| 97 | | |
|---|
| 98 | | <component name="com.company.workflow.sample.contributions"> |
|---|
| 99 | | |
|---|
| 100 | | <extension target="org.nuxeo.ecm.platform.workflow.service.WorkflowService" |
|---|
| 101 | | point="definition"> |
|---|
| 102 | | <definition> |
|---|
| 103 | | <engineName>jbpm</engineName> |
|---|
| 104 | | <mimetype>text/xml</mimetype> |
|---|
| 105 | | <definitionPath>workflows/process_definition.xml</definitionPath> |
|---|
| 106 | | </definition> |
|---|
| 107 | | </extension> |
|---|
| 108 | | |
|---|
| 109 | | </component> </programlisting> |
|---|
| 110 | | |
|---|
| 111 | | <itemizedlist> |
|---|
| 112 | | <listitem> |
|---|
| 113 | | <para><emphasis role="bold">engineName : </emphasis>name specified |
|---|
| 114 | | for the target backend at workflow service registration time (see |
|---|
| 115 | | workflow service backend extension point)</para> |
|---|
| 116 | | </listitem> |
|---|
| 117 | | |
|---|
| 118 | | <listitem> |
|---|
| 119 | | <para><emphasis role="bold">mimetype : </emphasis> mimetype of the |
|---|
| 120 | | workflow definition. This is especially interesting in case of the |
|---|
| 121 | | format is binary. (serialization issue at deployement time)</para> |
|---|
| 122 | | </listitem> |
|---|
| 123 | | |
|---|
| 124 | | <listitem> |
|---|
| 125 | | <para><emphasis role="bold">definitionPath : </emphasis> bundle |
|---|
| 126 | | relative path of fthe worklow definition to deploy.</para> |
|---|
| 127 | | </listitem> |
|---|
| 128 | | </itemizedlist> |
|---|
| 129 | | |
|---|
| 130 | | <para>In this situation here is how would look the tree :</para> |
|---|
| 131 | | |
|---|
| 132 | | <para><programlisting>com.company.workflow / |
|---|
| 133 | | META-INF / |
|---|
| 134 | | workflows / |
|---|
| 135 | | process_definition.xml |
|---|
| 136 | | MANIFEST.MF |
|---|
| 137 | | OSGI-INF / |
|---|
| 138 | | workflow-definitions-contrib.xml</programlisting></para> |
|---|
| 139 | | </section> |
|---|
| 140 | | |
|---|
| 141 | | <section> |
|---|
| 142 | | <title>Using the workflow POJO service</title> |
|---|
| 143 | | |
|---|
| 144 | | <para>TODO : provides code sample</para> |
|---|
| 145 | | </section> |
|---|
| 146 | | |
|---|
| 147 | | <section> |
|---|
| 148 | | <title>Using EJB remoting</title> |
|---|
| 149 | | |
|---|
| 150 | | <para>TODO : provides code sample</para> |
|---|
| 151 | | </section> |
|---|
| 152 | | </section> |
|---|
| 153 | | |
|---|
| 154 | | <section xml:id="workflow-service-document-integration"> |
|---|
| 155 | | <title>Nuxeo Core document integration</title> |
|---|
| 156 | | |
|---|
| 157 | | <para>TODO</para> |
|---|
| 158 | | |
|---|
| 159 | | <section> |
|---|
| 160 | | <title>Security policy</title> |
|---|
| 161 | | |
|---|
| 162 | | <para></para> |
|---|
| 163 | | </section> |
|---|
| 164 | | |
|---|
| 165 | | <section> |
|---|
| 166 | | <title>Application level rules and filters</title> |
|---|
| 167 | | |
|---|
| 168 | | <para></para> |
|---|
| 169 | | </section> |
|---|
| 170 | | </section> |
|---|
| 171 | | |
|---|
| 172 | | <section xml:id="workflow-service-jbpm-plugins"> |
|---|
| 173 | | <title>jBPM integration</title> |
|---|
| 174 | | |
|---|
| 175 | | <para>TODO</para> |
|---|
| 176 | | |
|---|
| 177 | | <section> |
|---|
| 178 | | <title>Process definition deployment</title> |
|---|
| 179 | | |
|---|
| 180 | | <para>jBPM comes with a simple servlet allowing one to deploy jpdl |
|---|
| 181 | | process definitions and minitor running process instances. (NB: this is |
|---|
| 182 | | not yet activated on stock Nuxeo5 instance).</para> |
|---|
| 183 | | </section> |
|---|
| 184 | | |
|---|
| 185 | | <section> |
|---|
| 186 | | <title>Business handlers and Nuxeo Core integration</title> |
|---|
| 187 | | |
|---|
| 188 | | <para></para> |
|---|
| 189 | | </section> |
|---|
| 190 | | </section> |
|---|
| 191 | | |
|---|
| 192 | | <section xml:id="workflow-service-web-client"> |
|---|
| 193 | | <title>Nuxeo Workflow Web Client</title> |
|---|
| 194 | | |
|---|
| 195 | | <para><inlinemediaobject> |
|---|
| 196 | | <imageobject> |
|---|
| 197 | | <imagedata fileref="pictures/wf-web-client-overview.png"></imagedata> |
|---|
| 198 | | </imageobject> |
|---|
| 199 | | </inlinemediaobject></para> |
|---|
| 200 | | </section> |
|---|
| 201 | | |
|---|
| 202 | | <section xml:id="workflow-service-audit"> |
|---|
| 203 | | <title>Auditing workflow related events</title> |
|---|
| 204 | | |
|---|
| 205 | | <para>TODO</para> |
|---|
| 206 | | </section> |
|---|
| 207 | | |
|---|
| 208 | | <section xml:id="workflow-service-notifications"> |
|---|
| 209 | | <title>Notification on workflow related events</title> |
|---|
| 210 | | |
|---|
| 211 | | <para>TODO</para> |
|---|
| 212 | | </section> |
|---|
| 213 | | |
|---|
| 214 | | <section xml:id="workflow-service-tutorial"> |
|---|
| 215 | | <title>Example of a document review process</title> |
|---|
| 216 | | |
|---|
| 217 | | <para>TODO</para> |
|---|
| 218 | | </section> |
|---|