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 |
||
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 |
||
1494
by Matt Giuca
docs: Tour of IVLE: Added lecturer tour (complete). |
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. |
|
1488
by Matt Giuca
Docs: Added 'Tour of IVLE', a quick tour of all IVLE's features from a user's perspective. |
164 |
|
165 |
.. warning:: |
|
1494
by Matt Giuca
docs: Tour of IVLE: Added lecturer tour (complete). |
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 |
|
1575
by William Grant
Clarify that you actually need two project sets: one for solo, one for group. |
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. |
|
1494
by Matt Giuca
docs: Tour of IVLE: Added lecturer tour (complete). |
186 |
|
1555
by Matt Giuca
doc/man/tour.rst: Added section on viewing submissions. |
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 |
||
1576
by William Grant
There is now a link to view a project's submissions directly on the offering index. Describe this. |
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:: |
|
1555
by Matt Giuca
doc/man/tour.rst: Added section on viewing submissions. |
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 |
||
1494
by Matt Giuca
docs: Tour of IVLE: Added lecturer tour (complete). |
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.
|
|
1488
by Matt Giuca
Docs: Added 'Tour of IVLE', a quick tour of all IVLE's features from a user's perspective. |
257 |
|
258 |
An administrator's view
|
|
259 |
=======================
|
|
260 |
||
261 |
Log into IVLE as an admin (username: 'admin', password: 'password'). |
|
262 |
||
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. |
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 |
|
1505
by Matt Giuca
Docs: Completed Tour of IVLE (finished Admin section). Apologies for the mess on the previous commit -- committed an unfinished document. |
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). |
|
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. |
281 |
|
1488
by Matt Giuca
Docs: Added 'Tour of IVLE', a quick tour of all IVLE's features from a user's perspective. |
282 |
.. 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. |
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 |
||
1505
by Matt Giuca
Docs: Completed Tour of IVLE (finished Admin section). Apologies for the mess on the previous commit -- committed an unfinished document. |
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. |
|
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. |
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`. |