This plugin is used to import the predefined script actions into the system.

To use the plugin in the component configuration, you must use the following target-component:
{code:xml}
<target-component>org.exoplatform.services.cms.actions.ActionServiceContainer</target-component>
{code}

The configuration is applied mainly in _packaging/wcm/webapp/src/main/webapp/WEB-INF/conf/dms-extension/dms/dms-actions-configuration.xml_.

*Sample configuration*:
{code:xml}
<external-component-plugins>
    <target-component>org.exoplatform.services.cms.actions.ActionServiceContainer</target-component>
    <component-plugin>
        <name>exo:scriptAction</name>
        <set-method>addPlugin</set-method>
        <type>org.exoplatform.services.cms.actions.impl.ScriptActionPlugin</type>
        <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:sendMailAction</string>
                                    </field>
                                    <field name="name">
                                        <string>sendMail</string>
                                    </field>
                                    <field name="description">
                                        <string>send a notification mail</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>read</string>
                                            </value>
                                        </collection>
                                    </field>
                                    <field name="roles">
                                        <string>*:/platform/administrators</string>
                                    </field>
                                    <field name="variables">
                                        <string>exo:to=benjamin.mestrallet@exoplatform.com</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>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>
                            <value>
                                <object type="org.exoplatform.services.cms.actions.impl.ActionConfig$Action">
                                    <field name="type">
                                        <string>exo:trashFolderAction</string>
                                    </field>
                                    <field name="name">
                                        <string>trashFolder</string>
                                    </field>
                                    <field name="description">
                                        <string>trigger actions for items in trash</string>
                                    </field>
                                    <field name="srcWorkspace">
                                        <string>collaboration</string>
                                    </field>
                                    <field name="srcPath">
                                        <string>/Trash</string>
                                    </field>
                                    <field name="isDeep">
                                        <boolean>false</boolean>
                                    </field>
                                    <field name="lifecyclePhase">
                                        <collection type="java.util.ArrayList">
                                            <value>
                                                <string>node_added</string>
                                            </value>
                                            <value>
                                                <string>node_removed</string>
                                            </value>
                                        </collection>
                                    </field>
                                </object>
                            </value>
                        </collection>
                    </field>
                </object>
            </object-param>
        </init-params>
    </component-plugin>
</external-component-plugins>
{code}

In which:
* *name*: {{exo:scriptAction}}
* *set-method* : {{addPlugin}}
* *type*: {{org.exoplatform.services.cms.actions.impl.ScriptActionPlugin}}

* *Object type*: {{org.exoplatform.services.cms.actions.impl.ActionConfig}}
||  *Name*  ||  *Type*  ||  *Default Value*   ||  *Description*  ||
| *repository* | {{string}} | {{repository}} | The name of the repository. |
| *workspace* | {{string}} | {{collaboration}} | The name of the workspace. |
| *actions* | {{ArrayList}} | _{noformat}{java.util.ArrayList}{noformat}_ | The list of the actions. |

* *Object type*: {{org.exoplatform.services.cms.actions.impl.ActionConfig$Action}}
||  *Name*  ||  *Type*  ||  *Default Value*   ||  *Description*  ||
| *type* | {{string}} | {{exo:sendMailAction}} | The type of the action.|
| *name* | {{string}} | {{sendMail}} | The name of the action.|
| *description* | {{string}} | {{send a notification mail}} | The description of the action.|
| *srcWorkspace* | {{string}} | {{collaboration}} | The source workspace of the action.|
| *isDeep* | {{boolean}} | {{false}} | Specify the depth of node that the action script will affect.|
| *srcPath* | {{string}} | {{trash}} | The path to the source. |
| *lifecyclePhase* | {{ArrayList}} | _{noformat}{java.util.ArrayList}{noformat}_ | Specify the lifecycle phase that the action will take place.|
