Sakai is an open source, web-based, Collaboration and Learning Environment (CLE) that is primarily focused on higher education, and has been adopted by hundreds of institutions. It supports the activities of students, teachers, and researchers. Sakai also provides an administrative interface. Sakai is flexible, and can be configured for a variety of specialized audiences.
While Sakai can be used to support research and general-purpose collaborations, it is most widely deployed as a Learning Management System (LMS) or a Virtual Learning Environment (VLE). Sakai provides users with learning, portfolio, library, and project tools. Teachers can create course sites and add chatrooms, forums, blogs, wikis, and a range of other tools. Students can use the tools to undertake activities related to learning, including uploading assignments, completing tests, and interacting with instructors and classmates. Finally, researchers and groups of peers can create project sites for sharing materials and specific interactions. Sakai is designed to be flexible, and has a set of frameworks (internal structures) that make it easier for those who want to build their own tools or services with it.
Sakai is capable of scaling to even the largest and most demanding environments. Indiana University, for example, maintains a deployment for at least 100,000 students. The University of Michigan deploys for 70,000 students. UNISA, in South Africa, deploys to over 200,000 learners and academic staff.
The basic concept behind the functionality that Sakai provides is that the users control their own sites; for example, they can choose which tools to include in the sites they create. The application treats users as adults and enables flexibility through choice.
The tools include chat, forums, wiki, polls, Google-like search capabilities, and others with more becoming available with every new version of Sakai. Numerous tools enhance group formation and coherence, allowing for intuitive interaction (hence the word "collaboration" in collaboration and learning environment).
The range of tools is rich indeed, especially if you include all those contributed by the energetic and motivated Sakai community. Many local deployments have specialized tools for which they develop their own enhancements. As Sakai grows in strength, the number of extras is also rapidly increasing. The Sakai Foundation website mentions at least 20 extras and the foundation's source code repository has around 170 contributed directories.
Sakai was designed around a framework that significantly simplifies the creation of tools. Developers do not have to reinvent the wheel for fundamental services such as finding a username, managing a site's look and feel, or internationalization. There are strong and well-established lines of support for developers, including style guides, best practices, a programmer's café, workshops, and central Quality Assurance (QA), throughout a development project's full life cycle.
To help organizations decide which tools to deploy in their production environments (for example, a college campus), which tools to start looking at for future use, and which to retire, each tool is assigned a status:
Contrib: Tools with which the community has little experience and which the QA work group does not recommend for use in a production environment. Contrib tools are available, separately from the main release, in the Contrib area of Sakai's source repository.
Watching the code base over time, you see a convection effect where Contrib tools move to Provisional, are thoroughly tested, and move to the Core; and then older core tools move down to either provisional or are pensioned off. As time passes, there is a quality convergence — the software gets thoroughly debugged, first by a team of dedicated testers, and then by real-life high-scale deployments. In the end, educational organizations and users have more choices and sophistication built into the environment.
The Sakai Foundation is a non-profit organization that was set up in late 2005 to encourage community building between academic institutions, nonprofits, and commercial organizations. It coordinates the release cycle and stimulates the ongoing health of the Sakai community by organizing and sponsoring conferences and fellowships. It facilitates the software creation life cycle, from development, through testing and quality assurance, to polishing the user experience.
Recognizing the need for best practice and a methodology for decreasing the learning curve for new tool developers, the Sakai Foundation, with the help of Aaron Zeckoski (http://aaronz-sakai.blogspot.com), set up the Programmer's Café.
Aaron is one example of a highly-motivated community developer, spending much of his free time evolving the product and supporting other members in the community.
Programmer's Café is a set of lectures and hands-on programming labs focused on building new Sakai tools. By the end of the café, the programmers have learned enough to create their own masterpieces. The programmer's café is also about the best practices and how to use the Eclipse programmers' IDE effectively.
Sakai conference organizers traditionally schedule the café for the day before the main conference presentations, and occasionally, a trainer delivers the café as a separate set of planned events. Please see: http://confluence.sakaiproject.org/display/BOOT/Programmer%27s+Cafe for more details.
You can find more information on the Sakai Foundation's website (http://sakaiproject.org), as shown in the following screenshot. Notice the links to documentation and downloads. Foundation members work to ensure that the information online is as up-to-date as possible.
The Sakai motto: Collaboration and learning for educators, by educators, which is free and open source, is taken seriously. Much care has gone into creating an educationally supportive infrastructure that is free to download, change, and use as you like, with a clear vision of keeping this true forever. The all-too common nightmare of IP trolls attacking your organization for licensing dues has no place here.
The development of the Sakai CLE has been date-driven, with aggressive milestones and a transparent requirements process. The implication is that, by the time you read this chapter, the next version of Sakai will be out. There will be more tools for users to choose from, many minor enhancements and performance improvements, numerous bugs spotted and removed, and many honest discussions at the local and international conferences, especially in the mailing lists.
The next screenshot shows a generic Sakai workspace for a newly-created user who has logged on for the first time. On the left-hand side are links to the default set of tools. The main area is for expressing the tools' functionalities, and the tabs at the top of the screen enable you to move between sites of which you are a member.
By default, a new user owns a worksite with only a basic set of tools enabled, including a few for administration purposes. If the user wants, he or she can request a project, course, or portfolio site:
Project: A project site has two main types of users: the site maintainer and those who can use and share the resources and tools. Typical users of a project site include researchers working on the same study, teachers who wish to compare notes, and other groups of users who wish to interact together online.
Course: A course site is a online expression of a real course. It might be established entirely for online delivery, or to support face-to-face teaching. The target audience comprises teachers who maintain the site with teaching assistants, and students who use the site. Teachers can post exams, send announcements, upload syllabi and grade book results, and choose which tools the students can use to interact. Teaching assistants have fewer privileges, but can maintain forums and help maintain processes, such as the marking of assignments. Students can communicate with their peers or teachers and teaching assistants, take tests, upload files, and send mails to others in the course.
Portfolio: Portfolio sites are places where students store evidence of their work in a structured format. As a student progresses through his or her education or course, that evidence builds up within an online structure of links and web pages. This can be helpful for finding employment later on because potential employers can make judgments based on the evidence presented in the portfolio.
Where have the tools gone?
The demo has more tools to choose from than are normally seen in production; the provisional tools are active to give you an opportunity to play with the technology and judge the tools' value before the next release.
Later chapters cover these three types of sites in more detail, beginning with Chapter 4 My First Site. For the administrator, a special admin site includes tools for daily business, such as sending "messages of the day" to the entire user base, managing sites and users, scheduling tasks, and generally tweaking the whole environment. Chapter 9, The Administration Workspace, provides extensive information about this site.
In a very real sense, Sakai is not only a software application, but an active community of educational institutions working together to solve common problems, share best practice, and innovate. The professional development and cross-institutional knowledge sharing are benefits that can be hard to find elsewhere.
The vibrant, open source community has a structured management and strong commercial support. The central pillar is the Sakai Foundation (http://sakaiproject.org/sakai-foundation).
Sakai is open sourced under the Educational Community License, currently version 2 (http://opensource.org/licenses/ecl2.php). This allows commercial partners to provide hosting, support, and custom modifications, and lets developers work with the full code base. In contrast, a proprietary license would have slowed down deployment and held back the development and wider support.
The benefits of open source for Sakai users are profound. You can handle and manipulate the code without having to worry about accidentally violating any commercial license. Advanced developers can learn through the review and issue process. Bugs are more amenable to resolution locally and transparency also supports innovation, quality, and security (many eyes).
The Sakai open source community is confident, open, and not afraid to show the good, the bad, or the ugly. An Amsterdam University-based QA server automatically tests the main parts of the source code for bugs three times a day and publishes a report at the end of each test (http://qa1-nl.sakaiproject.org/codereview) that is viewable by the whole universe, and a couple of parallel ones as well. Anyone can download the source code and send modifications to a branch manager.
Different organizations have different timelines for patching and updating their production servers. The source code of Sakai is evolving fast and, once or twice a year, the foundation releases a new, major version of Sakai. Some organizations do not have the time or resources to upgrade, but do want to patch their servers for known bugs and security issues. To achieve this, the community branch manager copies the source code into another part of the source code repository (this is called branching). The branch manager for the older code is responsible for updating with patches, leaving newer code in a different branch to evolve.
Being a branch manager is quite a lot of work and it is easy to make mistakes. If you see one of this endangered species at a conference, pat him or her on the back, make encouraging noises, and try not to look at his or her graying hair and the stress lines on his or her face.
Workgroups are smaller communities of practice within the larger Sakai community; Parties with a shared interest gather information and requirements on Confluence to share advice and best practices with the community. Confluence is a Wiki, a place where a large number of contributors can change the content without central editorial control.
Visit the main page of the Sakai Confluence (http://confluence.sakaiproject.org/confluence/dashboard.action) and you will see a list of workgroups mixed in with other links on the left side. The workgroups meet online in person, the latter usually at conferences. Workgroups exist for developers, quality assurance, management of the software life cycle, the user experience, teaching practices, and so on.
The e-mail lists from the various workgroups are also viewable to the world and there are no limits on who can subscribe. In general, the community responds quickly to the mails sent to the lists.
The architects have not just designed Sakai to be a place for excellent online learning experiences; it is also a platform for easy development, especially of tools. At least 100 developers are actively enhancing Sakai directly or through contributions for local deployments right now.
Development may at first seem daunting for tool builders. However, the basic skills needed to create a tool are the same as those for building a standard web application. Most developers within the Sakai community use the industry-standard Eclipse IDE http://www.eclipse.org). There is a wide range of supporting material to help — and the best resource of all is the Sakai community.
It is beyond the scope of this book to go into the detail of setting up your development environment. However, you will find relevant links in Glossary B.
For those of you who are interested in tool creation, the online Development Environment Setup document (http://bugs.sakaiproject.org/confluence/display/BOOT/Development+Environment+Setup+Walkthrough) is a necessary read.
Sakai is a project where individuals have a large degree of influence. If you have a good idea and are prepared to spend your time discussing the details in the Distribution Groups, then you can influence change, redirect community effort, and help build a great product.
Outstanding achievement is rewarded through Sakai Fellowships. Sakai fellows are experts in their given fields and valuable sources of experience, which they share within the wider Sakai community. A fellowship lasts for one year, awarded at each International Sakai conference. Therefore, by the time you read this chapter, another crop of fellows may have been chosen. However, in the eyes of many of the community, once you are a fellow, you are always a fellow; your expertise and commitment does not magically disappear at the end of the fellowship. It is a hard-earned award with many viable competitors.
Sakai fellows fit across a broad range of categories such as the developer, teacher, tester, and administrator, with the boundaries blurred for most of the fellows.
A current list of Sakai fellows can be found on the main Sakai website at: (http://www.sakaiproject.org/sakai-fellows). A large proportion of the fellows mentioned have a bias towards coding and you can see their work every time you use Sakai. As Sakai matures, expect this natural bias to change, as educators gain a greater community voice.
Sakai has deep academic roots and, at the time of writing, is deployed or in pilot in more than 300 large organizations — mostly universities — around the world, with also a significant selection of K12, government, non-profit, and corporations. Volunteers have meticulously translated the application into an ever-increasing number of languages. In the worksite profile, the user can choose his or her language preference.
Although its roots are North American, Sakai's presence is spreading. The following screenshot shows a Google map of the current Sakai deployment locations:
The sites include Australia, South Africa, France, the UK, Holland, China, Japan, Egypt, and many other countries, with more countries listed over time. Sakai is a world traveler, capable of speaking multiple languages and supporting various learning modalities.
In late 2003, four universities — MIT, Michigan, Stanford, and Indiana — saw a common cause to jointly develop an Open Source environment to support learning, research, and other forms of collaboration required by a modern educational institution. They agreed to contribute labor to the tune of $4.4 million, and slightly later that year, the Andrew W. Mellon Foundation (http://mellon.org) seeded another $2.2 million.
The project did not need to start from scratch; the University of Michigan already had a significant codebase and, just as importantly, a conceptual framework and essential experience from the creation of its own set of tools called Chef.
For those of you who are interested in tool creation, the online Development Environment Setup document (http://bugs.sakaiproject.org/confluence/display/BOOT/Development+Environment+Setup+Walkthrough) is a necessary read.
Chef tools encompassed a subset of the Sakai functionality and were mature, with first deployments as early as 2001. The original Sakai codebase also included code from the other universities (including coursework and assessments from Stanford) and OSIDs (an set of standard coding APIs and architecture for educational purposes based on Service Oriented Architecture) from the OKI project (http://okiproject.org).
The first phase of Sakai was the so-called "best of refactoring", during which the code was unified and the main framework put into place.
The newly-formed team officially announced the Sakai project at Educause (http://educause.edu) in November 2003, and in June 2004, the team released Sakai 1.0. Date-driven development cycles resulted in a high evolution rate and both Michigan and Indiana rolled out Sakai to their students and instructor audiences at the end of 2004 and during 2005.
For the Sakai project to survive beyond the first two years, it needed to move away from grant funding towards a model in which the community and software were self-sustaining. The vehicle for this transition was the Sakai Foundation, to which, in their good judgment and self-interest, individual organizations transferred copyrights and resources.
A separate project, the Open Source Portfolio (OSP) initiative, was next merged into the Sakai codebase and it improved the overall value of both Sakai and OSP products by enriching integration, as well as allowing a combined use of resources for quality assurance and tool building.
The foundation administers a voluntary membership program, collecting dues from over 120 institutions that choose to make this additional commitment to sustain Sakai. Recognizing early, the significant role that commercial support can play in helping academic organizations develop and deploy, the Foundation created its Sakai Commercial Affiliates (SCA) program to foster commercial partnerships.
Currently, there is a healthy ecosystem with commercial partners providing a variety of support, from hosting to customizations and tool building. This increases the range of options open to an organization adopting Sakai. An adopter can choose to install, configure, and adapt Sakai to its own needs, buy commercial support for in-house deployment, or choose to purchase a customized hosted solution. This flexibility is not a "once and for all" choice; some adopters after their initial deployment of Sakai buy in specialist expertise for specific projects or developments .
There are small start-up companies that specialize in training or turnkey solutions, such as Edia (http://edia.nl) and Airplane (http://aeroplanesoftware.com), and large, more established players such as rSmart (http://www.rsmart.com), Unicon (http://www.unicon.net/), or Longsight (http://www.longsight.com).
Management is not limited to a choice of one, and competition has a strong tendency to lower costs. A list of Sakai Commercial Affiliates can be found on the main Sakai website (http://www.sakaiproject.org).
The goals of the Foundation include helping to understand the needs of the user, sponsoring inter-organizational collaboration and resource sharing, supporting the growth of the community, and keeping decision-making processes as transparent and accessible as possible.
The Sakai CLE has always been more than just a Learning Management System. It is widely used by institutions to support many other forms of online collaboration, from the support of distributed research groups through student clubs and societies, to administrative bodies.
Ever since the Sakai was conceived in 2001-03, much has changed. Underpinning technology and architecture has continued to develop. There has been an explosion of what some call "the social web". To risk stating the obvious, we have also learned a lot more about what it means to learn, teach, and support research online in that period. We have far greater experience on which to base the planning and development of future software. A new community project, the Sakai Open Academic Environment (formerly Sakai 3) is, at the time of writing, on a 12-month path of rapid development to address the communities evolving needs.
Chapter 17, The Sakai long term vision will explore these plans.
In the next chapter, you will discover how easy it is to install and use the demonstration version of Sakai on any modern desktop computer, be it Windows, Mac OS, or Linux. However, why would you deploy Sakai in the larger organizational context in the first place?
No man is an island and no collaboration and learning system lives outside the context of the organization it supports. Here are some key points for why an organization can be comfortable choosing Sakai:
Educators and software engineers have designed the application from the bottom up and top down to be an effective and flexible learning environment.
An active community is adding useful tools to the mix all the time.
The Sakai Foundation stimulates the growth and good order of the community, and is the contact point for project coordination and life-cycle management.
There is a strong central quality-assurance process with many early adopters of new releases. This makes it much less likely that you will have to wake up a system administrator in the middle of the night to deal for the fourth time with an unexpected crash.
There is a commercial partnership program, which means you can buy in support or outsource when you need to.
With standard hardware such as load balancers and Oracle or MySQL databases, Sakai has been deployed for individual organizations past the 170,000-user mark and is relatively simple to set up for even the smallest of pilot programs.
Sakai is a Java-based application using technologies such as Tomcat (http://tomcat.apache.org) as its application server and Spring (http://springframework.org/about) for managing the way it interacts with databases, injects services into tools, and talks to the other well-known and widely-understood frameworks. Java plays well when developed in distributed teams, and the use of mainstream technologies makes it easier to find developers or support in the marketplace.
Sakai supports web services for integration with other software on campus. If desired, Sakai web services can therefore play their part in a wider enterprise or service-oriented architecture.
Sakai supports standards such as IMS BasicLTI that allows tools to be shared easily between different learning systems if they support the same standard.
To create, modify, or delete users, courses, and groups externally, Sakai has integration points called providers. These allow relatively easy incorporation into your own administration systems.
Leon Raijmann, an educationalist and a top-level manager at the University of Amsterdam, further discusses management buy-in factors in Chapter 15,A Crib Sheet for Selling Sakai to Traditional Management
Long URLs and Confluence
An approximate description of Confluence is that it is an enhanced wiki. The Sakai community uses one (http://confluence.sakaiproject.org/confluence) as a place to quickly build up documentation and expand ideas.
Sakai is a Java-based open source Collaboration and Learning Environment (CLE) that is flexible, easy to use, and highly scalable. It has an active community of educational and commercial institutions working together to solve common problems and share best practice.
The Sakai Foundation supports the community and helps form a coherent project management structure around the product life cycle.
The Sakai CLE is not only an application but also a framework for easing the burden of tool creation and service integration. Sakai continues to evolve and attracts an increasing number of developers who are busy enhancing frameworks and tools.
The next chapter explains how to install a demo version of the Sakai CLE. One way of understanding the content of this book is to have the demo running while reading the chapters on specific toolsets.