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

1488 by Matt Giuca
Docs: Added 'Tour of IVLE', a quick tour of all IVLE's features from a user's perspective.
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
1527 by Matt Giuca
Docs: Tour of IVLE: Mention verify.
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.
1488 by Matt Giuca
Docs: Added 'Tour of IVLE', a quick tour of all IVLE's features from a user's perspective.
94
95
If you go into the Intermediate Ivle -> group1 directory, you will be able to
1491 by Matt Giuca
Sample data: Projects 1 and 2 now due in 3009, not 2009, so they won't appear closed when someone in the (not-too-distant) future tries to submit them. Updated corresponding documentation.
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.
1488 by Matt Giuca
Docs: Added 'Tour of IVLE', a quick tour of all IVLE's features from a user's perspective.
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
1618 by Matt Giuca
Updated sample data: Added a new exercise 'hello'. This is a gentler
109
After reading the worksheet, attempt the first simple programming question,
110
which is to write the Hello world program.
111
112
First, click Submit without writing any code, and note that the system
113
automatically runs a test case, which fails. Now change the code to be "almost
114
right" (for example, write "Hello world" instead of "Hello, world!"), and
115
press Submit again. It will tell you that you almost got it right. In this
116
way, the IVLE test framework can show users that they're on the right track.
117
If you get it exactly right and click Submit a third time, you will pass the
118
test.
119
120
Note that you can also click "Run", and it will execute your solution in the
121
Python console. This doesn't cost you an "attempt", nor does it run the test
122
cases. It just lets you test it out for yourself before making an official
123
submission.
124
125
Back on the subject page, you will notice that the exercise appears complete,
126
and you have been awarded a mark.
127
128
A sample solution to the second exercise follows::
1488 by Matt Giuca
Docs: Added 'Tour of IVLE', a quick tour of all IVLE's features from a user's perspective.
129
130
 def fac(n):
131
     if n == 0:
132
         return 1
133
     else:
134
         return n * fac(n-1)
135
 
136
 def main():
137
     f = int(raw_input())
138
     print fac(f)
139
140
A lecturer's view
141
=================
142
1494 by Matt Giuca
docs: Tour of IVLE: Added lecturer tour (complete).
143
Log into IVLE as a lecturer (username: 'lecturer', password: 'password'). Many
144
of these things are also possible as a tutor (try username: 'tutor', password:
145
'password').
146
147
Being a lecturer or tutor is a per-subject privilege, so it only applies to
148
certain subjects. All of your special powers are under the subject home for
149
the subjects you are a tutor in. Note that everything a lecturer can do, an
150
admin can also do, for all subjects in the system.
151
152
Click "Intermediate IVLE - Subject home". From here, you will see largely the
153
same view as a student, but with more buttons. "Change details" allows you to
154
modify the subject properties. "Enrol users" allows you to add existing IVLE
155
users as students or tutors of the subject you are teaching (this is currently
156
an irreversible action).
157
158
Managing projects
159
-----------------
160
161
Click "Manage projects" to go to the project management screen. Note that the
162
3 projects are grouped into "Solo projects" (projects submitted by each
163
individual student) and "Group projects". Try adding a new Solo project, by
164
clicking on "Add a new project" within that box. The fields should be fairly
165
self-explanatory.
1488 by Matt Giuca
Docs: Added 'Tour of IVLE', a quick tour of all IVLE's features from a user's perspective.
166
167
.. warning::
1494 by Matt Giuca
docs: Tour of IVLE: Added lecturer tour (complete).
168
   You can't currently edit or delete a project after it has been created.
169
170
Group projects are complicated by what we call "project sets". A "project set"
171
is a set of group projects where the student groups are the same throughout.
172
For instance, you will see Phase 2 and Phase 3 inside the same project set
173
box. This means students will get into groups of 3 to submit Phase 2, and then
174
the same group will submit Phase 3.
175
176
Clicking "Manage groups" lets you put students into groups for a given project
177
set.
178
179
Click "Add a new project set" and enter a group size of 6. Then, create a
180
project in the new set. Each student must get into a new group for each
181
project *set*. Note also that the groups will share a Subversion repository
182
for all projects in a set, but if you create a new set, the students will have
183
to start using a new repository.
184
185
Usually, the hassle of getting into new groups and creating new repositories
1575 by William Grant
Clarify that you actually need two project sets: one for solo, one for group.
186
means that you will want to create just two project sets for a subject: one
187
for solo projects, and another for group projects.
1494 by Matt Giuca
docs: Tour of IVLE: Added lecturer tour (complete).
188
1555 by Matt Giuca
doc/man/tour.rst: Added section on viewing submissions.
189
Viewing submissions
190
-------------------
191
192
Lecturers and tutors can view any student or group's project submission, using
193
an external Subversion client. As submissions are really just Subversion
194
commits, you can examine a student's work by simply checking out the correct
195
revision of the repository.
196
1576 by William Grant
There is now a link to view a project's submissions directly on the offering index. Describe this.
197
From the offering page, click "View submissions" under the project of interest.
198
This takes you to a page which lists the latest submissions from every student
199
(presumably you will just see the submission made by "studenta" earlier in
200
this tour). Next to each submission is a command line, beginning with
201
``svn co``. For instance, you might see the line::
1555 by Matt Giuca
doc/man/tour.rst: Added section on viewing submissions.
202
203
 svn co --username lecturer -r7 http://svn.ivle.localhost/users/studenta/ivle-102/phase1.html
204
205
Paste this line into a command-line (or, if you use a GUI Subversion client,
206
use the username, revision and URL given). Subversion will likely prompt for a
207
password. For the sample data, this password is "password", but in general, it
208
will **not** be your normal IVLE password. You can learn your Subversion
209
password by opening a Console in IVLE and typing::
210
211
 import ivle.config
212
 ivle.config.Config()['user_info']['svn_pass']
213
214
This will check out the student's work into the current directory, to inspect.
215
216
You can also try to check out the group submission from Phase 2.
217
218
.. warning::
219
   It is currently not possible to check out a single file (not a directory)
220
   submission using the instructions given. Instead, run ``svn cat``, and
221
   redirect the output into a file.
222
1494 by Matt Giuca
docs: Tour of IVLE: Added lecturer tour (complete).
223
Managing worksheets and exercises
224
---------------------------------
225
226
Return to the subject home page. Click "Manage worksheets". On this page, you
227
will see all of the worksheets for the subject. Here you can edit worksheets,
228
add new ones, and re-order them. You can also edit any worksheet from its own
229
page.
230
231
To get an idea of what a worksheet looks like in edit mode, click the edit
232
action (pencil) next to "Worksheet Basics".
233
234
* The "URL name" is the name of the worksheet as it appears in URLs.
235
* The "Assessable" checkbox will make the exercises in the worksheet count
236
  towards each student's worksheet mark, if checked. Uncheck it for
237
  informational worksheets.
238
* The "Format" selection controls the format used to write the worksheet in
239
  the box below. Leave it on "reStructuredText" unless you have a reason not
240
  to.
241
242
Now, you can edit the worksheet content in reStructuredText. The existing text
243
briefly explains this format. See `A ReStruecturedText Primer
244
<http://docutils.sourceforge.net/docs/user/rst/quickstart.html>`_ for a full
245
guide. Note that the exercises themselves are not in the worksheet. They are
246
separate resources, which can be shared across subjects. Exercises can be
247
embedded with a line like this::
248
249
 .. exercise:: factorial
250
251
Click "Manage exercises" to see the exercises (in the sample data, just
252
"factorial"). An exercise is a very complex thing, due to the fact that it
253
runs automated testing on the student code. The details are outside the scope
254
of this tour. Hopefully, you can figure out how they work by examining the
255
existing "factorial" exercise.
256
257
If you are game enough, create a new worksheet from scratch. If you are
258
*really* game, create a new exercise for your worksheet.
1488 by Matt Giuca
Docs: Added 'Tour of IVLE', a quick tour of all IVLE's features from a user's perspective.
259
260
An administrator's view
261
=======================
262
263
Log into IVLE as an admin (username: 'admin', password: 'password').
264
1501 by Matt Giuca
User administration page: Do not let an admin user change their own admin checkbox (disable and don't let it change). This would be bad.
265
Administrator users in IVLE have significant privileges. Note, however, that
266
for technical reasons, admins cannot read or write other users' files. This
267
requires root access on the machine IVLE is installed on.
268
269
Firstly, pull down the IVLE menu (top-left). There is an additional item for
270
admins -- the "Users" page. This lists all users with an account in IVLE.
271
Clicking on a username takes you to the user's profile page. Try it with the
272
user 'lecturer'.
273
274
The profile page is exactly the same as the user himself would see it, but
275
with a few more buttons on the side. "Change password" is the same as the
276
user's own "Change password" page. However, "Reset password" is a special
277
admin page which lets you change a user's password without knowing the old
278
one. "Administer user" also lets you change administrative settings for the
279
user, such as their full name (more formal than display name, which the user
1505 by Matt Giuca
Docs: Completed Tour of IVLE (finished Admin section). Apologies for the mess on the previous commit -- committed an unfinished document.
280
themselves can change) and student ID. You can also add/remove admin status
281
for, or disable/enable (i.e., ban from IVLE) any user (except yourself, of
282
course -- that could be bad).
1501 by Matt Giuca
User administration page: Do not let an admin user change their own admin checkbox (disable and don't let it change). This would be bad.
283
1488 by Matt Giuca
Docs: Added 'Tour of IVLE', a quick tour of all IVLE's features from a user's perspective.
284
.. warning::
1501 by Matt Giuca
User administration page: Do not let an admin user change their own admin checkbox (disable and don't let it change). This would be bad.
285
   Use this with care. Making a user an admin gives them complete control over
286
   the system. They could even revoke *your* admin rights!
287
1505 by Matt Giuca
Docs: Completed Tour of IVLE (finished Admin section). Apologies for the mess on the previous commit -- committed an unfinished document.
288
Admin users also enjoy the same privileges as lecturers, for all subjects on
289
the system. In addition, admins can enrol users in a subject as lecturers
290
(this is the only way to become a lecturer). Go to the subject page for
291
"Advanced IVLE" and enrol the user "lecturer" as a Lecturer in the subject.
1501 by Matt Giuca
User administration page: Do not let an admin user change their own admin checkbox (disable and don't let it change). This would be bad.
292
293
Admin scripts
294
-------------
295
296
Unfortunately, there are still a few tasks which admins need to do which
297
haven't been implemented in the UI for the IVLE web application. These tasks
298
are available as command-line scripts which can be run by someone with root
299
access on the machine IVLE is installed on. They are gradually being migrated
300
over to proper UI features in IVLE itself.
301
302
Details on these scripts can be found in :ref:`ref-admin-scripts`.