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

« back to all changes in this revision

Viewing changes to doc/man/tour.rst

  • Committer: William Grant
  • Date: 2010-02-16 07:22:43 UTC
  • mto: This revision was merged to the branch mainline in revision 1674.
  • Revision ID: grantw@unimelb.edu.au-20100216072243-iq9ej3kz3xq6t0ja
Fail nicely if a project with the same name already exists.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
.. IVLE - Informatics Virtual Learning Environment
 
2
   Copyright (C) 2007-2010 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
.. _ivle-tour:
 
19
 
 
20
**************
 
21
A tour of IVLE
 
22
**************
 
23
 
 
24
This page is designed to give a brief overview of IVLE, from a users point of
 
25
view (including administrator and lecturer users). Here we assume that you
 
26
have :ref:`set up a fresh copy of IVLE <ref-install>` and :ref:`installed the
 
27
sample data <sample-data>`. This page refers to the sample data specifically.
 
28
If you are just using an existing installation of IVLE, it might still make a
 
29
bit of sense, but your mileage may vary.
 
30
 
 
31
We will take the tour in three stages: first as a student, then as a lecturer,
 
32
and finally as an administrator.
 
33
 
 
34
A student's view
 
35
================
 
36
 
 
37
Begin by logging into IVLE as a student (username: 'studenta', password:
 
38
'password').
 
39
 
 
40
Files
 
41
-----
 
42
 
 
43
You will see the IVLE home screen, which displays the subjects you are
 
44
enrolled in, and your files for each subject. Along the top is the blue bar
 
45
which is always visible in IVLE. Clicking the IVLE logo always returns you to
 
46
the home screen.
 
47
 
 
48
The user "studenta" is enrolled in several subjects, and has several files
 
49
already in her Subversion repository, but they aren't immediately accessible.
 
50
 
 
51
First, click all of the "Checkout" buttons, to check out the Subversion
 
52
repositories. Now you can explore the sample files, for example, in the
 
53
"stuff" directory.
 
54
 
 
55
Go into the "stuff" directory and left-click the file "hello.py". This will
 
56
open the build-in text editor, which lets you modify the file. Along the top,
 
57
there is a button marked "Serve". Clicking this will *run* the Python code as
 
58
a CGI application -- this should open a new window which reads "Hello,
 
59
world!". You can also click "Run", which will run the program in the built-in
 
60
Python console (which pops up from the bottom of the screen). This will be
 
61
much uglier, printing the CGI output.
 
62
 
 
63
* "Serve" runs Python programs as CGI applications, showing their web output.
 
64
* "Run" runs Python programs as command-line applications.
 
65
 
 
66
Note that you can also use the console at the bottom of the screen as a
 
67
generic Python console, whenever you wish.
 
68
 
 
69
You can also serve other files, such as HTML files (try "Welcome to
 
70
IVLE.html"). This will just present them as normal web pages.
 
71
 
 
72
Files also have full Subversion histories. If you click on a file in the file
 
73
view (such as "hello.py"), and go to More Actions -> Subversion -> View Log,
 
74
you will see the history of a file, and be able to "select" then view a "diff"
 
75
of the file. If you edit a file, you need to commit it (More Actions ->
 
76
Subversion -> Commit). If you create a new file (More Actions -> Directory
 
77
actions -> New file), you need to add it (More Actions -> Subversion -> Add),
 
78
then commit.
 
79
 
 
80
Submissions
 
81
-----------
 
82
 
 
83
This student has already completed a project, and is ready to submit it. Go
 
84
into the Intermediate Ivle -> mywork directory. Select "phase1.html" and
 
85
choose More Actions -> Publishing -> Submit. This takes you to the Submit
 
86
Project screen.
 
87
 
 
88
Choose to submit to Phase 1, and click Submit Project. You should see a page
 
89
telling you the submission was successful, with a link to "verify". Verify
 
90
shows you exactly which files were submitted, and their contents at the time
 
91
of submission (if the files have changed since then, you'll still see the
 
92
submitted version). You should verify after each submission -- you can verify
 
93
any submitted project from the subject page.
 
94
 
 
95
If you go into the Intermediate Ivle -> group1 directory, you will be able to
 
96
make a group submission to Phase 2 (which is a group project). Note that the
 
97
Phase 3 submission has already closed.
 
98
Also note that the file here ("phase2.html") was edited by studenta and
 
99
studentb collaboratively, as you can see in the project's revision log.
 
100
 
 
101
Worksheets
 
102
----------
 
103
 
 
104
Click on Intermediate Ivle -> Subject Home from the home screen (or, from the
 
105
IVLE pulldown menu, choose Subjects and select Intermediate Ivle). There is
 
106
one worksheet, Worksheet Basics. Clicking this takes you to the worksheet,
 
107
where students are challenged by Python questions.
 
108
 
 
109
After reading the worksheet, attempt the simple programming question, which is
 
110
to write a factorial program.
 
111
 
 
112
A sample solution follows::
 
113
 
 
114
 def fac(n):
 
115
     if n == 0:
 
116
         return 1
 
117
     else:
 
118
         return n * fac(n-1)
 
119
 
 
120
 def main():
 
121
     f = int(raw_input())
 
122
     print fac(f)
 
123
 
 
124
First, click Submit, and note that the system automatically runs some test
 
125
cases, all of which fail. Now paste the solution to :func:`fac` (but not
 
126
:func:`main`). Clicking Submit again shows some test cases pass, but not all.
 
127
Finally, paste the solution to :func:`main`, and click Submit again. This
 
128
time, you will pass the test.
 
129
 
 
130
Note that you can also click "Run", and it will execute your solution in the
 
131
Python console. This doesn't cost you an "attempt", nor does it run the test
 
132
cases. It just lets you test it out for yourself before making an official
 
133
submission.
 
134
 
 
135
Back on the subject page, you will notice that the exercise appears complete,
 
136
and you have been awarded some marks.
 
137
 
 
138
A lecturer's view
 
139
=================
 
140
 
 
141
Log into IVLE as a lecturer (username: 'lecturer', password: 'password'). Many
 
142
of these things are also possible as a tutor (try username: 'tutor', password:
 
143
'password').
 
144
 
 
145
Being a lecturer or tutor is a per-subject privilege, so it only applies to
 
146
certain subjects. All of your special powers are under the subject home for
 
147
the subjects you are a tutor in. Note that everything a lecturer can do, an
 
148
admin can also do, for all subjects in the system.
 
149
 
 
150
Click "Intermediate IVLE - Subject home". From here, you will see largely the
 
151
same view as a student, but with more buttons. "Change details" allows you to
 
152
modify the subject properties. "Enrol users" allows you to add existing IVLE
 
153
users as students or tutors of the subject you are teaching (this is currently
 
154
an irreversible action).
 
155
 
 
156
Managing projects
 
157
-----------------
 
158
 
 
159
Click "Manage projects" to go to the project management screen. Note that the
 
160
3 projects are grouped into "Solo projects" (projects submitted by each
 
161
individual student) and "Group projects". Try adding a new Solo project, by
 
162
clicking on "Add a new project" within that box. The fields should be fairly
 
163
self-explanatory.
 
164
 
 
165
.. warning::
 
166
   You can't currently edit or delete a project after it has been created.
 
167
 
 
168
Group projects are complicated by what we call "project sets". A "project set"
 
169
is a set of group projects where the student groups are the same throughout.
 
170
For instance, you will see Phase 2 and Phase 3 inside the same project set
 
171
box. This means students will get into groups of 3 to submit Phase 2, and then
 
172
the same group will submit Phase 3.
 
173
 
 
174
Clicking "Manage groups" lets you put students into groups for a given project
 
175
set.
 
176
 
 
177
Click "Add a new project set" and enter a group size of 6. Then, create a
 
178
project in the new set. Each student must get into a new group for each
 
179
project *set*. Note also that the groups will share a Subversion repository
 
180
for all projects in a set, but if you create a new set, the students will have
 
181
to start using a new repository.
 
182
 
 
183
Usually, the hassle of getting into new groups and creating new repositories
 
184
means that you will want to create just two project sets for a subject: one
 
185
for solo projects, and another for group projects.
 
186
 
 
187
Viewing submissions
 
188
-------------------
 
189
 
 
190
Lecturers and tutors can view any student or group's project submission, using
 
191
an external Subversion client. As submissions are really just Subversion
 
192
commits, you can examine a student's work by simply checking out the correct
 
193
revision of the repository.
 
194
 
 
195
From the offering page, click "View submissions" under the project of interest.
 
196
This takes you to a page which lists the latest submissions from every student
 
197
(presumably you will just see the submission made by "studenta" earlier in
 
198
this tour). Next to each submission is a command line, beginning with
 
199
``svn co``. For instance, you might see the line::
 
200
 
 
201
 svn co --username lecturer -r7 http://svn.ivle.localhost/users/studenta/ivle-102/phase1.html
 
202
 
 
203
Paste this line into a command-line (or, if you use a GUI Subversion client,
 
204
use the username, revision and URL given). Subversion will likely prompt for a
 
205
password. For the sample data, this password is "password", but in general, it
 
206
will **not** be your normal IVLE password. You can learn your Subversion
 
207
password by opening a Console in IVLE and typing::
 
208
 
 
209
 import ivle.config
 
210
 ivle.config.Config()['user_info']['svn_pass']
 
211
 
 
212
This will check out the student's work into the current directory, to inspect.
 
213
 
 
214
You can also try to check out the group submission from Phase 2.
 
215
 
 
216
.. warning::
 
217
   It is currently not possible to check out a single file (not a directory)
 
218
   submission using the instructions given. Instead, run ``svn cat``, and
 
219
   redirect the output into a file.
 
220
 
 
221
Managing worksheets and exercises
 
222
---------------------------------
 
223
 
 
224
Return to the subject home page. Click "Manage worksheets". On this page, you
 
225
will see all of the worksheets for the subject. Here you can edit worksheets,
 
226
add new ones, and re-order them. You can also edit any worksheet from its own
 
227
page.
 
228
 
 
229
To get an idea of what a worksheet looks like in edit mode, click the edit
 
230
action (pencil) next to "Worksheet Basics".
 
231
 
 
232
* The "URL name" is the name of the worksheet as it appears in URLs.
 
233
* The "Assessable" checkbox will make the exercises in the worksheet count
 
234
  towards each student's worksheet mark, if checked. Uncheck it for
 
235
  informational worksheets.
 
236
* The "Format" selection controls the format used to write the worksheet in
 
237
  the box below. Leave it on "reStructuredText" unless you have a reason not
 
238
  to.
 
239
 
 
240
Now, you can edit the worksheet content in reStructuredText. The existing text
 
241
briefly explains this format. See `A ReStruecturedText Primer
 
242
<http://docutils.sourceforge.net/docs/user/rst/quickstart.html>`_ for a full
 
243
guide. Note that the exercises themselves are not in the worksheet. They are
 
244
separate resources, which can be shared across subjects. Exercises can be
 
245
embedded with a line like this::
 
246
 
 
247
 .. exercise:: factorial
 
248
 
 
249
Click "Manage exercises" to see the exercises (in the sample data, just
 
250
"factorial"). An exercise is a very complex thing, due to the fact that it
 
251
runs automated testing on the student code. The details are outside the scope
 
252
of this tour. Hopefully, you can figure out how they work by examining the
 
253
existing "factorial" exercise.
 
254
 
 
255
If you are game enough, create a new worksheet from scratch. If you are
 
256
*really* game, create a new exercise for your worksheet.
 
257
 
 
258
An administrator's view
 
259
=======================
 
260
 
 
261
Log into IVLE as an admin (username: 'admin', password: 'password').
 
262
 
 
263
Administrator users in IVLE have significant privileges. Note, however, that
 
264
for technical reasons, admins cannot read or write other users' files. This
 
265
requires root access on the machine IVLE is installed on.
 
266
 
 
267
Firstly, pull down the IVLE menu (top-left). There is an additional item for
 
268
admins -- the "Users" page. This lists all users with an account in IVLE.
 
269
Clicking on a username takes you to the user's profile page. Try it with the
 
270
user 'lecturer'.
 
271
 
 
272
The profile page is exactly the same as the user himself would see it, but
 
273
with a few more buttons on the side. "Change password" is the same as the
 
274
user's own "Change password" page. However, "Reset password" is a special
 
275
admin page which lets you change a user's password without knowing the old
 
276
one. "Administer user" also lets you change administrative settings for the
 
277
user, such as their full name (more formal than display name, which the user
 
278
themselves can change) and student ID. You can also add/remove admin status
 
279
for, or disable/enable (i.e., ban from IVLE) any user (except yourself, of
 
280
course -- that could be bad).
 
281
 
 
282
.. warning::
 
283
   Use this with care. Making a user an admin gives them complete control over
 
284
   the system. They could even revoke *your* admin rights!
 
285
 
 
286
Admin users also enjoy the same privileges as lecturers, for all subjects on
 
287
the system. In addition, admins can enrol users in a subject as lecturers
 
288
(this is the only way to become a lecturer). Go to the subject page for
 
289
"Advanced IVLE" and enrol the user "lecturer" as a Lecturer in the subject.
 
290
 
 
291
Admin scripts
 
292
-------------
 
293
 
 
294
Unfortunately, there are still a few tasks which admins need to do which
 
295
haven't been implemented in the UI for the IVLE web application. These tasks
 
296
are available as command-line scripts which can be run by someone with root
 
297
access on the machine IVLE is installed on. They are gradually being migrated
 
298
over to proper UI features in IVLE itself.
 
299
 
 
300
Details on these scripts can be found in :ref:`ref-admin-scripts`.