Maintaining the Course Webpage
General Tips
- Pick the best way to present information. Just because previous ISAs used a particular form of presentation doesn't mean you have to. Be creative and think, "How can I present the information so that it's most accessible and useful?". You can use tables, charts, bullets, etc.
- After you make major changes to a web page, revalidate it. You can use the W3C validator: http://validator.w3.org/. If your page does not pass (and you get errors), then there is something wrong with your code. Your page may still look OK, but you should really make sure it validates.
- If you get the 404 Not Found error, then that means you typed the URL wrong, or the page doesn't exist.
- If you get the 403 Forbidden error, that usually means the permissions of your file is wrong. For most types of files (shtml, pdf, ss), the file should be at least owner, group, and world readable. For php files, group and others do not need read permissions, although your .htaccess file must be set up correctly (see this and this) and the php files must have user execute permissions.
- The main parts of the webpage are modified on the course account's ~/public_html folder
PDF Files not Updating Properly
Clear your web cache and access it again.
Unautorized Access to Page or Page Formatting becomes Weird
Check the file permissions of the page for the former, and check the file permissions of style.css for the latter.
Using .htaccess
files
See the page
AllAboutHtaccess
Using PHP
The use of PHP allows many things to be done on websites with a small amount of scripting, while leaving most of the content specified in plain HTML so it's easy to edit.
There's a special page dealing with
PHPOnCourseWebsites that discusses many different uses of PHP.
Marks and Testing
Marks may be displayed to students via the script described in
OnlineMarkUpload.
To allow a web front-end for public tests in submit/rst-based courses, see
WebPublicTestFrontEnd.
You may also want to allow
WebSolutionsAccess for students enrolled in the course.
Server Side Includes
Server-side includes tells the web server to include other documents in an shtml page.
For instance,
<!--#include virtual="menu.html"-->
will verbosely out put the contents of
menu.html
. If you see the error
[an error occurred while processing this directive]
, check to make sure that the included file has world read permissions and that the file name is exists.
Academic Integrity Include
It is a requirement that standard information be made available to students. For CS courses, this is typically done via the website, and it is frequently part of the Assignments page of the site.
About the announcements
- the 'announce' command in the course account writes to course announcement and the newsgroups. So you don't really have to write to the website itself.
- Students are expected to check the announcement at least daily.
- To use the
announce
command:
- First, create a
.txt
file. The first line in the file should be the title of the announcement. Then, two lines below, type the contents of the announcement.
- In the command line window, type:
announce -n locationof.txt
. Only use the -n
command if your course does not use a Newsgroup.
- If you need to edit the announcement, look in the public_html/announce folder for the .html file with the correct timestamp, and edit it there.
- To delete an announcement, open
announce.shtml
and delete the line referring to the announcement you no longer want.
Your announcement will appear in the announce folder. See the manual page for announce (
AnnounceMan) for more information.
Website Template for CS 115, CS 116, CS 135, CS 136
See
WebTemplate
Web mirror
In the event that
www.student.cs
is not accessible, the course web pages are also partially mirrored on
www.cs
. So, for example the cs135 site would be reachable at
http://www.cs.uwaterloo.ca/undergrad/course_web_pages/~cs135/. While this would allow basic information retrieval, CGI scripts would not run, as those run on hosts in the
student.cs
environment instead of
general.cs
.
Office Hours
You may consider presenting the office hours in a calendar like
this, or in a table like
this. The latter is most useful when you have many office hours. The office hours should also be listed in the Personnel page.
During the exam period, the regular office hours end, and you can use a calendar like
this (it uses PHP to generate the table). Make sure you update the hours on the Personnel page, also.
Note that the .ph file must be used because the Wiki will try to render php files and return a server error instead of file contents; this .php file in the table below should be deleted if anyone can figure out how.
Assignment Rotation
During the exam period, the assignment solutions will be posted on a rotating basis. You can use a table like
this to tell students when the solutions will be posted.