Configure
Overview
This document describes how to configure a project to use this library.
The diagram below illustrates the configuration is driven by a defaults.xml file. This file is used as input by a command generate-objects which in conjunction with template files, produces two output files: object.xml and job.xml.

Step #1: Edit defaults.xml
The defaults.xml file contains all the essential environment-specific information needed by the library. It answers questions like: What host has the master database schema? What host will the database export file be distributed? What are the username and passwords to access both schemas?
Open a text editor or better yet an XML editor. Cut and paste the contents of the XML shown below and save it to disk.
<defaults> <default> <node>${framework.node}</node> <!-- opts.name is passed in via the generate-objects command --> <name>${opts.name}</name> </default> <updater> <node>${defaults.default.node}</node> <databuilder> <node>${defaults.updater.node}</node> <rdb> <!-- host where master database schema resides --> <node>exporthost</node> <name>${opts.name}Source</name> <!-- database instance identifier --> <instancename>SID</instancename> <installroot>/path/to/rdb/home</installroot> <!-- database username --> <username>root</username> <!-- database password --> <password></password> <!-- module containing rdb-specific commands --> <strategy>RdbMysqlStrategy</strategy> <exportdir>/tmp/exportdir</exportdir> <config></config> <schema> <!-- schema name --> <name>contentDB</name> <!-- schema username --> <username>schema_user</username> <!-- schema password --> <password>schema_pass</password> </schema> </rdb> </databuilder> <site> <node>${defaults.updater.node}</node> <rdb> <!-- host where target database schema resides --> <node>${defaults.default.node}</node> <name>${opts.name}Target</name> <!-- database instance identifier --> <instancename>SID</instancename> <installroot>/path/to/rdb/home</installroot> <!-- database username --> <username>root</username> <!-- database password --> <password></password> <config></config> <schema> <!-- schema name --> <name>contentDB</name> <!-- schema username --> <username>schema_user</username> <!-- schema password --> <password>schema_pass</password> <!-- Path to SQL script to run before import --> <preImportSqlScript>${entity.attribute.rdbSqlPackageInstallroot}/import/pre-import.sql</preImportSqlScript> <!-- Path to SQL script to run after import --> <postImportSqlScript>${entity.attribute.rdbSqlPackageInstallroot}/import/post-import.sql</postImportSqlScript> </schema> </rdb> </site> </updater> </defaults>
Some of the defaults can be taken as-is but the tags that are bold are ones that you must change, supplying the required local information.
Step #2: Configure library objects
Install and register an RdbProjectBuilder:
ad -p project -t RdbProjectBuilder -o name -c Install
ad -p project -t RdbProjectBuilder -o name -c Register -- \ -basedir $CTIER_ROOT/src/project \ -installroot $CTIER_ROOT/target/project
Copy the defaults.xml you created in Step #1 to $CTIER_ROOT/src/project/defaults.xml
Run the generate-objects command:
ad -p project -t RdbProjectBuilder -o name -c generate-objects -- \ -name aName \ -defaults $CTIER_ROOT/src/project/defaults.xml -load
Before you can run the job, it is necessary to deploy the objects. This is done via the AntDepo command, depot-setup. On the adminstrative node, run:
depot-setup -p project -a deploy
After this command successfully completes, a new set of objects will be loaded into the ControlTier repository. You can view them via RdbProjectBuilder's find-objects command:
ad -p project -t RdbProjectBuilder -o name -c find-objects -- \ -name aName
Step #3: Upload job definition
The generate-objects command run in Step #2 will have produced a job.xml file. This file can be used to define a new job in the JobCenter application.
- Login to JobCenter (e.g, go to URL: http://localhost:9090/jobcenter/menu/index
- Press the "Create a new Job..." button
- Press the "Upload job.xml" button
- Locate and select the job.xml file output by generate-objects in the file chooser
- Press "Save" button
The new job will be listed on the home page of JobCenter
Optional Step: Check-in generated files
It is considered best practice to maintain the files generated by generate-objects in a source code repository.