# Important plugins

Available in...

* Data Fabric
* MDM Platform

Plugins are extra components that add specific capabilities to the Talend MDM. Talend Studio proposes a list of plugins to be combined with a given Process. These plugins include callJob, groovy, and xslt.

The table below explains some of the plugins listed in the Studio and details their parameters.

| Plugin | Action | Description |
| --- | --- | --- |
| callJob | Executes a<br>Talend<br>Job on master data (to modify or propagate it, for<br>example).<br><br>For further information on the schemas used, see<br>[Schemas used in MDM processes to call Jobs](https://help.qlik.com/talend/en-US/studio-user-guide/7.3/schemas-used-in-mdm-processes-to-call-jobs). | This plugin executes a local<br>Talend<br>Job.<br><br>Parameters:<br><br><br>url: the local<br>Talend<br>Job URL.<br><br><br>Name: name of the input<br>variable.<br><br>Value: value of the input<br>variable.<br><br>Information noteNote: If you want to view the related Job, click the<br>Open Job button to<br>open it in the<br>Integration<br>perspective. |
| groovy | Calls the groovy script and uses it to process and<br>transform data. | This plugin implements all the capabilities of the<br>groovy script to process and transform data when it receives an<br>Update Report. It can read the XML document, transform data and<br>write in the XML document as well. |
| workflowtrigger | Passes an item to<br>Talend<br>MDM workflow engine. | This plugin executes the process created in the<br><br>BPM<br>perspective in<br>Talend Studio<br>.<br><br>Parameters:<br><br><br>-processId: the Id of the process<br>designed in the<br>BPM<br>perspective in<br>Talend Studio<br>.<br><br>Information noteWarning: Make sure to enter the complete<br>processId otherwise you will have an error message indicating that<br>the process cannot be found. You can display the complete processId<br>in the General area if you<br>click in the white rectangle that represents the process pool in the<br><br>BPM<br>perspective.<br><br><br>-processVersion: the version of the<br>process.<br><br><br>-username: the user name for<br>accessing the BPM server.<br><br><br>-password: the password for<br>accessing the BPM server.<br><br><br>-variable(s): the variables which<br>will be used in the workflow. They are<br><br><br>scope: the scope of the variable,<br>process or activity.<br><br><br>activity Id: if the scope is equal<br>to activity.<br><br><br>name: the name of the variable<br>defined in the workflow process or activity.<br><br><br>type: the type of the variable, you<br>can choose String, Boolean or others.<br><br><br>fromItem: is the value that comes<br>from a part of an item, true or<br>false.<br><br><br>xpath: if the fromItem is equal to true.<br><br>Information noteWarning: Make sure to enter the variable<br>xpath to enable the workflowtrigger plugin to send the complete<br>variables parameters to the process instance. Otherwise, a<br>processing error message is displayed.<br><br><br>value: if the fromItem is equal to false For information on creating<br>and managing workflows, see [Workflows (deprecated)](https://help.qlik.com/talend/en-US/studio-user-guide/7.3/workflows). |
| workflowcontexttrigger | Passes an MDM context object to<br>Talend<br>MDM workflow engine. | This plugin instantiates a workflow process and<br>sends it an MDM context object.<br><br>An MDM context object is a plain ordinary Java<br>object (POJO), which includes the following parameters:<br><br><br>-Context info: the host and port<br>information for connecting to the MDM server.<br><br><br>-Update Report info: the Update<br>Report.<br><br><br>-Entity XML: the entity in XML<br>format.<br><br><br>-XsdSchema: XSD schema of the<br>entity.<br><br>You can use the MDM context object in Bonita Groovy<br>editor to:<br><br><ul> <li> <p>define a global variable, for example,                                            <span>mdm_context</span>.</p> </li> <li> <p>use the <span>mdm_context.getHost()</span> to get the host                                        value.</p> </li> <li> <p>use the <span>mdm_context.getValue(Sting xpath</span> to retrieve                                        the element value.</p> </li> <li> <p>use the <span>mdm_context.setValue(String xpath, Object                                            value)</span> to set the element value.</p> </li> </ul><br><br>For more information, see the Javadoc for the<br>MDMContext class, which is available in the Eclipse help under<br>Talend MDM &gt;<br>API Reference. |
| xslt | Transforms an XML document using XSLT. | This plugin implements xslt transformations on an<br>input XML document. It supports XSLT 2.0 and is enriched with<br>cross-referencing capabilities: specific instructions that help to<br>perform on the fly cross-referencing on any master data stored in<br>the MDM Hub. When the output method of the XSLT is set to xml or to xhtml. Cross-referencing is carried<br>out after the XSLT is processed on all elements with the following<br>attributes:<br><br>```<br><MyElement<br>xrefCluster='CLUSTER'<br>xrefIn='TEST1, ..., TESTN'<br>xrefOut='XPATH_IN_ITEM'<br>xrefIgnore='true\|false'<br>xrefDefault='DEFAULT_VALUE'<br>>OLD_VALUE</MyElement><br><br>```<br><br>Below<br>is a definition of each of these attributes:<br><br>-xrefCluster: the<br>container (cluster) where the items used for cross-referencing are<br>stored.<br><br>-xrefIn: a series<br>of XPaths tests to match this item content with a remote item.<br><br>-xrefOut: the<br>XPath in the remote item, starting with the entity (concept) name,<br>of the content that will replace the content of this item.<br><br>-xrefIgnore:<br>optional, defaults to false. If set to true, the cross referencing<br>will not fail if no item is found and the xrefDefault value will be inserted.<br><br>-xrefDefault: if<br>xrefIgnore is set to true and<br>the cross-referencing fails, this value will be used instead.<br><br>Input variables:<br><br>-xml: the<br>xml on which to apply the XSLT.<br><br>-parameters: optional input parameters to the XSLT in<br>the form of:<br><br>```<br><Parameters><br><Parameter><br><Name>PARAMETER_NAME</Name><br><Value>PARAMETER_VALUE</Value><br></Parameter><br></Parameters><br><br>```<br><br>Output<br>variables:<br><br>- text: the<br>result of the XSLT.<br><br>For an example on this plugin, see [Example of the xslt plugin](https://help.qlik.com/talend/en-US/studio-user-guide/7.3/example-of-xslt-plugin). |

### In this section

* [Example of the xslt plugin](https://help.qlik.com/talend/en-US/studio-user-guide/7.3/example-of-xslt-plugin)