The assembly level sdd.xml file
When creating a Portal Application Archive (PAA) file, add an assembly level sdd.xml file. This file registers the PAA content with the ConfigEngine.The information in the sdd.xml file informs the Solution Installer about the name and type of the application to install. It also includes information about the versions of IBM WebSphere Portal to which installation of the PAA content is compatible. In addition, the sdd.xml tells solution installer the names and locations of the components to be installed. The different elements of the assembly level sdd.xml file are described in terms of how they are required for the Solution Installer. We can edit a sample sdd.xml file with the required information to ensure that the sdd.xml file is complete and accurate.
In the PORTAL_HOME/doc/paa-samples directory, there are some sample file that illustrate the PAA directory structure. We can use the assembly level sdd.xml file of the sample1.paa file as an example. This file can be used as a starting point for developers to create their own working sdd.xml files. This sample PAA file is an installable application. It can be registered with the ConfigEngine. However, it is not a working PAA file because there are no installable resources. The structure is provided so that a developer can use it to create their own PAA files.
The following is an example of an 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.0.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.0.0.0" versions="" /> </rootIU> </content> </iudd:iudd>Inside the root <iudd:iudd> element, the following three subelements required for installation with the Solution Installer:
- The first element is the packageIdentity element; for example:
<packageIdentity contentType="Assembly"> <name>sample_paa</name> <version>8.0.0.0</version> <displayName key="d0001" default="sample_paa" /> <manufacturer> <displayName key="DU_01" default="IBM" /> </manufacturer> </packageIdentity>The <packageIdentity> element 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 being installed. The displayName element can also be edited to include the assembly name, but is not required.
Important: The name element provided for an assembly must match the name of the PAA file root directory.
For example, a name of ‘sample_paa’ would require the root directory to also be called ‘sample_paa’.
- The next subelement is the <topology> element. This element does not require any alterations.
For example:
<topology> <resource type="OSRT:OperatingSystem" id="OS" /> </topology>
- The final element block is the <content> element. This element 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.
<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.0.0.0" versions="" /> </rootIU> </content>The <identity> element contains the <name> subelement. Set this element to the name of the assembly found in the <packageIdentity> name element.
Although there is only one <contains> element in this example, there can be a number of these elements. One for each component included in the package. 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 auto-generates 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 custom code for installation or configuration, 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 pathname 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 versions that the content can be installed. Not all the attributes shown here are required.
Parent: Portal Application Archive (PAA) file creation
Related:
sdd.xml files