Create your online project site, start to finish, with Sakai

A flexible Collaboration Learning Environment

Download the whole article as PDF

Short URL: http://fsmsh.com/2355

Write a full post in response to this!


Sakai is an online Collaboration Learning Environment, CLE for short. Indiana University has proactively deployed it for 100,000 students, and over 120 other Universities are involved with their own local deployments or test beds. Clearly, this well received application is worth checking out and taking for a vigorous and thorough test run.

This article is a practical introduction to Sakai, along with numerous screen grabs. The article’s purpose is to highlight the power and flexibility of this Java based application, and to explain how simple the creation of ad hoc online communities can truly be. I hope this article will give newcomers a grasp of the power of collaboration and learning tools.

If you are a course administrator, teacher, educational decision maker or student then knowing that Sakai exists and what it can achieve allows you to compare your current infrastructure with a modern free software online learning enabler.

So what is Sakai?

Roughly speaking, a Sakai site has a set of tools available; it also has defined groups of users which are enabled to use some of those tools. The administrator is king and can make sites and users, and populate the sites with the users, giving each one a specific role. Students have one role which allows them some privileges to use specific student-oriented tools, whereas instructors have a different role with far more power. For each site, the administrator activates a tailored set of tools out of a long list. The tool list is expanding with each release.

One refinement to the comments I have just made: an administrator has universal power and instructors tend to have site-wide administrative rights. Of course, this description is an over simplification, but I will come back to it later.

When students log in, Sakai presents them a list of sites that they have joined at the top of their browser. Each site is for a particular project or course. A student enters a given site and can interact with fellow students or the instructors using the available tools. Normally only members of the site get to see information like test results. These defended areas allow students to interact naturally with groups of peers in a rather flexible and adaptive manner.

To enhance the intrinsic value of the CLE, the architects of Sakai have been very clever: creating new tools is rather straightforward, and within the grasp of any Java developers who have previously written web applications. The success of the supporting infrastructure can easily be seen in the contribution section of the source code repository where many, many extra tools exist. As a result, it’s easy with Sakai to customize sites to specific needs. One can imagine a K-12 class using chat, wikis, and forums, and researchers using custom tools for grid interactions on top of the already available collaboration tools.

An aside

Sakai is released under an Apache-like educational license. Sakai also has a reasonable set of commercial partners that offer commercial support. For decision makers, this represents a highly important safety net and will definitely help acceptance.

The community has placed Quality Assurance in the middle of the development cycle and not as a provisional last thought. Before each release, there is a viperous smoking out of issues. The last (2.4) release tag involved 17 preplanned and minor iterations on a code base of more than one million lines of code with around 90 active and consistently hard working participants. At the most recent conference in Amsterdam, shadowy characters gave away a number of Sakaigers (cute but dangerous cuddly toys) as rewards to the QA’ers. My personal Sakaiger escaped quickly into the Amsterdam underground (figure 1) and I suspect it will soon become a member of the A team or involved in serious adventures requiring many sharp teeth and lots of biting. How can such a cute animal be so dangerous?!

Figure 1: A brief spotting of a sharp toothed Sakaiger in the Amsterdam underground. Notice the use of telephoto zooming for safety reasons
Figure 1: A brief spotting of a sharp toothed Sakaiger in the Amsterdam underground. Notice the use of telephoto zooming for safety reasons

Since Sakai is free software, anybody can see its evolving code base without restrictions. Showing a high degree of confidence in the QA process, the communal infrastructure applies free software tools such as PMD and FindBugs to perform scheduled automatic code reviews on the Sakai source every night. The bug pattern observers generate generic reports that are open to the whole world. Imagine proprietary code being washed clean in such a way. Certainly, if taken seriously enough, the process can only help to push bug densities down and stability up!

Getting started

Sakai is a Java based application that runs within a Tomcat server. As a result, the source code is pretty much OS independent and just relies on the fact that you have Java 1.5 installed on your machine. The demo is self-contained and has its own in-memory database. For initial learning the demo is great; however, when you want to deploy for a few hundred users you will need to connect to a more substantial database such as MySQL or Oracle (they are both supported). The change over requires only eight lines of configuration and installation of the database server with a clean database structure that supports the UTF-8 character set. Therefore, there is a clear path from demo to middle sized production.

For the sake of simplicity, I will assume that you have a GNU/Linux box, preferably Ubuntu Feisty 7.04 with 1GB of RAM or more, and Java 1.5 installed. At the time of writing, the following simple installation instructions are correct.

Download the demo package and unpack it in your location of choice (for example, your home directory) using the following command:

tar xvf sakai-demo_2-4-0.tar.gz 

A directory sakai-demo should now appear. Verify that the environment variable JAVA_HOME exists and points to the top-level directory of your Java 1.5 instance. If the variable has not been set then one way to permanently arrange a value is to change your ~.bashrc file to include a line similar to:

export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun-1.5.0.11 

where, of course, the value of JAVA_HOME is specific to your environment. The value will take effect after your next login. To start the demo under the sakai-demo directory type:

./start-sakai.sh 

You will now see a lot of Java related logging gibberish flowing down the screen. Please, do not worry: it’s just debugging information hopefully stating that the world is perfect; be patient and wait the prerequisite minutes until you see text similar to:

Jun 19, 2007 11:31:52 AM org.apache.catalina.startup.Catalina
start INFO: Server startup in 117423 ms
Don't miss out on the other pages!
1234next ›last »

Write a full post in response to this!

0

Do you like this post?
Vote for it!

Copyright information

This article is made available under the "Attribution-NonCommercial-Sharealike" Creative Commons License 3.0 available from http://creativecommons.org/licenses/by-nc-sa/3.0/.

Biography

Alan Berg:

Alan Berg Bsc. MSc. PGCE, has been a lead developer at the Central Computer Services at the University of Amsterdam for the last eight years. In his spare time, he writes computer articles. He has a degree, two masters and a teaching qualification. In previous incarnations, he was a technical writer, an Internet/Linux course writer, and a science teacher. He likes to get his hands dirty with the building and gluing of systems. He remains agile by playing computer games with his kids who (sadly) consistently beat him physically, mentally and morally.

You may contact him at reply.to.berg At chello.nl



CariNet: Cloud computing is a reality.

Other sites

Odiogo

Free Software Magazine uses Apollo, project management and CRM for its everyday activities!