Sakai 22.1 maintenance is released!

This is a copy of the announcement of the Sakai 22.1 maintenance release from Wilma Hodges – the Sakai community coordinator.


Congratulations to our amazing worldwide community!

I’m pleased to announce that Sakai 22.1 is now available for downloading[1]!

Sakai 22.1 has 204 improvements [2] including

  • 44 fixes in Assignments
  • 10 fixes in Basic LTI
  • 14 fixes in Forums/Discussions
  • 13 fixes in Gradebook
  • 12 fixes in Lessons
  • 24 fixes in Rubrics
  • 20 fixes in Tests & Quizzes

Other areas improved include:

  • Accessibility
  • Announcements
  • Bullhorns
  • Calendar
  • Calendar Widget
  • Commons
  • Dropbox
  • Internationalization
  • Messages
  • PA System
  • Portal
  • Preferences
  • Profile
  • Quartz Scheduler
  • Resources
  • Roster
  • Search
  • Section Info
  • SIgn Up
  • Site Info
  • Statistics
  • Syllabus

There were 3 security issues fixed in 22.1 (details will be sent to the Sakai Security Announcements list).

Please also note the upgrade information page [3] for important notes related to performing the upgrade.

[1] Download information- http://source.sakaiproject.org/release/22.1/

[2] 22.1 Fixes by Tool – https://sakaiproject.atlassian.net/wiki/spaces/DOC/pages/32201507219/22.1+Fixes+by+tool

[3] Upgrade information – https://sakaiproject.atlassian.net/wiki/spaces/DOC/pages/32201507179/Sakai+22+Upgrade+Information+In+Progress 

Sakai 21.3 Released

This message originally came from Wilma Hodges – the Sakai community coordinator.

I’m pleased to announce that Sakai 21.3 is now available for downloading [1]!

Sakai 21.3 has 140 improvements [2] including

  • 24 fixes in Assignments

  • 11 fixes in Discussions

  • 10 fixes in Gradebook

  • 11 fixes in Lessons

  • 13 fixes in Site Info

  • 17 fixes in Tests & Quizzes

Other areas improved include:

  • Accessibility

  • Account

  • Announcements

  • Basic LTI

  • Bullhorns

  • Calendar

  • Chat Room

  • Commons

  • Content Review

  • Dropbox

  • Entity Broker

  • Internationalization

  • Membership

  • Portal

  • Preferences

  • Profile

  • Resources

  • Roster

  • Rubrics

  • Section Info

  • Sign Up

  • Statistics

  • Syllabus

There were 2 security issues fixed in 21.3 (details will be sent to the Sakai Security Announcements list).

Please also note the upgrade information page [3] for important notes related to performing the upgrade.

[1] Download information- http://source.sakaiproject.org/release/21.3/

[2] 21.3 Fixes by Tool – https://sakaiproject.atlassian.net/wiki/spaces/DOC/pages/17188913172/21.3+Features+by+Tool

[3] Upgrade information – https://sakaiproject.atlassian.net/wiki/spaces/DOC/pages/17310646931/Sakai+21+Upgrade+Information   

Wilma Hodges, Ed.D., UXC

Sakai Community Manager

Sakai 22 Released!

This message originally came from Wilma Hodges – the Sakai Community Coordinator

I’m pleased to announce that Sakai 22.0 is now available! 

Many thanks to everyone involved with the release! It wouldn’t happen without all of you!

Our community wiki has both functional [1] and technical [2] release notes.

Download instructions are also available [3].

New in Sakai 22

  • Calendar Design Upgrade

  • Conversations – New tool!

  • Lessons improvements

  • LTI Advantage Improvements

  • And more! [4]

[1] Functional release notes – https://sakaiproject.atlassian.net/wiki/spaces/DOC/pages/32201506818/Sakai+22+Release+Notes

[2] Technical Release notes – https://sakaiproject.atlassian.net/wiki/spaces/DOC/pages/32201506844/Sakai+22+Technical+Release+Notes

[3] Download instructions – http://source.sakaiproject.org/release/22.0/

[4] Complete Feature Summary – https://sakaiproject.atlassian.net/wiki/spaces/DOC/pages/32201507202/Sakai+22+Complete+Feature+Summary

Connecting MOOCs and Employment through Open Source Projects

This is an abstract I submitted to Open Apereo 2022.

Now that Coursera and other MOOC platforms are almost a decade old (Coursera was founded in 2012),  we have greatly expanded the opportunities for high quality education irrespective of the location or means of the student. As an example, Dr. Chuck’s Python for Everybody has graduated over a million new Python programmers. Some students who complete their education using MOOCs end up getting a job – often as a successful career pivot. However it is more challenging for someone in their early 20’s to parlay a primarily MOOC-based education into that all-important first job. For students enrolled in traditional higher education, they have access to career counseling, internships, and an alumni network that eases the transition from education to employment. So far we have no solution to this problem that scales and is independent of the location and means of the student. This presentation will explore how Open Source projects might just be the perfect place to fill this gap for students around the world.

IMS Releases Dynamic Provisioning Specification as Public Draft

Many of you know that the IMS LTI working group is doing a lot of great things expanding LTI. All of this is done behind closed doors so you can’t see the draft documents but I can implement and release the features in Sakai early – which I usually do.

Dynamic provisioning is a feature which we have had in Sakai for nearly a year (we call it “LTI Advantage Auto Configuration”) but the actual specification documents are now available for others to look at.

https://www.imsglobal.org/spec/lti-dr/v1p0

The spec builds on OpenID Connect Registration:

https://openid.net/specs/openid-connect-registration-1_0.html

This is a great spec as it reduces the copying and pasting of LTI Advantage URLs – which annoyingly have slightly different names in each tool and LMS – down to a single configuration URL and a single click.

The spec has been in Sakai (and Tsugi) for about a year, has been in BrightSpace and Moodle for some time as well. Blackboard is going to build it soon. Canvas has their own proprietary solution for tool registration that works well so they don’t need to support this standard particularly quickly.

This is great news for Tool Developers – it is an easy spec to implement it – it took me about 2 days of coding to add it to Sakai Plus this week.

I should probably schedule a webinar about it. If you have LTI tools, I have open source PHP code in Tsugi for the Tool end – and in Sakai I have both the LMS and Tool end of the protocol implemented and a number of nice Jackson-based POJOs to support the protocol.

If you are working in a language other than PHP or Java at least you have a bunch of working code to look at and lots of ways to test your tool. You can do testing on Sakai’s nightly servers or my dev1.sakaicloud.org servers. I am happy to mentor tool developers to implement this new spec – all of our collective lives get easier with auto provisioning.

To give credit where credit is due, Claude Vervoort of Cengage, a Moodle contributor, and one of the LTI co-chairs put a lot of energy into this spec. So kudos to him.

Let me know if any tool vendors are interested.

Sakai Plus

My project “Sakai Plus” is adding an LTI Advantage “provider” to Sakai 23.   Sakai already has an LTI 1.1 provider (i.e. you can launch a Sakai tool from another LMS like Canvas, Moodle, Blackboard, etc.).  You can follow progress at:

https://github.com/sakaiproject/sakai/pull/10121

The Sakai Plus effort will build equivalent and expanded support for integrating Sakai into other LMS systems using LTI 1.3 / LTI Advantage.

Unlike most of Sakai (and Tsugi) – the Sakai Plus LTI 1.3 provider will be done completely separately from the LTI 1.1 support.  In lots of other places, a lot of effort has been made to make code support LTI 1.1 and LTI 1.3 simultaneously in the same code base with careful use of if-then-else.  But because the scope of LTI Advantage tool provider is quite a bit broader that the LTI 1.1 provider, it will be kept separate so it can grow without maintaining legacy capabilities.

Sakai 21.2 Released

This message is from Wilma Hodges, the Sakai Community Coordinator announcing the Sakai 21.2 release.


Congratulations to our amazing worldwide community!

I’m pleased to announce that Sakai 21.2 is now available for downloading[1]!

Sakai 21.2 has 200 improvements [2] including

  • 38 fixes in Assignments

  • 14 fixes in Basic LTI

  • 13 fixes in Forums

  • 18 fixes in Gradebook

  • 14 fixes in Lessons

  • 15 fixes in Site Info

  • 30 fixes in Tests & Quizzes

Other areas improved include:

  • Accessibility

  • Announcements

  • Bullhorns

  • Calendar

  • CKEditor

  • Commons

  • Content Review

  • Delegated Access

  • Dropbox

  • Entity Broker

  • Internationalization

  • Message Bundle Manager

  • Messages

  • News

  • Portal

  • Profile

  • Resources

  • Roster

  • Rubrics

  • Section Info

  • Sign Up

  • Statistics

  • Syllabus

  • Wiki

There was 1 security issue fixed in 21.2 (details will be sent to the Sakai Security Announcements list).

Please also note the upgrade information page [3] for important notes related to performing the upgrade.

[1] Download information- http://source.sakaiproject.org/release/21.2/

[2] 20.1 Fixes by Tool – https://sakaiproject.atlassian.net/wiki/spaces/DOC/pages/17188913172/21.2+Features+by+Tool

[3] Upgrade information – https://sakaiproject.atlassian.net/wiki/spaces/DOC/pages/17310646931/Sakai+21+Upgrade+Information   

LTI Advantage, Sakai 22, and Tsugi – Oh My!

I have been kind of heads-down busy since mid-September working on preparing Sakai’s LTI for the Sakai-22 code freeze and release and implementing a number of pre-emergent IMS specifications in both Sakai and Tsugi.

The IMS LTI Working group is doing great work (it is worth joining if you are an IMS member). There are a number of un-released specifications that are pretty awesome. These specs are pretty mature and just kind of stuck waiting to be released. But that has not stopped LMS’s and tools from implementing them and using them. These are three of the really nice new specs:

  • Auto Provisioning – This eliminates all cut and paste of security values to get an LTI Advantage Security configuration set up on the tool and the LMS. This spec is implemented in Moodle, Sakai, and D2L as well as Tsugi and Cengage – so this is pretty mature. This has been in Sakai and Tsugi for some time now.
  • Submission review – This adds features where the tool can inform the LMS of the “state” of a grade through the web service call. It can indicate is the tool has received an assignment, if it is in draft mode, if it is partially graded, etc. It also adds a special launch where the LMS grader / grade book can launch right into the detail of a particular student in a tool. So if the student takes a quiz and the quiz tool can show a teacher the answers for each student, the teacher can use the grader in the LMS and launch directly into the tool’s student tail for the correct student. Canvas’s speed grader has a feature like this but it is non-standard. This new spec makes it so a tool can do it using only official IMS standards – which encourages the other LMS’s and eventually Canvas to all do it the same way. The first 100% standard implementation o the spec is in Sakai and I have added support to Tsugi on the tool side. This puts me in a great position to help other tools and LMS’s do this in an interoperable way. And to do some awesome demos :)
  • Privacy Launch – This is part of an IMS effort to address important privacy issues. This spec is more of a start since (unlike Tsugi) most LTI tool vendors have spent exactly *ZERO SECONDS* thinking about data retention and learner privacy. Most tools will receive this launch and just put up a page like “call tech support”. This has kept the scope of this new feature kind of small – so it is more of a starting point. But Tsugi has been thinking deeply about privacy and retention for its inception and I have built a new feature in the LMS settings that lets key owners expire PII data for their users and in the future allow even finer grain control of the data that belongs to their users. And I added a feature in Sakai to do the privacy launch from the admin user for a tool – so Sakai and Tsugi are the very first implementations in this space. Again this enables leadership in interoperability and makes for awesome demos :)

So all this stuff is in the current master branch of Tsugi and Sakai. If my presentation is accepted I will be giving a talk at Sakai’s Fall online conference about all this stuff. If you don’t see it there – I can re-do the talk for a Tsugi audience later.

Also I will be at Educause the Week of October 25 with a Sakai trade show booth (Sakai’s first booth ever) – so if you are coming to Educause make sure to stop by the booth.

Sakai Development moving to Java 11

Since Sakai has moved to Java 11 for the Sakai 22 and later releases, we will need to update our developer environments.  I also made the following changes.

  • Use the org.mariadb database connector and Hibernate dialect (even if I am using MySQL 5.7).  The connector is free and automatically deployed by Sakai so there is no extra fuss downloading the com.mysql connector and hand-installing it in Tomcat.
  • Upgrade Maven to 3.8.1 or later
  • On my fresh-install Linux environments I am switching to MariaDB as my dev database server.  If I have an existing MySQL (i.e. MAMP on Mac or Aurora on AWS) I will just keep using it but switch to the MariaDB connector.

I have setup and tested four different environments in the post-JDK11 environment:

  • Matt Jones’ docker-build solution.  This is very cool – especially for Windows.  Matt mounts folders from your computer’s file system into his (build/database/sakai) docker containers so you can edit files outside of the docker containers and then build / run all inside docker containers with a zero footprint install on your computer other than docker itself.  Also your database persists even when you have no docker containers running.  The container and mounted files slows this down a bit – but if you have a super fast Windows or modern MacBook box with a lot of memory and SSD, it is plenty quick.
  • My MacBook running natively installed Java, Tomcat, and MAMP using my sakai-scripts code.  For Mac development it is faster than Matt’s docker solution especially for my circa-2013 MacBooks that I refuse to upgrade.
  • A simple self contained Ubuntu image running under docker using my sakai-scripts code.  I use this to make sure I can quickly test my scripts or Sakai’s build under ubuntu without spinning up an EC2 node or DigitalOcean Box.  This is different from Matt’s docker approach because everything (including the MariaDB server and data) is in the docker – it is nice for quick tests because it is a zero-install other than docker on your main computer.
  • An ubuntu server running on Digital Ocean / EC2 using my sakai-scripts code like https://dev1.sakaicloud.com

If you want to figure out things like shell settings or other configuration to adapt your own setup, you can take a look at some of the files in my sakai-scripts repo.  If you used these scripts before, there was a complex step of getting all the environment variables set in your profile (mac or linux).  Now each script sets its environment variable and does its thing – much better and easier to fix / upgrade when things change a little.

You can examine these scripts and extract bits to use in your environment.

  • Start with the README.md it contains the overall outline of manual and automated steps.  This shows how to setup (a) a MackBook, (b) ubuntu in a stand-alone docker, and (c) ubuntu on a stand-alone server.
  • Take a look at ubuntu.sh to see what prerequisites are needed on ubuntu.  Because I use sdman the installs are much simpler – thanks Matt and Earl for teaching us about this.  Using sdman also allows you to switch back to JDK-8 if you need to.  It is the logical equivalent of Python virtual environments.
  • Take a look at qmv.sh to see things like needed environment variables to make maven work.  Without these maven will run out of memory whilst building.
  • Take a look at start.sh to see the relatively complex set of environment variables needed to set up Java to run Sakai.  These variables are adapted from the Matt / Earle recommendations.  Matt designed these to be tweak able and there are some examples of things like setting up a debugger if you want that.

I hope you find this helpful.  I would also like to explore moving these scripts and Matt’s docker stuff into the core repository in a “dev” folder.  It is kind of silly to have these in hard-to-find locations in contrib and my repo.