3. The Outline

The outline file organizes documents into a hierarchical structure of topics. Normally stored in a file named course.outline, it serves as the input from which the course topics page is generated.

If you have no interest in preparing a topics page (e.g., because you are going to link to each document directly from Blackboard or some other Learning Management System) then you can simply provide a skeleton outline file and ignore the generated page.

The outline file looks like this:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<outline>
  <preamble> 1
    <info>
      <title>CS333 Topics</title>
    </info>
  </preamble>


<topic title="Part I. Coding in C++"> 2
  <topic title="Overview"> 3
    <item kind="slides" targetdoc="policiesAndThemes">Course Policies and Themes</item>
  </topic>

    <topic title="Primitive Data Types and Assignments"> 4
      <item kind="lab" 5
          date="2010-01-11" enddate="2010-01-15" 6
          targetdoc="accountSetup"7/>
      <item kind="reading">Chapters 1,2</item> 8
      <item kind="lecturenotes" targetdoc="assignment"/>
      <item kind="quiz" 
            href="http://www.course.com/downloads/computerscience/malikcpp3e/selftests2.cfm">
        Self-test (ungraded)</item> 9
    </topic>

    <topic title="I/O">
      <item kind="reading">Chapter 3</item>
      <item kind="lecturenotes" targetdoc="io"/>
      <item kind="lab" 
          targetdoc="usingCodeBlocks1"/>
      <item kind="quiz" 
            href="http://www.course.com/downloads/computerscience/malikcpp3e/selftests3.cfm">
        Self-test (ungraded)</item>
    </topic>

       ...

    
    <topic title="End of Part I">
        <item kind="asst" date="2010-02-19">All assignments from Part I are due by the end of the day</item>
        <item kind="exam"  id="exam1_s10" href="../assts/exam1.html" date="2010-02-14">Exam 1</item>
        
        
    </topic>
</topic>

<topic title="part II. Programming in C++">
    ...
</topic>


<postscript>  10
  <informaltable>
    <tr>
      <th colspan="2">
        Symbol Key
      </th>
    </tr>
    <tr>
      <td>
        <img alt="conference" src="lecture.gif"/>
      </td>
      <td>Conference</td>
    </tr>
    <tr>
      <td>
        <img alt="lecture notes" src="lecturenotes.gif"/>
      </td>
      <td>Lecture Notes</td>
    </tr>
    <tr>
      <td>
        <img alt="slides" src="slides.gif"/>
      </td>
      <td>Slides</td>
    </tr>
    <tr>
      <td>
      <img alt="text" src="text.gif"/></td>
      <td>Text</td>
    </tr>
     ...
  </informaltable>
  <blockquote>
    <para>All times in this schedule are given in Eastern Time.</para>
  </blockquote>
</postscript>

  <presentation>  11
    <column title="Topics" kinds="topics"/>
    <column title="Lecture Notes" kinds="lecture lecturenotes slides event exam"/>
    <column title="Readings" kinds="reading text"/>
    <column title="Assignments &amp; Quizzes" kinds="exam quiz asst lab unix"/>
  </presentation>
</outline>

1

The preamble can contain any text that you want to appear at the top of the topics page.

2

The actual content is grouped into topics. Each topic can (should) have a title.

3

Topics can nest within other topics.

4

Topics that do not contain other topics can instead hold an arbitrary number of items. Each item represents something a student can read or do.

5

Each item has a "kind". The item kinds are arbitrary labels. They are, however, used to group items into columns in the topics page. They also are used to select a small icon graphic that will appear next to the item in the topics page. For example, this item will be labeled with the icon lab.gif.

6

Each item may have a single date (date=) or a range of dates (date=, enddate=) as shown here.

7

You will want most (though maybe not all) items to appear in the topics page as a hyperlink. There are two ways to do this. The first, shown here, is for documents that are part of the same document set. Use targetdoc (and, optionally, targetptr) to name the desired document.

If the <item> does not contain any text, then the title of the document is fetched automatically and inserted into the topics page as the content of the link.

8

An example of an item that does not turn into a hyperlink.

9

To link to documents that are not part of the same document set, use href=URL. For this style of linking, you must give the document title explicitly in the item.

I often find that I want to leave item titles in the topics page so that students can see that something is coming up, while not providing a hyperlink until the material (e.g., an assignment) is actually ready. Renaming the href attribute to something else (e.g., "hrefx") takes care of this without losing the URL entirely.

You can do something similar with the targetdoc style links, but if you have not provided an explicit title, then breakingthe link prevents the system from fetching the document title and the item simply disappears from the topics page.

10

The postscript section contains any text that you would like to appear at the bottom of the topics page. I usually use this are to provide a symbol key for the various icons.

11

The presentation section controls how many columns will be used for the topics page and which items wil lappear in which column. For each desired column (you need at least one), give a title to appear in the header of that column and then list the item kinds to appear in that column.

A common mistake is to omit item kinds from these lists. If so, those items will not appear in the topics page.