Chapter 9. Configuring Marmoset

Table of Contents

1. Creating a new course
2. Creating instructor accounts
3. Registering students from a textfile
4. Registering a student or TA one at a time
5. Adding/removing TA permissions
6. Editing student registrations
7. Types of accounts

1. Creating a new course

Only an account with SuperUser privileges can create classes.

The first item on the left of the "breadcrumb" bar at the top of the screen should be the SuperUser menu. Clicking this will bring up the form for creating a new course.

[Warning]Warning

When creating a new course, make sure to get the spacing exactly correct (i.e. "Spring 2006" is not the same as "Spring2006" and "CMSC 456" is not the same as "CMSC456"). It's a good idea to establish a convention and stick with it, because when creating BuildServers to build and test student submissions you will need to enter the exact courseName and semester.

Creating a course automatically registers the SuperUser account that created the course as an instructor in that course. This account can then be used to register the instructor(s) for the course, who can in turn register their TAs and students. For more information on types of accounts, see Section 7, “Types of accounts” .

[Warning]Warning

It's possible for a system to have multiple SuperUser accounts. Keep in mind that any SuperUser accounts that did not create a course will not be registered for the course and therefore will not be able to see the course. Currently it is impossible for a SuperUser to register themselves for a course created by a different SuperUser. This is somewhat counter-intuitive. The current solution is that SuperUsers usually have direct access to the database and can register themselves for courses directly in the database.

2. Creating instructor accounts

The link labeled "Register an Instructor for this course using a web interface" available from /view/instructor/course.jsp will bring up the webform to register a new instructor account. Fill in the fields with appropriate registration information. The DirectoryID is the name the user will use to login to the Submit Server. (The name DirectoryID comes from the University of Maryland's authentication service.) This can be different from the "Class Account" used to log in to a CVS repository associated with this course. The Employee number is a field used by the University of Maryland authentication service. Replace this with the DirectoryID if it is not relevant to your default authentication service.

2.1. Choosing an authentication service

Marmoset currently supports two authentication services (see Section 5.2, “Configure Tomcat/conf/web.xml” in the Installation Instructions). The default authentication service was specified in Tomcat/conf/web.xml. Marmoset now allows individual users to authenticate using the generic service instead of the default. (The generic authentication service stores passwords in the submitServer database).

To register a user to use the generic service, select the "Use generic marmoset authentication" radio box. (This is not available if the generic service is already the default.) If the Generic service is the default service, an additional field is displayed giving you the option of creating a password. Leave this field blank to have the system generate a password.

When a user is registered to authenticate with the generic service, a password is generated and displayed on the next screen. Save this password and deliver it to the user.

2.2. Instructor Accounts

Either a SuperUser or an Instructor is allowed to register instructors. Registering an instructor account actually creates three different accounts (for a description of account types, see Section 7, “Types of accounts” ):

  • An instructor account: Instructor's account with 'modify' privilege.

  • A canonical account: Account for submitting canonical project solutions.

  • An instructor's student-test account. The student-test account is an unprivileged student account. The instructor account has a "student-view" mode for many pages; however, sometimes it is useful to see exactly what a student is seeing, especailly if there is some kind of problem or discrepency with the server.

3. Registering students from a textfile

Students can be registered by either instructors or superusers. To register many students at once use the file upload utility. From the main course link, select "Register students for this course by uploading a text file". Then browse to the text file and upload. The format for each line in the file is:

Last name, First name, University ID, Section, ClassAcct, DirectoryID,...

This format is based on the output format from the Grades Server used at the University of Maryland and so contains some redundant fields. The University ID is the same as the Employee number in Section 2.2, “Instructor Accounts” . ClassAcct should be the same as DirectoryID if no separate CVS accounts are used for the course. The Section field is a legacy field from the Grades Server and is not used by the Submit Server -- it should nevertheless be present to provide the correct number of delimiters.

As with instructors, you can select an authentication service to be applied to all students specified in the text file. (See Section 2.1, “Choosing an authentication service” )

4. Registering a student or TA one at a time

Students and TAs can be registered by either instructors or superusers. To register one student or TA, select " Register one student or TA for this course using a web interface". Much of the information required for instructors is also required here (Employee number is typically a University ID) -- see Section 2.2, “Instructor Accounts” .

As with instructors, you can select an authentication service to be used by the student being registered. (See Section 2.1, “Choosing an authentication service” .) If you select the generic authentication service, a password will be generated and presented on the next screen. If the Generic service is the default service, an additional field is displayed giving you the option of creating a password. Leave this field blank to have the system generate a password.

5. Adding/removing TA permissions

Submit Server allows super users and instructors to modify the privileges of any students registered for a course. The students can receive TA privileges, which allows them to access all information in the course (including all student submissions), but not to change the course or its projects.

To give a student TA privileges, select "add" in the "Add TA Permission" column next to the student. This will move the student up in the sort order to the group that includes all registrants with some level of instructor rights (indicated by an asterisk next to the name). To remove TA privileges, select "remove" in the "Remove TA Permission" column next to the student.

6. Editing student registrations

Submit Server allows super users and instructors to modify student registration information for all students registered in a course. To edit a student's registration, select "edit" in the "Edit Student Registration" column next to the student. The next screen allows you to change the name, directory id, employee number and class account for the student (but not the password, even for accounts registering under the Generic authentication service).

7. Types of accounts

Table 9.1. Types of Accounts

The following table briefly describes the different types of accounts, their functions, and the corresponding 'instructor_capability' value in the database.

typeinstructor_capability in databasedescription
studentNULL A student account. Can see pages in /view/* but not /view/instructor/*, /view/admin/*, or research/*. Can perform download operations with servlets mapped to /data/* or /action/* but not /data/instructor/* or /action/instructor/*. This is a fancy way of saying that the a student account can download its own submissions and submit new submissions, but cannot download other students' submissions or test-setups, or perform any actions reserved for instructors.
TAread-only a TA account. Can see pages in /view/*, /view/instructor/*, and servlets mapped to /data/*, /action/*, /data/instructor/*. Cannot access servlets mapped to /action/instructor/*. A TA account cannot create new projects, update existing projects, upload new canonical solutions or test-setups, or register students or TAs or instructors.
Instructormodify An Instructor account. Instructors can do basically anything, such as create projects, register students, TAs and other instructors, update projects, and upload new canonical solutions or new test-setups.
Canonicalcanonical Each instructor has a canonical account. It should never be necessary to log into the system directly using the canonical account. In fact it will eventually become impossible to log into the system using the canonical account. The only reason that there are multiple canonical accounts is so that instructors using Eclipse can submit canonical solutions using the Course Project Manager plugin. Any instructor can upload a new canonical solution through the web interface at /view/instructor/projectUtilities.jsp