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

« back to all changes in this revision

Viewing changes to doc/man/sample.rst

  • Committer: William Grant
  • Date: 2009-12-17 05:51:06 UTC
  • Revision ID: me@williamgrant.id.au-20091217055106-5xizza3nttltx1uh
Add icons to the project management view.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
.. IVLE - Informatics Virtual Learning Environment
 
2
   Copyright (C) 2007-2009 The University of Melbourne
 
3
 
 
4
.. This program is free software; you can redistribute it and/or modify
 
5
   it under the terms of the GNU General Public License as published by
 
6
   the Free Software Foundation; either version 2 of the License, or
 
7
   (at your option) any later version.
 
8
 
 
9
.. This program is distributed in the hope that it will be useful,
 
10
   but WITHOUT ANY WARRANTY; without even the implied warranty of
 
11
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
12
   GNU General Public License for more details.
 
13
 
 
14
.. You should have received a copy of the GNU General Public License
 
15
   along with this program; if not, write to the Free Software
 
16
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
17
 
 
18
.. _sample-data:
 
19
 
 
20
***********
 
21
Sample data
 
22
***********
 
23
 
 
24
IVLE comes with supplied sample data to give a quick overview of the system.
 
25
This sample data may be installed by an administrative script. It should not
 
26
be installed in a production environment.
 
27
 
 
28
The sample data consists of database entries, for populating sample subjects,
 
29
offerings, users, projects, groups and worksheets, as well as some sample
 
30
files in users' Subversion repositories.
 
31
 
 
32
Installing the sample data
 
33
==========================
 
34
 
 
35
The data is stored in an SQL dump file, in ``examples/db/sample.sql``.
 
36
 
 
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::
 
49
 
 
50
    sudo ivle-loadsampledata examples/db/sample.sql
 
51
 
 
52
.. warning:: This script essentially destroys all contents in an existing IVLE
 
53
   installation. Be sure you wish to do this.
 
54
 
 
55
.. note:: The script may fail at the "dropping database" phase if Apache or
 
56
   another process are using the database. It is best to stop Apache before
 
57
   executing the script.
 
58
 
 
59
   If the database exists, but is not properly initialised, then the script
 
60
   may fail. In this case, you should manually run ``ivle-mountallusers -u``,
 
61
   then drop the database, to ensure a clean build.
 
62
 
 
63
   If there are any existing users (including sample users from previous runs
 
64
   of the script), their files and subversion repos will be moved out of the
 
65
   way to a backup location, ``/var/lib/ivle/jails-removed-<date>/``.
 
66
   If you run this script regularly, your ``/var/lib/ivle/`` will become full
 
67
   of these backups, so you may wish to remove them often. However, they are
 
68
   typically fairly small (a few hundred kilobytes each), because they only
 
69
   contain user content, not the full jail image.
 
70
 
 
71
What is included
 
72
================
 
73
 
 
74
Subjects, semesters and offerings
 
75
---------------------------------
 
76
 
 
77
There are four semesters in the database: 2009 semesters 1 and 2, and 2010
 
78
semesters 1 and 2.
 
79
 
 
80
.. note:: We pretend that we are in 2009 semester 2 (even if that doesn't
 
81
   agree with the system clock). Therefore, 2009 semester 1 is a "past
 
82
   semester", 2009 semester 2 is the "current semester", and the 2010
 
83
   semesters are "future semesters."
 
84
 
 
85
There are four subjects in the database, with subject short names ivle-101,
 
86
ivle-102, ivle-201 and ivle-202.
 
87
 
 
88
The subjects have offerings for some of the semesters, as shown in this table:
 
89
 
 
90
+------+----------+-----------+
 
91
| Year | Semester | Subject   |
 
92
+======+==========+===========+
 
93
| 2009 | 1        | ivle-101  |
 
94
+------+----------+-----------+
 
95
| 2009 | 2        | ivle-102  |
 
96
+------+----------+-----------+
 
97
| 2010 | 1        | ivle-101  |
 
98
+------+----------+-----------+
 
99
| 2010 | 1        | ivle-201  |
 
100
+------+----------+-----------+
 
101
| 2010 | 2        | ivle-102  |
 
102
+------+----------+-----------+
 
103
| 2010 | 2        | ivle-202  |
 
104
+------+----------+-----------+
 
105
 
 
106
Users
 
107
-----
 
108
 
 
109
There are five users (username/password). Note that in all cases, the password
 
110
is "password".
 
111
 
 
112
* admin/password: This user has administrative rights over the entire system.
 
113
* lecturer/password: This is a normal user, but is enrolled as a lecturer in
 
114
  100101 (2009 semester 1) and 100102 (2009 semester 2).
 
115
* tutor/password: This is a normal user, but is enrolled as a tutor in
 
116
  100102 (2009 semester 2).
 
117
* studenta/password: This is a normal user, enrolled in 100101 (2009 semester
 
118
  1) and 100102 (2009 semester 2).
 
119
* studentb/password: This is a normal user, enrolled in 100102 (2009 semester
 
120
  2). This student has not yet accepted the Terms of Service, so does not have
 
121
  a jail created, etc.
 
122
 
 
123
.. note:: For the first three users, the Subversion password is also
 
124
   "password". This means it is possible to access their SVN repository
 
125
   with a stand-alone SVN client with that password. This is somewhat
 
126
   unrealistic, as the SVN password in IVLE is usually a randomly-generated
 
127
   string, not related to the user's IVLE login password.
 
128
 
 
129
   When studentb logs in for the first time, his SVN repository is created,
 
130
   and given a random password.
 
131
 
 
132
Files
 
133
-----
 
134
 
 
135
The repository for user "studenta" has a few sample files. All of the
 
136
directories must be checked out (using the Checkout button) before the files
 
137
can be seen from the IVLE application.
 
138
 
 
139
* In the :file:`stuff` directory is a sample file, :file:`hello.py`. This is a
 
140
  simple Python script, which can be executed with the "Serve" command.
 
141
 
 
142
Projects
 
143
--------
 
144
 
 
145
The subject 100102 has two project sets and three projects. This demonstrates
 
146
the relationship between project sets and projects.
 
147
 
 
148
The first project set is a solo project set (every student works by
 
149
themselves on all projects). It has one project in it.
 
150
 
 
151
The second project set is a group project set, for groups of 3. That means
 
152
students work in the *same* group of 3 for every project in the set. It has
 
153
two projects in it, demonstrating that the students get to keep their group
 
154
(including all of the group files) across the two projects in this set.
 
155
 
 
156
Finally, there is a single group for projects 2 and 3, which has the students
 
157
studenta and studentb enlisted.
 
158
 
 
159
Worksheets
 
160
----------
 
161
 
 
162
There are not yet any worksheets.
 
163
 
 
164
Exercises
 
165
---------
 
166
 
 
167
There is currently a single exercise, ``factorial``, which prompts the user to
 
168
write a factorial function and tests its correctness.
 
169
 
 
170
Updating the sample data
 
171
========================
 
172
 
 
173
For developers: If you need to update the sample data, follow this procedure.
 
174
 
 
175
Run the following command::
 
176
 
 
177
    pg_dump --schema=public --disable-triggers --data-only --column-inserts \
 
178
        --inserts --no-owner ivle > examples/db/sample.sql
 
179
 
 
180
Then check the diff. You may hand-edit the SQL file, but only for the purpose
 
181
of fixing up unsightly data -- it should be possible to reload from the script
 
182
and re-export with no diff.