Category Archives: Uncategorized

Sakai Passes LTI Advantage Certification

Sakai 19 has officially passed the IMS Global LTI Advantage certification suite along with Canvas, Blackboard, and Moodle.  The standards have not yet been released to the public but as part of the process to validate the certification suite itself – IMS Contributing Members help with the testing of the suite before its formal release to insure a smooth release once certification is completed.

Having nearly every major LMS passing the certification for LTI Advantage before it is done is unprecedented and gives a hint of the big things to come with LTI Advantage.  It is the most important standard in educational technology since IMS LTI 1.0 was released in May of 2010.

I think that most everyone who has been around long enough to know and been part of standards development for the past 15 years would agree that without Sakai the market would never have created IMS Learning Tools Interoperability (started in 2004 by Sakai) and IMS Common Cartridge (started in 2005 by Sakai).  Being 100% open source and with an open community, Sakai has always put the best interests of teachers, learners, LMS administrators, and those who want to improve the educational technology ecosystem above our own market-share success.

Building an enterprise-grade open source LMS (read the book)  was a challenging effort but it gave the Sakai community and its adopters far greater influence in the marketplace than the typical university that took the easy way out and installed proprietary commercial products like Blackboard, Angel or WebCT (back in the day).  Moodle has been open source since 2004, but not actively involved contributing to the development of interoperability standards until recently.

The Sakai community was willing to invest in the greater good of interoperability and use our small (6%) market presence to gain attention for the standards that we knew would transform the market far more than the software that we were building.

When LTI 1.0 was released in May of 2010, the only major LMS that truly supported LTI was Sakai.  I had written LTI 1.0 code and contributed it to the OLAT, ATutor and Moodle open source projects to help build momentum but none of the major players provided support for IMS LTI 1.0 until Desire2Learn announced it in their 8.4.7 release at Educause in the Fall of 2010.   Blackboard announced  support in the first quarter of 2011.

The key point to all this is that back in the old days (i.e. 2010) when the LTI standard came out it was over a year before the major LMS vendors came on board and it took a lot of travel, begging and encouraging.  I even made a promise of a tattoo of their logo on my shoulder to get the vendors attention.

Now with LTI advantage, we not only have bundled four standards together:

  • LTI Core Launch
  • LTI Deep Linking
  • LTI Names and Roles
  • LTI Assignments and Grades

Four of the five of the leading LMS vendors *already* are certified for all four standards.  Believe me, this changes everything – just wait and see.

This would not have been possible without tremendous effort and cooperation between the LMS vendors and tool providers for over 18 months.   The following folks have been in weekly meetings and on Slack nearly continuously to bring this very complex suite of standards to life.

We (and I) owe these organizations and their staff a great deal of appreciation for this wonderful new suite of standards: Cengage (Chair), Canvas (co-chair), Blackboard, Moodle, Unicon, VitalSource,  the IMS Staff, LearningObjects, TurnitIn, McGraw-Hill, Houghton-Mifflen-Harcourt, and Desire2Learn.  LTI Advantage was so significant that Microsoft and Google brought engineers to the meetings.  They were somewhat limited in how much they could dive in and show source code and help others debug their code – but they provided a valuable contribution by carefully architecting and reviewing the security protocols that underpin LTI Advantage.

As I worked on adding LTI Advantage to Sakai and Tsugi I had the luxury of being surrounded by so much talent from these organizations.   I got a lot of help in the PHP version of LTI Advantage in Tsugi from Martin Lennord of Turnitin and I got a lot of help from Eric Preston of Blackboard and Paul Gray of LearningObjects who helped me when the going got rough in Java.  They were always there when I got stuck to help me get unstuck – whether in a meeting or on Slack.  I also owe a big debt to Derek Haskins of IMS who helped me work through certification issues at the last minute – we both found a few small issues in each other’s code.

All in all, being part of such a talented team of engineers from so many organizations was one of the most collaborative engineering projects I have ever experienced.

And the most important point of all is that this is just the beginning.  Just the first release.  The first release is always the most difficult.   In terms of building new standards – we have been holding our collective breath for about two years and putting any good idea that someone came up with in the “parking lot”.

This group of talented people and dedicated organizations, can now start to prioritize all those ideas.  You should expect that the next two years will be very productive as LTI Advantage expands further.

Python for Everybody, Everywhere

I am very proud to announce courses from my popular Python for Everybody (PY4E) MOOC series is now live and open for enrollment on edX. The series is composed of two courses, Programming for Everybody (Getting Started with Python) and Python Data Structures – you can enroll in both and start learning today.

Back in 2009, my goal for PY4E was very simple: create the ideal first programming book and course for my students at the University of Michigan. There were lots of solid “beginning Python” courses that, in many ways, are not aimed at real beginners with absolutely no technical training, or math knowledge. So I created a course that does not try to teach Computer Science using Python but instead teach a subset of Python that represented the essentials of programming.

When I was originally building the course (in Python 2.0 at the time), I would not have predicted the exciting growth of Python and the success of the MOOC movement. Ten years later, PY4E has reached more than 2 million learners to become the largest Python course in the world, graduating thousands of new Python programmers every week.

As a result of its own success, PY4E is an incredible de-facto prerequisite for almost any Python-oriented course or MOOC. If a person wants to learn “Data Mining” or “AI,” and they have no Python background, they may quickly realize they need to step back and learn the foundations of Python programming. In other instances, students in a first Python programming course may find the technical perspective a bit daunting and can enroll in my introductory Python courses to build confidence.  PY4E helps to fill in the gaps by giving learners a complete picture of programming avoiding language that might be challenging for a beginning learner.

One way or another, PY4E has become the entry point into programming for hundreds of thousands of new programmers. Given the success of the course, free textbook and support materials, and free supporting website ( – my new goal is to share this introduction to programming with any and all learners.

That is where edX comes in.

PY4E is coming to millions of learners on edX, who are welcome additions to this growing community of Python learners and practitioners. I hope PY4E can serve as a low-barrier introduction to programming for edX learners prior to pursuing any number of excellent Python courses from great institutions. This is an exciting moment toward the goal of reaching as many learners as possible in as many countries as possible.

I’m excited to welcome the edX community to start their programming journey with PY4E. Enroll here today and let’s learn together!

Abstracts for Open Apereo 2019

Sakai Community Update 2019

This presentation will review the progress on Sakai in 2018-2019, covering the Sakai 19 release and looking ahead towards the Sakai 20 release.  We will review new features in Sakai 19, report from SakaiCamp 2019, the Sakai Virtual Conference, and FARM Projects.  We will update attendees on accessibility, QA efforts, documentation efforts, standards compliance, and marketing efforts. We will talk about the future arc of Sakai and how we intend to move Sakai forward to be part of a Next Generation Learning Ecosystem. We will cover these and other aspects of the Sakai product and community in a fun and upbeat talk show format

Tsugi At Five Years Old – An Update

The Tsugi project is now five years old and has been an incubating Apereo project for several years now.  The goal of Tsugi is to provide the ability to build tools and content that take full advantage of the state-of-the art standards based integration into LMS systems and Google Classroom.  Tsugi has been an active participant in the IMS LTI Advantage standardization effort and will be the most advanced open source LTI Advantage integration in the marketplace.  The PHP version of Tsui is production ready and has a commercial affiliate.  The project has recently adjusted its multi-language strategy.  This update will talk about the efforts to date and new directions the project is taking as an attempt to reduce the barriers to adoption.

Marketing Open Source – Why We Need a Race Car

This will talk about the challenges and ideas around marketing an open source Learning Management System (Sakai) when faced with  well-financed commercial market players.   The 100% open source Sakai Project was founded in 2004 and has maintained a 5% market share for over a decade.  The LMS marketplace has a lot of churn and new entrants attack the established products and take away their market share until the new entrants become the “old guard” or get absorbed and the cycle repeats.   The presentation will look at the challenges of marketing open source projects in the face of the strong competition.  We will look at how a race car (@SakaiCar) that runs in a low-cost endurance racing series (@24hoursoflemons) is an interesting strategy in this environment.  If all goes well, we will also bring the race car and racing gear to the event.

Looking at LTI 1.3 in Sakai-19

This session will cover the end-user and administrator user interface for the support for LTI 1.3 in Sakai-19.   This session will also cover the basic technologies that underlie IMS Learning Tools Interoperability (LTI) version 1.3 that makes use of OAuth 2.0, Public/Private Keys, and Java Web Tokens.  This session is about the technologies and there will be another session that will cover how LTI 1.3 is built into and works within Sakai 19.

Which Programming Languages will Still Exist in 2030?

This is a panel discussion that I am proposing.  I am hoping not to be the only panelist :)  I bet we will find plenty of people to talk about this.  I for one will be advocating for the position that Python is starting to be more than just one of the alternatives.   I think that with the Python 2 to Python 3 transition completed, we are beginning to see a world where, if some library can work in Python – ultimately it will work in Python and Python will be the preferred way to do something.  Of course this is just to get people fired up :)

Abstract for Pengiucon 2019.

Marketing Open Source – Why We Need a Race Car

This will talk about the challenges and ideas around marketing an open source Learning Management System (Sakai) when faced with  well-financed commercial market players.   The 100% open source Sakai Project was founded in 2004 and has maintained a 5% market share for over a decade.  The LMS marketplace has a lot of churn and new entrants attack the established products and take away their market share until the new entrants become the “old guard” or get absorbed and the cycle repeats.   The presentation will look at the challenges of marketing open source projects in the face of the strong competition.  We will look at how a race car (@SakaiCar) that runs in a low-cost endurance racing series (@24hoursoflemons) is an interesting strategy in this environment.  If all goes well, we will also bring the race car and racing gear to the event.

See also:

Abstract for 2019 Penguicon

Abstract: Building Learning Tools for Brightspace using the Tsugi Application Environment

Tsugi is a free and open source framework that makes developing applications to for integration into Brightspace using standards like LTI 1.1, LTI 1.3, ContentItem, DeepLinking and LTI Advantage.  Tsugi allows developers to invest effort in improving learning instead of integration details.

This presentation will introduce users to the free and open source Learning Application development environment available at Brightspace supports the IMS Learning Tools Interoperability to allow external tools to be easily integrated into Brightspace and used to increase the richness and diversity of the course experience.   External tools can provide functionality not present in Brightspace like a course map tool, or social grading system, a prompted writing tool, or a YouTube viewer with Caliper analytics.   External tools can also be rich auto-graders that make online classes both more interesting and more effective.  Imagine if you could easily develop an interactive system like Pearson’s MyMathLab for *your* course and topic.  Tsugi provides a set of libraries that allow you to write learning applications without any need to read an LMS integration specification.  Tsugi’s run-time environment takes care of complying with the necessary standards to make plugging Tsugi tools into Brightspace, or any other LMS.  Building tools using Tsugi will will allow you to simultaneously support LTI 1.1, 2.0 and LTI 1.3 with no code changes to your applications.  Tsugi also takes care of supporting IMS Content Item, Deep Linking, and the new services available in LTI Advantage for your application.  Tsugi also provides a scalable hosting environment that is as easy to deploy as WordPress and allows institutions to host tools and provide an “App Store” of available tools to their users.  There is also a free cloud-based Tsugi App Store that provides scalable hosting for open source Tsugi applications at  It is easy to learn to write Tsugi applications using the online materials at

F2F @Coursera Office Hours Wednesday December 12, 7:00-8:30PM Hotel Shangri-La, Bengaluru, Krishna Room

Here are the logistics of the Face-To-Face Coursera office hours in Bengaluru, India.

We will meet Wednesday December 12, 7:00-8:30PM at the Hotel Shangri-La, Bengaluru in the Krishna Room on the second floor of the hotel.

Shangri-La Hotel, Bengaluru
No 56-6B Palace Road
Bengaluru 560052 India

There is no charge for this event.

This event will be a little better organized than my previous office hours.   The hotel is providing snacks and drinks and Shroff Publishing has provided a number of copies of the Python for Everybody textbook that they print and sell in India:

I will also have some Coursera stickers and pens to hand out :)  It should be fun.  I am looking forward to seeing you on Wednesday.

I am still working on arrangements for office hours in Mumbai in a few days – I will send a note about them as soon as I can.

Here is a map view of all my (70) office hour videos since 2012 with my most recent office hours video in the center of the map. You can click on the pins to see the videos.

I hope to see you at this or a future office hours. 

Inside the World’s Largest Python Course on Coursera

This presentation will take a look at the “Python for Everybody” series of courses on the Coursera platform. This course has impacted over 1.3 million students over the last five years. We will look a the history and goals of the course and how the course works to create a learning community. We will show how the free open educational resources (OERs) and book associated with the course have been used by teachers, students, and courses around the world to form a network of educational activities centered around Python. We will also cover briefly the Tsugi ( software that is used to build the learning assessments and distribute the OER materials in a way that enables maximum reusability of the materials for other teachers.


Deprecated Tsugi Sub Projects

As you have been hearing on the Tsugi developer list and in my public presentations,  Tsugi is going to build a new approach for adding tools that uses web services rather than a shared database connection across libraries  written in multiple languages.

This means that new environments will be easier to build and support over the long-term and Tsugi will be able to provide a tool environment  that will meet and exceed the privacy requirements of GDPR and similar privacy oriented measures.

The following efforts that I have put together for Tsugi over the years  are now deprecated:

I would also recommend that there be no further investment in Tsugi PHP tools that depend on the Silex framework as it has been deprecated and I don’t expect to upgrade it.

If you have built Tsugi PHP tools that are currently working within  Tsugi-PHP – they won’t be broken – what is there currently will be  maintained.  But some of the deprecated bits will be frozen going  forward.  If you are building a new tool before the new development  model is complete, simply build it in generic (non-framework) PHP like the tools in

In time I expect to build new sample code in Laravel, Python, and Node that makes use of the Tsugi APIs and services in time.

These deprecations allow me to “clear the deck” to focus on the next  generation and make sure no one starts new work in an Tsugi environment that will not continue to be supported.

Questions welcome.

Sakai 12.5 maintenance released!

(Posted on behalf of Wilma Hodges – Sakai PMC / Community Coordinator)

I’m pleased to announce on behalf of the worldwide community that Sakai 12.5 was released on Nov. 18 and is currently available for downloading [1] !

Sakai 12.5 has 43 improvements [2] including

  • 9 fixes in Assignments

  • 6 fixes in Tests & Quizzes (Samigo)

  • 3 fixes in Gradebook

Other areas improved include:

  • Calendar

  • Chat Room

  • Commons

  • Lessons

  • Membership

  • Messages

  • Polls

  • Portal

  • PostEm

  • Profile

  • Resources

  • Sign Up

  • Site Info

  • Web Services

There were 2 security issues fixed in 12.5 (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. 2 Quartz jobs need to be run to complete the conversion steps for Sakai 12, including a new one for the Job Scheduler in 12.1.

[1] Downloading information available at –

[2] 12.4 Fixes by Tool –



Wilma Hodges, Ed.D.

Sakai PMC – Community Coordinator