= Bolt Tutorial, Part I: Courses and Lessons =
== Creating a course ==
[ServerIntro Install the BOINC software] on a Linux system,
or run the [VmServer BOINC server virtual machine] in a VMWare
player on any computer.
Use [MakeProject make_project] to create a BOINC project named "test":
{{{
> cd boinc/tools
> make_project --web_only test
}}}
Read '''~/projects/test/test.readme''' and do what it says.
Let's say your server's domain name is "a.b.c".
* Visit http://a.b.c/test/create_account.php and create an account for yourself.
* Visit http://a.b.c/test_ops/bolt_admin.php. Follow the instructions to create the Bolt database, then create a course named "Identifying California conifers" with course document "conifer.php" (we'll create this later).
* Copy the files from http://boinc.berkeley.edu/bolt_example to ~/projects/test/html/user/.
== Lessons and sequences ==
Let's start with a simple course consisting of two lessons.
Each lesson consists of a PHP or HTML file.
Create the following files in ~/projects/test/html/user:
'''conifer_intro.php''' (the first lesson):
{{{
conifers
because they carry their seeds in cones.
This course will teach you how to identify
the most common types of California conifers.
";
?>
}}}
'''conifer_decid.php''' (the second lesson):
{{{
coniferous and deciduous.
These groups differ in several ways:
- Most conifers are 'evergreen':
they maintain their leaves throughout the year.
Deciduous trees drop their leaves in autumn.
- Conifer leaves are either needles or overlapping scales,
whereas deciduous leaves are broad and flat.
";
?>
}}}
'''course1.php''' (the 'course document', specifying the course structure
and the page headers and footers):
{{{
Identifying California Conifers
|
$title
";
}
function bolt_footer() {
echo "
";
}
return sequence(
name('course'),
lesson(
name('Introduction'),
filename('conifer_intro.php')
),
lesson(
name('Conifers and deciduous trees'),
filename('conifer_decid.php')
)
);
?>
}}}
'''conifer.css''': the CSS stylesheet
{{{
body {
background-color: white;
font-family: "Trebuchet MS", Verdana, Arial, Sans-Serif;
font-size: 16px;
color: black;
width: 800px;
}
img {
display: block;
margin-top: 10px;
margin-bottom: 10px;
margin-left: auto;
margin-right: auto;
border: 0px;
}
p.caption {
text-align: center;
font-weight: bold;
margin-left: auto;
margin-right: auto;
}
}}}
Diagramatically, the course structure is:
[[Image(seq.png, nolink)]]
Now visit http://a.b.c/test/bolt.php.
You'll be asked to log in; do so.
Click on the button to start the course.
Fill in the form asking for your demographic info.
Then you'll see:
[[Image(bolt_l1.jpg, nolink)]]
Note that below your lesson Bolt has added some navigation links
and a form to ask questions.
Click on the "Next" button.
You'll see:
[[Image(bolt_l2.jpg, nolink)]]
Now suppose that instead of reading the lesson,
you go away (for an hour or a month) and return.
Simulate this by visiting http://a.b.c.test/bolt.php; click Resume.
Notice that Bolt "remembers" where you are in the course
(this is stored in the database;
it will work even if you go to a different computer).
Now visit http://a.b.c.test/bolt.php again,
and click on "History".
You'll see something like:
[[Image(bolt_history.jpg, nolink)]]
Bolt has recorded your course interactions and their timing,
in its database; this is used for course analytics (see part III of this tutorial).
[BoltTutorialExercises Continue to Part II]