Developing with Sakai
Pre-Requisites: Successful QuickStart Installation
The Sakai QuickStart distribution will run with a default configuration right out of the box. There are some simple customizations that can be made to tailor the system to local needs. 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 QuickStart distribution it is found in the sakai/localfiles 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.