trd_xmldb: A Berkeley Database for CE-FEE-Testresults (c) 2011 Ole Hinrichs Introduction ============ The trd_xmldb utilities allow to archive data from the CE-FEE-Tests in an Berkeley XML database and retrieve it again. A DIM-Deamon, called dimdeamonXML watches the servers for new Test data and writes it into the XML database. Installation ============ For the trd_xmldb you need the following packages: BDB-XML 2.5.16 (dbxml-2.5.16.tar.gz) which you can obtain from oracle.com. (Make sure you install the BDB-XML in /usr/local/dbxml-2.5.16/ or you have to modify the Makefile.am, and tell it where the dbxml-libraries are.) or you can build a rpm with the oracle-berkeley-dbxml.spec file: Make sure you have rpmbuild installed. Copy the dbxml-2.5.16.tar.gz file to the SOURCES folder of your rpmbuild installation. To build the rpm, enter: rpmbuild -ba oracle-berkeley-dbxml.spec in the directory of the .spec file. Install the ORACLE client libraries from RPMs in the standard TRD repository: http://alice.physi.uni-heidelberg.de/software/yum/RPMS namely oracle-instantclient and oracle-instantclient-devel. Furthermore you will need wingDB: http://alice.physi.uni-heidelberg.de/viewvc/trd/wingDB/ To compile, run: ./fastbuild-trd.sh Then you will find the programs in the subdirectory /src Then please modify the installation path and the name for your xml-database in the config-file trd_xmldb.conf, which you will find in the directory /etc ! AddTimestamp ============ AddTimestamp was constructed for old existing xml test files. It adds a timestamp (when the test was made) and the roc-id (id of the tested read out chamber in the supermodule) to each ack-tag in the xml test file from the current directory. To get the information of the roc-ids it reads out a txt-file with the same name as the current supermodule. It gets the timestamp through the creation date of the file. CreateContainer =============== CreateContainer is a simple program to create a .dbxml file with the name given by the config file. dimdaemonXML ============ dimdaemonXML fetches information about FEE-Test-Servers and connects to them. Then it uses the Acknowledge service of these servers to look for new test results, intiated by nginject. If there are some, it retrieves the information, adds a timestamp, if necessary, and the roc-id as values in the -tag. Then it stores the information in the current trd_xmldb and also writes it into a file in the directory included_xml_files for backup. OpenPutAll ========== OpenPutAll is a simple program that opens a container and fills it with a document from the shell. So you have to start it like: ./OpenPutAll test.xml to insert the file test.xml into your XML-database. OpenPutXML ========== OpenPutXML is a simple program that opens a container and fills it with xml-files from the folder. It identifies the xml-files by their name. If they have the expression xml anywhere in their name, it inserts them into the database, execept the file is a database file with the extension .dbxml. QueryError ========== QueryError opens a container and browses through the content to find errors in the FEE-tests. Therefore you can enter supermodule, stack and layer to identify a certain chamber, the timeperiod in which the tests should be and the designated kinds of tests. The result will be ordered by time descending. The results are written to file query_error_result.txt. QueryOrder ========== QueryError opens a container and browses through the content to find test results FEE-tests. Therefore you can enter supermodule, stack and layer to identify a certain chamber, the timeperiod in which the tests should be and the designated kinds of tests. The result will be ordered by time descending. The results can be found in file query_result.txt. QuerySelf ========= With QuerySelf you can arrange your own query string to find something particular in the database. The search language is XQuery, whereupon a new line is identified by \n. The user arranged query string is tranfered to the Database and the results are shown in the file query_self_result.txt. ViewAllInDoc ============ ViewAllInDoc shows the whole content of the current database and writes it into the file with the same name as the database but with .txt as an extension. Keep in mind that all the programs need the config file! Please report bugs to olehinrichs@gmx.de