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:
<target-component>org.exoplatform.services.cms.taxonomy.TaxonomyService</target-component>
The configuration is applied mainly in packaging/wcm/webapp/src/main/webapp/WEB-INF/conf/dms-extension/dms/dms-categories-configuration.xml.
  
Sample configuration:
<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>
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 | Enables/Disables 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 | {java.util.ArrayList} | 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 | {java.util.ArrayList} | 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 | *:/platform/users | 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. |