Google Summer of Code 2015 ideas list

On this page 

Overview

Are you interested in contributing to the Sakai project as part of Google Summer of Code 2015? 

Scroll down for an introduction to Sakai, project ideas proposed by our mentors, and tips on making your application. Sakai has applied as a mentor organization again this year; please check the GSoC 2015 site for program schedule dates. Other useful pages include:

About Sakai

Sakai is an open source system that supports technology-enabled teaching, learning, research and collaboration for education. It is primarily deployed as a Learning Management System or Virtual Learning Environment by more than 350 educational organizations, and is actively maintained and developed by contributors based at universities and commercial partners. Sakai celebrated its 10th anniversary in 2014.

Features Overview

Sakai is very widely used every day and has over 4 million educational users.  Usually deployed for a whole institution, users create 'sites' for learning management (e.g. associated with lecture courses), research collaboration (e.g. on a particular research project or research group), project collaboration (e.g. for course designers or final-year projects), student projects (e.g. for student groups resources and collaboration), or e-Portfolios (for learners to assemble portfolios of work they can use to reflect on and evidence their skills).  Each site is a shared space for its members, and its creator chooses a suite of "tools" to use within the site. Users work in one of the many built-in tools ( e.g. file sharing, announcements, discussions, assignments, wiki, etc.) at a time.

You can learn more about Sakai on the official information page.

Community

Most people working on Sakai work at educational institutions using it, so in effect it is developed by universities and colleges for universities and colleges. The community is still run on open source principles, but this is a bit different from archetypal OSS projects where people contribute in their spare time, so we sometimes make a distinction by calling it "community source" rather than "open source". We use the Educational Community License 2.0 (a minor variant of Apache 2 that is OSI certified). The Sakai community organizes itself and its work using a typical suite of OSS tools:

  • An official project site for letting everyone know what we're doing, why they should be interested and how to get involved
  • project blog to keep everyone up to date and share what's on our minds
  • Mailing lists for support and discussion
  • wiki (Confluence, also kindly contributed free by Atlassian) for plans and documentation
  • An issue tracker (JIRA, also kindly contributed free by Atlassian) for managing bugs and feature requests
  • Source version control system for managing collaboratively-developed code (GitHub) (Subversion

Technology

Sakai is composed of a series of standard Java web applications (usually called tools) running in a Java servlet container (commonly Apache Tomcat) that together form a learning management and collaboration system. It uses the Spring Framework as a base for the Kernel and Component Manager which connects the Sakai services and allows the Sakai tools (webapps) to communicate.

Individual tools (webapps) use a variety of technologies (e.g. Spring MVC, RSF, JSF, Velocity, etc.) but plug in to the Sakai Kernel to access core services.

Ideas

This list is currently in development, while we recruit mentors and gather their own proposals and project ideas. 

Once you've become familiar with Sakai, you might find you've thought of an idea you'd love to work on. That hasn't happened very often in the past but we love it when it does. You'll still need a Sakai mentor, so you'll need to get on the Sakai Developers mailing list as early as possible, whip up some enthusiasm and connect with a mentor.

2015 Project Mentors (proposed; others in recruitment)

GSoC Organization Administrators

  • Seth Theriault
  • Steve Swinsburg

1) Better integration with Google Calendar and other calendar services

Mentor: William Karavites

Sakai needs better integration with Google Calendar and other calendar services. For example, anytime someone is assigned an item with a date (Assignment,Test ...etc), it should somehow automatically get pushed to your Google Calendar and give users the ability to see any updates on items more easily from their devices. It may even be possible to extend it to other online calendar tools or create an .ics link for each student. This improved functionality would integrate with the new Dashboard tool in Sakai.

2) xWiki LTI extension to work with Sakai groups

Mentor: Neal Caidin 

Sakai is evaluating a new wiki. xWiki is an open source wiki for which there is already an IMS Learning Tools Interoperability (LTI) extension available. However, the integration does not take advantage of important Sakai features like group management. The idea is to build on the existing LTI integration by extending it to talk with Sakai and respect group settings.

3) Centralised internationalisation for Sakai

Mentor: Steve Swinsburg

Sakai supports a wide variety of languages. However, each tool (webapp) in Sakai has its own way of providing these translations. This task would involve creating a centralized service in Sakai where tool developers could register their translations which would then feed into a central database. All translations would then be available in one database and allow for those that translate Sakai to different languages to be able to download the list of translations from one central location. This would save months of effort for every Sakai release and be a significant contribution to the project.

4) Document preview

Mentor: Steve Swinsburg

Sakai has a comprehensive Resources tool which allows the upload/download and browsing of files in the system. This project would involve adding a preview to the resources tool that allows a user to see a quick overview of what the file is, kind of like the Mac OS X 'Quick Look' function. We are thinking that perhaps it could be an Open Office integration but its up to you!

5) Portal search feature

Mentor: Steve Swinsburg

Sakai integrates with ElasticSearch for content indexing and discovering. However the ability to actually search for files within a tool (webapp) is not readily accessible. This project would involve adding the search feature to the top navbar of the portal so that content can be searched within the current site that the user is in and also across the sites that the user has access to.

(Adam: A start on the API has been made here: github.com/ColinHebert/Sakai-Search2)

6) Assignments tools design improvements

Mentor: Neal Caidin

The removal of iFrames and the completion of "Project Morpheus" brings Responsive Design to Sakai 11 and beyond. Work is being done to make tools compatible with the new Responsive Design framework, but this project will focus on the Assignments tool, one of the most highly used and useful tools in Sakai, to make it easy for students to view assignments and submit them, including typing text responses and uploading attachments.

7) Build Badging Tool

Mentor: Charles Severance

This will add a badging tool that will issue Mozilla open badges when students reach some level of achievement in the course.

8) Rewrite synoptic tools not to require iframes

Mentor: Charles Severance

With Sakai 11, all tools are now inlined except for when there is more than one tool on a page. The only place this happens commonly is on the "Home" page where several synoptic tools are on the page. This effort will rebuild these relatively simple tools using JSR_168 portlets so they can all be on the same page without requiring any iframes.

9) Improve student view of the Gradebook

Mentor: Charles Severance

We have greatly improved the instructor view of the Gradebook - this effort will improve the student view of the Gradebook.  For example, students will be able to see their own performance relative to average performance of the other students in the class.

10) Rewrite the CK Edit "Browse Server" item picker

Mentor: Adam Marshall / Nick Wilson (Oxford U)

The current item picker which can be launched from within the WYSIWYG HTML (rich-text) editor is a modified FCKedit plugin (written in JavaScript) and as such needs to be replaced; functionality could also be enhanced. Rather than start from scratch, it may be an idea to base the rewrite on an existing browser such as elFinder or KCFinder. 

If you have questions or want to discuss your ideas, ask on the Sakai Developers mailing list, then contact a project mentor directly.