[LON-CAPA-admin] self-service for course creation?

Stuart Peter Raeburn raeburn at msu.edu
Sun Feb 11 21:21:10 EST 2007


At MSU course requests have been made online since 2004, and course creation 
has occurred automatically for such requests since mid-2005. 

LON-CAPA provides the following script:
/home/httpd/perl/Autocreate.pl to automate the process of course creation. 

This script which should be run by the www user on a domain's library server 
looks for files in /home/httpd/perl/tmp/addcourse/$dom/auto/pending
(where $dom is the LON-CAPA domain). 

Any files it finds there are processed, and on completion moved to 

The script is called with two arguments
the default domain for new course(s) and username:domain of a domain 
e.g., /home/httpd/perl/Autocreate.pl sfu dcuser:sfu
(where dcuser would the username of a domain coordinator at sfu). 

Logs of course creation transactions are written to

The contents of the files in 
will be XML-based description(s) of the course(s)to be created: 

The following URL: 


on any LON-CAPA server is a help file which provides an example of the 
format to be used in these course files.  A file can contain more than one 
course description - each separate course is included within <class 
id="$id"></class> tags, where $id is a class identifier. The class 
identifier is recorded in the logs along with the LON-CAPA courseID assigned 
to the newly created course. You can choose to make the id anything you 
like; it is not used or stored within a LON-CAPA course, but you may find it 
useful for course request administration.  The output from Autocreate.pl, 
which prints to screen if run from the command line as user www, or to the 
calling script (if called by a separate script), contains a colon-separated 
list of escaped courseID:class id strings. 

At MSU the course request form itself and storage of course request data are 
on a separate server from the LON-CAPA library server in the msu domain.  
This introduces some additional complexity into the process of automated 
course creation.  Things need not be set up this way - in the long run it 
mught be better to make self-service course requests and their processing an 
integral part of LON-CAPA. If this were to occur, I assume Domain 
Coordinators would choose to enable this feature in the same way that 
auto-enrollment can be enabled/disabled. 

For the operation of the online course request form at MSU, the following 
access to institutional data is required:
1. Ability to authenticate MSUNet ID and password (in the future this will 
change to Single Sign On, in which case authentication will occur via a 
central log-in service).
2. Ability to authorize MSUNet ID - is this person faculty, staff or an 
actively teaching graduate student?
3. Ability to retrieve institutional department codes.
4. Ability to retrieve all sections and courses for a given semester and 
5. Ability to verify instructional status for a specific user in a course 
for a given year, semester, course code and section(s). 

The following access to LON-CAPA data is required:
1. A list of cloneable courses available to the requestor (this combines 
courses in which the requestor is a Course Coordinator, as well as courses 
in which the user has been given cloning rights - set by a CC in Course 

Let me know if you would like additional information. Some details of the 
MSU implementation appear below. 

Stuart Raeburn
raeburn at msu.edu 

P.S. Further details of the MSU implementation 

At MSU a separate script which is run periodically on the library server 
sends a request to a different server used for course requests by course 
coordinators. The script on the remote server checks if there are any 
submitted course requests in a local "pending" directory for which the 
requestor can be verified as the course owner.  If there are, it sends back 
a response containing the XML for the course requests, which are then 
written to /home/httpd/perl/tmp/addcourse/msu/auto/pending
Autocreate.pl is then called by this script, and then the output from that 
call causes further processing (e.g., dispatch of e-mail to the course 
requestor etc., and some updates to course request status on the remote 

At MSU the online course request form has the following characteristics: 

1. Users msut authenticate with institutional ID and password
2. Users must be authorized - faculty, staff and graduate students who are 
actively teaching receive authorization. Others can be authorized on a 
case-by-case basis.
3. Users msu choose the insititutional code for the course (year, semester, 
department and number).
4. Users select which institutional sections they will teach.  They can 
define a mapping of institutional section to LON-CAPA section.
5. Users can indicate crosslisting of courses across departments for the 
purposes of auto-enrollment.
6. Users select whether they want to merge multiple sections, or want to 
create more than one LON-CAPA course for a course with more than one section
7. Users can specify additional instructional staff (including roles, and 
sections for the roles).
8. Users can choose to create the course using a course for which they have 
colning privileges.
9. Users review their selections before submitting their request.
10. Requests for courses which the requestor is identified as an official 
instructor are created immediately the next time the course creation script 
runs on the MSU LON-CAPA library server. Other course requests remain 
pending until the requestor becomes listed as an official instructor 
(datafeed 5 below).
11. Requestors can modify requests after submission unless the request has 
been processed.
12. Requestors can display history and status of their course requests
13. Requestors receive e-mail confirmation of course requests, and when 
courses have been created.
14. Requestors are warned if auto-enrollment will be unavailable for certain 
15. Administrators can display the status of all course requests, by user, 
or by year, semester and department. 

At MSU the class id included in the <class> tag is in the following form: 
number:institutional code (where number corresponds to a numbered record for 
the course requestor (incremented each time a request is submitted). 

Some screen shots of the MSU course request form are included in this 2004 
LON-CAPA conference presentation: 
(see the last few slides). 

Ray Batchelor writes: 

> Hi all,
>           I am wondering who has already set up  at their institution any kind 
> self-service for creation of new courses by the prospective course 
> coordinators (moderated by dom coord, or otherwise). 
>   I am interested in the issues and best practices.
> Cheers,
> Ray
> _______________________________________________
> LON-CAPA-admin mailing list
> LON-CAPA-admin at mail.lon-capa.org
> http://mail.lon-capa.org/mailman/listinfo/lon-capa-admin 

More information about the LON-CAPA-admin mailing list