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>