Sakai Logo

Sakai 10.0 release

Release Date: June 2014

Sakai 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. Sakai 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 Sakai. 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, Sakai relies on a back-end student information system (SIS) to provide it with student and course information, which Sakai consults via provider APIs.

Sakai 10 builds on the solid work of the Sakai 2.9.3 release. We have two new tool contributions, better support for audio and video using HTML 5, infrastructure improvements, about 50 security fixes, performance improvements, a number of new features, and close to 2,000 fixes! .

Our thanks go out to the dedicated Sakai Community volunteers from around the world who have made this release possible. Over forty institutions from around the world made a significant contribution to the Sakai 10 release including development, bug fixing, QA testing, and documentation.

Acknowledgements

What's new in 10.0

Downloads

Demo: The Sakai Demo is a pre-built version of Sakai with Apache Tomcat and a simple configuration, perfect for a quick and easy demo of Sakai. The Sakai demo is NOT intended for large scale implementations. It is suitable only for evaluating the software and running small pilot implementations on a single server. Win sakai-demo-10.0.zip md5
Mac/*nix sakai-demo-10.0.tar.gz md5
Binary: The Sakai Binary is a pre-built version of Sakai without Apache Tomcat, jar dependencies, or extra configuration files. Download the Binary release if you want to just drop the Sakai bundle into a pre-existing Tomcat environment. Win sakai-bin-10.0.zip md5
Mac/*nix sakai-bin-10.0.tar.gz md5
Source: Start from Source if you plan to make any code-level changes to your Sakai system. Win sakai-src-10.0.zip md5
Mac/*nix sakai-src-10.0.tar.gz md5
Javadocs
Mac/*nix sakai-javadoc-10.0.tgz md5

Source Code

Sakai uses Subversion for source control and provides maintenance branches - which include the latest bug fixes - for its most current releases. You can check out Sakai 10 using a subversion client. If you don't wish to track and merge changes with subversion you can use 'svn export' instead.

10.0 tag: svn co https://source.sakaiproject.org/svn/sakai/tags/sakai-10.0 10.0

10.x Maintenance Branch: svn co https://source.sakaiproject.org/svn/sakai/branches/sakai-10.x 10.x

Trunk (latest development) svn co https://source.sakaiproject.org/svn/sakai/trunk trunk

Documentation and Development environment setup

For Development environment setup visit our Development Environment Walkthrough

For Sakai 10 release notes, installation guides and other documentation visit our Sakai 10.0 documentation space in our public wiki.

System Requirements

Operating system (OS) choices

Sakai is OS neutral. It is typically run on any of the numerous Linux distributions. Examples of common Linux distributions include as CentOS, Debian GNU/Linux, Fedora, Gentoo Linux, Red Hat Enterprise Linux (RHEL), SuSe Linux, Ubuntu. Sakai can 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.

Java

Sakai 10 has been tested most thoroughly with Oracle's Java 7. It also should be binary compatible with Java 6, aka Java 1.6 . Requires JDK 6 to build "all code". Likely support for JDK 8. Certain files, such as *.jsp and *.jws, require compilation so downloading and attempting to use only the run time environment (e.g. JRE 7.0) will not suffice.

Sakai 10 targets Java 6+, QA'd with 7. Requires Java 6-8 to build.

Application server choices

Apache Tomcat 7 is the recommended, and most thoroughly tested servlet container, and is most often used with a web server like Apache Http Server. Several schools run their Tomcats with Windows IIS and nginx proxies without issue. As of Sakai 10's release, Tomcat 8 is beta and has not been tested.

Maven

Maven 3 is the build tool used to deploy the source code and is therefore not necessary if you only plan to install the Sakai Demo with the default configuration. For production deployments it is an essential supporting technology.

Database choices

Sakai production installations typically run MySql 5.5 or later. Oracle is the next most popular choice. There are known installations of Sakai on Oracle 10g, 11g, and 12c.

A demo version of Sakai includes HSQLDB; it should never be deployed in production.

Clustering, file storage and load balancing strategies

A typical Sakai cluster is comprised of one or more application servers running one or more instances of Tomcat 7 operating either in standalone mode or behind the Apache HTTP 2.2 web server. Each Tomcat instance runs a full copy of Sakai. 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.

External Authentication choices

Sakai can integrate with a variety of external authentication services including CAS, Kerberos, LDAP, Shibboleth and WebAuth.

Integrating with student information systems

Sakai Community institutions have integrated their Sakai installations with Banner, Datatel and Peoplesoft as well as a variety of home-grown student information systems (SIS).

Sakai 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.

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 Sakai, 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 data (e.g. enrollment and course information) into Sakai is through web services. Many 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 REST and SOAP web services can be called from PHP, Python, Perl, Java, .NET or any other language. The Sakai 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 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.

New Developers

The best introduction for new developers is found in a wiki space called the Programmer's Cafe. A number of experienced Sakai developers have banded together there to produce guides and tutorial materials for those who wish to start hacking on Sakai.

Issue Tracking

Bug reports and feature requests may be created and monitored through Jira.

Older Releases

With the advent of the Sakai 10 series, official Community support for Sakai 2.8 ceases. Organizations running Sakai 2.8 (and earlier versions) are strongly encouraged to upgrade to the latest versions of Sakai 10 or Sakai 2.9 in order to take advantage of continued maintenance support.

License

The Sakai 10 series is licensed under the: Educational Community License version 2.0.