When a portal is created, this plugin will deploy initial web-contents as the site artifact into the Site Artifact folder of that portal.
To use the plugin in the component configuration, you must use the following target-component:
<target-component>org.exoplatform.services.wcm.portal.artifacts.CreatePortalArtifactsService</target-component>
The configuration is applied mainly in packaging/wcm/webapp/src/main/webapp/WEB-INF/conf/wcm-extension/wcm/newsletter-configuration.xml
.
Sample configuration:
<external-component-plugins>
<target-component>org.exoplatform.services.wcm.portal.artifacts.CreatePortalArtifactsService</target-component>
<component-plugin>
<name>Initial webcontent artifact for each site</name>
<set-method>addPlugin</set-method>
<type>org.exoplatform.services.wcm.webcontent.InitialWebContentPlugin</type>
<description>This plugin deploy some initial webcontent as site artifact to site artifact folder of portal when
a portal is
created
</description>
<init-params>
<object-param>
<name>Portal logo data</name>
<description>Deployment Descriptor</description>
<object type="org.exoplatform.services.deployment.DeploymentDescriptor">
<field name="target">
<object type="org.exoplatform.services.deployment.DeploymentDescriptor$Target">
<field name="repository">
<string>repository</string>
</field>
<field name="workspace">
<string>collaboration</string>
</field>
<field name="nodePath">
<string>/sites/{portalName}/web contents/site artifacts</string>
</field>
</object>
</field>
<field name="sourcePath">
<string>war:/conf/sample-portal/wcm/artifacts/site-resources/acme-templates/Logo.xml</string>
</field>
</object>
</object-param>
<object-param>
<name>Portal signin data</name>
<description>Deployment Descriptor</description>
<object type="org.exoplatform.services.deployment.DeploymentDescriptor">
<field name="target">
<object type="org.exoplatform.services.deployment.DeploymentDescriptor$Target">
<field name="repository">
<string>repository</string>
</field>
<field name="workspace">
<string>collaboration</string>
</field>
<field name="nodePath">
<string>/sites/{portalName}/web contents/site artifacts</string>
</field>
</object>
</field>
<field name="sourcePath">
<string>war:/conf/sample-portal/wcm/artifacts/site-resources/acme-templates/Signin.xml</string>
</field>
</object>
</object-param>
<object-param>
...
</object-param>
</init-params>
</component-plugin>
</external-component-plugins>
In which:
Name:
AddLifecycle
Set-method:
addPlugin
Type:
org.exoplatform.services.wcm.webcontent.InitialWebContentPlugin
Object type:
org.exoplatform.services.deployment.DeploymentDescriptor$Target
Name | Type | Value | Description |
---|---|---|---|
repository |
string
|
repository
| The repository into which the initial web contents will be deployed. |
workspace |
string
|
collaboration
| The workspace into which the initial web contents will be deployed. |
nodePath |
string
|
/sites/{portalName}/web contents/site artifacts
| The target node where the initial web-contents will be deployed into. |
sourcePath |
string
|
war:/conf/sample-portal/wcm/artifacts/site-resources/acme-templates/Logo.xml
| The path to the source that this plugin will get data. |