Customization archive guidelines
The customization archive is a set of files that contain changes and customizations that you make to the application. Customizations can include changes such as Java™ classes, XML, database scripts, or additional application server files that you created in a development environment.
Some customizations might apply only to specific deployments. For example, ejb-jar.xml can be applied to a Maximo® integration framework cluster but not to others.
- Class files, such as Java customizations
- Class files must be added to the appropriate directory in the customization archive so that they
can be extracted to the existing code in the appropriate hierarchy. Class files can include the
following types of customizations:
- MBO customizations
- Field validations
- Maximo integration framework customizations
- Other customer-specific code
- Deployment descriptors
- You can add deployment descriptors, such as web.xml, ejb-jar.xml, and webservices.xml files, that you changed to the customization archive. When the application is redeployed, the customized files override the files that are provided for the deployment.
- XSL customizations
- If you have XSL customizations that were part of the Maximo EAR or WAR files in previous releases, you can include them in the customization archive. They are copied to the appropriate locations when the application is redeployed. For information about XSL customization, see the documentation for rule-based customization.
- Database scripts
- To add database scripts to the customization archive, you can create a
a_customer.xml file. The a_customer.xml file incorporates
system classes that have been customized. All modified class files and scripts must be referenced in
the format shown in the following example.In this example, the update utility runs the scripts representing each successive update version up to and including the referenced V600_01 script. The alteredYou can add the a_customer.xml file to the customization archive. After deployment, the database update utility runs and applies your custom scripts.
<mboset objectname>and<mbo object>entries indicate that the purchase order classes have been extended.<?xml version="1.0" encoding="UTF-8"?> <product> <name>Customer Product</name> <version> <major>6</major> <minor>0</minor> <patch>0</patch> <build>999</build> </version> <dbmaxvarname>DBCUST</dbmaxvarname> <dbscripts>cus</dbscripts> <dbversion>V600-01</dbversion> <lastdbversion>V520-20</lastdbversion> <extensions> <mboset objectname='PO'>psdi.app.cust.POSet</mboset> <mbo objectname='PO'> psdi.app.cust.PO</mbo> </extensions> </product>
- Additional files for IBM® WebSphere® Application Server Liberty
-
You can customize WebSphere Application Server Liberty for a server bundle by adding directories and files to the customization archive for the bundle. To add files to WebSphere Application Server Liberty, create an additional-server-files directory in the root directory of your customization archive and add the files to that directory. If necessary, you can also create subdirectories in the additional-server-files directory for your files.
When you configure the server bundles for Maximo Manage for deployment, provide the URL and credentials for the customization archive. When the application is deployed, the files and directories that you added are extracted to the /managefiles/additional-server-files folder on the Liberty server.
For example, if you use an IBM MQ service for messaging, you can add a RAR file for your IBM MQ resource adapter to the additional-server-files directory. When Maximo Manage is deployed, the file is added to the Liberty server.
For tracking purposes, it is a good practice to apply versions your customization archives.
Sample customization archive files
- classes
-
applications\maximo\businessobjects\classes\cust\app\asset\Asset.class applications\maximo\businessobjects\classes\cust\app\asset\AssetSet.class applications\maximo\businessobjects\classes\cust\app\asset\FldAssetNewField.class - product XML
-
applications\maximo\properties\product\a_customer.xml - script
-
tools\maximo\en\cust\V7612_01.dbc - servlets
-
applications\maximo\commonweb\classes\com\ibm\tivoli\maximo\oslc\provider\MyPingServlet.class - deployment descriptors (web.xml)
-
deployment\was-liberty-default\config-deployment-descriptors\maximo-mea\meaweb\webmodule\WEB-INF\web.xml deployment\was-liberty-default\config-deployment-descriptors\maximo-ui\webmodule\WEB-INF\web.xml