ObjectDeployment

The deployment in 2.2 changes

 

  • Consequences :

    • older deployment -portal.xml and portlet-instances.xml are disabled for now

    • file format has changed

    • it handles deployment of instances and portal objects

 

  • Bonus :

    • finer grained deployment : portal, page and window

    • better control over deploying an existing thing

 

  • Examples:

    • You can find examples in our documentation with links to downloadable sources here

 

File format overview

 

The file format is similar to the old deployments. The deployment file is constitued of a suite

of deployments :

 

<deployments>
   <deployment>
      ...
   </deployment>
</deployments>

 

The <if-exists> XML tag drivers the decision to take whenever an object already exists, the possible values are overwrite and keep.

The first one will destroy the existing object and create a new one based on the content of the deployment. The second one will keep the existing

one and create a new one only if nothing exist before.

 

Deployment of portal objects

 

Each portal object has a specific XML tag parent-ref which indicates where the object should be hooked in the portal object tree.

In addition it is possible to deploy portal, pages and window too.

 

The default portal deployment deployed just under the root (that's why the parent-ref tag is empty)

 

<deployment>
   <parent-ref></parent-ref>
   <if-exists>overwrite</if-exists>
   <portal>
      <portal-name>default</portal>
      ...
   </portal>
</deployment>

 

A single page deployment child of the default portal

 

<deployment>
   <parent-ref>default</parent-ref>
   <if-exists>overwrite</if-exists>
   <page>
      <page-name>CMS Manager</page-name>
      ...
   </page>
</deployment>

 

A single window deployment child of default.default page

 

<deployment>
   <parent-ref>default</parent-ref>
   <if-exists>overwrite</if-exists>
   <window>
      <window-name>default.CMS Manager</window-name>
      ...
   </window>
</deployment>

 

Deployment of instances

 

For now just a simple example

 

<deployment>
   <if-exists>overwrite</if-exists>
   <instance>
      <instance-name>PortletBInstance</instance-name>
      <component-ref>PortletB</component-ref>
   </instance>
</deployment>