+

Search Tips   |   Advanced Search

The assembly level sdd.xml file

A Portal Application Archive (PAA) file contains an assembly level sdd.xml file that...

  • Registers the PAA content with the ConfigEngine.
  • Informs the Solution Installer about the name and type of the application to install.
  • Includes information about the versions of portal to which installation of the PAA content is compatible.
  • Tells Solution Installer the names and locations of the components to be installed.

To generate a PAA file automatically run "ConfigEngine.sh build-initial-release-paa". To generate a PAA file manually you can use the following as a template...

    PortalServer_root/doc/paa-samples/sample1.paa/sdd.xml

Solution installer uses the name of the root directory in the PAA file as the assembly name and can add any components found under /components/. Each subdirectory is recognized as a separate component.

We can restrict the list of components using /components/order.properties. Populate the file with a comma-separated list of the components in the order in which they should be installed. The Solution Installer restricts the list of components added to the sdd.xml file to only those components listed.Note that this order has other meanings for automatically creating dependencies between the components so it is important to ensure the components can be successfully installed following this order. See the section "Order of installation of scripts and artifacts" for more details. The mechanism in which the dependencies are created is described in The component level sdd.xml file section in the advanced development documentation.

Important: Although the assembly level sdd.xml file can be auto-generated, there are many circumstances where this option is not a viable solution. For example, there are restrictions on server versions on which the PAA file can be installed. It is necessary to include a <ServerVersionDependencies> element to illustrate the versions. This information is not handled automatically by the Solution Installer so we must generate the file manually. If we added a /components/order.properties file and do not want to limit the list to only those components in order.properties, add the additional <containedPackage> elements for each component to the file.


Sample assembly level sdd.xml file

    <?xml version="1.0" encoding="UTF-8"?>
      <iudd:iudd xmlns:iudd="http://www.ibm.com/xmlns/prod/autonomic/solutioninstall/IUDD"
               xmlns:iurtype="http://www.ibm.com/xmlns/prod/autonomic/resourcemodel/IU/resourcetypes"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xmlns:OSRT="http://www.ibm.com/xmlns/prod/autonomic/resourcemodel/OS/resourcetypes"
               xsi:schemaLocation="http://www.ibm.com/xmlns/prod/autonomic/solutioninstall/IUDD ../iudd/iudd.xsd "
               schemaVersion="2.0.0" buildID="MySoln-IUDD-1.0" buildDate="2006-01-19T12:00:00">
    
       <packageIdentity contentType="Assembly">
         <name>sample_paa</name>
         <version>8.5.0.0</version>
         <displayName key="d0001" default="sample_paa" />
         <manufacturer>
             <displayName key="DU_01" default="IBM" />
            </manufacturer>
     </packageIdentity>
    
     <topology>
         <resource type="OSRT:OperatingSystem" id="OS" />
     </topology>
     <content xsi:type="iudd:RootIUContent">
         <rootIU id="sample_paa" targetRef="OS">
          <identity>
              <name>sample_paa</name>
          </identity>
            <containedPackage id="components/componentN" pathname="components/componentN/sdd.xml" />          
            <serverVersionDependency name="PortalServer" 
                  lowerVersion="6.0.0.0" 
                  higherVersion="8.5.0.0" 
                  versions="" />
         </rootIU>
     </content>
     </iudd:iudd>
    

Inside the root <iudd:iudd> element, the following three subelements are required for installation with the Solution Installer:

    Element Description
    <packageIdentity> Informs the Solution Installer and the ConfigEngine of the type of application to be installed. In this case, the contentType attribute equals Assembly. An assembly is a grouping of one or more components. The Solution Installer considers each PAA file as an assembly, even though it might contain only one component. Do not edit this attribute. The <packageIdentity> element contains a number of subelements that provide information about the content. The name and version elements need to be altered to suit the application we are installing. The <displayName> element can also be edited to include the assembly name, but is not required. The name element provided for an assembly must match the name of the PAA file root directory. For example, a name of sample_paa requires the root directory to also be called sample_paa.
    <packageIdentity contentType="Assembly">
      <name>sample_paa</name>
      <version>8.5.0.0</version>
      <displayName key="d0001" default="sample_paa" />
      <manufacturer>
       <displayName key="DU_01" default="IBM" />
      </manufacturer>
     </packageIdentity>
    
    <topology> This element does not require any alterations. For example:
    <topology>
      <resource type="OSRT:OperatingSystem" id="OS" />
     </topology>
    <content> Provides the Solution Installer and the ConfigEngine with the information about what to install and on which servers. The <rootIU> element is where the actual information is included. Set the 'ID' attribute of the <rootIU> element to the name of the application as used in the <name> element of the <packageIdentity> element. The <identity> element contains the <name> subelement. Set this element to the name of the assembly found in the <packageIdentity> name element.
    <content xsi:type="iudd:RootIUContent">
      <rootIU id="sample_paa" targetRef="OS">
      <identity>
        <name>sample_paa</name>
       </identity>
         <containedPackage id="components/componentN" pathname="components/componentN/sdd.xml" />
           <serverVersionDependency name="PortalServer" 
         lowerVersion="6.0.0.0" 
         higherVersion="8.5.0.0" 
         versions="" />
        </rootIU>
     </content>

Although there is only one <containedPackage> element in this example, there can be a number of these elements. One for each component included in the PAA file. This element allows for ConfigEngine to register the components and informs it on where to find the component level sdd.xml file. The Solution Installer can auto-generate the component level sdd.xml file during the install-paa command. The developer does not need to add this file for a basic PAA file. However, when the developer needs to provide specific component dependencies outside of an order.properties file, then the component level sdd.xml file must be provided.

There are two attributes for the <containedPackage> element. The ID must equal the path of the component relative to the assembly level sdd.xml file. For example, as the PAA file puts all components in the components directory, a component name needs to also include the components/. For example, a component called 'componentN' would have the id="components/componentN". The path name contains the path from the assembly sdd.xml file to the component level sdd.xml file. Continuing with the previous example, the pathname element is pathname="components/componentN/sdd.xml".

The final element is the <serverVersionDependency> element. This element informs the Solution Installer of the WebSphere Portal versions on which the content can be installed. Not all the attributes shown are required. Go to the Check server dependency section for more details.


Parent The sdd.xml file

Related concepts:

The sdd.xml file