This plugin is used to configure the predefined taxonomies to inject into JCR.

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

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

*Sample configuration*:
{code:xml}
<external-component-plugins>
    <target-component>org.exoplatform.services.cms.taxonomy.TaxonomyService</target-component>
    <component-plugin>
        <name>predefinedTaxonomyPlugin</name>
        <set-method>addTaxonomyPlugin</set-method>
        <type>org.exoplatform.services.cms.taxonomy.impl.TaxonomyPlugin</type>
        <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>workspace</name>
                <value>dms-system</value>
            </value-param>
            <value-param>
                <name>treeName</name>
                <value>System</value>
            </value-param>
            <object-param>
                <name>permission.configuration</name>
                <object type="org.exoplatform.services.cms.taxonomy.impl.TaxonomyConfig">
                    <field name="taxonomies">
                        <collection type="java.util.ArrayList">
                            <value>
                                <object type="org.exoplatform.services.cms.taxonomy.impl.TaxonomyConfig$Taxonomy">
                                    <field name="permissions">
                                        <collection type="java.util.ArrayList">
                                            <value>
                                                <object type="org.exoplatform.services.cms.taxonomy.impl.TaxonomyConfig$Permission">
                                                    <field name="identity">
                                                        <string>*:/platform/users</string>
                                                    </field>
                                                    <field name="read">
                                                        <string>true</string>
                                                    </field>
                                                    <field name="addNode">
                                                        <string>true</string>
                                                    </field>
                                                    <field name="setProperty">
                                                        <string>true</string>
                                                    </field>
                                                    <field name="remove">
                                                        <string>false</string>
                                                    </field>
                                                </object>
                                            </value>
                                        </collection>
                                    </field>
                                </object>
                            </value>
                        </collection>
                    </field>
                </object>
            </object-param>
            <object-param>
                ...
            </object-param>
        </init-params>
    </component-plugin>
</external-component-plugins>
{code}

In which:

* *Name*: {{predefinedTaxonomyPlugin}}

* *Set-method*: {{addTaxonomyPlugin}}

* *Type*: {{org.exoplatform.services.cms.taxonomy.impl.TaxonomyPlugin}}

* *Init-param*:
|| *Value-param*|| *Type* || *Value* || *Description*||
| *autoCreateInNewRepository* | {{Boolean}} |{{true}}| Enable/Disable the creation of the taxonomies in the newly created repository. |
| *repository* | {{String}} |{{repository}}| The name of the repository where taxonomies are created. |
| *workspace* | {{String}} |{{dms-system}}| The name of the workspace where taxonomies are created. |
| *treeName* | {{String}} | {{system}}|The name of the taxonomy tree created. |

* *Object type*: {{org.exoplatform.services.cms.taxonomy.impl.TaxonomyConfig}}
||*Name*||*Type*||*Value*||*Description*||
|*taxonomies*|{{ArrayList}}|_{noformat}{java.util.ArrayList}{noformat}_| The list of taxonomies to be configured with permission.|

* *Object type*: {{org.exoplatform.services.cms.taxonomy.impl.TaxonomyConfig$Taxonomy}}
||*Name*||*Type*||*Value*||*Description*||
|*permissions*|{{ArrayList}}|_{noformat}{java.util.ArrayList}{noformat}_|The list of permissions for users or groups to access the taxonomy.|

* *Object type*: {{org.exoplatform.services.cms.taxonomy.impl.TaxonomyConfig$Permission}}
||*Name*||*Type*||*Value*||*Description*||
|*identity*|{{String}}|{noformat}*:/platform/users{noformat}|The name of the user, group or membership.|
|*read*|{{Boolean}}|{{true}}|The permission to read the taxonomy tree.|
|*addNode*| {{Boolean}}|{{true}}|The permission to add a node to the taxonomy tree.|
|*setProperty*|{{Boolean}}|{{true}}|The permission to set properties for a node in the taxonomy tree. |
|*remove*| {{Boolean}}|{{false}} |The permission to remove a node from the taxonomy tree. |


