Sakai CLE 2.8 release notes
Sakai Collaboration and Learning Environment (CLE) 2.8
Sakai CLE 2.8 release dates:
2.8.3 - 15 February 2013
2.8.2 - 10 June 2012
2.8.1 - 11 October 2011
2.8.0 - 18 April 2011
The Sakai Collaboration and Learning Environment (CLE) is a Java-based, service-oriented web application that provides a variety of capabilities supporting teaching and learning, portfolios, research, and ad-hoc project collaboration. The Sakai CLE is typically deployed using Apache Tomcat as its servlet container and scalability is achieved by running multiple instances of Tomcat in a clustered environment, each deploying a copy of the Sakai CLE. It integrates with a variety of external authentication services including CAS, Kerberos, LDAP, Shibboleth and WebAuth. A single database, usually MySQL or Oracle, provides a transactional store of information while file storage is typically delegated to NAS or SAN solutions. In most production settings, the Sakai CLE relies on a back-end student information system (SIS) to provide it with student and course information, which the Sakai CLE consults via provider APIs.
The Sakai CLE 2.8 release builds on previous releases by refining and stabilizing the 2.x feature set. It offers dozens of new features and improvements to key areas like accessibility, internationalization, performance, and security.
Icons are used throughout the release notes to highlight important points in the installation, configuration, build and deployment process. Below is a list of the icons you will encounter:
Hints Useful Information Caution Warning Good practice Bad practice
The documentation is presented here for ongoing comment, correction, and clarification, so please use the "Add Comment" link at the bottom of any of these pages if you note errors, require further details or have tips to share.
What's new
System requirements
Operating system (OS) choices
The Sakai CLE is OS neutral. It is typically run on any of the numerous Linux distributions such as CentOS, Debian GNU/Linux, Fedora, Gentoo Linux, Red Hat Enterprise Linux (RHEL), SuSe Linux, Ubuntu but is also run on Mac OS X server, Microsoft Windows and Sun Solaris. Operating systems other than Linux are not nearly as well tested, and all of the community QA servers are running Linux, so this is generally the recommendation.
Examples:
Cerritos College, Windows 2003.
Georgia Tech, RHEL.
Indiana University, RHEL.
Mount Holyoke College: Debian GNU/Linux.
Oxford University: Debian GNU/Linux.
Rutgers University: Sun Solaris.
University of California, Berkeley: Sun Solaris.
University of Cape Town: SuSe Linux.
University of Florida: RHEL.
Universidad de Murcia: CentOS.
University of Virginia: Fedora.
Virginia Tech: Ubuntu.
Java
Oracle's Sun Java SE 6, a.k.a Java 1.6, is the preferred version to use with the Sakai CLE. Certain files, such as *.jsp and *.jws, require compilation so downloading and attempting to use only the run time environment (JRE 6.0) will not suffice. Mac OS X 10.6 (Snow Leopard) includes the full version of Java SE 6 so Mac users do not need to install Java. If you find Sun's version and naming conventions confusing, see Sun Java SE Naming and Versions for an outline of their practices.
Oracle's Sun Java J2SE 5.0 (a.k.a Java 1.5) has completed the EOL process and is no longer supported. If are still running Java 1.5 please note that security vulnerabilities exist in JDK/JRE 5.0 updates 1.5.0_17 and earlier.
For Sakai 2.9 OpenJDK and JDK 7 are supported along with JDK 6. Previous releases would not work with OpenJDK.
Application server choices
The Sakai Community is overwhelmingly an Apache http/Apache Tomcat user community and the Sakai CLE is at home in such an environment. Some Several schools run their Tomcats with Windows IIS and nginx proxies without issue. Since Sakai CLE 2.7.0 a Websphere module was included in the release in order to facilitate deployment to a Websphere/Db2 production environment; however, support has waned and the Websphere option is currently considered deprecated. A few schools such as Hong Kong University of Science and Technology and the Universidad de Guadalajara report deploying Sakai on JBoss.
Database choices
Sakai CLE production installations typically run either Oracle 10g/11g or MySQL 5.0/5.1. Support for IBM Db2 was added for the Sakai CLE 2.7.0 release but for 2.8.0 DB2 conversion scripts were not updated or tested and are currently considered deprecated. A demo version of Sakai includes HSQLDB; it should never be deployed in production.
It should be noted that Sakai is not limited to these database choices and integration with other RDBMS systems is not difficult. In the past at least one installation used Microsoft SQL Server while requests for PostgreSQL integration are occasionally raised on the Sakai developers list. However, to date no one in the Sakai Community has stepped forward to support alternatives to either Oracle or MySQL, a prerequisite for adding additional database options to the release.
Australian National University, MySQL 5.1
Indiana University, Oracle 10g
Oxford University, MySQL 5.0
Stanford University, Oracle 10g
Texas State University, San Marcos, MySQL 5.1
University of Cape Town, MySQL 5.1
University of Florida, Oracle 11g
University of Virginia, MySQL 5.0
University of Michigan, Oracle 10g
Virginia Tech, Oracle 11g
Clustering, file storage and load balancing strategies
A typical Sakai CLE cluster is comprised of one or more application servers running one or more instances of Tomcat 5.5 operating either in standalone mode or behind the Apache HTTP 2.2 web server. Each Tomcat instance runs a full copy of the Sakai CLE. The cluster is backed by a single database providing a transactional store of information. Storing binary content outside the database is a configurable option in Sakai and highly recommended from a performance standpoint. Most Sakai schools with sizable user populations opt for network-attached storage (NAS) or storage area network (SAN) solutions. Load balancing is provided by Apache (using mod_jk, mod_proxy_balancer or mod_proxy_ajp) or dedicated hardware solutions such as F5 BIG-IP, NetScaler or Zeus.
Three examples should suffice:
University of Cape Town
User base: 27,000+
Cluster: six Dual Xeon 3.6 GHz 8G RAM, 64-bit SuSe Linux (4 x physical servers, 2 x VMWare servers).
App servers: Apache HTTP server 2.2, Tomcat 5.5, Sakai 2.7.1.
Database: MySQL 5.1, 2 x dual-core processors, 16G RAM.
File storage: SAN Disk shared via NFS.
Load balancing: Apache 2.2 with mod_jk.
University of Michigan
User base: 45,000+
Cluster: five Dell PowerEdge 1950 boxes, each with 16 GB RAM running 64-bit RHEL 5.x (a sixth PowerEdge 1950 is utilized outside the cluster as a search server).
App servers: Apache HTTP server 2.2, fronting a single Tomcat 5.5/Sakai 2.7.1 install. One Java 1.6 JVM is configured per server with a 6 GB heap.
Database: Oracle 10g running on a Sun Fire T5120 with 128 GB RAM and Solaris 10 as the OS.
File storage: allocated 6 TB of disk space and stored externally in a NetApp FAS3020 filer, NFS mount.
Load balancing: two NetScaler RS9800 Secure Application switches.
Indiana University
User base: 100,000+
Cluster: two HP DL740 servers, 8-way with 3.0 GHz CPUs, 64 GB RAM and an IBM ESS "Shark" SAN running nine virtual application servers.
App servers: each virtual server is allocated 2 CPUs and 3.6 GB RAM and runs Apache HTTP 2.2/Tomcat 5.5.
Database: the Oracle 10g database is also a virtual instance housed on a Dell 810, dual socket, Quad Core server. The database is allocated 8 CPU and 32 GB RAM.
File storage: allocated 7 TB of disk space and is stored externally utilizing two NetAppliance FAS920C filers, NFS mount.
Load balancing: two HP DL385 servers running Zeus ZXTM load balancers. The load balancers run under Red Hat Enterprise Linux (RHEL) within VMware virtual machines and the architecture allows for more horizontal scaling if required.
See also:
External Authentication choices
The Sakai CLE can integrate with a variety of external authentication services including CAS, Kerberos, LDAP, Shibboleth and WebAuth.
Examples:
Australian National University: LDAP.
Indiana University: CAS.
Georgia Tech: CAS.
Oxford University: WebAuth.
Pepperdine University: CAS.
Stanford University: Kerberos.
Stockholm University: Shibboleth.
University of California, Davis: CAS.
University of Delaware: LDAP.
University of Hawaii: LDAP.
University of Michigan: Kerberos.
University of Florida: Shibboleth.
Yale University, CAS.
Integrating with student information systems
Sakai Community institutions have integrated their Sakai CLE installations with Banner, Datatel and Peoplesoft as well as a variety of home-grown student information systems (SIS).
The Sakai CLE has two basic approaches to integrating data from external systems. Most sites use a combination of these approaches. The first approach is to use the internal Sakai "provider" APIs. These APIs are places for Sakai to "consult" while Sakai is running. There are APIs for User Identity, User Directory, Course Listing and User Roles.
User Identity API: allows Sakai to call local code to validate users when they log into the system. This commonly uses Kerberos, Active Directory or LDAP to validate the user's credentials.
User Directory API: allows user information such as name and e-Mail address to be retrieved from an external system such as LDAP or X.509. The User Directory API has provisions to allow the local site to make decisions when to display student information in order to meet FERPA requirements. Each institution has different interpretation of FERPA so the precise FERPA decisions are delegated to the User Directory API.
Course Listing API: consulted when the instructor is creating a course site - this API returns the list of externally stored rosters for which the current user is the instructor. The user can select from one or more of these external rosters to associate with the course they are creating.
User Role API: is consulted when users log in to determine which external rosters they user is a member of and what their role is within those rosters. The Sakai internal configuration is updated if there are any changes to an individual's roster status.
The above API's are "pull" APIs--they are consulted when the user logs in or tries to take some action. The Course List API described above does not auto-populate courses.
If there is a desire to "push" information into the Sakai CLE, there are two approaches - Quartz and web services.
Sakai utilizes an internal batch system called Quartz that provides a cron-like capability within Sakai. Quartz is used by creating a Java class that does the necessary work and then having Quartz schedule the regular execution of that Java code.
A more common approach to pushing configuration information into Sakai is through web services. Any of Sakai's APIs can be accessed by web services. Web service access points have been developed for many of the common Sakai APIs used for configuration. These SOAP web services can be called from PHP, Python, Perl, Java, .NET or any other language. The Sakai CLE web service data structures are kept simple to insure the widest possible interoperability with as many languages as possible. Administrators often build scripts to pull data from their SIS system and populate the Sakai CLE with that data. These scripts may be automated using cron or manually executed by the administrator at the proper time during a semester.
This combination of pull/push configuration capabilities allows for a very wide range of integration possibilities for the Sakai CLE.
Downloading
To download the Sakai CLE 2.8.3 release, you need to check out the code from our Subversion repository:
svn co https://source.sakaiproject.org/svn/sakai/tags/sakai-2.8.3/
Indie projects
A number of Sakai CLE projects (known collectively as "indie" projects) are currently not included in either the source archive or source check out. Instead, these projects are downloaded, installed in your local .m2
repository and then deployed to Tomcat as *.zip overlays during the Maven build process. If you need to apply any local customizations to these projects you must check out the code separately.
Indie project teams manage their own release cycles independently of the general Sakai CLE release cycle, permitting more frequent "off-cycle" maintenance releases for key projects such as the Kernel or Test and Quizzes. This means you can upgrade them in your release more frequently, if you desire.
Each Indie project site includes a variety of reports regarding the release, including Javadocs.
CLE Release | Project Site | Version |
---|---|---|
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 |
Installing
Demo install
Sakai CLE 2.8 install guide (demo) (for 2.8.2 and lower)
Binary install
Sakai CLE 2.8 install guide (binary) (for 2.8.2 and lower)
Source install
Upgrading
Configuring
New properties, permissions
1.0 Property additions/changes
Release |
Tool/Service |
Property |
Default |
Ticket |
Change |
---|---|---|---|---|---|
2.8.0 |
account |
user.recaptcha.enabled |
false |
- SAK-12489Getting issue details... STATUS , - SAK-19267Getting issue details... STATUS |
Enable/disable reCAPTCHA. To configure, signup at http://www.google.com/recaptcha, get the API keys, and plug it into sakai.properties as in the description. |
2.8.0 |
assignments |
assignment.letterGradeOptions |
|
- SAK-18752Getting issue details... STATUS | Provide a way to customize letter grades in the Assignments tool. Values specified will display in the drop-down list for letter grade assignment. |
2.8.0 |
basiclti |
basiclti.outcomes.enabled |
false |
- BLTI-85Getting issue details... STATUS | Added support for basic outcomes and settings service. |
2.8.0 |
basiclti |
basiclti.roster.enabled |
false |
- BLTI-88Getting issue details... STATUS | Allows an external tool (if granted proper permissions) to retrieve a course roster for the course that they were launched from. This allows the launch to specify a URL that contains some resource content. |
2.8.0 |
basiclti |
basiclti.contentlink.enabled |
false |
- BLTI-89Getting issue details... STATUS | This allows the launch to specify a URL that contains some resource content. |
2.8.0 |
common |
profile.autoCleanUp |
true |
|
Enables a listener that looks for user.del events and when they happen remove that users profiles. |
2.8.0 |
editor |
|
|
Addition of option to specify |
|
2.8.0 |
entity broker |
entitybroker.maxJSONLevel |
7 |
- SAK-18643Getting issue details... STATUS | Add the ability to specify the depth of object graph serialisable to JSON |
1.2.1 |
kernel |
promoteUsersToProvided@org.sakaiproject.authz.api.AuthzGroupService |
true |
- KNL-499Getting issue details... STATUS | Adds ability to turn off automatic "promotion" to provided user that was implemented in KNL-403 |
1.2.1 |
kernel |
mail.*.sendpartial |
true |
- KNL-570Getting issue details... STATUS | Property added to set sendpartial Email |
1.2.1 |
kernel |
sakai.X-UA-Compatible |
IE=EmulateIE8 |
- KNL-697Getting issue details... STATUS | Property added to pass X-UA-Compatible header for Compatibility mode. Default to EmualteIE8 |
1.2.1 |
kernel |
load.bundles.from.db |
false |
- KNL-563Getting issue details... STATUS | Property added to load msg bundle data from data base |
1.2.1 |
kernel |
load.bundles.from.db.timeout |
30000 |
- KNL-563Getting issue details... STATUS | Property added to control the number of milliseconds before rechecking database for updates, the default is 30 secs. |
2.8.0 |
login |
login.k2.authentication.autoProvisionUser |
false |
, |
Create a new container authN filter which authenticates against K2 |
2.8.0 |
msgcntr |
mc.notificationDefault |
1 |
- MSGCNTR-354Getting issue details... STATUS | Allows an implementation to set a default preference for the "watch" notification email functionality introduced in 2.7 |
2.8.0 |
osp |
xslPortal.displayToolCategories |
true |
- SAK-18831Getting issue details... STATUS | Add configuration option to turn off tool categories in xslt charon portal |
2.8.0 |
portal |
display.users.present.iframe |
false |
Move the presence from an iFrame into a div - controllable by a series of |
|
2.8.0 |
portal |
timeoutDialogEnabled |
true |
- SAK-19148Getting issue details... STATUS | Existing property where the default setting has been changed from false to true. |
2.8.0 |
portal |
timeoutDialogWarningSeconds |
600 |
- SAK-19148Getting issue details... STATUS | Change the "settle time" before the timeout code starts to operate to 60 second. |
2.8.0 |
portal |
gatewaySiteUrl |
|
- SAK-19089Getting issue details... STATUS | Adds ability to specify a URL |
2.8.0 |
portal |
portal.allow.minimize.tools |
true |
- SAK-18687Getting issue details... STATUS | Allows the ability to minimize the tools where only the icons display. |
2.8.0 |
portal |
portal.allow.minimize.navigation |
true |
- SAK-18687Getting issue details... STATUS | Allows the ability to minimize the navigation of top logo. |
2.8.0 |
portal |
portal.pda.bypass |
\\.jpg$|\\.gif$|\\.js$|\\.png$|\\.jepg$|\\.css$|\\.zip$|\\.pdf |
To override the default regular expression add this property. To specify a different regular expression for a particular Sakai tool, use a property with this pattern: |
|
2.8.0 |
portal |
portal.add.mobile.link |
false |
Enabling this property (ie true), adds mobile version tab at the top of the interface. |
|
2.8.0 |
portal |
portal.pda.autoredirect |
true |
|
There is a footer added to the bottom of the page with a link 'Switch to classic view'. If followed, this will redirect back to the normal portal and set a cookie for that session which holds this preference. If this cookie is set, this will disable the redirect until the user closes and quits their browser. |
2.8.0 |
presence |
display.users.present.myworkspace |
false |
- SAK-19130Getting issue details... STATUS | Existing property where the default setting has been changed from true to false. Presence is now turned off in MyWorkspace |
2.8.0 |
profile2 |
profile2.official.image.enabled |
false |
- PRFL-90Getting issue details... STATUS | Enables access/user to official institutional image for profile image |
2.8.0 |
profile2 |
profile2.official.image.source |
url |
- PRFL-90Getting issue details... STATUS | Tells the system what type of official photo to look for. When url is selected, system will look in the PROFILE_IMAGES_OFFICIAL_T for a record |
2.8.0 |
profile2 |
profile2.official.image.attribute |
jpegPhoto |
- PRFL-90Getting issue details... STATUS - SAK-17816Getting issue details... STATUS | Used when profile2.official.image.source=provider is configured. |
2.8.0 |
quartz scheduler |
scheduler.loadjobs |
int |
- SAK-19178Getting issue details... STATUS | allows injecting job configurations into the SchedulerManagerImpl that will be scheduled on startup |
1.0.1 |
shortenedurl |
shortenedurl.implementation |
|
- SHORTURL-10Getting issue details... STATUS | Used to set service URL for shortened url is implemented. |
2.8.0 |
site info |
siteManage.validateNewUsers |
false |
- SAK-18997Getting issue details... STATUS | Add support for Account Validator |
2.8.0 |
site info |
siteinfo.prohibited_permission_for_joiner_role |
site.upd |
- SAK-18462Getting issue details... STATUS | Adds ability to restrict joiner role selection to non-maintainer roles. |
2.8.0 |
test and quizzes |
samigo.canRecordAverage |
false |
- SAM-862Getting issue details... STATUS | Adds functionality to choose "Average" for the "Record Score if Multiple Submissions" |
2.8.0 |
test and quizzes |
samigo.showAssessmentTypes |
true |
- SAM-921Getting issue details... STATUS | Addition of setting to remove the display of "Assessment Types" |
2.8.0 |
web content |
sakai.iframe.annotatedurl |
|
- SAK-19369Getting issue details... STATUS |
|
2.0 New/changed permissions
Release |
Tool/Service |
Permission |
Notes |
---|---|---|---|
2.8.0 |
|
|
|
Database support
The Sakai CLE supports the following production-grade databases:
Database |
Driver |
Notes |
---|---|---|
MySQL 5.1.x |
Sakai requires transaction support. In the case of MySQL you must implement the |
|
MySQL 5.0.x |
Sakai requires transaction support. In the case of MySQL you must implement the |
|
Oracle 11g |
2.8 was not tested using Oracle 11g; however, both Virgina Tech and the University of Florida are using Oracle 11g with their Sakai deployments. |
|
Oracle 10g / 9i |
Both Oracle 10g AND 9i users must use the 10g driver; the latest 10g "Release 2" (10.2.x) or higher is recommended. |
|
DB2 |
|
Deprecated |
Choose the appropriate MySQL or Oracle JDBC driver (or connector) for your installation. For MySQL, download the *zip/*tar.gz archive, extract its contents and copy the mysql-connector-java-<version>-bin.jar
to $CATALINA_HOME/common/lib
. For Oracle download the ojdbc14.jar
file and copy it to $CATALINA_HOME/common/lib
.
You will not need to create Sakai database objects (tables, indices, etc) when setting up your database. Sakai generates its own database schema automatically during the Tomcat setup process via the autoDDL
setting in sakai.properties
.
In actuality, Sakai is not limited to these database choices and integration with other RDBMS systems is not difficult. In the past at least one installation used Microsoft SQL Server while requests for PostgreSQL integration are occasionally raised on the Sakai developers list. However, to date no one in the Sakai Community has stepped forward to support alternatives to either Oracle or MySQL, a prerequisite for adding additional database options to the release.
1.0 Configure the database
2.0 Set the database username and password
3.0 Set the database connection
4.0 Set auto.ddl=true
5.0 Install MySQL 5.1 / 5.0
5.1 Set MySQL environment variables
5.2 Create a my.cnf/my.ini
configuration file
5.3 Create a "sakai" database and user account
Deprecations, removals
Release |
Capability |
Status |
Notes |
---|---|---|---|
2.8.0 |
Blogger |
retired |
Removed from the build. |
2.8.0 |
Reports |
retired |
Removed from the build. |
2.8.0 |
WAS |
deprecated |
The Websphere WAS integration project has been deprecated due to lack of community support. It is anticipated that the WAS project will be removed from the 2.9.0 release if no one steps forward to support the project. |
2.8.0 |
DB2 |
deprecated |
The DB2 conversion scripts have been deprecated due to lack of community support. The scripts are currently incomplete and untested. It is anticipated that DB2 support will be dropped for future CLE releases if community support is not forthcoming. |
Known issues
Open 2.8-related tickets with a priority of critical or higher.
For a listing of all open 2.8 related tickets with a priority of critical or higher, see:
https://jira.sakaiproject.org/secure/IssueNavigator.jspa?mode=hide&requestId=13390
Open 2.x tickets
For listings of all open 2x-related issues see:
Indie Projects
A number of Sakai CLE projects (known collectively as "indie" projects) are currently not included in either the source archive or source check out. Instead, these projects are downloaded, installed in your local .m2
repository and then deployed to Tomcat as *.zip overlays during the Maven build process. If you need to apply any local customizations to these projects you must check out the code separately.
Indie project teams manage their own release cycles independently of the general Sakai CLE release cycle, permitting more frequent "off-cycle" maintenance releases for key projects such as the Kernel or Test and Quizzes. This means you can upgrade them in your release more frequently, if you desire.
Each Indie project site includes a variety of reports regarding the release, including Javadocs.
CLE Release | Project Site | Version |
---|---|---|
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 |
Older Releases
The Sakai CLE 2.6 series is now unsupported. The release of Sakai CLE 2.8.0 marks the end of official community support for the Sakai 2.6 series. Organizations running Sakai CLE 2.6 (or earlier versions) are strongly encouraged to upgrade in order to take advantage of continued maintenance support. Note also that with the release of Sakai 2.9, Sakai 2.7 support has also ceased.
License
The Sakai CLE 2.8 series is licensed under the Educational Community License version 2.0.