This document describes how to setup extended-properties.xmlContents
A server administrator may modify the information stored about reporters in BASE. The setup of additional data storage is made in the extended-properties.xml file, and the storage request will affect the ReporterData table. The format of the extended-properties.xml file is described by the ExtendableData interface.
It is important, but not vital, to setup the extended properties before initializing the database since the default extended-properties.xml file is biased towards the BASE 1.2 setup for 2-spotted microarray data. It is possible to change the extended properties after initialization but if the amount of additional data to store is decreased, the extra columns will not be removed. On the other hand if additional data is added to the extended properties, the ReporterData table is easily expanded by running the database update script. Thus, starting with a too restrictive set of additional reporter data can always be resolved later.
After installing BASE the extended-properties.xml is located in /path/to/base/www/WEB-INF/classes/. There are currently two sample extended-properties.xml files:
The default extended properties file. The properties described in this sample file is required when migration from BASE 1.2 to BASE 2 will be performed. The default setup of extended information is inherited from BASE 1.2.
This sample file is biased towards 2 spotted cDNA arrays.
A minimalistic setup. This is useful when, at BASE installation time, it is not known what reporter data will be stored in the database. The addition of more properties later is straightforward.
An Affymetrix sample file should be added to the list.
In order to add properties to store into the database you need to follow the straightforward format of default extended properties. The problem is that some knowledge of the underlying database schema is needed.
In order to remove extra properties entries from a live BASE 2 server you need to remove the corresponding entries from the extended properties file. This will make the extra properties inaccessible for BASE but not remove the excess data from the database. If the excess data should be removed, the data must be removed manually by modifying the reporter data table directly (after changing the extended properties file).
Adding extra information (columns) to the reporters (ReporterData table) is simply done by adding a <property> tag into the <class name="ReporterData"> tag:
<property name="clusterId" title="Cluster ID" description="A unique identifier for a UniGene entry" column="clusterId" type="string" length="255" >where name is the name to be used by Hibernate, title is what is used in the GUI when the extended data is displayed, description is information about the column, column is the underlying database engine name of the column (this cannot be changed after initialization of the database table, type is the data type, and here length is needed since the type is a string.
A more detailed information about the attributes is available in the javadoc for the ExtendableData class.
If you change the extended-properties.xml on an already running BASE 2 server, you should shutdown the server after changing the extended properties file and run the updatedb.sh followed by the updateindexes.sh script. This will push your changes into into the database.
If you make the changes during first time install of BASE 2 all changes take effect automatically. You only need to change the extended properties file.