6.3.3. Content injection

To inject content, the add-on uses xml data definition that can be exported/imported by JCR.

Taxonomy trees

There are two taxonomy trees created by the add-on: powers and events. See configuration in taxonomy.

Web content

To inject the content under collaboration:/sites/acme/web contents, the add-on uses xml data definition that can exported/imported by JCR. For example, see the source of the Fire document in Fire.xml.

The Fire document is created by configuring WCMContentInitializerService component and its plugin WCMPublicationDeploymentPlugin. See the full configuration in acme-deployment-configuration.xml. Here is the excerpt for the relevant document:


<external-component-plugins>
    <target-component>org.exoplatform.services.deployment.WCMContentInitializerService</target-component>
    <component-plugin>
        <name>Content Initializer Service</name>
        <set-method>addPlugin</set-method>
        <type>org.exoplatform.services.wcm.extensions.deployment.WCMPublicationDeploymentPlugin</type>
        <description>WCM Plublication Deployment Plugin</description>
        <init-params>
            ...
            <object-param>
                <name>ACME Powers Fire data</name>
                <description>Deployment Descriptor</description>
                <object type="org.exoplatform.services.wcm.extensions.deployment.WCMPublicationDeploymentDescriptor">
                    <field name="target">
                        <object type="org.exoplatform.services.deployment.DeploymentDescriptor$Target">
                            <field name="workspace"><string>collaboration</string></field>
                            <field name="nodePath"><string>/sites/acme/web contents</string></field>
                        </object>
                    </field>
                    <field name="sourcePath">
                        <string>war:/conf/acme-portal/wcm/artifacts/site-resources/acme/Powers/Fire.xml</string>
                    </field>
                    <field name="cleanupPublicationType">
                        <string>publish-first-publication</string>
                    </field>
                </object>
            </object-param>
            ...
        </init-params>
    </component-plugin>
    ...
</external-component-plugin>

Taxonomy link

To add documents to a taxonomy tree, the add-on configures WCMContentInitializerService component (you met it above) and its plugin LinkDeploymentDescriptor.

The following configuration will add Fire document to categories /Powers and /Powers/Natural Elements.


<component-plugin>
    <name>Content Initializer Service</name>
    <set-method>addPlugin</set-method>
    <type>org.exoplatform.services.deployment.plugins.LinkDeploymentPlugin</type>
    <description>Link Deployment Plugin</description>
    <init-params>
        ...
        <object-param>
            <name>fireAcme</name>
            <description>Deployment Descriptor</description>
            <object type="org.exoplatform.services.deployment.plugins.LinkDeploymentDescriptor">
                <field name="sourcePath"><string>repository:collaboration:/sites/acme/web contents/Fire</string></field>
                <field name="targetPath"><string>repository:collaboration:/sites/acme/categories/powers</string></field>
            </object>
        </object-param>
        <object-param>
            <name>fireNaturalElements</name>
            <description>Deployment Descriptor</description>
            <object type="org.exoplatform.services.deployment.plugins.LinkDeploymentDescriptor">
                <field name="sourcePath"><string>repository:collaboration:/sites/acme/web contents/Fire</string></field>
                <field name="targetPath"><string>repository:collaboration:/sites/acme/categories/powers/Natural Elements</string></field>
            </object>
        </object-param>
        ...
    </init-params>
</component-plugin>
Copyright ©. All rights reserved. eXo Platform SAS
blog comments powered byDisqus