This plugin is used to add groovy scripts 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.scripts.ScriptService</target-component>
{code}

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

*Sample configuration*:
{code:xml}
<external-component-plugins>
    <target-component>org.exoplatform.services.cms.scripts.ScriptService</target-component>
    <component-plugin>
        <name>manage.script.plugin</name>
        <set-method>addScriptPlugin</set-method>
        <type>org.exoplatform.services.cms.scripts.impl.ScriptPlugin</type>
        <description>Nothing</description>
        <init-params>
            <value-param>
                <name>autoCreateInNewRepository</name>
                <value>true</value>
            </value-param>
            <value-param>
                <name>repository</name>
                <value>repository</value>
            </value-param>
            <value-param>
                <name>predefinedScriptsLocation</name>
                <value>war:/conf/dms-extension/dms/artifacts</value>
            </value-param>
            <object-param>
                <name>predefined.scripts</name>
                <description>description</description>
                <object type="org.exoplatform.services.cms.impl.ResourceConfig">
                    <field name="resources">
                        <collection type="java.util.ArrayList">
                            <value>
                                <object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
                                    <field name="name">
                                        <string>ecm-explorer/action/RSSScript.groovy</string>
                                    </field>
                                </object>
                            </value>
                            <value>
                                <object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
                                    <field name="name">
                                        <string>ecm-explorer/action/SendMailScript.groovy</string>
                                    </field>
                                </object>
                            </value>
                            <value>
                                <object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
                                    <field name="name">
                                        <string>ecm-explorer/action/TrashFolderScript.groovy</string>
                                    </field>
                                </object>
                            </value>
                            <value>
                                <object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
                                    <field name="name">
                                        <string>ecm-explorer/action/EnableVersioningScript.groovy</string>
                                    </field>
                                </object>
                            </value>
                            <value>
                                <object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
                                    <field name="name">
                                        <string>ecm-explorer/action/AutoVersioningScript.groovy</string>
                                    </field>
                                </object>
                            </value>
                            <value>
                                <object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
                                    <field name="name">
                                        <string>ecm-explorer/action/AddMetadataScript.groovy</string>
                                    </field>
                                </object>
                            </value>
                            <value>
                                <object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
                                    <field name="name">
                                        <string>ecm-explorer/action/TransformBinaryChildrenToTextScript.groovy</string>
                                    </field>
                                </object>
                            </value>
                            <value>
                                <object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
                                    <field name="name">
                                        <string>ecm-explorer/action/GetMailScript.groovy</string>
                                    </field>
                                </object>
                            </value>
                            <value>
                                <object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
                                    <field name="name">
                                        <string>ecm-explorer/action/ProcessRecordsScript.groovy</string>
                                    </field>
                                </object>
                            </value>
                            <value>
                                <object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
                                    <field name="name">
                                        <string>ecm-explorer/action/PublishingRequestScript.groovy</string>
                                    </field>
                                </object>
                            </value>
                            <value>
                                <object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
                                    <field name="name">
                                        <string>ecm-explorer/action/AddTaxonomyActionScript.groovy</string>
                                    </field>
                                </object>
                            </value>
                            <value>
                                <object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
                                    <field name="name">
                                        <string>ecm-explorer/widget/FillSelectBoxWithCalendarCategories.groovy</string>
                                    </field>
                                </object>
                            </value>
                            <value>
                                <object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
                                    <field name="name">
                                        <string>ecm-explorer/widget/FillSelectBoxWithMetadatas.groovy</string>
                                    </field>
                                </object>
                            </value>
                            <value>
                                <object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
                                    <field name="name">
                                        <string>ecm-explorer/widget/FillSelectBoxWithWorkspaces.groovy</string>
                                    </field>
                                </object>
                            </value>
                            <value>
                                <object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
                                    <field name="name">
                                        <string>ecm-explorer/widget/FillSelectBoxWithNodeChildren.groovy</string>
                                    </field>
                                </object>
                            </value>
                            <value>
                                <object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
                                    <field name="name">
                                        <string>ecm-explorer/widget/FillSelectBoxWithLanguage.groovy</string>
                                    </field>
                                </object>
                            </value>
                            <value>
                                <object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
                                    <field name="name">
                                        <string>ecm-explorer/interceptor/PreNodeSaveInterceptor.groovy</string>
                                    </field>
                                </object>
                            </value>
                            <value>
                                <object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
                                    <field name="name">
                                        <string>ecm-explorer/interceptor/PostNodeSaveInterceptor.groovy</string>
                                    </field>
                                </object>
                            </value>
                            <value>
                                <object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
                                    <field name="name">
                                        <string>ecm-explorer/interceptor/PostFilePlanInterceptor.groovy</string>
                                    </field>
                                </object>
                            </value>
                            <value>
                                <object type="org.exoplatform.services.cms.impl.ResourceConfig$Resource">
                                    <field name="name">
                                        <string>content-browser/GetDocuments.groovy</string>
                                    </field>
                                </object>
                            </value>
                        </collection>
                    </field>
                </object>
            </object-param>
        </init-params>
    </component-plugin>
</external-component-plugins>
{code}

In which:

* *Name*: {{manage.script.plugin}}
* *Set-method*: {{addScriptPlugin}}
* *Type*: {{org.exoplatform.services.cms.scripts.impl.ScriptPlugin}}

* *Init-param*:
||  *Value-param*  ||  *Type*  ||  *Value*   ||  *Description*  ||
|*autoCreateInNewRepository* |{{Boolean}} |{{true}} |Enable/Disable the creation of the scripts in the newly created repository. |
|*repository* | {{String}}|{{repository}} |The repository name.|
|*predefinedScriptsLocation* | {{String}}|{{war:/conf/dms-extension/dms/artifacts}} |The location where the scripts are created. |

* *Object type*: {{org.exoplatform.services.cms.impl.ResourceConfig}}

||*Field* || *Type* ||*Value* || Description ||
| *resource* | {{ArrayList}} |_{{{{java.util.ArrayList}}}}_ | The resource name. |


