~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to doc/man/sample.rst

  • Committer: Matt Giuca
  • Date: 2009-12-08 02:17:54 UTC
  • Revision ID: matt.giuca@gmail.com-20091208021754-xpjmt72v8ud93q9y
Added sample data infrastructure, with a little bit of sample data. The sample data is in examples/db/sample.sql. Documentation in doc/man/sample.rst details the infrastructure for importing and exporting sample data.

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
   along with this program; if not, write to the Free Software
16
16
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17
17
 
18
 
.. _sample-data:
19
 
 
20
18
***********
21
19
Sample data
22
20
***********
34
32
 
35
33
The data is stored in an SQL dump file, in ``examples/db/sample.sql``.
36
34
 
37
 
You must import this data into a **fresh** IVLE database. If you already have
38
 
a working IVLE install, it will have to be erased. A script is provided
39
 
which performs the following tasks:
40
 
 
41
 
* Unmounts all users with accounts in the current database,
42
 
* Drops the IVLE database if it already exists (prompting first),
43
 
* Creates and initialises a new IVLE database, as per :ref:`database-setup`,
44
 
* Populates the database with the sample data,
45
 
* Creates data directories and subversion repositories for all users, backing
46
 
  up directories for any existing users.
47
 
 
48
 
The script is executed with the following command from the IVLE source
49
 
directory::
50
 
 
51
 
    sudo ivle-loadsampledata examples/db/sample.sql
52
 
 
53
 
.. warning:: This script essentially destroys all contents in an existing IVLE
54
 
   installation. Be sure you wish to do this.
55
 
 
56
 
.. note:: The script may fail at the "dropping database" phase if Apache or
57
 
   another process are using the database. It is best to *restart* (not stop)
58
 
   Apache before executing the script (``sudo /etc/init.d/apache2 restart``).
59
 
 
60
 
   If the database exists, but is not properly initialised, then the script
61
 
   may fail. In this case, you should manually run ``ivle-mountallusers -u``,
62
 
   then drop the database, to ensure a clean build.
63
 
 
64
 
   If there are any existing users (including sample users from previous runs
65
 
   of the script), their files and subversion repos will be moved out of the
66
 
   way to a backup location, ``/var/lib/ivle/jails-removed-<date>/``.
67
 
   If you run this script regularly, your ``/var/lib/ivle/`` will become full
68
 
   of these backups, so you may wish to remove them often. However, they are
69
 
   typically fairly small (a few hundred kilobytes each), because they only
70
 
   contain user content, not the full jail image.
 
35
You must import this data into a **fresh** IVLE database. You can
 
36
re-initialise your database by running ``sudo -u postgres dropdb ivle``, and
 
37
then following the database setup instructions, in the section
 
38
:ref:`database-setup`.
 
39
 
 
40
The data may be imported by running the following command::
 
41
 
 
42
    sudo -u postgres psql ivle < examples/db/sample.sql
 
43
 
 
44
.. XXX
 
45
.. warning:: Instructions on fixing up the user's repositories and file
 
46
   systems to come.
71
47
 
72
48
What is included
73
49
================
107
83
Users
108
84
-----
109
85
 
110
 
There are five users (username/password). Note that in all cases, the password
 
86
There are four users (username/password). Note that in all cases, the password
111
87
is "password".
112
88
 
113
89
* admin/password: This user has administrative rights over the entire system.
114
90
* lecturer/password: This is a normal user, but is enrolled as a lecturer in
115
 
  ivle-101 (2009 semester 1) and ivle-102 (2009 semester 2).
116
 
* tutor/password: This is a normal user, but is enrolled as a tutor in
117
 
  ivle-102 (2009 semester 2).
118
 
* studenta/password: This is a normal user, enrolled in ivle-101 (2009
119
 
  semester 1) and ivle-102 (2009 semester 2).
120
 
* studentb/password: This is a normal user, enrolled in ivle-102 (2009
121
 
  semester 2). This student has not yet accepted the Terms of Service, so does
122
 
  not have a jail created, etc.
 
91
  100101 (2009 semester 1) and 100102 (2009 semester 2).
 
92
* studenta/password: This is a normal user, enrolled in 100101 (2009 semester
 
93
  1) and 100102 (2009 semester 2).
 
94
* studentb/password: This is a normal user, enrolled in 100102 (2009 semester
 
95
  2). This student has not yet accepted the Terms of Service, so does not have
 
96
  a jail created, etc.
123
97
 
124
98
.. note:: For the first three users, the Subversion password is also
125
99
   "password". This means it is possible to access their SVN repository
130
104
   When studentb logs in for the first time, his SVN repository is created,
131
105
   and given a random password.
132
106
 
133
 
Files
134
 
-----
135
 
 
136
 
The repository for user "studenta" has a few sample files. All of the
137
 
directories must be checked out (using the Checkout button) before the files
138
 
can be seen from the IVLE application.
139
 
 
140
 
* :file:`stuff/Welcome to IVLE.html`: A simple web page, which can be
141
 
  displayed with the "Serve" command.
142
 
* :file:`stuff/hello.py`: A simple Python script, which can be executed with
143
 
  the "Serve" command. This file has a few edits in its revision history.
144
 
* :file:`ivle-102/mywork/phase1.html`: A file for a student's project
145
 
  submission.
146
 
* :file:`group1/phase2.html`: A file for a group project submission. This
147
 
  contains edits by both studenta and studentb, and is also accessible if
148
 
  logged in as studentb.
149
 
 
150
 
Projects
151
 
--------
152
 
 
153
 
The subject ivle-102 (2009 semester 2) has two project sets and three
154
 
projects. This demonstrates the relationship between project sets and
155
 
projects.
156
 
 
157
 
The first project set is a solo project set (every student works by
158
 
themselves on all projects). It has one project in it.
159
 
 
160
 
The second project set is a group project set, for groups of 3. That means
161
 
students work in the *same* group of 3 for every project in the set. It has
162
 
two projects in it, demonstrating that the students get to keep their group
163
 
(including all of the group files) across the two projects in this set.
164
 
 
165
 
Projects 1 and 2 have their due date set in the year 3009, so they will always
166
 
be submittable. Project 3 was due in 2009, so it has already closed.
167
 
 
168
 
Finally, there is a single group for projects 2 and 3, which has the students
169
 
studenta and studentb enlisted.
170
 
 
171
 
Exercises
172
 
---------
173
 
 
174
 
There is currently a single exercise, ``factorial``, which prompts the user to
175
 
write a factorial function and tests its correctness.
176
 
 
177
 
Worksheets
178
 
----------
179
 
 
180
 
There is currently a single worksheet in the subject ivle-102 (2009 semester
181
 
2). It embeds the exercise ``factorial``.
182
 
 
183
107
Updating the sample data
184
108
========================
185
109