next up previous


Grade Central Documentation

Version 1.0


Contents

1. About Grade Central

2. System Requirements

2.1 Server System Requirements

2.2 Client Requirements

3. Compilation, Installation, Configuration

3.1 SSL Configuration

3.1.0.0.1 A full configuration of OpenSSL is beyond the scope of this document. Check the INSTALL and README files that came with your copy of OpenSSL for instructions for installation and compilation.

3.2 Apache Configuration

3.2.0.0.1 A full configuration and setup of Apache is beyond the scope of this document. Check the Apache documentation at Apache Web Server at Apache.org http://httpd.apache.org/ for more complete documentation about general issues for compiling Apache. The documentation assumes you are compiling and installing Apache from source code. If this is not the case, check that your version of Apache supports dynamically loading modules or contact your system administrator for help installing the required software.

3.2.0.0.2 Unpack the apache source code into a temporary directory. Make note of the location of this source tree, which is needed for applying the mod_ssl and mod_auth_kerb modules to the Apache source tree.

3.2.1 Preparing to Compile

3.2.1.1 Adding mod_ssl to Apache

3.2.1.1.1 The mod_ssl Apache module must be added to the Apache source tree. Check the README and INSTALL file that came with your mod_ssl download for instructions on how to apply the module to Apache. Stop before the documentation tells you to call Apache's configuration script.

3.2.1.2 Adding mod_auth_kerb to Apache

3.2.1.2.1 Detailed instructions for building and configurating mod_auth_kerb can be found at Apache Kerberos Module http://stonecold.unity.ncsu.edu/software/mod_auth_kerb/. For Grade Central, simple extract the tar.gz file that contains the mod_auth_kerb module in the top level of your apache source distribution which you unpacked above. When you are finished unpacking you should have the following path in your Apache source tree:

<apache root>/src/modules/kerberos/mod_auth_kerb.c

3.2.1.3 Running the configuration script

3.2.1.3.1 The next step for configuring Apache is running the configuration script which creates Makefiles for your system. Below is a sample configuration script and an explanation of the various configurable values.

#!/bin/sh

env 'LIBS=-L/usr/kerberos/lib -lkrb /course/cs190/grade/openssl/lib/libcrypto.a -L/course/cs190/grade/openssl/lib -lsocket -lresolv -lnsl'

'INCLUDES=-I/usr/include/kerberos -I../openssl/include' \

'CFLAGS=-DKRB4 -DKRB_DEF_REALM=\\\"YOURSCHOOL.EDU\\\" -DKRB4_SAVE_TICKETS' \

'SSL_BASE=/course/cs190/grade/openssl' \

./configure -enable-module=headers -enable-module=info \

-enable-module=rewrite -prefix=/course/cs190/grade/apache \

-enable-module=mime_magic -enable-module=ssl \

-add-module=src/modules/kerberos/mod_auth_kerb.c

LIBS
Libraries needed by mod_ssl and mod_auth_kerb. The kerberos paths should point to the installation directory of your Kerberos v4 installation. The openssl lib paths should point toward your installation of OpenSSL.
INCLUDES
Location of include files for Kerberos v4 and OpenSSL
CFLAGS
Compiler flags needed for mod_auth_kerb

-DKRB4
Flag to tell mod_auth_kerb to use Kerberos v4
-DKRB_DEF_REALM
The Kerberos realm for your site. Replace SOME.EDU with the appropriate value supplied by your institution's systems administrator.
-DKRB4_SAVE_TICKETS
Tells mod_auth_kerb to save a local copy of your Kerberos ticket to /tmp. This is required by Grade Central as part of its session management.
SSL_BASE
The installation directory of OpenSSL

3.2.1.3.2 Additional parameters are needed by the configuration script and appear in the above code after ./configure. The official Apache documentation covers these parameters in more detail; only flags needed for Grade Central are covered below.

-prefix
The directory where you wish to install Apache
-enable-module=ssl
Tell Apache to activate SSL and put a default SSL configuration into the httpd.conf file.
-add-module=src/modules/kerberos/mod_auth_kerb.c
Tells Apache to use the mod_auth_kerb module.

3.2.1.3.3 When the configuration script is customized with your installation preferences, and any other values you wish to configure for Apache, save the file in the root of your Apache source distribution. Change the permissions on the file to executable by typing 'chmod u+x <script name>' where <script name> is the name of the configuration script you just saved. Now execute the script by typing './<script name>'. You should see a screen full of messages about Apache detecting various parameters of your operating environment such as the location of your C compiler and include directories. When the script completes, you should have a Makefile that will compile Apache for your system.

3.2.2 Compiling and Installing

3.2.2.0.1 Compilation of Apache can be handled with a similar script, which has additional parameters that need to be configured to successfully install Grade Central. Most of the parameters are recognizable from the script above.

#!/bin/sh

env 'LIBS=-L/usr/kerberos/lib -lkrb /course/cs190/grade/openssl/lib/libcrypto.a -L/course/cs190/grade/openssl/lib -lsocket -lresolv -lnsl' \

'INCLUDES=-I/usr/include/kerberos -I/course/cs190/grade/openssl/include' \

'CFLAGS=-DKRB4 -DKRB_DEF_REALM=\\\"YOURSCHOOL.EDU\\\" -DKRB4_SAVE_TICKETS' \

'SSL_BASE=/course/cs190/grade/openssl' \

make

make certificate

make install

make
Builds apache
make certificate
Tells mod_ssl to run a script for creating an SSL certificate for the web server. This step is required to use SSL. See the mod_ssl documentation for more information about the options at this point and for information to obtain a permanent valid certificate for SSL connections.
make install
Copies the Apache binaries, libraries, include files, and configuration files to the installation directory specified by the -prefix flag.

3.2.2.0.2 Make sure that the values in the script above match the configuration script created above. When the script is configured to your satisfaction, save it in the same manner as the configuration script (with a different file name) and execute the script to build and install Apache.

3.2.3 Apache Configuration File

3.2.3.0.1 The final step in configuring Apache is creating a virtual host and secure virtual host for Grade Central. Configuring virtual hosts is done in the httpd.conf file, which can be found in /etc/httpd or /usr/local/apache/conf. Check with your institution's system administrator for the location of the httpd.conf file if you did not configure Apache yourself.

3.2.3.0.2 A virtual host is a webserver that runs on the same machine as the regular host, but either uses a different port, or an entirely different name. The official Apache documentation has more information on configuring virtual hosts. This documentation will describe how to set up a virtual host that shares the name of your web server, but runs on a different port. For example, if your primary web server is http://www.yourschool.edu/, the Grade Central server will run on http://www.yourschool.edu:8050/ .

3.2.3.1 Regular Virtual Host Section

Two virtual hosts are required for the Grade Central server. The first is a normal http port. The second is an https port which will be used to access the Grade Central Server. Below is an example virtual host for regular http for Grade Central and a description of the fields you may wish to set.

## Start Grade Central Virtual Host

<VirtualHost _default_:8081>

    ServerAdmin webmaster@yourschool.edu

    DocumentRoot <Grade Central root>/ui/

    ScriptAlias /cgi-bin/ ``<Grade Central Root>/cgi-bin/''

    <Directory ``<Grade Central root>/ui''>

      AllowOverride AuthConfig

      Order allow,deny

      Allow from all

    </Directory>

   

    <Directory ``<Grade Central Root>/cgi-bin''>

      AllowOverride AuthConfig

      Order allow,deny

      Allow from all

      Options ExecCGI

     </Directory>

</VirtualHost>

 ## End Grade Central Virtual Host

<VirtualHost _default_:8081>
This directive tells Apache to create a web server using the same domain name as the default web server (which runs on port 80), but using port 8081. Choose a port number above 1024 for the numerical value.
ServerAdmin
The administrator of the web server. Should be your institutions webmaster.
DocumentRoot
This should point to the ui directory of your Grade Central installation. Make sure that the ui directory and the ui/images and ui/styles directory is world-readable and executable, and that the ui/index.html and all files in ui/images and ui/styles are world-readable. Be certain to replace <Grade Central Root> with the actual path to your Grade Central root directory. Make sure the trailing slash is added to the path as in the example above.
ScriptAlias
This directive tells Apache to make http://www.yourschool.edu:8081/cgi-bin/ point to the cgi-bin directory of your Grade Central installation. Be certain to replace <Grade Central Root> with the actual path to your Grade Central root directory. Make sure the trailing slash is added to the path as in the example above.
<Directory ''<Grade
Central root>/ui''> This section covers permissions for the DocumentRoot. Simply change the quoted section to the path of your GradeCentral ui directory. Make certain that the options between the <Directory> and </Directory> tags match the example above. Note the lack of a trailing slash.
<Directory ''<Grade
Central root>/cgi-bin''> This section covers permissions for the ScriptAlias. Simply change the quoted section to the path of your GradeCentral cgi-bin directory. Make certain that the options between the <Directory> and </Directory> tags match the example above. The Options ExecCGI command is especially important and should not be removed. Note the lack of a trailing slash.

3.2.3.2 SSL Virtual Host Section

The SSL virtual host section features many of the same options as the non-secure virtual host above, but also includes many parameters required for SSL. The easiest way to create the SSL virtual host is to copy the SSL virtual host that Apache provides by default, paste it beneath the virtual host you created above, and change the following parameters.

1.
In the VirtualHost opening tag, change the port number to a number above 1024 and seperate from the number you used for the regular Grade Central port.
2.
Change the DocumentRoot to match the DocumentRoot of the unsecure virtual host. Remember the trailing slash on the directory path.
3.
Change the ScriptAlias to match the ScriptAlias of the unsecure virtual host. Remember the trailing slash on the directory path.
4.
Make sure that the <Directory> tag for your DocumentRoot looks like the following, replacing <Grade Central root> with the path to your Grade Central installation directory:

<Directory ``<Grade Central root>/ui''>
AllowOverride AuthConfig 

Order allow,deny

Allow from all

</Directory>
5.
Make sure that the <Directory> tag for your ScriptAlias looks like the following, replacing <Grade Central root> with the path to your Grade Central installation directory:

<Directory ``<Grade Central root>/cgi-bin''>
Options +StdEnvVars

Order allow,deny

Allow from all

</Directory>

.htaccess File

3.2.3.2.1 The final step to configuring Apache is to place a .htaccess file in the cgi-bin directory of your Grade Central installation. The .htaccess file controls access to the cgi-bin directory, and by extension, the Grade Central application with Kerberos authentication. The .htaccess file below contains everything necessary for protecting the cgi. This file MUST exist for the application to work.

#cgi-bin/.htaccess:

AuthType KerberosV4

AuthName ``Kerberos Login''

KrbAuthRealm YOURSCHOOL.EDU

KrbExpireReauth on

KrbLifetime 12

Krb4SaveTickets on

require valid-user

AuthType
Specifies Kerberos v4 as the authentication protocol. Check the mod_auth_kerb documentation for options for Kerberos v5. The rest of the .htaccess file provided here is Kerberos v4 specific.
KrbAuthRealm
Replace this value with your institution's Kerberos realm.
KrbLifetime
This value specifies the time in 5 minute intervals before a GradeCentral session will time out. The default value in the GradeCentral server is 1 hour. If you wish to change this in the configuration file for the GradeCentral server, be sure to change this value to match the new timeout value.

3.3 Database Configuration

3.4 Server Compilation

3.5 Server Configuration File

4. End-User Documentation

4.1 Logging Into the System

To log into Grade Central, click either the 'Login User' button or the 'Login Administrator' button. A dialog will prompt for your user name and password. When you have successfully logged into Grade Central, you will be taken to the appropriate opening screen for your role.

4.2 Administrator

The administrator is responsible for managing users and courses in the system. The administrator of a Grade Central server is typically a registrar or guidance officer. Administrators can add, edit, and remove users and courses, as well as assign roles to users. The possible roles in the system are Student, Professor, TA, and Administrator.

The Administration Start page allows the System Administrator to access administrative tools to manage the different users of the system. Tools can be accessed by clicking on the link from the start page or on a link at the upper right hand corner of Administrator pages.

The System Administrator can do the following:

1.
Add a Department
2.
View Department List
3.
Add a Course to a Department
4.
Add a User
5.
Search for a User in the GC Database

4.2.1 Department Administration

The Department Administration function allows the System Administrator to manage the different departments of the system. The Administrator can create new departments and view a list of all the departments.

4.2.1.1 Adding a Department

1.
Click on the ``Add a Department'' link.
2.
Enter a Department Name and two letter Department Code.
3.
Click ``Add a new department.''

4.2.1.2 View all Departments

1.
Click on the ``View Department List'' link.
2.
From this page, the Administrator can view the courses in a department by clicking on the ``courses'' link next to the department name.

4.2.2 Course Administration

The Course Administration function allows the System Administrator to manage the different courses in the system. The Administrator can create new courses, view courses in a department, add a professor to teach a course, and add students and TA's to courses.

4.2.2.1 Adding a new Course

1.
Click on the ``Add a New Course'' link.
2.
Choose a Department from the drop-box.
3.
Enter a 4 digit numerical Course Code.
4.
Enter a 2 digit numerical Section Number.
5.
Enter a Course Name.
6.
Click ``Add Course''.

4.2.2.2 Add a Professor to a Course

1.
Click on the ``View Department List'' link.
2.
Click on the ``courses'' link next to the Department in which the course belongs.
3.
Click on the ``edit'' link next to the course name which requires adding of the Professor.
4.
Click on ``add a Professor to this course'' button.
5.
Search for the professor in the database of users.
6.
Click on the ``Add Professor'' link next to the Professor's name.

4.2.2.3 Add a TA or Student to a Course

1.
To add a TA or Student to a course, click on the ``Search User List'' link.
2.
Search for the Student/TA in the database of users. Enter a User Name, first name, last name, nickname, SIS number, or part thereof. Wildcarding is allowed.
3.
Click the ``edit'' link next to the entry to edit.
4.
Click ``Add a Course-Role''.
5.
Enter the Course ID, in the format: Department ID (2 letters), Course Number (4 numbers), Section Number (s + 2 numbers). ie: CS0190s01, TA0022s05.
6.
Choose the user's role for the course: TA or Student.
7.
Choose a grade option for the user.

(a)
For Students: ABC/NC, S/NC, or Audit. from the Administration Start page or at the top right corner of the page.
(b)
For TA's: leave blank.
8.
Click ``Add''.

4.2.2.4 Viewing Courses in a Department

1.
Click on the ``View Department List'' link.
2.
Click on the ``courses'' link next to the Department in which the course belongs.

4.2.3 User Administration

The User Administration function allows the System Administrator to manage the different users of the system. The Administrator can create new users, search for users, edit existing user information, and associate users with courses and course roles. From the User Administration page, the System Adminstrator can choose to add a user or search for a user to edit that entry.

4.2.3.1 Adding a new User

1.
To add a new user to the system, click on the ``Add a User'' link.
2.
Enter the new user's User Name, first name, last name, nickname, SIS number, and graduation date.
3.
Click ``Add User''.
4.
To edit the new entry, click``Edit User''.

(a)
Make changes to relevant first name, last name, nickname, SIS number, and graduation date fields.
(b)
Click ``Submit Changes.''
5.
To add a course and role for the new user, click ``Edit User''.

(a)
Click ``Add a Course-Role''.
(b)
Enter the Course ID, in the format: Department ID (2 letters), Course Number (4 numbers), Section Number (s + 2 numbers). ie: CS0190s01, TA0022s05.
(c)
Choose the user's role for the course: Professor, TA, or Student.
(d)
Choose a grade option for the user.

i.
For Students: ABC/NC, S/NC, or Audit.
ii.
For Professors or TA's: leave blank.
(e)
Click ``Add''.

Editing a User

1.
To edit an existing entry for a user, click on the ``Search User List'' link.
2.
Enter a User Name, first name, last name, nickname, SIS number, or part thereof. Wildcarding is allowed.
3.
Click the ``edit'' link next to the entry to edit.
4.
Make changes to relevant first name, last name, nickname, SIS number, and graduation date fields.
5.
Click ``Submit Changes.''

4.2.3.2 Adding a Course/Role for a User

1.
To edit an existing entry for a user, click on the ``Search User List'' link.
2.
Enter a search term. You may search by user name, first name, last name, nickname, SIS number, or beginning part of any of the preceding.
3.
Click the ``edit'' link next to the entry to edit.
4.
Click ``Add a Course-Role''.
5.
Enter the Course ID, in the format: Department ID (2 letters), Course Number (4 numbers), Section Number (s + 2 numbers). ie: CS0190s01, TA0022s05.
6.
Choose the user's role for the course: Professor, TA, or Student.
7.
Choose a grade option for the user.

(a)
For Students: ABC/NC, S/NC, or Audit. from the Administration Start page or at the top right corner of the page.
(b)
For Professors or TA's: leave blank.
8.
Click ``Add''.

4.3 Professor and TA

Professors and TA's are responsible for administering their own course. They are able to:

1.
Add or remove a student from the course.
2.
Create assignments.
3.
Add or remove TA's from the course.
After logging in, Professors and TA's will see a list of courses that they are associated with and whether they are a Professor, TA, or Student for the course. At the bottom of the Course List page, a final grade summary is shown for each course in which a user is a student. By clicking on the ``View'' button next to a course, Professors and TA's will be taken to a Course Options page, which allows Professors and TA's to administer the course.

4.3.1 TA Administration

From the Course Options page, a Professor or TA can edit the TA list by adding or removing TA's for the course.

4.3.1.1 Viewing the TA List

Click on the ``TA List'' button from the Course Options page.

4.3.1.2 Adding a TA

1.
Click on the ``TA List'' button from the Course Options page.
2.
Click on the ``Add a TA'' link at the bottom of the page.
3.
Search for a user in the database to add as a TA. Enter a search term. You may search by user name, first name, last name, nickname, SIS number, or beginning part of any of the preceding.
4.
Click on the ``Add as TA'' button next to the appropriate entry from the list of results returned from the search.

4.3.1.3 Removing a TA

1.
Click on the ``TA List'' button from the Course Options page.
2.
Click on the ``Remove'' button next to the TA to be removed from the course.

4.3.2 Student Management

Professors and TA's can add a new student to the course, remove a student from the course, edit a student's grades for each assignment, and calculate the final grade for the student.

4.3.2.1 Add a new Student

1.
Choose the course in which to enroll the student.
2.
Click on the ``Student List'' button.
3.
Click on the ``Add a Student'' button.
4.
Enter the user name, first name, last name, nickname, or SIS number to search for the student.
5.
Select the grade option next to the name of the student to add.
6.
Click ``Add this Student.''

4.3.2.2 Remove a Student

1.
Choose the course in which to remove the student from the Course List page.
2.
Click on the ``Student List'' button.
3.
Click on the ``Remove'' button next to the name of the student.

4.3.2.3 Edit Student's Assignment Grades

4.3.3 Assignment Management

The Assignment Management allows Professors to create new assignments, edit assignments, create/edit assignment types, adjust the weight of assignments for the course.

4.3.3.1 Make a New Assignment

1.
Choose the course in which to add an assignment from the Course List page.
2.
Click on the ``Assignment List'' button.
3.
Click on the ``Make a new Assignment'' button.
4.
Enter the Assignment name.
5.
Choose an Assignment Type. An Assignment Type is a category of assignments. (eg. Essay, Exam, Project, Homework, Final, etc.) For more information, see the section on Creating an Assignment Type.
6.
Choose a Grade Type, Letter or Number. A letter grade consists of A, B, C, or NC. A number grade assigns a numerical value as the assignment grade.
7.
Total points is assigned for the assignment, only if the grade is to be numerical and not a letter grade.
8.
Enter an assignment weight. An assignment weight is the relative worth of the particular assignment within the assignment type. This is measured in units, as integers. For most assignments, this value will be 1, unless it is worth more than other assignments.

(a)
For example: The assignment just added is called Homework 2. This assignment would then belong to the Homework assignment type. If an assignment weight of 3 is given to Homework 2, then that assignment is worth 3 times more than other Homework assignments.
9.
Click ``Submit''.

4.3.3.2 Edit an Assignment

1.
From the Course List page, choose the course in which to edit an assignment.
2.
Click on the ``Assignment List'' button.
3.
Click on the ``Edit'' link next to the assignment.
4.
Edit the Assignment Name, change the Assignment Type, change the Grade Type, edit the number of total points, change the assignment weight, as necessary.
5.
Click ``Submit'' when all the changes have been made.

4.3.3.3 Enter/Edit Grades

1.
From the Course List page, choose the course in which to enter a grade for an assignment.
2.
Click on the ``Assignment List'' button.
3.
Click on ``Enter Grades for this Assignment.

(a)
Note: If the Assignment has not been entered yet into the database, follow the instructions for Make a New Assignment.
4.
Enter the new letter or numerical grade for each student. Comments may be added, if desired.
5.
Click on ``Submit All Grade Changes''.

4.3.3.4 Create an Assignment Type

An assignment type is a category of assignments. Any type of assignment can be created by the Professor or TA. Examples of assignment types are: Homework, Essay, Exam, Midterm, Project, Final, etc.

1.
From the Course List page, choose the course in which to enter a grade for an assignment.
2.
Click on the ``Assignment List'' button.
3.
Click on the ``Adjust an Assignment Type's Weight'' button.
4.
Click on ``Create a new type'' link.
5.
Enter a name for the Assignment Type, ie. Exam, Essay, Homework, etc.
6.
Enter the percentage of the final grade that this type of assignment is worth.

(a)
For Example: Exams = 50%, Essays = 25%, Final = 25%
7.
Click on ``Add this Type.''
8.
Ensure that the weights for all assignment types equal 100. You will not be able to continue if the percentages do not add up to 100%.
9.
Click on ``Submit all weight changes.''

4.3.3.5 Adjust an Assignment Type's Weight

1.
From the Course List page, choose the course in which to enter a grade for an assignment.
2.
Click on the ``Assignment List'' button.
3.
Click on the ``Adjust an Assignment Type's Weight'' button.
4.
Enter new values for the weights of each Assignment Type.
5.
Ensure that the weights for all assignment types equal 100. You will not be able to continue if the percentages do not add up to 100%.
6.
Click on ``Submit all weight changes.''

4.3.3.6 View Histogram of Numerical Grades

For an assignment that is graded numerically, there is a plot of the distribution of the grades.

1.
From the Course List page, choose the course in which to enter a grade for an assignment.
2.
Click on the ``Assignment List'' button.
3.
Click on ``Enter Grades for this Assignment.''
4.
After grades have been entered for each student, click on ``View Histogram'' to see a plot of all the grades.

4.4 Student

Students are able to check grades for each course they are registered in. By logging onto Grade Central, they can check their grades for each assignment in each course. After logging in, Students will see a list of courses that they are associated with and whether they are a Professor, TA, or Student for the course.

4.4.1 Viewing Grades

4.4.1.1 View Final Course Grades

At the bottom of the Course List page, a final grade summary link shows a page with a grade for each course in which a user is a student.

4.4.1.2 View Assignment Grades

By clicking on the ``View'' button next to a course, Students can view their grades for each assignment in the course. For each assignment, Students can see the assignment name, their grade for the assignment, the number of days the assignment was turned in late, and comments for the assignment.

5. Grade Central Software Design

About this document ...

Grade Central Documentation

This document was generated using the LaTeX2HTML translator Version 98.1p1 release (March 2nd, 1998)

Copyright © 1993, 1994, 1995, 1996, 1997, Nikos Drakos, Computer Based Learning Unit, University of Leeds.

The command line arguments were:
latex2html -no_subdir -split 0 -show_section_numbers /tmp/lyx_tmpdir2479Bba41e/lyx_tmpbuf2479Cba41e/end-user.tex.

The translation was initiated by Joseph Edward Wilkicki on 2001-05-02


Footnotes

... v42.1
Kerberos v5 is supported by mod_auth_kerb. The development version of the Grade Central server used Kerberos v4, but nothing in the code is specific to any Kerberos version. For more details on configuring mod_auth_kerb for Kerberos v5 see Apache Kerberos Module http://stonecold.unity.ncsu.edu/software/mod_auth_kerb/.

next up previous
Joseph Edward Wilkicki
2001-05-02