University of Saskatchewan
University of Saskatchewan University of Saskatchewan

U of S Luminis Customizations and Add-Ons

Hello!

You have probably arrived here as a result of seeing a presentation done by a technical person at the University of Saskatchewan, or by being sent this URL from someone else who did. Please note that none of the code linked from this page is supported - if you choose to implement any of it at your institution, then you are responsible for testing it yourself to ensure that it suits your own purposes. Having said that, if you do notice any glaring errors and would like to provide feedback to us, then please contact us

Increasing Performance of cptool

cptoolc.zip
As shipped, the command-line utility cptool takes a long time to start up since it has to initialize a JVM. The code in this package keeps one cptool process long-running ("daemonized"), which is then called by the new command line "cptoolc" (cptool custom).

Disabling Course Tools

disable_course_tools.zip
Instructions and tools for disabling specific course tools for all courses in a term. Other institutions have taken a smarter approach to this by using database triggers. Also, note that we do not use this script any more -- we leave all of our course tools enabled by default since September 2005.

Pushing Out Changes to PD Webservers

redeploy.zip
Using this small script, it's easy to push changes out from the resource tier to all of the webserver tier machines in a Luminis Parallel Deployment installation.

Fixing Enrollment Data

fix_enrollment.zip
This script finds all users who are receiving the error "your membership in this course has been deleted by your instructor". It outputs a list of cptool commands to run that will fix the problem. WARNING: you must wait at least five minutes between your "cptool remove student" calls and your "cptool add student" calls, or the error will persist due to LDAP cacheing. Not for use with Luminis IV, since Sungard has added a command to cptool for this purpose (cptool sync coursememberships).

Finding All Users In A Role

dump_users_by_role.zip
A small script to automate the arguments that must be passed to ldapsearch in order to find all enabled accounts with a given role. Useful for dumping the list of all students and then feeding into the script above.

SunOne Calendar Restores

calrestore.zip
Instructions on how to create a new channel that will allow your Help Desk staff to restore user's calendars to a specific date in the past seven days. All required code is included.

Term Removal

term_removal.zip
Instructions on how to remove a term in Luminis, plus a script that cleans up all the orphaned data left by the cptool remove term command.

WebCT Course Delivery

course_delivery.zip
A script that we use to change the course delivery from the default of Luminis course tools over to WebCT. We do this so that we can specify some courses as being WebCT delivered without losing the "red edit button" for all courses. Plus, we do not rely on the instructors to do this themselves, since we already know which courses are being delivered through WebCT each term.

Startup and Shutdown Scripts

startstop.zip
A pair of wrapper scripts that perform all of the startcp and stopcp functions, as well as starting and stopping the LMG and Banner authenticator processes at the same time.

Group Activity Notification

notify.zip
A script that runs each day, sending email to various group leaders and the groups administrator, when new content is uploaded into a group and is waiting approval, or when groups are created or modified.

Classified Ads Channel

classifieds.zip
This is a modification to the Classified Ads channel originally developed by Pete Boysen at Iowa State and then subsequently modifed for Luminis by Mark Boyd. It adds:
  • a terms of service that all users must agree to before using the channel
  • a way to report offensive ads (emails to portal admins)
  • automatic removal of ads that that receive more than 10 complaints
  • additional fields for books (ISBN and author)
Please note that there are new tables added, and that the channel is written to use an Oracle database. If you do not use Oracle, then you will have to rewrite the sequence generation java code and the SQL create scripts. This is the raw code, it is not shipped as a car due to the incompatible changes we made to the database tables and sequence.

Links