install.xml 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <XMLDB PATH="mod/sloodle/db" VERSION="20110820" COMMENT="XMLDB file for Sloodle"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:noNamespaceSchemaLocation="../../../lib/xmldb/xmldb.xsd"
  5. >
  6. <TABLES>
  7. <TABLE NAME="sloodle" COMMENT="Defines instances of Sloodle modules." NEXT="sloodle_controller">
  8. <FIELDS>
  9. <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" NEXT="course"/>
  10. <FIELD NAME="course" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="id" NEXT="type"/>
  11. <FIELD NAME="type" TYPE="char" LENGTH="50" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="Shortname of the type of this Sloodle module." PREVIOUS="course" NEXT="name"/>
  12. <FIELD NAME="name" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="The name of this Sloodle instance" PREVIOUS="type" NEXT="intro"/>
  13. <FIELD NAME="intro" TYPE="text" LENGTH="medium" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="Intro text for this Sloodle isntance" PREVIOUS="name" NEXT="introformat"/>
  14. <FIELD NAME="introformat" TYPE="int" LENGTH="4" NOTNULL="false" UNSIGNED="true" SEQUENCE="false" ENUM="false" COMMENT="Stores format of intro field." PREVIOUS="intro" NEXT="timecreated"/>
  15. <FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="introformat" NEXT="timemodified"/>
  16. <FIELD NAME="timemodified" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="timecreated"/>
  17. </FIELDS>
  18. <KEYS>
  19. <KEY NAME="primary" TYPE="primary" FIELDS="id" COMMENT="Primary key for sloodle"/>
  20. </KEYS>
  21. <INDEXES>
  22. <INDEX NAME="course" UNIQUE="false" FIELDS="course"/>
  23. </INDEXES>
  24. </TABLE>
  25. <TABLE NAME="sloodle_controller" COMMENT="Defines instances of Sloodle controllers." PREVIOUS="sloodle" NEXT="sloodle_distributor">
  26. <FIELDS>
  27. <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" NEXT="sloodleid"/>
  28. <FIELD NAME="sloodleid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" COMMENT="Identifies which Sloodle instance this refers to." PREVIOUS="id" NEXT="enabled"/>
  29. <FIELD NAME="enabled" TYPE="int" LENGTH="1" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" COMMENT="Indicates whether or not this Controller is enabled.." PREVIOUS="sloodleid" NEXT="password"/>
  30. <FIELD NAME="password" TYPE="char" LENGTH="9" NOTNULL="false" SEQUENCE="false" ENUM="false" COMMENT="Prim Password for this instance. If left blank, it should use the site default." PREVIOUS="enabled"/>
  31. </FIELDS>
  32. <KEYS>
  33. <KEY NAME="primary" TYPE="primary" FIELDS="id" COMMENT="Primary key for table"/>
  34. </KEYS>
  35. <INDEXES>
  36. <INDEX NAME="sloodleid" UNIQUE="true" FIELDS="sloodleid"/>
  37. </INDEXES>
  38. </TABLE>
  39. <TABLE NAME="sloodle_distributor" COMMENT="Defines instances of Sloodle distributors." PREVIOUS="sloodle_controller" NEXT="sloodle_distributor_entry">
  40. <FIELDS>
  41. <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" NEXT="sloodleid"/>
  42. <FIELD NAME="sloodleid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" COMMENT="Identifies which Sloodle instance this refers to." PREVIOUS="id" NEXT="channel"/>
  43. <FIELD NAME="channel" TYPE="char" LENGTH="36" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="UUID of the XMLRPC channel opened by the Distributor object in-world" PREVIOUS="sloodleid" NEXT="timeupdated"/>
  44. <FIELD NAME="timeupdated" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="channel"/>
  45. </FIELDS>
  46. <KEYS>
  47. <KEY NAME="primary" TYPE="primary" FIELDS="id" COMMENT="Primary key for table"/>
  48. </KEYS>
  49. </TABLE>
  50. <TABLE NAME="sloodle_distributor_entry" COMMENT="Defines entries in Sloodle Distributors." PREVIOUS="sloodle_distributor" NEXT="sloodle_users">
  51. <FIELDS>
  52. <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" NEXT="distributorid"/>
  53. <FIELD NAME="distributorid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" COMMENT="Identifies which Distributor instance this refers to." PREVIOUS="id" NEXT="name"/>
  54. <FIELD NAME="name" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="The name of this Sloodle distributor entry" PREVIOUS="distributorid"/>
  55. </FIELDS>
  56. <KEYS>
  57. <KEY NAME="primary" TYPE="primary" FIELDS="id" COMMENT="Primary key for table"/>
  58. </KEYS>
  59. </TABLE>
  60. <TABLE NAME="sloodle_users" COMMENT="Associates Moodle user IDs with Second Life avatar UUIDs and names" PREVIOUS="sloodle_distributor_entry" NEXT="sloodle_course">
  61. <FIELDS>
  62. <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" COMMENT="Primary index field" NEXT="userid"/>
  63. <FIELD NAME="userid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" ENUM="false" COMMENT="Index of the associated Moodle user account." PREVIOUS="id" NEXT="uuid"/>
  64. <FIELD NAME="uuid" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="UUID of the user agent" PREVIOUS="userid" NEXT="avname"/>
  65. <FIELD NAME="avname" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="Name of the avatar" PREVIOUS="uuid" NEXT="profilepic"/>
  66. <FIELD NAME="profilepic" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" ENUM="false" COMMENT="Profile url of the avatar" PREVIOUS="avname" NEXT="lastactive"/>
  67. <FIELD NAME="lastactive" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" COMMENT="Timestamp of the last time the avatar did any Sloodle activity" PREVIOUS="profilepic"/>
  68. </FIELDS>
  69. <KEYS>
  70. <KEY NAME="primary" TYPE="primary" FIELDS="id" COMMENT="Primary key for sloodle_users"/>
  71. </KEYS>
  72. <INDEXES>
  73. <INDEX NAME="uuid" UNIQUE="false" FIELDS="uuid" NEXT="userid"/>
  74. <INDEX NAME="userid" UNIQUE="false" FIELDS="userid" PREVIOUS="uuid"/>
  75. </INDEXES>
  76. </TABLE>
  77. <TABLE NAME="sloodle_course" COMMENT="Stores Sloodle data about each course" PREVIOUS="sloodle_users" NEXT="sloodle_pending_avatars">
  78. <FIELDS>
  79. <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" COMMENT="Primary index field" NEXT="course"/>
  80. <FIELD NAME="course" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" COMMENT="Index of the Moodle course this record relates to" PREVIOUS="id" NEXT="autoreg"/>
  81. <FIELD NAME="autoreg" TYPE="int" LENGTH="1" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" COMMENT="Indicates whether or not auto-registration is enabled for this course" PREVIOUS="course" NEXT="autoenrol"/>
  82. <FIELD NAME="autoenrol" TYPE="int" LENGTH="1" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" COMMENT="Indicates whether or not auto-enrolment is enabled for this course" PREVIOUS="autoreg" NEXT="loginzonepos"/>
  83. <FIELD NAME="loginzonepos" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" ENUM="false" COMMENT="Position vector of the LoginZone for this course" PREVIOUS="autoenrol" NEXT="loginzonesize"/>
  84. <FIELD NAME="loginzonesize" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" ENUM="false" COMMENT="Size vector of the LoginZone for this course" PREVIOUS="loginzonepos" NEXT="loginzoneregion"/>
  85. <FIELD NAME="loginzoneregion" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" ENUM="false" COMMENT="Name of the region where the LoginZone is rezzed" PREVIOUS="loginzonesize" NEXT="loginzoneupdated"/>
  86. <FIELD NAME="loginzoneupdated" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" COMMENT="Timestamp of the last time the LoginZone was updated" PREVIOUS="loginzoneregion"/>
  87. </FIELDS>
  88. <KEYS>
  89. <KEY NAME="primary" TYPE="primary" FIELDS="id" COMMENT="Primary key for sloodle_users"/>
  90. </KEYS>
  91. <INDEXES>
  92. <INDEX NAME="course" UNIQUE="false" FIELDS="course"/>
  93. </INDEXES>
  94. </TABLE>
  95. <TABLE NAME="sloodle_pending_avatars" COMMENT="Lists avatars which are awaiting a link to a Moodle account" PREVIOUS="sloodle_course" NEXT="sloodle_active_object">
  96. <FIELDS>
  97. <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" COMMENT="Primary index field" NEXT="uuid"/>
  98. <FIELD NAME="uuid" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="UUID of the user agent" PREVIOUS="id" NEXT="avname"/>
  99. <FIELD NAME="avname" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="Name of the avatar" PREVIOUS="uuid" NEXT="lst"/>
  100. <FIELD NAME="lst" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="The Login Security Token to secure the registration." PREVIOUS="avname" NEXT="timeupdated"/>
  101. <FIELD NAME="timeupdated" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" COMMENT="Timestamp for when this entry was created or updated. Entries expire after a certain period." PREVIOUS="lst"/>
  102. </FIELDS>
  103. <KEYS>
  104. <KEY NAME="primary" TYPE="primary" FIELDS="id" COMMENT="Primary key for table"/>
  105. </KEYS>
  106. <INDEXES>
  107. <INDEX NAME="uuid" UNIQUE="false" FIELDS="uuid"/>
  108. </INDEXES>
  109. </TABLE>
  110. <TABLE NAME="sloodle_active_object" COMMENT="Lists objects which have been authorized to access specific controllers" PREVIOUS="sloodle_pending_avatars" NEXT="sloodle_object_config">
  111. <FIELDS>
  112. <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" COMMENT="Primary index field" NEXT="controllerid"/>
  113. <FIELD NAME="controllerid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" ENUM="false" COMMENT="The controller which this object is authorised for." PREVIOUS="id" NEXT="userid"/>
  114. <FIELD NAME="userid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" ENUM="false" COMMENT="ID of the user who authorised this object, directly or indirectly. If 0, then it is not yet authorised." PREVIOUS="controllerid" NEXT="uuid"/>
  115. <FIELD NAME="uuid" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="UUID of the object" PREVIOUS="userid" NEXT="password"/>
  116. <FIELD NAME="password" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="Object-specific password" PREVIOUS="uuid" NEXT="name"/>
  117. <FIELD NAME="name" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="Name of the object" PREVIOUS="password" NEXT="type"/>
  118. <FIELD NAME="type" TYPE="char" LENGTH="50" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="Type identifier of the object. Used to determine which configuration script to use." PREVIOUS="name" NEXT="timeupdated"/>
  119. <FIELD NAME="timeupdated" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" COMMENT="Timestamp for when this entry was created or updated. Entries expire after a certain period." PREVIOUS="type" NEXT="httpinurl"/>
  120. <FIELD NAME="httpinurl" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" ENUM="false" COMMENT="Use this field to save and update the httpin url, which is to be used to send the object configuration data from Sloodle Server code, and potentially other info" PREVIOUS="timeupdated" NEXT="mediakey"/>
  121. <FIELD NAME="mediakey" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" ENUM="false" COMMENT="secret key to be used in shared media urls. This key will be used to identify the object" PREVIOUS="httpinurl" NEXT="lastmessagetimestamp"/>
  122. <FIELD NAME="lastmessagetimestamp" TYPE="int" LENGTH="10" NOTNULL="false" UNSIGNED="true" SEQUENCE="false" ENUM="false" COMMENT="timestamp of last message sent from the server to this object, this is used in cases where we want to make sure the object has up to date information before giving it more." PREVIOUS="mediakey" NEXT="httpinpassword"/>
  123. <FIELD NAME="httpinpassword" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" ENUM="false" COMMENT="secret key used to prove that an httpin request comes from the server" PREVIOUS="lastmessagetimestamp" NEXT="layoutentryid"/>
  124. <FIELD NAME="layoutentryid" TYPE="int" LENGTH="10" NOTNULL="false" UNSIGNED="true" SEQUENCE="false" ENUM="false" PREVIOUS="httpinpassword" NEXT="rezzeruuid"/>
  125. <FIELD NAME="rezzeruuid" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" ENUM="false" PREVIOUS="layoutentryid" NEXT="position"/>
  126. <FIELD NAME="position" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" ENUM="false" PREVIOUS="rezzeruuid" NEXT="rotation"/>
  127. <FIELD NAME="rotation" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" ENUM="false" PREVIOUS="position" NEXT="region"/>
  128. <FIELD NAME="region" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" ENUM="false" PREVIOUS="rotation"/>
  129. </FIELDS>
  130. <KEYS>
  131. <KEY NAME="primary" TYPE="primary" FIELDS="id" COMMENT="Primary key for table"/>
  132. </KEYS>
  133. <INDEXES>
  134. <INDEX NAME="uuid" UNIQUE="true" FIELDS="uuid" COMMENT="Objects cannot be authorised more than once, although their authorisation can change." NEXT="idx_active_object_rezzeruuid"/>
  135. <INDEX NAME="idx_active_object_rezzeruuid" UNIQUE="false" FIELDS="rezzeruuid" PREVIOUS="uuid"/>
  136. </INDEXES>
  137. </TABLE>
  138. <TABLE NAME="sloodle_object_config" COMMENT="Configuration settings for registered active objects" PREVIOUS="sloodle_active_object" NEXT="sloodle_login_notifications">
  139. <FIELDS>
  140. <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" COMMENT="Primary index field" NEXT="object"/>
  141. <FIELD NAME="object" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" ENUM="false" COMMENT="Identifies which object this setting refers to." PREVIOUS="id" NEXT="name"/>
  142. <FIELD NAME="name" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="Name of the setting" PREVIOUS="object" NEXT="value"/>
  143. <FIELD NAME="value" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="Value of the setting" PREVIOUS="name"/>
  144. </FIELDS>
  145. <KEYS>
  146. <KEY NAME="primary" TYPE="primary" FIELDS="id" COMMENT="Primary key for table"/>
  147. </KEYS>
  148. <INDEXES>
  149. <INDEX NAME="object-name" UNIQUE="true" FIELDS="object, name" COMMENT="Setting names must be unique for a given object"/>
  150. </INDEXES>
  151. </TABLE>
  152. <TABLE NAME="sloodle_login_notifications" COMMENT="Contains the details of auto-registration login details which are to be sent" PREVIOUS="sloodle_object_config" NEXT="sloodle_layout">
  153. <FIELDS>
  154. <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" COMMENT="Primary index field" NEXT="destination"/>
  155. <FIELD NAME="destination" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="UUID of the object which will relay the notification" PREVIOUS="id" NEXT="avatar"/>
  156. <FIELD NAME="avatar" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="UUID of the user agent to whom the notification is being sent" PREVIOUS="destination" NEXT="username"/>
  157. <FIELD NAME="username" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="Username of the new account" PREVIOUS="avatar" NEXT="password"/>
  158. <FIELD NAME="password" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="Plaintext password of the new account" PREVIOUS="username"/>
  159. </FIELDS>
  160. <KEYS>
  161. <KEY NAME="primary" TYPE="primary" FIELDS="id" COMMENT="Primary key for table"/>
  162. </KEYS>
  163. </TABLE>
  164. <TABLE NAME="sloodle_layout" COMMENT="Defines classroom layout profiles" PREVIOUS="sloodle_login_notifications" NEXT="sloodle_layout_entry">
  165. <FIELDS>
  166. <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" NEXT="course"/>
  167. <FIELD NAME="course" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" COMMENT="Identifies which course this profile belongs to. Relates to the Moodle course table" PREVIOUS="id" NEXT="name"/>
  168. <FIELD NAME="name" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="The name of this layout profile" PREVIOUS="course" NEXT="timeupdated"/>
  169. <FIELD NAME="timeupdated" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" COMMENT="Timestamps for when this profile was last updated" PREVIOUS="name" NEXT="controllerid"/>
  170. <FIELD NAME="controllerid" TYPE="int" LENGTH="10" NOTNULL="false" UNSIGNED="true" SEQUENCE="false" ENUM="false" PREVIOUS="timeupdated"/>
  171. </FIELDS>
  172. <KEYS>
  173. <KEY NAME="primary" TYPE="primary" FIELDS="id" COMMENT="Primary key for table"/>
  174. </KEYS>
  175. <INDEXES>
  176. <INDEX NAME="course-name" UNIQUE="true" FIELDS="course, name" COMMENT="Profile names must be unique within each course"/>
  177. </INDEXES>
  178. </TABLE>
  179. <TABLE NAME="sloodle_layout_entry" COMMENT="Defines an object entry in a classroom layout" PREVIOUS="sloodle_layout" NEXT="sloodle_layout_entry_config">
  180. <FIELDS>
  181. <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" NEXT="layout"/>
  182. <FIELD NAME="layout" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" COMMENT="Identifies which layout profile this entry belongs to" PREVIOUS="id" NEXT="name"/>
  183. <FIELD NAME="name" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="The name of the object" PREVIOUS="layout" NEXT="position"/>
  184. <FIELD NAME="position" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="The position of the object, as a 3d SL-style vector" PREVIOUS="name" NEXT="rotation"/>
  185. <FIELD NAME="rotation" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="The rotation of the object, stored as a 3d SL-style vector of Euler angles" PREVIOUS="position"/>
  186. </FIELDS>
  187. <KEYS>
  188. <KEY NAME="primary" TYPE="primary" FIELDS="id" COMMENT="Primary key for table"/>
  189. </KEYS>
  190. <INDEXES>
  191. <INDEX NAME="layout" UNIQUE="false" FIELDS="layout"/>
  192. </INDEXES>
  193. </TABLE>
  194. <TABLE NAME="sloodle_layout_entry_config" COMMENT="Defines configuration parameters for layout entries, providing defaults for active_object configurations" PREVIOUS="sloodle_layout_entry" NEXT="sloodle_loginzone_allocation">
  195. <FIELDS>
  196. <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" NEXT="layout_entry"/>
  197. <FIELD NAME="layout_entry" TYPE="int" LENGTH="10" NOTNULL="false" UNSIGNED="true" SEQUENCE="false" ENUM="false" COMMENT="Foreign key of layout_entry item" PREVIOUS="id" NEXT="name"/>
  198. <FIELD NAME="name" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" ENUM="false" COMMENT="name of paramter" PREVIOUS="layout_entry" NEXT="value"/>
  199. <FIELD NAME="value" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" ENUM="false" PREVIOUS="name"/>
  200. </FIELDS>
  201. <KEYS>
  202. <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
  203. </KEYS>
  204. </TABLE>
  205. <TABLE NAME="sloodle_loginzone_allocation" COMMENT="Gives allocation of a loginzone for a given user" PREVIOUS="sloodle_layout_entry_config" NEXT="sloodle_user_object">
  206. <FIELDS>
  207. <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" NEXT="course"/>
  208. <FIELD NAME="course" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" COMMENT="Identifies which course this allocation is for" PREVIOUS="id" NEXT="userid"/>
  209. <FIELD NAME="userid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" COMMENT="Identifies which user this allocation is for" PREVIOUS="course" NEXT="position"/>
  210. <FIELD NAME="position" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="The position of the allocation, relative to the LoginZone centre" PREVIOUS="userid" NEXT="timecreated"/>
  211. <FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" COMMENT="Timestamps for when this allocation was created" PREVIOUS="position"/>
  212. </FIELDS>
  213. <KEYS>
  214. <KEY NAME="primary" TYPE="primary" FIELDS="id" COMMENT="Primary key for table"/>
  215. </KEYS>
  216. <INDEXES>
  217. <INDEX NAME="course" UNIQUE="false" FIELDS="course" NEXT="userid"/>
  218. <INDEX NAME="userid" UNIQUE="true" FIELDS="userid" COMMENT="Each user can have only one allocation" PREVIOUS="course"/>
  219. </INDEXES>
  220. </TABLE>
  221. <TABLE NAME="sloodle_user_object" COMMENT="Lists user-centric objects which individual users have authorised for use with their own accounts, such as blogging" PREVIOUS="sloodle_loginzone_allocation" NEXT="sloodle_presenter">
  222. <FIELDS>
  223. <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" COMMENT="Primary index field" NEXT="avuuid"/>
  224. <FIELD NAME="avuuid" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="UUID of the avatar" PREVIOUS="id" NEXT="objuuid"/>
  225. <FIELD NAME="objuuid" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="UUID of the object" PREVIOUS="avuuid" NEXT="objname"/>
  226. <FIELD NAME="objname" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="Name of the object" PREVIOUS="objuuid" NEXT="password"/>
  227. <FIELD NAME="password" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" COMMENT="Object- and avatar-specific password" PREVIOUS="objname" NEXT="authorised"/>
  228. <FIELD NAME="authorised" TYPE="int" LENGTH="1" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" COMMENT="Indicates whether or not this object has been authorised.." PREVIOUS="password" NEXT="timeupdated"/>
  229. <FIELD NAME="timeupdated" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" COMMENT="Timestamp for when this entry was created or updated. Entries expire after a certain period." PREVIOUS="authorised"/>
  230. </FIELDS>
  231. <KEYS>
  232. <KEY NAME="primary" TYPE="primary" FIELDS="id" COMMENT="Primary key for table"/>
  233. </KEYS>
  234. <INDEXES>
  235. <INDEX NAME="objuuid" UNIQUE="true" FIELDS="objuuid" COMMENT="User objects can only be authorised against one avatar at a time."/>
  236. </INDEXES>
  237. </TABLE>
  238. <TABLE NAME="sloodle_presenter" COMMENT="Each record stores data about a Presenter instance." PREVIOUS="sloodle_user_object" NEXT="sloodle_presenter_entry">
  239. <FIELDS>
  240. <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" NEXT="sloodleid"/>
  241. <FIELD NAME="sloodleid" TYPE="int" LENGTH="10" NOTNULL="false" UNSIGNED="true" SEQUENCE="false" ENUM="false" COMMENT="Indicates which SLOODLE module instance this Presenter information relates to." PREVIOUS="id" NEXT="framewidth"/>
  242. <FIELD NAME="framewidth" TYPE="int" LENGTH="4" NOTNULL="false" UNSIGNED="true" DEFAULT="512" SEQUENCE="false" ENUM="false" COMMENT="Indicates the width of the frame for displaying content in Moodle." PREVIOUS="sloodleid" NEXT="frameheight"/>
  243. <FIELD NAME="frameheight" TYPE="int" LENGTH="4" NOTNULL="false" UNSIGNED="true" DEFAULT="512" SEQUENCE="false" ENUM="false" COMMENT="Indicates the height of the frame for displaying content in Moodle." PREVIOUS="framewidth"/>
  244. </FIELDS>
  245. <KEYS>
  246. <KEY NAME="primary" TYPE="primary" FIELDS="id" NEXT="sloodleid"/>
  247. <KEY NAME="sloodleid" TYPE="unique" FIELDS="sloodleid" PREVIOUS="primary"/>
  248. </KEYS>
  249. </TABLE>
  250. <TABLE NAME="sloodle_presenter_entry" COMMENT="sloodle_presenter_entry table retrofitted from MySQL" PREVIOUS="sloodle_presenter" NEXT="sloodle_logs">
  251. <FIELDS>
  252. <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" NEXT="sloodleid"/>
  253. <FIELD NAME="sloodleid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" ENUM="false" PREVIOUS="id" NEXT="name"/>
  254. <FIELD NAME="name" TYPE="text" LENGTH="small" NOTNULL="false" SEQUENCE="false" ENUM="false" COMMENT="Specifies the name for this entry in the presentation." PREVIOUS="sloodleid" NEXT="source"/>
  255. <FIELD NAME="source" TYPE="text" LENGTH="medium" NOTNULL="true" SEQUENCE="false" ENUM="false" PREVIOUS="name" NEXT="type"/>
  256. <FIELD NAME="type" TYPE="char" LENGTH="255" NOTNULL="true" DEFAULT="web" SEQUENCE="false" ENUM="false" PREVIOUS="source" NEXT="ordering"/>
  257. <FIELD NAME="ordering" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" ENUM="false" PREVIOUS="type"/>
  258. </FIELDS>
  259. <KEYS>
  260. <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
  261. </KEYS>
  262. <INDEXES>
  263. <INDEX NAME="mdl_sloopresentr_slo_ix" UNIQUE="false" FIELDS="sloodleid" NEXT="mdl_sloopresentr_typ_ix"/>
  264. <INDEX NAME="mdl_sloopresentr_typ_ix" UNIQUE="false" FIELDS="type" PREVIOUS="mdl_sloopresentr_slo_ix"/>
  265. </INDEXES>
  266. </TABLE>
  267. <TABLE NAME="sloodle_logs" COMMENT="sloodle log for avatar tracking" PREVIOUS="sloodle_presenter_entry" NEXT="sloodle_currency_types">
  268. <FIELDS>
  269. <FIELD NAME="id" TYPE="int" LENGTH="11" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" NEXT="userid"/>
  270. <FIELD NAME="userid" TYPE="int" LENGTH="11" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" ENUM="false" PREVIOUS="id" NEXT="avuuid"/>
  271. <FIELD NAME="avuuid" TYPE="char" LENGTH="50" NOTNULL="false" SEQUENCE="false" ENUM="false" PREVIOUS="userid" NEXT="avname"/>
  272. <FIELD NAME="avname" TYPE="char" LENGTH="70" NOTNULL="false" SEQUENCE="false" ENUM="false" PREVIOUS="avuuid" NEXT="course"/>
  273. <FIELD NAME="course" TYPE="int" LENGTH="11" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" ENUM="false" PREVIOUS="avname" NEXT="action"/>
  274. <FIELD NAME="action" TYPE="char" LENGTH="150" NOTNULL="false" SEQUENCE="false" ENUM="false" PREVIOUS="course" NEXT="url"/>
  275. <FIELD NAME="url" TYPE="char" LENGTH="150" NOTNULL="false" SEQUENCE="false" ENUM="false" PREVIOUS="action" NEXT="slurl"/>
  276. <FIELD NAME="slurl" TYPE="char" LENGTH="150" NOTNULL="false" SEQUENCE="false" ENUM="false" PREVIOUS="url" NEXT="timemodified"/>
  277. <FIELD NAME="timemodified" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="slurl"/>
  278. </FIELDS>
  279. <KEYS>
  280. <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
  281. </KEYS>
  282. <INDEXES>
  283. <INDEX NAME="mdl_sloostiptran_slo_ix" UNIQUE="false" FIELDS="id"/>
  284. </INDEXES>
  285. </TABLE>
  286. <TABLE NAME="sloodle_currency_types" COMMENT="sloodle currency types" PREVIOUS="sloodle_logs" NEXT="sloodle_award_points">
  287. <FIELDS>
  288. <FIELD NAME="id" TYPE="int" LENGTH="11" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" NEXT="name"/>
  289. <FIELD NAME="name" TYPE="char" LENGTH="50" NOTNULL="true" SEQUENCE="false" ENUM="false" PREVIOUS="id" NEXT="timemodified"/>
  290. <FIELD NAME="timemodified" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="name" NEXT="imageurl"/>
  291. <FIELD NAME="imageurl" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" ENUM="false" COMMENT="image url of the icon for this currency" PREVIOUS="timemodified" NEXT="displayorder"/>
  292. <FIELD NAME="displayorder" TYPE="int" LENGTH="10" NOTNULL="false" UNSIGNED="true" SEQUENCE="false" ENUM="false" COMMENT="displayorder is used for views when displaying currencies." PREVIOUS="imageurl"/>
  293. </FIELDS>
  294. <KEYS>
  295. <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
  296. </KEYS>
  297. <INDEXES>
  298. <INDEX NAME="mdl_sloostiptran_slo_ix" UNIQUE="false" FIELDS="id"/>
  299. </INDEXES>
  300. </TABLE>
  301. <TABLE NAME="sloodle_award_points" COMMENT="Awards Points" PREVIOUS="sloodle_currency_types" NEXT="sloodle_award_rounds">
  302. <FIELDS>
  303. <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" NEXT="userid"/>
  304. <FIELD NAME="userid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" ENUM="false" PREVIOUS="id" NEXT="currencyid"/>
  305. <FIELD NAME="currencyid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" ENUM="false" PREVIOUS="userid" NEXT="amount"/>
  306. <FIELD NAME="amount" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="false" SEQUENCE="false" ENUM="false" COMMENT="Amount awarded - positive for a debit, negative for a credit." PREVIOUS="currencyid" NEXT="timeawarded"/>
  307. <FIELD NAME="timeawarded" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" ENUM="false" PREVIOUS="amount" NEXT="roundid"/>
  308. <FIELD NAME="roundid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" ENUM="false" COMMENT="ID of an entry in mdl_sloodle_award_rounds" PREVIOUS="timeawarded" NEXT="description"/>
  309. <FIELD NAME="description" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" ENUM="false" COMMENT="A description of why the points were awarded." PREVIOUS="roundid"/>
  310. </FIELDS>
  311. <KEYS>
  312. <KEY NAME="primary" TYPE="primary" FIELDS="id" NEXT="poiroufk"/>
  313. <KEY NAME="poiroufk" TYPE="foreign" FIELDS="roundid" REFTABLE="sloodle_award_rounds" REFFIELDS="id" COMMENT="This is a foreign key in the rounds table" PREVIOUS="primary" NEXT="poiusefk"/>
  314. <KEY NAME="poiusefk" TYPE="foreign" FIELDS="userid" REFTABLE="user" REFFIELDS="id" COMMENT="foreign key of the userid in the user table" PREVIOUS="poiroufk" NEXT="poicurfk"/>
  315. <KEY NAME="poicurfk" TYPE="foreign" FIELDS="currencyid" REFTABLE="sloodle_award_currency" REFFIELDS="id" COMMENT="Foreign key referencing the currencyid in the currency table" PREVIOUS="poiusefk"/>
  316. </KEYS>
  317. </TABLE>
  318. <TABLE NAME="sloodle_award_rounds" COMMENT="A time-limited period, which may be tied to a controller. Allows us to filter for points awarded during a particular round or sub-section of a game or simulation." PREVIOUS="sloodle_award_points" NEXT="sloodle_activity_tool">
  319. <FIELDS>
  320. <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" NEXT="timestarted"/>
  321. <FIELD NAME="timestarted" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" COMMENT="Timestamp for start or a round, or 0 for not yet started." PREVIOUS="id" NEXT="timeended"/>
  322. <FIELD NAME="timeended" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" COMMENT="Timestamp for the end of the round, or 0 for not yet ended." PREVIOUS="timestarted" NEXT="name"/>
  323. <FIELD NAME="name" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" ENUM="false" COMMENT="Title of round for display purposes, or null if none is set." PREVIOUS="timeended" NEXT="controllerid"/>
  324. <FIELD NAME="controllerid" TYPE="int" LENGTH="10" NOTNULL="false" UNSIGNED="true" SEQUENCE="false" ENUM="false" COMMENT="The ID of the controller to which the round is tied, or null for all controllers on the site." PREVIOUS="name" NEXT="courseid"/>
  325. <FIELD NAME="courseid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" ENUM="false" COMMENT="The courseid is usually available via the controllerid, unless the controller has been deleted" PREVIOUS="controllerid"/>
  326. </FIELDS>
  327. <KEYS>
  328. <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
  329. </KEYS>
  330. </TABLE>
  331. <TABLE NAME="sloodle_activity_tool" COMMENT="sloodle_activity_tool table retrofitted from MySQL" PREVIOUS="sloodle_award_rounds" NEXT="sloodle_activity_tracker">
  332. <FIELDS>
  333. <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" NEXT="trackerid"/>
  334. <FIELD NAME="trackerid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" ENUM="false" PREVIOUS="id" NEXT="uuid"/>
  335. <FIELD NAME="uuid" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" PREVIOUS="trackerid" NEXT="description"/>
  336. <FIELD NAME="description" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" PREVIOUS="uuid" NEXT="taskname"/>
  337. <FIELD NAME="taskname" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" PREVIOUS="description" NEXT="name"/>
  338. <FIELD NAME="name" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" PREVIOUS="taskname" NEXT="type"/>
  339. <FIELD NAME="type" TYPE="char" LENGTH="50" NOTNULL="true" SEQUENCE="false" ENUM="false" PREVIOUS="name" NEXT="timeupdated"/>
  340. <FIELD NAME="timeupdated" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="type"/>
  341. </FIELDS>
  342. <KEYS>
  343. <KEY NAME="primary" TYPE="primary" FIELDS="id" NEXT="mdl_slooactitool_uui_uix"/>
  344. <KEY NAME="mdl_slooactitool_uui_uix" TYPE="unique" FIELDS="uuid" PREVIOUS="primary"/>
  345. </KEYS>
  346. </TABLE>
  347. <TABLE NAME="sloodle_activity_tracker" COMMENT="sloodle_activity_tracker table retrofitted from MySQL" PREVIOUS="sloodle_activity_tool" NEXT="sloodle_tracker">
  348. <FIELDS>
  349. <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" NEXT="trackerid"/>
  350. <FIELD NAME="trackerid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" ENUM="false" PREVIOUS="id" NEXT="objuuid"/>
  351. <FIELD NAME="objuuid" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" PREVIOUS="trackerid" NEXT="avuuid"/>
  352. <FIELD NAME="avuuid" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" PREVIOUS="objuuid" NEXT="timeupdated"/>
  353. <FIELD NAME="timeupdated" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="avuuid"/>
  354. </FIELDS>
  355. <KEYS>
  356. <KEY NAME="primary" TYPE="primary" FIELDS="id"/>
  357. </KEYS>
  358. </TABLE>
  359. <TABLE NAME="sloodle_tracker" COMMENT="Each record provides secondary data about a SLOODLE module instance of the Tracker type - currently just a placeholder table" PREVIOUS="sloodle_activity_tracker">
  360. <FIELDS>
  361. <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" NEXT="sloodleid"/>
  362. <FIELD NAME="sloodleid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="false" ENUM="false" PREVIOUS="id"/>
  363. </FIELDS>
  364. <KEYS>
  365. <KEY NAME="primary" TYPE="primary" FIELDS="id" NEXT="sloodleid"/>
  366. <KEY NAME="sloodleid" TYPE="unique" FIELDS="sloodleid" PREVIOUS="primary"/>
  367. </KEYS>
  368. </TABLE>
  369. </TABLES>
  370. </XMLDB>