Developing with Sakai
Pre-Requisites: Successful QuickDemo Installation
The Sakai QuickDemo distribution will run with a default configuration right out of the box. Most installations will wish to have simple customizations that can be made to tailor the system to local needs. The QuickProd distribution is designed to make this straightforward. This page provides a brief introduction to how to provide customizations related to the look and branding of Sakai and to modifying the source of user account information. To ask questions or to share knowledge you gained from experience please use the resources at collab.sakaiproject.org.
Customizing the look of Sakai
The file sakai.properties can be used to change the default behavior of several aspects of Sakai. For the QuickProd distribution it is found in the directory holding the rest of files that usually go in the /usr/local/sakai directory. Among the things that are trivial to customize in sakai.properties are:
To obtain user specific information (e.g. user id, name, email) Sakai requires a module implementing the org.sakaiproject.service.legacy.user.UserDirectoryProvider interface. A sample implementation is provided with Sakai in the sakai-provider webapp directory. Each installation will want to provide an installation that fills their local needs. To integrate a locally developed UserDirectoryProvider implementation the file tomcat/webapps/sakai-provider/WEB-INF/components.xml should be updated to refer to the local implementation class.
Authentication and Single Sign On
Sakai can be configured to either directly query a user-supplied authentication method or to respect container authentication. The UserDirectoryProvider interface provides an 'authenticateUser' method to allow for customized authentication. If the property 'container.auth' in the sakai.properties file is set to true then Sakai will examine the value of REMOTE_USER to determine if the user is logged in. If this contains a value then the user is considered to be logged in. The details of how to perform container authentication are very variable and must be resolved on an installation by installation basis. The use of container authentication is one approach to permitting Single Sign On.
Integrating Course Lists and Roles
Sakai provides two plug-ins while allow you to configure Sakai to use your enterprise information to determine courses, instructors, and students: