diff m-toolbox/html_help/help/ug/repo_whatis_content.html @ 0:f0afece42f48

Import.
author Daniele Nicolodi <nicolodi@science.unitn.it>
date Wed, 23 Nov 2011 19:22:13 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/m-toolbox/html_help/help/ug/repo_whatis_content.html	Wed Nov 23 19:22:13 2011 +0100
@@ -0,0 +1,1174 @@
+<h2>Introduction</h2>
+
+<p>
+  An LTPDA repository has at its core a database server (in fact, a <a href="matlab:web('http://www.mysql.com')">MySQL server</a>).
+  A single MySQL server can host multiple databases (LTPDA repositories).
+  A single database/repository comprises a particular set of database tables. These tables hold meta-data
+  about the objects stored in the database.
+</p>
+
+<p> Since the core engine is a MySQL database, in principle any MySQL client can be used to interface
+  with the repository. In order to submit and retrieve objects in the proper way (entering all expected
+  meta-data), it is strongly suggested that you use the LTPDA Toolbox client commands <tt>submit</tt> and
+the <tt>From Repository</tt> constructors, or the <a href="workspaceBrowser.html">LTPDA Workspace Browser</a>.. In
+addition, the LTPDA Workbench has full built-in support for interacting with LTPDA Repositories.
+</p>
+
+<p>
+  Any standard MySQL client can be used to query and search an LTPDA repository.
+  For example, using a web-client or the standard MySQL command-line interface.
+  In addition, the LTPDA Toolbox provides two ways to search the database: using the
+  workspace browser, or the LTPDA Workbench..
+  It is also possible to use the Visual Query Builder provided with the MATLAB Database Toolbox
+  for interacting with a repository.
+</p>
+
+<h2>Database primer</h2>
+
+<p>
+  A MySQL database comprises a collection of tables. Each table has a number of fields.
+  Each field describes the type of data stored in that field (numerical, string, date, etc).
+  When an entry is made in a table a new row is created. Interaction with MySQL databases
+  is done using Structured Query Language (SQL) statements. For examples
+  see <a href="matlab:web('http://dev.mysql.com/doc/refman/5.1/en/examples.html')">MySQL Common Queries</a>.
+</p>
+
+<h2>Database design</h2>
+<p>
+  The database for a single repository uses the tables as shown below:
+</p>
+
+<img src="images/db_tables.png" alt="DB Tables">
+
+<p> As you can see, each object that is submitted to a repository receives a unique ID number. This ID
+  number is used to link together the various pieces of meta-data that are collected about each object. In
+  addition, each object that is submitted is check-summed using the <a
+    href="matlab:web('http://en.wikipedia.org/wiki/MD5')">MD5 algorithm</a>. That way, the integrity of each object can be
+  checked upon retrieval.
+</p>
+
+<p>
+  In order to access a particular repository you need:
+  <ul>
+    <li>The IP address of the MySQL host server</li>
+    <li>The name of the repository (the database name)</li>
+    <li>An account on the MySQL host server</li>
+    <li>Permissions to access the desired database/repository</li>
+  </ul>
+</p>
+
+<h2>The main database tables</h2>
+
+<p>An LTPDA repository consists of the following database tables:</p>
+
+<!-- OBJS table -->
+<h3><tt>objs</tt> table</h3>
+<p>The <tt>objs</tt> table stores the XML representation of the submitted object. At this point, each
+object in the database is assigned a unique identifier. Together with the database name and hostname/ip
+of the server, this forms a unique tag for all LTPDA objects.</p>
+<p>
+  <table cellspacing="0" class="body" cellpadding="2" border="1" width="80%">
+    <colgroup>
+      <col width="10%"/>
+      <col width="10%"/>
+      <col width="80%"/>
+    </colgroup>
+    <thead>
+      <tr valign="top">
+        <th class="categorylist">Field</th>
+        <th class="categorylist">Data Type</th>
+        <th class="categorylist">Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <!-- Field: 'id' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>id</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>int(11)</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>A unique identification number for all LTPDA objects in this database. This value is the link between
+        all database tables.</p>
+        </td>
+      </tr>
+      <!-- Field: 'hash' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>hash</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>An MD5 hash of the XML representation of the object.</p>
+        </td>
+      </tr>
+      <!-- Field: 'xml' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>xml</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>longtext</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>The XML representation of the object. This field can be dumped directly to an XML file and
+        should be readable in LTPDA.</p>
+        </td>
+      </tr>
+    </tbody>
+  </table>
+</p>
+
+<!-- OBJMETA table -->
+<h3><tt>objmeta</tt> table</h3>
+
+<p>The <tt>objmeta</tt> table stores various pieces of information associated with the object
+  being submitted. The aim of this table is to provide a lot of useful fields on which to perform
+searches and queries.</p>
+
+<p>
+  <table cellspacing="0" class="body" cellpadding="2" border="1" width="80%">
+    <colgroup>
+      <col width="10%"/>
+      <col width="10%"/>
+      <col width="80%"/>
+    </colgroup>
+    <thead>
+      <tr valign="top">
+        <th class="categorylist">Field</th>
+        <th class="categorylist">Data Type</th>
+        <th class="categorylist">Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <!-- Field: 'id' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>id</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>int(11)</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>A unique identification for all entries in this table.</p>
+        </td>
+      </tr>
+      <!-- Field: 'obj_id' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>obj_id</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>int(11)</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>The object id of the object in the <tt>objs</tt> table.</p>
+        </td>
+      </tr>
+      <!-- Field: 'obj_type' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>obj_type</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>The (LTPDA) class of this object.</p>
+        </td>
+      </tr>
+      <!-- Field: 'name' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>name</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>The user-assigned name of this object.</p>
+        </td>
+      </tr>
+      <!-- Field: 'created' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>created</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>datetime</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>The date and time this object was created.</p>
+        </td>
+      </tr>
+      <!-- Field: 'version' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>version</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>The CVS tag of the object constructor code.</p>
+        </td>
+      </tr>
+      <!-- Field: 'ip' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>ip</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>The IP address of the machine which submitted the object.</p>
+        </td>
+      </tr>
+      <!-- Field: 'hostname' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>hostname</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>The hostname of the machine which submitted the object.</p>
+        </td>
+      </tr>
+      <!-- Field: 'os' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>os</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>The operating system of the machine which submitted the object.</p>
+        </td>
+      </tr>
+      <!-- Field: 'submitted' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>submitted</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>datetime</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>The date and time the object was submitted.</p>
+        </td>
+      </tr>
+      <!-- Field: 'experiment_title' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>experiment_title</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>A title for the experiment associated with the object.</p>
+        </td>
+      </tr>
+      <!-- Field: 'experiment_desc' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>experiment_desc</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>A description of the experiment associated with the object.</p>
+        </td>
+      </tr>
+      <!-- Field: 'analysis_desc' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>analysis_desc</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>A description of the analysis associated with the object.</p>
+        </td>
+      </tr>
+      <!-- Field: 'quantity' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>quantity</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>If applicable, the physical quantity associated with the data in the object.</p>
+        </td>
+      </tr>
+      <!-- Field: 'additional_authors' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>additional_authors</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>Any additional people involved in creating this object.</p>
+        </td>
+      </tr>
+      <!-- Field: 'additional_comments' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>additional_comments</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>A free-form field of additional comments.</p>
+        </td>
+      </tr>
+      <!-- Field: 'keywords' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>keywords</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>A list of keywords associated with the object.</p>
+        </td>
+      </tr>
+      <!-- Field: 'reference_ids' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>reference_ids</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>ID numbers of any other objects associated with this object.</p>
+        </td>
+      </tr>
+      <!-- Field: 'validated' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>validated</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>tinyint(1)</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>A boolean field indended to indicate validated objects.</p>
+        </td>
+      </tr>
+      <!-- Field: 'vdate' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>vdate</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>datetime</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>The date/time the object was validated.</p>
+        </td>
+      </tr>
+    </tbody>
+  </table>
+</p>
+
+
+<!-- TRANSACTIONS table -->
+<h3><tt>transactions</tt> table</h3>
+<p>The <tt>transactions</tt> table records all user transactions. A transaction corresponds to
+submitting or retrieving a single or a collection of LTPDA objects.</p>
+<p>
+  <table cellspacing="0" class="body" cellpadding="2" border="1" width="80%">
+    <colgroup>
+      <col width="10%"/>
+      <col width="10%"/>
+      <col width="80%"/>
+    </colgroup>
+    <thead>
+      <tr valign="top">
+        <th class="categorylist">Field</th>
+        <th class="categorylist">Data Type</th>
+        <th class="categorylist">Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <!-- Field: 'id' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>id</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>int(11)</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>A unique identification number this table entry.</p>
+        </td>
+      </tr>
+      <!-- Field: 'obj_id' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>obj_id</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>int(11)</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>The object id of the object in the <tt>objs</tt> table.</p>
+        </td>
+      </tr>
+      <!-- Field: 'user_id' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>user_id</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>int(11)</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>The unique ID number of the user who carried out the transaction.</p>
+        </td>
+      </tr>
+      <!-- Field: 'transdate' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>transdate</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>datetime</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>The date/time of the transaction.</p>
+        </td>
+      </tr>
+      <!-- Field: 'direction' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>direction</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>The direction of the transaction: 'in' or 'out'.</p>
+        </td>
+      </tr>
+    </tbody>
+  </table>
+</p>
+
+<!-- USERS table -->
+<h3><tt>users</tt> table</h3>
+<p>The <tt>users</tt> table stores information about the users allowed to access the database.</p>
+<p>
+  <table cellspacing="0" class="body" cellpadding="2" border="1" width="80%">
+    <colgroup>
+      <col width="10%"/>
+      <col width="10%"/>
+      <col width="80%"/>
+    </colgroup>
+    <thead>
+      <tr valign="top">
+        <th class="categorylist">Field</th>
+        <th class="categorylist">Data Type</th>
+        <th class="categorylist">Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <!-- Field: 'id' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>id</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>int(11)</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>A unique identification number for all entries in this table.</p>
+        </td>
+      </tr>
+      <!-- Field: 'firstname' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>firstname</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>The firstname of the user.</p>
+        </td>
+      </tr>
+      <!-- Field: 'familyname' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>familyname</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>The family name of the user.</p>
+        </td>
+      </tr>
+      <!-- Field: 'username' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>username</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>The username (login name) of the user.</p>
+        </td>
+      </tr>
+      <!-- Field: 'email' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>email</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>A valid e-mail address for the user.</p>
+        </td>
+      </tr>
+      <!-- Field: 'telephone' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>telephone</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>A telephone numnber for the user.</p>
+        </td>
+      </tr>
+      <!-- Field: 'institution' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>institution</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>The institution of the user.</p>
+        </td>
+      </tr>
+    </tbody>
+  </table>
+</p>
+
+<!-- COLLECTIONS table -->
+<h3><tt>collections</tt> table</h3>
+<p>The <tt>collections</tt> table stores virtual collections of objects submitted to the database.
+When the user submits one or more objects at the same time, this constitutes a collection. In this
+case a collection ID number is assigned next to a list of the object IDs in the collection. This
+allows the user to retrieve collections of objects based on the collection ID alone; no information
+about the individual object IDs is required.</p>
+<p>
+  <table cellspacing="0" class="body" cellpadding="2" border="1" width="80%">
+    <colgroup>
+      <col width="10%"/>
+      <col width="10%"/>
+      <col width="80%"/>
+    </colgroup>
+    <thead>
+      <tr valign="top">
+        <th class="categorylist">Field</th>
+        <th class="categorylist">Data Type</th>
+        <th class="categorylist">Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <!-- Field: 'id' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>id</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>int(11)</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>A unique identification number for this collection of objects.</p>
+        </td>
+      </tr>
+      <!-- Field: 'nobjs' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>nobjs</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>int</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>The number of objects in the collection.</p>
+        </td>
+      </tr>
+      <!-- Field: 'obj_ids' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>obj_ids</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>A comma separated list of object IDs.</p>
+        </td>
+      </tr>
+    </tbody>
+  </table>
+</p>
+
+
+<h2>Additional database tables</h2>
+
+<p>As well as the main database tables, additional meta-data tables are used to capture extra meta-data
+about some of the LTPDA objects.</p>
+
+<!-- AO table -->
+<h3><tt>ao</tt> table</h3>
+<p>The <tt>ao</tt> table stores additional meta-data specific to analysis objects.</p>
+<p>
+  <table cellspacing="0" class="body" cellpadding="2" border="1" width="80%">
+    <colgroup>
+      <col width="10%"/>
+      <col width="10%"/>
+      <col width="80%"/>
+    </colgroup>
+    <thead>
+      <tr valign="top">
+        <th class="categorylist">Field</th>
+        <th class="categorylist">Data Type</th>
+        <th class="categorylist">Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <!-- Field: 'id' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>id</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>int(11)</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>A unique identification number for all entries in the table.</p>
+        </td>
+      </tr>
+      <!-- Field: 'obj_id' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>obj_id</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>int(11)</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>The unique ID of the object.</p>
+        </td>
+      </tr>
+      <!-- Field: 'data_type' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>data_type</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>The type/class of the data stored in the AO.</p>
+        </td>
+      </tr>
+      <!-- Field: 'data_id' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>data_id</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>int(11)</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>The unique ID of the data object listed in one of the data meta-data tables.</p>
+        </td>
+      </tr>
+      <!-- Field: 'description' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>description</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>The description property of the AO.</p>
+        </td>
+      </tr>
+      <!-- Field: 'mfilename' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>mfilename</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>The filename of any m-file attached to the AO.</p>
+        </td>
+      </tr>
+      <!-- Field: 'mdlfilename' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>mdlfilename</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>The filename of any SIMULINK model file attached to the AO.</p>
+        </td>
+      </tr>
+    </tbody>
+  </table>
+</p>
+
+<!-- MIIR table -->
+<h3><tt>miir</tt> table</h3>
+<p>The <tt>miir</tt> table stores additional meta-data specific to miir filter objects.</p>
+<p>
+  <table cellspacing="0" class="body" cellpadding="2" border="1" width="80%">
+    <colgroup>
+      <col width="10%"/>
+      <col width="10%"/>
+      <col width="80%"/>
+    </colgroup>
+    <thead>
+      <tr valign="top">
+        <th class="categorylist">Field</th>
+        <th class="categorylist">Data Type</th>
+        <th class="categorylist">Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <!-- Field: 'id' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>id</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>int(11)</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>A unique identification number for all entries in the table.</p>
+        </td>
+      </tr>
+      <!-- Field: 'obj_id' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>obj_id</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>int(11)</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>The unique ID of the object.</p>
+        </td>
+      </tr>
+      <!-- Field: 'in_file' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>in_file</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>The input filename (if applicable) used to create the filter object</p>
+        </td>
+      </tr>
+      <!-- Field: 'fs' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>fs</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>int(11)</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>The sample rate of the data the filter is designed for.</p>
+        </td>
+      </tr>
+    </tbody>
+  </table>
+</p>
+
+<!-- MFIR table -->
+<h3><tt>mfir</tt> table</h3>
+<p>The <tt>mfir</tt> table stores additional meta-data specific to mfir filter objects.</p>
+<p>
+  <table cellspacing="0" class="body" cellpadding="2" border="1" width="80%">
+    <colgroup>
+      <col width="10%"/>
+      <col width="10%"/>
+      <col width="80%"/>
+    </colgroup>
+    <thead>
+      <tr valign="top">
+        <th class="categorylist">Field</th>
+        <th class="categorylist">Data Type</th>
+        <th class="categorylist">Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <!-- Field: 'id' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>id</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>int(11)</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>A unique identification number for all entries in the table.</p>
+        </td>
+      </tr>
+      <!-- Field: 'obj_id' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>obj_id</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>int(11)</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>The unique ID of the object.</p>
+        </td>
+      </tr>
+      <!-- Field: 'in_file' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>in_file</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>The input filename (if applicable) used to create the filter object</p>
+        </td>
+      </tr>
+      <!-- Field: 'fs' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>fs</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>int(11)</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>The sample rate of the data the filter is designed for.</p>
+        </td>
+      </tr>
+    </tbody>
+  </table>
+</p>
+
+<!-- TSDATA table -->
+<h3><tt>tsdata</tt> table</h3>
+<p>The <tt>tsdata</tt> table stores additional meta-data specific to tsdata (time-series data) objects.</p>
+<p>
+  <table cellspacing="0" class="body" cellpadding="2" border="1" width="80%">
+    <colgroup>
+      <col width="10%"/>
+      <col width="10%"/>
+      <col width="80%"/>
+    </colgroup>
+    <thead>
+      <tr valign="top">
+        <th class="categorylist">Field</th>
+        <th class="categorylist">Data Type</th>
+        <th class="categorylist">Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <!-- Field: 'id' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>id</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>int(11)</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>A unique identification number for all entries in the table.</p>
+        </td>
+      </tr>
+      <!-- Field: 'xunits' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>xunits</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>The X-units associated with this time-series.</p>
+        </td>
+      </tr>
+      <!-- Field: 'yunits' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>yunits</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>The Y-units associated with this time-series.</p>
+        </td>
+      </tr>
+      <!-- Field: 'fs' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>fs</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>int(11)</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>The sample rate of the data the filter is designed for.</p>
+        </td>
+      </tr>
+      <!-- Field: 'nsecs' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>nsecs</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>int</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>The duration (number of seconds) of data in the object.</p>
+        </td>
+      </tr>
+      <!-- Field: 't0' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>t0</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>datetime</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>The date/time associated with the start (first sample) of the time-series.</p>
+        </td>
+      </tr>
+    </tbody>
+  </table>
+</p>
+
+<!-- FSDATA table -->
+<h3><tt>fsdata</tt> table</h3>
+<p>The <tt>fsdata</tt> table stores additional meta-data specific to fsdata (frequency-series data) objects.</p>
+<p>
+  <table cellspacing="0" class="body" cellpadding="2" border="1" width="80%">
+    <colgroup>
+      <col width="10%"/>
+      <col width="10%"/>
+      <col width="80%"/>
+    </colgroup>
+    <thead>
+      <tr valign="top">
+        <th class="categorylist">Field</th>
+        <th class="categorylist">Data Type</th>
+        <th class="categorylist">Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <!-- Field: 'id' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>id</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>int(11)</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>A unique identification number for all entries in the table.</p>
+        </td>
+      </tr>
+      <!-- Field: 'xunits' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>xunits</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>The X-units associated with this time-series.</p>
+        </td>
+      </tr>
+      <!-- Field: 'yunits' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>yunits</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>The Y-units associated with this time-series.</p>
+        </td>
+      </tr>
+      <!-- Field: 'fs' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>fs</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>int(11)</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>The sample rate of the data the filter is designed for.</p>
+        </td>
+      </tr>
+    </tbody>
+  </table>
+</p>
+
+<!-- CDATA table -->
+<h3><tt>cdata</tt> table</h3>
+<p>The <tt>cdata</tt> table stores additional meta-data specific to cdata (1D data) objects.</p>
+<p>
+  <table cellspacing="0" class="body" cellpadding="2" border="1" width="80%">
+    <colgroup>
+      <col width="10%"/>
+      <col width="10%"/>
+      <col width="80%"/>
+    </colgroup>
+    <thead>
+      <tr valign="top">
+        <th class="categorylist">Field</th>
+        <th class="categorylist">Data Type</th>
+        <th class="categorylist">Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <!-- Field: 'id' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>id</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>int(11)</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>A unique identification number for all entries in the table.</p>
+        </td>
+      </tr>
+      <!-- Field: 'xunits' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>xunits</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>The X-units associated with this time-series.</p>
+        </td>
+      </tr>
+      <!-- Field: 'yunits' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>yunits</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>The Y-units associated with this time-series.</p>
+        </td>
+      </tr>
+    </tbody>
+  </table>
+</p>
+
+<!-- CDATA table -->
+<h3><tt>xydata</tt> table</h3>
+<p>The <tt>xydata</tt> table stores additional meta-data specific to xydata (2D data) objects.</p>
+<p>
+  <table cellspacing="0" class="body" cellpadding="2" border="1" width="80%">
+    <colgroup>
+      <col width="10%"/>
+      <col width="10%"/>
+      <col width="80%"/>
+    </colgroup>
+    <thead>
+      <tr valign="top">
+        <th class="categorylist">Field</th>
+        <th class="categorylist">Data Type</th>
+        <th class="categorylist">Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <!-- Field: 'id' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>id</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>int(11)</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>A unique identification number for all entries in the table.</p>
+        </td>
+      </tr>
+      <!-- Field: 'xunits' -->
+      <tr valign="top">
+        <td bgcolor="#e3e4e5">
+          <p><tt>xunits</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#e3e4e5">
+          <p>The X-units associated with this time-series.</p>
+        </td>
+      </tr>
+      <!-- Field: 'yunits' -->
+      <tr valign="top">
+        <td bgcolor="#f3f4f5">
+          <p><tt>yunits</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p><tt>text</tt></p>
+        </td>
+        <td bgcolor="#f3f4f5">
+          <p>The Y-units associated with this time-series.</p>
+        </td>
+      </tr>
+    </tbody>
+  </table>
+</p>