JBoss.orgCommunity Documentation

BPActionPlugin

This plugin is used to define the business process action in Workflow.

To use the plugin in the component configuration, you must use the following target-component:



<target-component>org.exoplatform.services.cms.actions.ActionServiceContainer</target-component>

The configuration is applied mainly in packaging/workflow/webapp/src/main/webapp/WEB-INF/workflow-extension/workflow/workflow-system-configuration.xml.

Sample configuration:



<external-component-plugins>
    <target-component>org.exoplatform.services.cms.actions.ActionServiceContainer</target-component>
    <component-plugin>
        <name>exo:businessProcessAction</name>
        <set-method>addPlugin</set-method>
        <type>org.exoplatform.services.plugin.actions.impl.BPActionPlugin</type>
        <priority>112</priority>
        <init-params>
            <object-param>
                <name>predefined.actions</name>
                <description>description</description>
                <object type="org.exoplatform.services.cms.actions.impl.ActionConfig">
                    <field name="repository">
                        <string>repository</string>
                    </field>
                    <field name="workspace">
                        <string>collaboration</string>
                    </field>
                    <field name="actions">
                        <collection type="java.util.ArrayList">
                            <value>
                                <object type="org.exoplatform.services.cms.actions.impl.ActionConfig$Action">
                                    <field name="type">
                                        <string>exo:publishingProcess</string>
                                    </field>
                                    <field name="name">
                                        <string>content publishing</string>
                                    </field>
                                    <field name="description">
                                        <string>content publishing workflow</string>
                                    </field>
                                    <field name="srcWorkspace">
                                        <string>collaboration</string>
                                    </field>
                                    <field name="srcPath">
                                        <string>/Documents/Validation Requests</string>
                                    </field>
                                    <field name="isDeep">
                                        <boolean>true</boolean>
                                    </field>
                                    <field name="lifecyclePhase">
                                        <collection type="java.util.ArrayList">
                                            <value>
                                                <string>node_added</string>
                                            </value>
                                        </collection>
                                    </field>
                                    <field name="roles">
                                        <string>*:/platform/users</string>
                                    </field>
                                    <field name="variables">
                                        <string>
                                            exo:supervisor=*:/organization/management/executive-board;exo:validator=*:/platform/administrators
                                        </string>
                                    </field>
                                    <field name="mixins">
                                        <collection type="java.util.ArrayList">
                                            <value>
                                                <object type="org.exoplatform.services.cms.actions.impl.ActionConfig$Mixin">
                                                    <field name="name">
                                                        <string>exo:publishLocation</string>
                                                    </field>
                                                    <field name="properties">
                                                        <string>
                                                            exo:publishWorkspace=collaboration;exo:publishPath=/Documents/Live;exo:validator=*:/platform/administrators
                                                        </string>
                                                    </field>
                                                </object>
                                            </value>
                                            <value>
                                                <object type="org.exoplatform.services.cms.actions.impl.ActionConfig$Mixin">
                                                    <field name="name">
                                                        <string>exo:pendingLocation</string>
                                                    </field>
                                                    <field name="properties">
                                                        <string>
                                                            exo:pendingWorkspace=collaboration;exo:pendingPath=/Documents/Pending
                                                        </string>
                                                    </field>
                                                </object>
                                            </value>
                                            <value>
                                                <object type="org.exoplatform.services.cms.actions.impl.ActionConfig$Mixin">
                                                    <field name="name">
                                                        <string>exo:backupLocation</string>
                                                    </field>
                                                    <field name="properties">
                                                        <string>exo:backupWorkspace=backup;exo:backupPath=/Expired
                                                            Documents
                                                        </string>
                                                    </field>
                                                </object>
                                            </value>
                                            <value>
                                                <object type="org.exoplatform.services.cms.actions.impl.ActionConfig$Mixin">
                                                    <field name="name">
                                                        <string>exo:trashLocation</string>
                                                    </field>
                                                    <field name="properties">
                                                        <string>
                                                            exo:trashWorkspace=collaboration;exo:trashPath=/Documents/Trash
                                                        </string>
                                                    </field>
                                                </object>
                                            </value>
                                            <value>
                                                <object type="org.exoplatform.services.cms.actions.impl.ActionConfig$Mixin">
                                                    <field name="name">
                                                        <string>mix:affectedNodeTypes</string>
                                                    </field>
                                                    <field name="properties">
                                                        <string>
                                                            exo:affectedNodeTypeNames=exo:article,exo:podcast,exo:sample,kfx:document,nt:file,rma:filePlan
                                                        </string>
                                                    </field>
                                                </object>
                                            </value>
                                        </collection>
                                    </field>
                                </object>
                            </value>
                        </collection>
                    </field>
                </object>
            </object-param>
        </init-params>
    </component-plugin>
</external-component-plugins>

In which:

Field Type Value Description
repository string repository The repository name.
workspace string collaboration The workspace name.
action ArrayList {java.util.ArrayList} The action name.