[3512] | 1 | <?xml version="1.0" encoding="utf-8" ?>
|
---|
| 2 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
---|
| 3 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
---|
| 4 | <head>
|
---|
| 5 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
---|
| 6 | <meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" />
|
---|
| 7 | <title></title>
|
---|
| 8 | <style type="text/css">
|
---|
| 9 |
|
---|
| 10 | /*
|
---|
| 11 | :Author: David Goodger
|
---|
| 12 | :Contact: goodger@users.sourceforge.net
|
---|
| 13 | :Date: $Date: 2005-12-18 01:56:14 +0100 (Sun, 18 Dec 2005) $
|
---|
| 14 | :Revision: $Revision: 4224 $
|
---|
| 15 | :Copyright: This stylesheet has been placed in the public domain.
|
---|
| 16 |
|
---|
| 17 | Default cascading style sheet for the HTML output of Docutils.
|
---|
| 18 |
|
---|
| 19 | See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
|
---|
| 20 | customize this style sheet.
|
---|
| 21 | */
|
---|
| 22 |
|
---|
| 23 | /* used to remove borders from tables and images */
|
---|
| 24 | .borderless, table.borderless td, table.borderless th {
|
---|
| 25 | border: 0 }
|
---|
| 26 |
|
---|
| 27 | table.borderless td, table.borderless th {
|
---|
| 28 | /* Override padding for "table.docutils td" with "! important".
|
---|
| 29 | The right padding separates the table cells. */
|
---|
| 30 | padding: 0 0.5em 0 0 ! important }
|
---|
| 31 |
|
---|
| 32 | .first {
|
---|
| 33 | /* Override more specific margin styles with "! important". */
|
---|
| 34 | margin-top: 0 ! important }
|
---|
| 35 |
|
---|
| 36 | .last, .with-subtitle {
|
---|
| 37 | margin-bottom: 0 ! important }
|
---|
| 38 |
|
---|
| 39 | .hidden {
|
---|
| 40 | display: none }
|
---|
| 41 |
|
---|
| 42 | a.toc-backref {
|
---|
| 43 | text-decoration: none ;
|
---|
| 44 | color: black }
|
---|
| 45 |
|
---|
| 46 | blockquote.epigraph {
|
---|
| 47 | margin: 2em 5em ; }
|
---|
| 48 |
|
---|
| 49 | dl.docutils dd {
|
---|
| 50 | margin-bottom: 0.5em }
|
---|
| 51 |
|
---|
| 52 | /* Uncomment (and remove this text!) to get bold-faced definition list terms
|
---|
| 53 | dl.docutils dt {
|
---|
| 54 | font-weight: bold }
|
---|
| 55 | */
|
---|
| 56 |
|
---|
| 57 | div.abstract {
|
---|
| 58 | margin: 2em 5em }
|
---|
| 59 |
|
---|
| 60 | div.abstract p.topic-title {
|
---|
| 61 | font-weight: bold ;
|
---|
| 62 | text-align: center }
|
---|
| 63 |
|
---|
| 64 | div.admonition, div.attention, div.caution, div.danger, div.error,
|
---|
| 65 | div.hint, div.important, div.note, div.tip, div.warning {
|
---|
| 66 | margin: 2em ;
|
---|
| 67 | border: medium outset ;
|
---|
| 68 | padding: 1em }
|
---|
| 69 |
|
---|
| 70 | div.admonition p.admonition-title, div.hint p.admonition-title,
|
---|
| 71 | div.important p.admonition-title, div.note p.admonition-title,
|
---|
| 72 | div.tip p.admonition-title {
|
---|
| 73 | font-weight: bold ;
|
---|
| 74 | font-family: sans-serif }
|
---|
| 75 |
|
---|
| 76 | div.attention p.admonition-title, div.caution p.admonition-title,
|
---|
| 77 | div.danger p.admonition-title, div.error p.admonition-title,
|
---|
| 78 | div.warning p.admonition-title {
|
---|
| 79 | color: red ;
|
---|
| 80 | font-weight: bold ;
|
---|
| 81 | font-family: sans-serif }
|
---|
| 82 |
|
---|
| 83 | /* Uncomment (and remove this text!) to get reduced vertical space in
|
---|
| 84 | compound paragraphs.
|
---|
| 85 | div.compound .compound-first, div.compound .compound-middle {
|
---|
| 86 | margin-bottom: 0.5em }
|
---|
| 87 |
|
---|
| 88 | div.compound .compound-last, div.compound .compound-middle {
|
---|
| 89 | margin-top: 0.5em }
|
---|
| 90 | */
|
---|
| 91 |
|
---|
| 92 | div.dedication {
|
---|
| 93 | margin: 2em 5em ;
|
---|
| 94 | text-align: center ;
|
---|
| 95 | font-style: italic }
|
---|
| 96 |
|
---|
| 97 | div.dedication p.topic-title {
|
---|
| 98 | font-weight: bold ;
|
---|
| 99 | font-style: normal }
|
---|
| 100 |
|
---|
| 101 | div.figure {
|
---|
| 102 | margin-left: 2em ;
|
---|
| 103 | margin-right: 2em }
|
---|
| 104 |
|
---|
| 105 | div.footer, div.header {
|
---|
| 106 | clear: both;
|
---|
| 107 | font-size: smaller }
|
---|
| 108 |
|
---|
| 109 | div.line-block {
|
---|
| 110 | display: block ;
|
---|
| 111 | margin-top: 1em ;
|
---|
| 112 | margin-bottom: 1em }
|
---|
| 113 |
|
---|
| 114 | div.line-block div.line-block {
|
---|
| 115 | margin-top: 0 ;
|
---|
| 116 | margin-bottom: 0 ;
|
---|
| 117 | margin-left: 1.5em }
|
---|
| 118 |
|
---|
| 119 | div.sidebar {
|
---|
| 120 | margin-left: 1em ;
|
---|
| 121 | border: medium outset ;
|
---|
| 122 | padding: 1em ;
|
---|
| 123 | background-color: #ffffee ;
|
---|
| 124 | width: 40% ;
|
---|
| 125 | float: right ;
|
---|
| 126 | clear: right }
|
---|
| 127 |
|
---|
| 128 | div.sidebar p.rubric {
|
---|
| 129 | font-family: sans-serif ;
|
---|
| 130 | font-size: medium }
|
---|
| 131 |
|
---|
| 132 | div.system-messages {
|
---|
| 133 | margin: 5em }
|
---|
| 134 |
|
---|
| 135 | div.system-messages h1 {
|
---|
| 136 | color: red }
|
---|
| 137 |
|
---|
| 138 | div.system-message {
|
---|
| 139 | border: medium outset ;
|
---|
| 140 | padding: 1em }
|
---|
| 141 |
|
---|
| 142 | div.system-message p.system-message-title {
|
---|
| 143 | color: red ;
|
---|
| 144 | font-weight: bold }
|
---|
| 145 |
|
---|
| 146 | div.topic {
|
---|
| 147 | margin: 2em }
|
---|
| 148 |
|
---|
| 149 | h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
|
---|
| 150 | h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
|
---|
| 151 | margin-top: 0.4em }
|
---|
| 152 |
|
---|
| 153 | h1.title {
|
---|
| 154 | text-align: center }
|
---|
| 155 |
|
---|
| 156 | h2.subtitle {
|
---|
| 157 | text-align: center }
|
---|
| 158 |
|
---|
| 159 | hr.docutils {
|
---|
| 160 | width: 75% }
|
---|
| 161 |
|
---|
| 162 | img.align-left {
|
---|
| 163 | clear: left }
|
---|
| 164 |
|
---|
| 165 | img.align-right {
|
---|
| 166 | clear: right }
|
---|
| 167 |
|
---|
| 168 | ol.simple, ul.simple {
|
---|
| 169 | margin-bottom: 1em }
|
---|
| 170 |
|
---|
| 171 | ol.arabic {
|
---|
| 172 | list-style: decimal }
|
---|
| 173 |
|
---|
| 174 | ol.loweralpha {
|
---|
| 175 | list-style: lower-alpha }
|
---|
| 176 |
|
---|
| 177 | ol.upperalpha {
|
---|
| 178 | list-style: upper-alpha }
|
---|
| 179 |
|
---|
| 180 | ol.lowerroman {
|
---|
| 181 | list-style: lower-roman }
|
---|
| 182 |
|
---|
| 183 | ol.upperroman {
|
---|
| 184 | list-style: upper-roman }
|
---|
| 185 |
|
---|
| 186 | p.attribution {
|
---|
| 187 | text-align: right ;
|
---|
| 188 | margin-left: 50% }
|
---|
| 189 |
|
---|
| 190 | p.caption {
|
---|
| 191 | font-style: italic }
|
---|
| 192 |
|
---|
| 193 | p.credits {
|
---|
| 194 | font-style: italic ;
|
---|
| 195 | font-size: smaller }
|
---|
| 196 |
|
---|
| 197 | p.label {
|
---|
| 198 | white-space: nowrap }
|
---|
| 199 |
|
---|
| 200 | p.rubric {
|
---|
| 201 | font-weight: bold ;
|
---|
| 202 | font-size: larger ;
|
---|
| 203 | color: maroon ;
|
---|
| 204 | text-align: center }
|
---|
| 205 |
|
---|
| 206 | p.sidebar-title {
|
---|
| 207 | font-family: sans-serif ;
|
---|
| 208 | font-weight: bold ;
|
---|
| 209 | font-size: larger }
|
---|
| 210 |
|
---|
| 211 | p.sidebar-subtitle {
|
---|
| 212 | font-family: sans-serif ;
|
---|
| 213 | font-weight: bold }
|
---|
| 214 |
|
---|
| 215 | p.topic-title {
|
---|
| 216 | font-weight: bold }
|
---|
| 217 |
|
---|
| 218 | pre.address {
|
---|
| 219 | margin-bottom: 0 ;
|
---|
| 220 | margin-top: 0 ;
|
---|
| 221 | font-family: serif ;
|
---|
| 222 | font-size: 100% }
|
---|
| 223 |
|
---|
| 224 | pre.literal-block, pre.doctest-block {
|
---|
| 225 | margin-left: 2em ;
|
---|
| 226 | margin-right: 2em ;
|
---|
| 227 | background-color: #eeeeee }
|
---|
| 228 |
|
---|
| 229 | span.classifier {
|
---|
| 230 | font-family: sans-serif ;
|
---|
| 231 | font-style: oblique }
|
---|
| 232 |
|
---|
| 233 | span.classifier-delimiter {
|
---|
| 234 | font-family: sans-serif ;
|
---|
| 235 | font-weight: bold }
|
---|
| 236 |
|
---|
| 237 | span.interpreted {
|
---|
| 238 | font-family: sans-serif }
|
---|
| 239 |
|
---|
| 240 | span.option {
|
---|
| 241 | white-space: nowrap }
|
---|
| 242 |
|
---|
| 243 | span.pre {
|
---|
| 244 | white-space: pre }
|
---|
| 245 |
|
---|
| 246 | span.problematic {
|
---|
| 247 | color: red }
|
---|
| 248 |
|
---|
| 249 | span.section-subtitle {
|
---|
| 250 | /* font-size relative to parent (h1..h6 element) */
|
---|
| 251 | font-size: 80% }
|
---|
| 252 |
|
---|
| 253 | table.citation {
|
---|
| 254 | border-left: solid 1px gray;
|
---|
| 255 | margin-left: 1px }
|
---|
| 256 |
|
---|
| 257 | table.docinfo {
|
---|
| 258 | margin: 2em 4em }
|
---|
| 259 |
|
---|
| 260 | table.docutils {
|
---|
| 261 | margin-top: 0.5em ;
|
---|
| 262 | margin-bottom: 0.5em }
|
---|
| 263 |
|
---|
| 264 | table.footnote {
|
---|
| 265 | border-left: solid 1px black;
|
---|
| 266 | margin-left: 1px }
|
---|
| 267 |
|
---|
| 268 | table.docutils td, table.docutils th,
|
---|
| 269 | table.docinfo td, table.docinfo th {
|
---|
| 270 | padding-left: 0.5em ;
|
---|
| 271 | padding-right: 0.5em ;
|
---|
| 272 | vertical-align: top }
|
---|
| 273 |
|
---|
| 274 | table.docutils th.field-name, table.docinfo th.docinfo-name {
|
---|
| 275 | font-weight: bold ;
|
---|
| 276 | text-align: left ;
|
---|
| 277 | white-space: nowrap ;
|
---|
| 278 | padding-left: 0 }
|
---|
| 279 |
|
---|
| 280 | h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
|
---|
| 281 | h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
|
---|
| 282 | font-size: 100% }
|
---|
| 283 |
|
---|
| 284 | tt.docutils {
|
---|
| 285 | background-color: #eeeeee }
|
---|
| 286 |
|
---|
| 287 | ul.auto-toc {
|
---|
| 288 | list-style-type: none }
|
---|
| 289 |
|
---|
| 290 | </style>
|
---|
| 291 | </head>
|
---|
| 292 | <body>
|
---|
| 293 | <div class="document">
|
---|
| 294 | <div class="section">
|
---|
| 295 | <h1><a id="import-of-data-into-the-portal" name="import-of-data-into-the-portal">Import of data into the portal</a></h1>
|
---|
| 296 | <div class="section">
|
---|
| 297 | <h2><a id="general-procedure" name="general-procedure">General procedure</a></h2>
|
---|
[3514] | 298 | <p>A record is read from the input source file located in the import folder of the Zope instance (or uploaded by the upload manager in the Upload Section). The data format is validated against the import data layout selected. If the record can be imported, it is appended to the file [layout]_imported.csv (in the same folder), otherwise it's appended to [layout]_pending.csv, if no record with exactly the same data already exists. Technically speaking, the md5-digests of the new record is being compared with the existing records.</p>
|
---|
| 299 | <p>The report files have four additional columns: imported_by (the member who did the import), import_date, import_from (input source file name) and error (error message).</p>
|
---|
[3512] | 300 | <p>The following import modes are recognized: edit, create and remove. The latter deletes the whole record. This mode is available for course results only.</p>
|
---|
| 301 | <p>Single fields can be cleared in edit mode by inserting 'XXX' in the respective field. Empty fields are ignored.</p>
|
---|
| 302 | <p>The following import layouts are available:</p>
|
---|
| 303 | </div>
|
---|
| 304 | </div>
|
---|
| 305 | <div class="section">
|
---|
| 306 | <h1><a id="student-section" name="student-section">1. Student Section</a></h1>
|
---|
| 307 | <div class="section">
|
---|
| 308 | <h2><a id="import-application" name="import-application">import_application</a></h2>
|
---|
| 309 | <p>This data layout is meant for updating the applicants_catalog which is completely separated from the object-based part of the portal. An important role has the field 'status'. It should be either 'admitted', 'not admitted' or empty. If student objects have already been created, the status field can no longer be modified. If student_id and matric_no are specified, it is checked, if the student_id and matric_no belong to the same student.</p>
|
---|
| 310 | <pre class="literal-block">
|
---|
| 311 | import_mode String
|
---|
| 312 | course1 String
|
---|
| 313 | course2 String
|
---|
| 314 | course3a String
|
---|
| 315 | course_admitted String
|
---|
| 316 | department String
|
---|
| 317 | faculty String
|
---|
| 318 | firstname String
|
---|
| 319 | eng_score Int
|
---|
| 320 | subj1 Int
|
---|
| 321 | subj1score Int
|
---|
| 322 | subj2 Int
|
---|
| 323 | subj2score Int
|
---|
| 324 | subj3 Int
|
---|
| 325 | subj3score Int
|
---|
| 326 | aggregate Int
|
---|
| 327 | lastname String
|
---|
| 328 | middlenames String
|
---|
| 329 | email String
|
---|
| 330 | phone String
|
---|
| 331 | pin String
|
---|
| 332 | reg_no String
|
---|
| 333 | date_of_birth DateTime
|
---|
| 334 | jamb_age String
|
---|
| 335 | jamb_state String
|
---|
| 336 | jamb_lga String
|
---|
| 337 | application_date DateTime
|
---|
| 338 | sex Boolean
|
---|
| 339 | lga String
|
---|
| 340 | screening_date DateTime
|
---|
| 341 | screening_type String
|
---|
| 342 | passport String
|
---|
| 343 | status String
|
---|
| 344 | screening_venue String
|
---|
| 345 | aos String
|
---|
| 346 | screening_score String
|
---|
| 347 | notice String
|
---|
| 348 | student_id String
|
---|
| 349 | fst_sit_fname String
|
---|
| 350 | fst_sit_no String
|
---|
| 351 | fst_sit_date DateTime
|
---|
| 352 | fst_sit_type String
|
---|
| 353 | fst_sit_results StringList
|
---|
| 354 | scd_sit_fname String
|
---|
| 355 | scd_sit_no String
|
---|
| 356 | scd_sit_date DateTime
|
---|
| 357 | scd_sit_type String
|
---|
| 358 | scd_sit_results StringList
|
---|
| 359 | hq_type String
|
---|
| 360 | hq_grade String
|
---|
| 361 | hq_school String
|
---|
| 362 | hq_matric_no String
|
---|
| 363 | hq_session String
|
---|
| 364 | hq_disc String
|
---|
| 365 | serial String
|
---|
| 366 | </pre>
|
---|
| 367 | </div>
|
---|
| 368 | <div class="section">
|
---|
| 369 | <h2><a id="import-student" name="import-student">import_student</a></h2>
|
---|
| 370 | <p>This is the most powerful import layout. It's a brute-force method which can be used to create student objects or to overwrite existing student objects (and the associated records in the students_catalog). The reg_transition can be either 'admit' or 'return'. The students will be in state admitted or returning respectively. Don't use this method to import current verdicts. Use the import_verdict layout instead.</p>
|
---|
| 371 | <pre class="literal-block">
|
---|
| 372 | id String
|
---|
| 373 | import_mode String
|
---|
| 374 | reg_transition String
|
---|
| 375 | firstname String
|
---|
| 376 | middlename String
|
---|
| 377 | lastname String
|
---|
| 378 | sex String
|
---|
| 379 | birthday String
|
---|
| 380 | matric_no String
|
---|
| 381 | jamb_reg_no String
|
---|
| 382 | entry_mode String
|
---|
| 383 | entry_session String
|
---|
| 384 | jamb_score Int
|
---|
| 385 | jamb_age String
|
---|
| 386 | jamb_lga String
|
---|
| 387 | jamb_state String
|
---|
| 388 | jamb_sex String
|
---|
| 389 | lga String
|
---|
| 390 | state String
|
---|
| 391 | study_course String
|
---|
| 392 | nationality String
|
---|
| 393 | lga String
|
---|
| 394 | phone String
|
---|
| 395 | email String
|
---|
| 396 | app_email String
|
---|
| 397 | current_level String
|
---|
| 398 | current_session String
|
---|
| 399 | current_verdict String
|
---|
| 400 | previous_verdict String
|
---|
| 401 | current_mode String
|
---|
| 402 | perm_address String
|
---|
| 403 | </pre>
|
---|
| 404 | </div>
|
---|
| 405 | <div class="section">
|
---|
| 406 | <h2><a id="import-student-study-level" name="import-student-study-level">import_student_study_level</a></h2>
|
---|
| 407 | <p>This layout can be used to create or overwrite old study levels and to import their verdicts. The field 'code' corresponds with the study level. It can be either '000', '100', ..., '900'.</p>
|
---|
| 408 | <pre class="literal-block">
|
---|
| 409 | import_mode String
|
---|
| 410 | id String
|
---|
| 411 | matric_no String
|
---|
| 412 | code String
|
---|
| 413 | session String
|
---|
| 414 | verdict String
|
---|
| 415 | validated_by String
|
---|
| 416 | validation_date DateTime
|
---|
| 417 | </pre>
|
---|
| 418 | </div>
|
---|
| 419 | <div class="section">
|
---|
| 420 | <h2><a id="import-verdict" name="import-verdict">import_verdict</a></h2>
|
---|
| 421 | <p>The import_verdict layout should be used to import the current verdict, i.e. the verdict of the current session and current level. This layout is special. It does not only import data but also performs a workflow transition. The student must be in state 'courses_validated' (all other states will be rejected) and will be moved to state 'return'.</p>
|
---|
| 422 | <pre class="literal-block">
|
---|
| 423 | import_mode String
|
---|
| 424 | id String
|
---|
| 425 | matric_no String
|
---|
| 426 | current_level String
|
---|
| 427 | current_session String
|
---|
| 428 | current_verdict String
|
---|
| 429 | </pre>
|
---|
| 430 | </div>
|
---|
| 431 | <div class="section">
|
---|
| 432 | <h2><a id="course-result" name="course-result">course_result</a></h2>
|
---|
| 433 | <p>This layout creates or edits course results. The 'create' mode should only be used in old levels rather than in current levels which have been validated by course advisers. Creating course results in validated course lists is possible but counteracts the whole course registration policy.</p>
|
---|
| 434 | <pre class="literal-block">
|
---|
| 435 | import_mode String
|
---|
| 436 | id String
|
---|
| 437 | matric_no String
|
---|
| 438 | code String
|
---|
| 439 | session_id String
|
---|
| 440 | level_id String
|
---|
| 441 | credits Int
|
---|
| 442 | score String
|
---|
| 443 | grade String
|
---|
| 444 | carry_over Boolean
|
---|
| 445 | core_or_elective Boolean
|
---|
| 446 | semester Int
|
---|
| 447 | </pre>
|
---|
| 448 | </div>
|
---|
| 449 | </div>
|
---|
| 450 | <div class="section">
|
---|
| 451 | <h1><a id="academic-section" name="academic-section">2. Academic Section</a></h1>
|
---|
| 452 | <p>The following import layouts can be used to create or edit faculties, departments, certificates, certificates courses and or course objects respectively. There are quite a few dependencies which result from the nature of the academic section. For example, a certificate can only be created, if the respective department exists.</p>
|
---|
| 453 | <div class="section">
|
---|
| 454 | <h2><a id="import-faculty" name="import-faculty">import_faculty</a></h2>
|
---|
| 455 | <pre class="literal-block">
|
---|
| 456 | import_mode String
|
---|
| 457 | code String
|
---|
| 458 | title String
|
---|
| 459 | title_prefix String
|
---|
| 460 | </pre>
|
---|
| 461 | </div>
|
---|
| 462 | <div class="section">
|
---|
| 463 | <h2><a id="import-department" name="import-department">import_department</a></h2>
|
---|
| 464 | <pre class="literal-block">
|
---|
| 465 | import_mode String
|
---|
| 466 | code String
|
---|
| 467 | faculty_code String
|
---|
| 468 | title String
|
---|
| 469 | title_prefix String
|
---|
| 470 | </pre>
|
---|
| 471 | </div>
|
---|
| 472 | <div class="section">
|
---|
| 473 | <h2><a id="certificate" name="certificate">certificate</a></h2>
|
---|
| 474 | <pre class="literal-block">
|
---|
| 475 | import_mode String
|
---|
| 476 | title String
|
---|
| 477 | admin_status String
|
---|
| 478 | category String
|
---|
| 479 | department_code String
|
---|
| 480 | code String
|
---|
| 481 | end_level String
|
---|
| 482 | max_load Int
|
---|
| 483 | max_pass Int
|
---|
| 484 | nr_years Int
|
---|
| 485 | probation_credits Int
|
---|
| 486 | promotion_credits Int
|
---|
| 487 | start_level String
|
---|
| 488 | study_mode String
|
---|
| 489 | application_category String
|
---|
| 490 | </pre>
|
---|
| 491 | </div>
|
---|
| 492 | <div class="section">
|
---|
| 493 | <h2><a id="certificate-course" name="certificate-course">certificate_course</a></h2>
|
---|
| 494 | <pre class="literal-block">
|
---|
| 495 | import_mode String
|
---|
| 496 | code String
|
---|
| 497 | certificate_code String
|
---|
| 498 | level String
|
---|
| 499 | core_or_elective Boolean
|
---|
| 500 | </pre>
|
---|
| 501 | </div>
|
---|
| 502 | <div class="section">
|
---|
| 503 | <h2><a id="course" name="course">course</a></h2>
|
---|
| 504 | <pre class="literal-block">
|
---|
| 505 | import_mode String
|
---|
| 506 | title String
|
---|
| 507 | department_code String
|
---|
| 508 | code String
|
---|
| 509 | credits Int
|
---|
| 510 | passmark Int
|
---|
| 511 | semester Int
|
---|
| 512 | level String
|
---|
| 513 | </pre>
|
---|
| 514 | </div>
|
---|
| 515 | </div>
|
---|
| 516 | </div>
|
---|
| 517 | </body>
|
---|
| 518 | </html>
|
---|