QUESTIONS FROM THE IT TEAM OF ESSEX COUNTY COLLEGE
1) What are the reasons for selecting SAKAI as your favorite learning management system?
- Rice had a deployment of Web CT that had some traction 4 years ago.
- The timing was right with the Sakai consortia, the purchase of Web CT by Blackboard and the desire for Rice to support an open source initiative. The catalyst for change was a proposed huge increase in licensing costs for Web CT. Due to increased use, our license needed to be expanded to a campus wide license.
- Rice has close peer relationships with some of the Sakai founding institutions.
2) What is your SAKAI infrastructure?
- Primary (this is a mix of production and failover gear and does not list HW associated with development)
- Netscaler 7000 (x2) for load balancing
- Sun Fire 4100 (x3) for sakai process
- Sun Fire 4150 (x2) for Oracle database (and manual failover)
- 2 TB Hitachi SAN for sakai main data store (independent disk arrays for redundancy - currently 1T LUNS each)
- BlueArc Titan NAS Storage System for backup data storage
- CAS/Kerberos VMware hosts for authentication
- Middleware Accounts Database system (PostgreSQL) for provisioning
3) Which database version did you choose to use for SAKAI Installation?
- Oracle 10g (10.2.0.4)
4) Which operating system version are you using for SAKAI?
- Red Hat Enterprise Linux 4 x64 SMP
5) How frequently do you apply SAKAI patches?
- Version upgrades are performed during the summer break. A few minor patches/upgrades are performed during the short winter break. We have a weekly maintenance window in which any small patches that are needed and have been tested are applied to the system. We use this maintenance window about once per month to install small patches.
- We have local subversion repository for patches and local mod.
6) Who provides you SAKAI maintenance and support?
7) How do you resolve SAKAI issues?
- Support calls/requests are received by the IT Help Desk and the OWL-Space support staff. Most issues are resolved at this level. For other issues, a number of methods are used. The Rice staff investigates the problem: replicates issue, looks at code, etc. If no resolution is found, the Sakai Jira bug tracking page is searched. In most cases, the issue is already listed here and either a patch or a contact person is listed. If no Jira listing is found, the problem is posted to the Sakai listserv or we contact the tool developers directly for timely issues. Once a solution is found, it is installed on a test server. After sufficient testing, the patch is pushed to the production servers during a weekly maintenance window.
8) What are the resources that you use for resolving SAKAI issues?
- Mainly via In-house support staff and Sakai listserv. In some cases, we will contact the tool developers directly when it is a timely issue.
9) How is SAKAI integrated into Banner?
- No direct integration
- Banner provides a synthesized view of data to Middleware
- THRCSDB - person registrary info
- SWVITSI - courses and instructors
- SWVITRG - students and the courses they are in
- Middleware further processes the data against the person registry
- Web services API is used to provision Sakai
- Three custom java applications are used for this provisioning
- sakai_load_users - creates the main sakai account for each user. Does not assign the user to any sites.
- sakai_load_courses - creates all of the new course sites in Sakai. This is the process that assigns the Sakai site ID for the course.
- sakai_load_students - adds/removes the students from each of the courses that they are assigned to
- for more information please see Rice-Sakai-Atlanta.ppt
The Sakai Web Service API routines that we use are:
10) Did you develop the integration tool or acquired it from a third party?
- Developed the code in house
11) What are the programming languages used to develop such an integration tool?
- Java (1.5)
12) Can you share with us the integration tool?
- We certainly can however the code is extremely tailored for our systems at Rice and will probably cause more confusion.
13) Do you offer strictly online or hybrid courses?
- Most Rice classes are face-to-face. Sakai is used to distribute instructional resources more than it is as a formal teaching venue.
- Only a few courses are taught in what Sloan-C would define as a hybrid model.
- Most of our small catalog of on-line offerings are done through video connection or classroom capture with Sakai playing a supporting role.
14) What are the SAKAI best practices that you adopt?
15) How frequently do you purge the SAKAI data for previous semesters?
- Currently, we do not purge. Sakai's current version does not offer a tool to do this conveniently. There is hope that in 2 years, Version 3 will correct this problem.
HARDWARE AND INFRASTUCTURE QUESTONS
16) What are the server specifications? (manufacturer, hardware and software specs, VMWare)
- Sakai Servers:
- Sunfire 4100
- 3 - Dual Core AMD Opteron(tm) Processor 275
- 8 GB RAM
- 8 DAS SAS drives (2 OS raid 10, 6 Data disks RAID 5)
- Redundant port 4 GB HBA to SAN Fabric using RDAC for failover to 1 TB LUN
- Database Server:
- Sunfire 4150
- 2 - Dual core AMD Opteron Processor 2.8 GHz (production system and cold backup)
- 8 DAS SAS drives (2 OS raid 10, 6 Data disks RAID 10 for performance)
- VMWare - We initially deployed the application servers on VMware, but the need for memory in future versions required more than a VM Guest could use at the time as Tomcat alone is configured to use 3 Gig. Also at the time, VM had no support for multiprocessor, very limited memory and no 64 bit support. By the time you allocate enough resources for guest, the host could be tapped out. The front ends can be more cost effectively scaled by simply adding more lower cost application servers tuned to deliver web content.
17) What type of storage do you use for the servers?
- 2 TB Hitachi SAN for files mounted from application servers, DAS for database servers (6 each Raid 10 320GB drives)
18) What type of backup system do you use?
- Data is backed up to a secondary storage area (rsync), which is then backed up to tape
- Database is 'Dataguard'ed to another server.
- We also have configured a warm fail over for the database and application servers for high reliability. Recovery from backups are only deemed viable in a DR scenario.
19) Where are the servers hosted? (any cloud computing)
- The servers are hosted at in our primary data center. We are not using any external cloud providers for this service.
20) How do you load balance access to the system?
- We use a Netscaler 7000 with Sticky Sessions, Automatic load balancing and automatic failover. This also allows us to remove one server at a time from use in order to apply any rolling patches if needed. The load balancing is for the application servers only. There is no load balancing provision for the database due to costs.
21) What is your Internet connectivity? (T1, DS3, DSL )
- We have 3 one gig ethernet links to two ISPs, a 10g connection to the Texas educational backbone, I2 etc..
22) What is your client connectivity speed? Unsure what you are asking here, can you clarify?
23) Any issues with client software when accessing the system? (eg. Internet Explorer 8, Firefox, toolbars)
24) We know that some data from Banner tables such as: Roster, Course, Course Section, etc needs to be exported into Sakai in a CSV format. Does that data need to be parsed?
- The data that we use is highly processed. Thus there is no easy direct mapping of this data.
25) Which Sakai tables need to be populated from external data source?
- The way we do it, no Sakai tables are ever accessed. All provisioning is handled strictly through the Sakai Web Services API.
26) Can you explain to us how you achieve mapping of fields from Banner to Sakai Course Management API
- We are not using Course Management API.. Course Management API did not exist when we started using Sakai in 2006.
Sakai Provisioning Code
I've put together a subversion repository with the code we use to provision courses, instructors, and students into Sakai.
The repository can be found via a web browser at
You will need to authenticate using your guest account. Look for the repository named Middleware_Public.
The repository can be accessed with a subversion client using the following URL: