Tag Archives: import

Sakai 2->3 Integration Status Update

David Goodrum asked me to provide an update to the Oncourse Priorities Committee [1] regarding the progress made towards Sakai 2->3 integration and migration. In doing so, it became clear that this kind of update might also be useful to the community at large. There are two overarching goals to achieve in this project: 1) seamlessly exposing Sakai 2 functionality within Sakai 3 (which we are dubbing “hybrid” mode) and 2) content migration.

The hybrid mode will allow institutions to adopt Sakai 3 at a pace that is comfortable for them. For example, Sakai 3 will not have all of the functionality available in Sakai 2 day one, but their will be some compelling functionality that institutions will want to adopt before all of the functionality gaps have been closed. Hybrid mode will facilitate this approach by allowing institutions to deploy Sakai 3 and take advantage of the new features while still relying on Sakai 2 for the features not yet available in Sakai 3. The following video demonstrates the first step in realizing hybrid mode: the ability to expose entire Sakai2 sites within the Sakai 3 portal.

We anticipate that institutions will want to start using Sakai 3 for full-fledged project and committee work before course work. This capability supports this use as Sakai 3 sites can be used for project sites while Sakai 2 continues to serve the course site needs. The next step in the hybrid mode evolution will be the ability to place individual Sakai 2 tools onto Sakai 3 pages which live in Sakai 3 sites. This will give the user the ability to mix and match both Sakai 2 and Sakai 3 functionality in a single user experience.

Next: content migration. The primary use case that we are tackling first is the ability of an instructor who taught a class last semester in Sakai 2 to be able to import that site template into Sakai 3. The following video demonstrates an initial deliverable where one can export content from a Sakai 2 site and then import that content into a Sakai 3 site. Please keep in mind that this is very early work and is rough around the edges, but the methodology and underlying service is sound.

Moving forward, focus in the following areas is required:

  1. Exposing individual Sakai 2 tools on Sakai 3 pages within Sakai 3 sites.
  2. Exploring a results mechanism so that a tool hosted in Sakai 2 can report results to a tool hosted in Sakai 3 (and vice-versa). As an example, you might want to use a Sakai 3 Assignments tool which will need to report outcomes to a Sakai 2 Gradebook.
  3. Continued effort to import Sakai 2 site templates into Sakai 3 for semester-to-semester transitions.
  4. Deeper content migration that will not only transfer site templates, but also include full user content. For example, this will likely be a requirement to migrate a project site from Sakai 2->3.


Filed under Sakai

Importing content from Sakai 2 into Sakai 3 (take 3)

As the week begins winding down, I wanted to draw your attention to some progress I have made in this area since my last blog entry: Importing content from Sakai 2 into Sakai 3 (take 2). First, I would like to point you to a screencast I recorded on the subject earlier today:

Next, I would like to address some of the action items from the last post:

  1. All user uploaded content is currently stored in a BigStore under /_user/files. After discussing with Ian Boston, I will most likely refactor the import code to store its content in that BigStore as well. Although, the BigStore concept will likely be redesigned in the near future, so any work I do in this area will be nicely abstracted so that this behavior can be changed easily when and if BigStore is redesigned.
  2. With the move to BigStore, I will have to take a look at access control lists (ACLs) so the the user importing content will have the proper permissions.
  3. Next, I need to take a look at the contract between K2 and the “Content & Media” widget so that the imported content appears properly within the user interface.

This work is complete and you can see it working in the video. The refactor to the /_user/files BigStore was pretty straightforward, except for one self inflicted bug, and luckily the call to FileUtils.saveFile() already handled all of the access control permissions for me. The Content & Media widget expects files to be stored under /_user/files, so things started behaving as expected after #1 was complete.

I do have the plans confirmed with Dr. Chuck and Noah Botimer to spend two days developing a Sakai 3 BasicLTI consumer. I am excited to tackle that problem – coding sprints are always full of such great energy! Until next time, Lance

Leave a comment

Filed under Sakai