Docs:Course Structure/CourseData

From DevWiki
Jump to navigation Jump to search
IMPORTANT: This page contains specification information. You should read it carefully, and periodically verify that your work conforms to the specification if appropriate.


The actual course content proper starts on the CourseData page, and as a result it must conform to a far more rigid specification than the Course page. The name of this page is not case sensitive - the support tools will detect the appropriate case to use from the link on the Course page - but it will make life easier if you use CamelCase for the name.

Required sections

The CourseData page must contain a number of 'sections'. The start of each section is a level two title (== ... ==) containing the name of the section, followed by the content of the section. A section ends at the next section title, or the end of the page, whichever is encountered first. The required sections are listed below - you may create additional sections if you want, but they will be ignored by the export tools:

Themes section

The theme list is specified in a Themes section. The section should start with a level 2 title with the name 'Themes' followed by a list of links to themes for the course, one theme per line. The theme list does not need to be the first thing on the page; provided that you have included it in the CourseData page, the export tool can find it.

Example Themes section

== Themes ==
[[NS:Theme name a]]<br />
[[NS:Theme name b]]<br />
... etc...

Resources section

This section currently only needs to contain a link to the course media page. The section starts with a level 2 header called 'Resources' followed by a link to the course media page, should the course require any media files. You may place other links after the Resources header if you need, but they will be ignored by the export tool.

Example Resources section

== Resources ==
[[NS:Media]]<br/>

Metadata section

The metadata section contains the course-level metadata. It should start with a level 2 title with the name 'Metadata', which should be followed by a block containing the course metadata enclosed in <source> elements. For information about the contents of the metadata, please see the metadata specification

Example Metadata section

== Metadata ==
<source lang="xml" style="emacs">
<course version="3.3.3 (2010-12-14)" title="C Programming" splash="C_course_front_page.png" type="image" width="300" height="300">
    <message><![CDATA[
        <p class="center">Welcome to the PEVE C Programming Course. To begin using the course,
        click the button below. If you have already started working through the course you should
        also see a button to allow you to continue from the last page you viewed.</p>
        <p class="center">If you encounter any problems, please <a style="font-weight: bold;"
        href="feedback.html">contact us</a> at the earliest opportunity.</p>
    ]]></message>
    <latexintro>
        \documentclass[12pt]{article}
        \usepackage{html}
        \usepackage[dvips]{color}
        \pagecolor{white}
    </latexintro>
    <forcemedia>
        <file>C_t3seq_dijkstra.png</file>
    </forcemedia>
</course>
</source>

Layout Example

The suggested layout for the CourseData page is (replacing NS with the namespace of your course):

== Themes ==
[[NS:Theme Name]]<br/>
[[NS:Theme Name]]<br/>
[[NS:Theme Name]]<br/>

== Resources ==
[[NS:Media]]<br/>

== Metadata ==
<source lang="xml" style="emacs">
... Metadata ...
</source>

<noinclude>{{NS:CourseNav}}</noinclude>

This example includes the three required sections listed above, and a special <noinclude>{{NS:CourseNav}}</noinclude> line at the end of the page: this line will make your course's navigation block appear at the bottom of the CourseData page, and it should appear at the bottom of every page in your course material (for more about this, see the CourseNav documentation.)

For a complete example of a CourseData page, see C:CourseData