install.xml 19.1 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
<?xml version="1.0" encoding="UTF-8" ?>
<XMLDB PATH="lib/db" VERSION="20060926" COMMENT="XMLDB file for Mahara files plugin tables"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="../../lib/xmldb/xmldb.xsd"
>
<TABLES>
        <TABLE NAME="external_services" COMMENT="built in and custom external services">
          <FIELDS>
            <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" NEXT="name"/>
            <FIELD NAME="name" TYPE="char" LENGTH="200" NOTNULL="true" SEQUENCE="false" PREVIOUS="id" NEXT="enabled"/>
            <FIELD NAME="enabled" TYPE="int" LENGTH="1" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" PREVIOUS="name" NEXT="restrictedusers"/>
            <FIELD NAME="restrictedusers" TYPE="int" LENGTH="1" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" PREVIOUS="enabled" NEXT="tokenusers"/>
            <FIELD NAME="tokenusers" TYPE="int" LENGTH="1" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" PREVIOUS="restrictedusers" NEXT="component"/>
            <FIELD NAME="component" TYPE="char" LENGTH="100" NOTNULL="false" SEQUENCE="false" PREVIOUS="restrictedusers" NEXT="timecreated"/>
            <FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" PREVIOUS="component" NEXT="timemodified"/>
            <FIELD NAME="timemodified" TYPE="int" LENGTH="10" NOTNULL="false" UNSIGNED="true" SEQUENCE="false" PREVIOUS="timecreated"/>
          </FIELDS>
          <KEYS>
            <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
          </KEYS>
          <INDEXES>
22
            <INDEX NAME="nameuk" UNIQUE="true" FIELDS="name"/>
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
          </INDEXES>
        </TABLE>
        <TABLE NAME="external_functions" COMMENT="list of all external functions">
          <FIELDS>
            <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" NEXT="name"/>
            <FIELD NAME="name" TYPE="char" LENGTH="200" NOTNULL="true" SEQUENCE="false" PREVIOUS="id" NEXT="classname"/>
            <FIELD NAME="classname" TYPE="char" LENGTH="100" NOTNULL="true" SEQUENCE="false" PREVIOUS="name" NEXT="methodname"/>
            <FIELD NAME="methodname" TYPE="char" LENGTH="100" NOTNULL="true" SEQUENCE="false" PREVIOUS="classname" NEXT="classpath"/>
            <FIELD NAME="classpath" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" PREVIOUS="methodname" NEXT="component"/>
            <FIELD NAME="component" TYPE="char" LENGTH="100" NOTNULL="true" SEQUENCE="false" PREVIOUS="classpath"/>
          </FIELDS>
          <KEYS>
            <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
          </KEYS>
          <INDEXES>
38
            <INDEX NAME="nameuk" UNIQUE="true" FIELDS="name" COMMENT="the external function names must be globally unique"/>
39 40 41 42 43 44 45 46 47
          </INDEXES>
        </TABLE>
        <TABLE NAME="external_services_functions" COMMENT="lists functions available in each service group">
          <FIELDS>
            <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" NEXT="externalserviceid"/>
            <FIELD NAME="externalserviceid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" PREVIOUS="id" NEXT="functionname"/>
            <FIELD NAME="functionname" TYPE="char" LENGTH="200" NOTNULL="true" SEQUENCE="false" PREVIOUS="externalserviceid"/>
          </FIELDS>
          <KEYS>
48 49
            <KEY NAME="primary" TYPE="primary" FIELDS="id" NEXT="externalserviceidfk"/>
            <KEY NAME="externalserviceidfk" TYPE="foreign" FIELDS="externalserviceid" REFTABLE="external_services" REFFIELDS="id" PREVIOUS="primary"/>
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
          </KEYS>
        </TABLE>
        <TABLE NAME="external_tokens" COMMENT="Security tokens for accessing of external services">
          <FIELDS>
            <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" NEXT="token"/>
            <FIELD NAME="token" TYPE="char" LENGTH="128" NOTNULL="true" SEQUENCE="false" COMMENT="security token, aka private access key" PREVIOUS="id" NEXT="tokentype"/>
            <FIELD NAME="tokentype" TYPE="int" LENGTH="4" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" COMMENT="type of token: 0=permanent, no session; 1=linked to current browser session via sid; 2=permanent, with emulated session" PREVIOUS="token" NEXT="userid"/>
            <FIELD NAME="userid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="false" SEQUENCE="false" COMMENT="owner of the token" PREVIOUS="tokentype" NEXT="institution"/>
            <FIELD NAME="institution" TYPE="char" LENGTH="255" NOTNULL="true" PREVIOUS="userid" NEXT="externalserviceid" />
            <FIELD NAME="externalserviceid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" PREVIOUS="institution" NEXT="sid"/>
            <FIELD NAME="sid" TYPE="char" LENGTH="128" NOTNULL="false" SEQUENCE="false" COMMENT="link to browser or emulated session" PREVIOUS="externalserviceid" NEXT="creatorid"/>
            <FIELD NAME="creatorid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="false" DEFAULT="1" SEQUENCE="false" COMMENT="user id of the token creator (useful to know when the administrator created a token and so display the token to a specific administrator)" PREVIOUS="sid" NEXT="iprestriction"/>
            <FIELD NAME="iprestriction" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" COMMENT="ip restriction" PREVIOUS="creatorid" NEXT="validuntil"/>
            <FIELD NAME="validuntil" TYPE="int" LENGTH="10" NOTNULL="false" UNSIGNED="true" SEQUENCE="false" COMMENT="timestampt - valid until data" PREVIOUS="iprestriction" NEXT="timecreated"/>
            <FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" COMMENT="created timestamp" PREVIOUS="validuntil" NEXT="lastaccess"/>
            <FIELD NAME="lastaccess" TYPE="int" LENGTH="10" NOTNULL="false" UNSIGNED="true" SEQUENCE="false" COMMENT="last access timestamp" PREVIOUS="timecreated" NEXT="publickey"/>
            <FIELD NAME="publickey" TYPE="text" NOTNULL="true" DEFAULT="" SEQUENCE="false" COMMENT="created timestamp" PREVIOUS="privatekey" NEXT="publickeyexpires"/>
67
            <FIELD NAME="publickeyexpires" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false" COMMENT="created timestamp" PREVIOUS="publickey" NEXT="wssigenc"/>
68 69 70
            <FIELD NAME="wssigenc" TYPE="int" LENGTH="1" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" PREVIOUS="publickeyexpires"/>
          </FIELDS>
          <KEYS>
71 72 73 74 75
            <KEY NAME="primary" TYPE="primary" FIELDS="id" NEXT="useridfk"/>
            <KEY NAME="useridfk" TYPE="foreign" FIELDS="userid" REFTABLE="usr" REFFIELDS="id" PREVIOUS="primary" NEXT="institutionfk"/>
            <KEY NAME="institutionfk" TYPE="foreign" FIELDS="institution" REFTABLE="institution" REFFIELDS="name" PREVIOUS="useridfk" NEXT="externalserviceidfk"/>
            <KEY NAME="externalserviceidfk" TYPE="foreign" FIELDS="externalserviceid" REFTABLE="external_services" REFFIELDS="id" PREVIOUS="institutionfk" NEXT="creatoridfk"/>
            <KEY NAME="creatoridfk" TYPE="foreign" FIELDS="creatorid" REFTABLE="usr" REFFIELDS="id" PREVIOUS="externalserviceidfk"/>
76 77
          </KEYS>
          <INDEXES>
78
              <INDEX NAME="tokenuk" UNIQUE="true" FIELDS="token"/>
79 80 81 82 83 84 85 86 87 88 89 90 91
          </INDEXES>
        </TABLE>
        <TABLE NAME="external_services_users" COMMENT="users allowed to use services with restricted users flag">
          <FIELDS>
            <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" NEXT="externalserviceid"/>
            <FIELD NAME="externalserviceid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" PREVIOUS="id" NEXT="userid"/>
            <FIELD NAME="userid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="false" SEQUENCE="false" PREVIOUS="externalserviceid" NEXT="institution"/>
            <FIELD NAME="institution" TYPE="char" LENGTH="255" NOTNULL="true" PREVIOUS="userid" NEXT="iprestriction" />
            <FIELD NAME="iprestriction" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" COMMENT="ip restriction" PREVIOUS="institution" NEXT="validuntil"/>
            <FIELD NAME="validuntil" TYPE="int" LENGTH="10" NOTNULL="false" UNSIGNED="true" SEQUENCE="false" COMMENT="timestampt - valid until data" PREVIOUS="iprestriction" NEXT="timecreated"/>
            <FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="false" UNSIGNED="true" SEQUENCE="false" COMMENT="created timestamp" PREVIOUS="validuntil" NEXT="lastaccess"/>
            <FIELD NAME="lastaccess" TYPE="int" LENGTH="10" NOTNULL="false" UNSIGNED="true" SEQUENCE="false" COMMENT="last access timestamp" PREVIOUS="timecreated" NEXT="publickey"/>
            <FIELD NAME="publickey" TYPE="text" NOTNULL="true" DEFAULT="" SEQUENCE="false" COMMENT="created timestamp" PREVIOUS="privatekey" NEXT="publickeyexpires"/>
92
            <FIELD NAME="publickeyexpires" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false" COMMENT="created timestamp" PREVIOUS="publickey" NEXT="wssigenc"/>
93 94 95 96
            <FIELD NAME="wssigenc" TYPE="int" LENGTH="1" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" PREVIOUS="publickeyexpires"/>
          </FIELDS>
          <KEYS>
            <KEY NAME="primary" TYPE="primary" FIELDS="id" NEXT="externalserviceid"/>
97 98 99
            <KEY NAME="externalserviceidfk" TYPE="foreign" FIELDS="externalserviceid" REFTABLE="external_services" REFFIELDS="id" PREVIOUS="primary" NEXT="useridfk"/>
            <KEY NAME="useridfk" TYPE="foreign" FIELDS="userid" REFTABLE="usr" REFFIELDS="id" PREVIOUS="externalserviceiduk" NEXT="institutionfk"/>
            <KEY NAME="institutionfk" TYPE="foreign" FIELDS="institution" REFTABLE="institution" REFFIELDS="name" PREVIOUS="useridfk"/>
100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
          </KEYS>
        </TABLE>
         <TABLE NAME="oauth_server_registry" COMMENT="Table holding consumer key/secret combos an user issued to consumers">
          <FIELDS>
            <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true"  COMMENT="osr id" NEXT="userid"/>
            <FIELD NAME="userid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="false" SEQUENCE="false" COMMENT="usr ref" PREVIOUS="id" NEXT="consumer_key"/>
            <FIELD NAME="externalserviceid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" PREVIOUS="userid" NEXT="institution"/>
            <FIELD NAME="institution" TYPE="char" LENGTH="255" NOTNULL="true" PREVIOUS="externalserviceid" NEXT="consumer_key" />
            <FIELD NAME="consumer_key" TYPE="char" LENGTH="128" NOTNULL="true" DEFAULT="" COMMENT="consumer key" PREVIOUS="institution" NEXT="consumer_secret" />
            <FIELD NAME="consumer_secret" TYPE="char" LENGTH="128" NOTNULL="true" SEQUENCE="false" COMMENT="consumer secret" PREVIOUS="consumer_key" NEXT="enabled"/>
            <FIELD NAME="enabled" TYPE="int" LENGTH="1" NOTNULL="true" DEFAULT="0" COMMENT="enabled" PREVIOUS="enabled" NEXT="status"/>
            <FIELD NAME="status" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" COMMENT="status" PREVIOUS="enabled" NEXT="requester_name"/>
            <FIELD NAME="requester_name" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" COMMENT="requester name" PREVIOUS="status" NEXT="requester_email"/>
            <FIELD NAME="requester_email" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" COMMENT="requester email" PREVIOUS="requester_name" NEXT="callback_uri"/>
            <FIELD NAME="callback_uri" TYPE="text" NOTNULL="true" SEQUENCE="false" COMMENT="callback URI" PREVIOUS="requester_email" NEXT="application_uri"/>
            <FIELD NAME="application_uri" TYPE="text" NOTNULL="true" SEQUENCE="false" COMMENT="application URI" PREVIOUS="callback_uri" NEXT="application_title"/>
            <FIELD NAME="application_title" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" COMMENT="application title" PREVIOUS="application_uri" NEXT="application_descr"/>
            <FIELD NAME="application_descr" TYPE="text" NOTNULL="true" SEQUENCE="false" COMMENT="application description" PREVIOUS="application_title" NEXT="application_notes"/>
            <FIELD NAME="application_notes" TYPE="text" NOTNULL="true" SEQUENCE="false" COMMENT="application notes" PREVIOUS="application_descr" NEXT="application_type"/>
            <FIELD NAME="application_type"  TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" COMMENT="application type" PREVIOUS="application_notes" NEXT="issue_date"/>
            <FIELD NAME="issue_date" TYPE="datetime" NOTNULL="true"  SEQUENCE="false"  COMMENT="creation timestamp" PREVIOUS="application_type" NEXT="timestamp"/>
            <FIELD NAME="timestamp" TYPE="datetime" NOTNULL="true"  SEQUENCE="false" COMMENT="creation timestamp" PREVIOUS="issue_date"/>
          </FIELDS>
          <KEYS>
124 125 126 127 128
            <KEY NAME="primary" TYPE="primary" FIELDS="id" NEXT="consumerkeyuk"/>
            <KEY NAME="consumerkeyuk" TYPE="unique" FIELDS="consumer_key" PREVIOUS="primary" NEXT="useridfk"/>
            <KEY NAME="useridfk" TYPE="foreign" FIELDS="userid" REFTABLE="usr" REFFIELDS="id" PREVIOUS="consumerkeyuk" NEXT="externalserviceidfk"/>
            <KEY NAME="externalserviceidfk" TYPE="foreign" FIELDS="externalserviceid" REFTABLE="external_services" REFFIELDS="id" PREVIOUS="useriduk" NEXT="institutionfk"/>
            <KEY NAME="institutionfk" TYPE="foreign" FIELDS="institution" REFTABLE="institution" REFFIELDS="name" PREVIOUS="externalserviceidfk"/>
129 130 131 132 133 134 135 136 137 138 139
          </KEYS>
        </TABLE>
        <TABLE NAME="oauth_server_nonce" COMMENT="Nonce used by a certain consumer, every used nonce should be unique, this prevents replaying attacks">
          <FIELDS>
            <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true"  COMMENT="osn id" NEXT="consumer_key"/>
            <FIELD NAME="consumer_key" TYPE="char" LENGTH="128" NOTNULL="true" DEFAULT="" COMMENT="consumer key" PREVIOUS="id" NEXT="token" />
            <FIELD NAME="token" TYPE="char" LENGTH="64" NOTNULL="true" SEQUENCE="false" COMMENT="token" PREVIOUS="consumer_key" NEXT="nonce"/>
            <FIELD NAME="nonce" TYPE="char" LENGTH="80" NOTNULL="true" SEQUENCE="false" COMMENT="nonce" PREVIOUS="token" NEXT="timestamp"/>
            <FIELD NAME="timestamp" TYPE="datetime" NOTNULL="true"  SEQUENCE="false" COMMENT="creation timestamp" PREVIOUS="nonce"/>
          </FIELDS>
          <KEYS>
140 141
            <KEY NAME="primary" TYPE="primary" FIELDS="id" NEXT="keysuk"/>
            <KEY NAME="keysuk" TYPE="unique" FIELDS="consumer_key,token,timestamp,nonce" PREVIOUS="primary"/>
142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
          </KEYS>
        </TABLE>
         <TABLE NAME="oauth_server_token" COMMENT="Table used to verify signed requests sent to a server by the consumer">
          <FIELDS>
            <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true"  COMMENT="ost id" NEXT="osr_id_ref"/>
            <FIELD NAME="osr_id_ref" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" COMMENT="osr ref" PREVIOUS="id" NEXT="userid"/>
            <FIELD NAME="userid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="false" SEQUENCE="false" COMMENT="usr ref" PREVIOUS="osr_id_ref" NEXT="token"/>
            <FIELD NAME="token" TYPE="char" LENGTH="64" NOTNULL="true" SEQUENCE="false" COMMENT="token" PREVIOUS="userid" NEXT="token_secret"/>
            <FIELD NAME="token_secret" TYPE="char" LENGTH="64" NOTNULL="true" SEQUENCE="false" COMMENT="token secret" PREVIOUS="token" NEXT="token_type"/>
            <FIELD NAME="token_type" TYPE="char" LENGTH="20" NOTNULL="true" COMMENT="token type" ENUM="true" ENUMVALUES="'request', 'access'"  PREVIOUS="token_secret" NEXT="authorized"/>
            <FIELD NAME="authorized" TYPE="int" LENGTH="1" NOTNULL="true" DEFAULT="0" COMMENT="authorised" PREVIOUS="token_type" NEXT="referrer_host"/>
            <FIELD NAME="referrer_host" TYPE="char" LENGTH="128" NOTNULL="true" DEFAULT="" COMMENT="referrer host" PREVIOUS="authorized" NEXT="callback_uri" />
            <FIELD NAME="callback_uri" TYPE="text" NOTNULL="true" SEQUENCE="false" COMMENT="callback URI" PREVIOUS="referrer_host" NEXT="verifier"/>
            <FIELD NAME="verifier" TYPE="char" LENGTH="10" NOTNULL="true" SEQUENCE="false" COMMENT="verifier" PREVIOUS="callback_uri" NEXT="token_ttl"/>
            <FIELD NAME="token_ttl" TYPE="datetime" NOTNULL="true"  SEQUENCE="false" DEFAULT="'9999-12-31'" COMMENT="ttl for token" PREVIOUS="verifier" NEXT="timestamp"/>
            <FIELD NAME="timestamp" TYPE="datetime" NOTNULL="true"  SEQUENCE="false" COMMENT="creation timestamp" PREVIOUS="token_ttl"/>
          </FIELDS>
          <KEYS>
160 161 162 163
            <KEY NAME="primary" TYPE="primary" FIELDS="id" NEXT="tokenuk"/>
            <KEY NAME="tokenuk" TYPE="unique" FIELDS="token" PREVIOUS="primary" NEXT="osrrefidfk"/>
            <KEY NAME="osrrefidfk" TYPE="foreign" FIELDS="osr_id_ref" REFTABLE="oauth_server_registry" REFFIELDS="id" PREVIOUS="tokenuk" NEXT="useridfk"/>
            <KEY NAME="useridfk" TYPE="foreign" FIELDS="userid" REFTABLE="usr" REFFIELDS="id" PREVIOUS="osrrefidfk"/>
164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182
          </KEYS>
        </TABLE>
       <TABLE NAME="external_services_logs" COMMENT="external services logs">
          <FIELDS>
            <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" NEXT="timelogged"/>
            <FIELD NAME="timelogged" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" PREVIOUS="id" NEXT="userid"/>
            <FIELD NAME="userid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="false" SEQUENCE="false" COMMENT="usr ref" PREVIOUS="timelogged" NEXT="externalserviceid"/>
            <FIELD NAME="externalserviceid" TYPE="int" LENGTH="10" NOTNULL="false" UNSIGNED="true" SEQUENCE="false" PREVIOUS="userid" NEXT="institution"/>
            <FIELD NAME="institution" TYPE="char" LENGTH="255" NOTNULL="true" PREVIOUS="externalserviceid" NEXT="funcitonname" />
            <FIELD NAME="protocol" TYPE="char" LENGTH="10" NOTNULL="true" PREVIOUS="institution" NEXT="auth" />
            <FIELD NAME="auth" TYPE="char" LENGTH="10" NOTNULL="true" PREVIOUS="protocol" NEXT="funcitonname" />
            <FIELD NAME="functionname" TYPE="char" LENGTH="200" NOTNULL="false" SEQUENCE="false" PREVIOUS="auth" NEXT="timetaken"/>
            <FIELD NAME="timetaken" TYPE="number" LENGTH="10" DECIMALS="5" NOTNULL="true" UNSIGNED="false" SEQUENCE="false" PREVIOUS="funcitonname" NEXT="uri"/>
            <FIELD NAME="uri" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" PREVIOUS="funcitonname" NEXT="info"/>
            <FIELD NAME="info" TYPE="text" NOTNULL="false" SEQUENCE="false" PREVIOUS="uri" NEXT="ip"/>
            <FIELD NAME="ip" TYPE="char" LENGTH="45" NOTNULL="false" SEQUENCE="false" PREVIOUS="info"/>
          </FIELDS>
          <KEYS>
            <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
183
            <KEY NAME="useridfk" TYPE="foreign" FIELDS="userid" REFTABLE="usr" REFFIELDS="id"/>
184 185 186 187 188 189 190 191 192 193
          </KEYS>
          <INDEXES>
            <INDEX NAME="externalserviceid" UNIQUE="false" FIELDS="externalserviceid"/>
            <INDEX NAME="institution" UNIQUE="false" FIELDS="institution"/>
            <INDEX NAME="functionname" UNIQUE="false" FIELDS="functionname"/>
            <INDEX NAME="timelogged" UNIQUE="false" FIELDS="timelogged"/>
          </INDEXES>
        </TABLE>
</TABLES>
</XMLDB>