LTI 2.0 Removed from Sakai-20 master and nightly

LTI 2.0 has been removed from Sakai in anticipation of Sakai-20 (https://jira.sakaiproject.org/browse/SAK-41789)

It is up in master on github and the Sakai-20 nightly server.

It took most of one day (Last Thursday at LAMP Camp) and the rest was testing and making sure.

I removed over 20% of the LTI code in Sakai (>7000 lines removed).

I updated all the QA test plans and wrote some test plans, and wrote some “how to documentation”.

https://github.com/sakaiproject/sakai/tree/master/basiclti/basiclti-docs/resources/docs
https://github.com/sakaiproject/sakai/blob/master/basiclti/README.md

With help from Andrea I went through all the QA tests to make sure they were up-to-date and to my surprise everything worked in my testing. I did find and fix two small bugs that had crept into the remaining LTI 1.x code – so that was nice. These fixes are already in master this morning as well.

While it has worked great in my testing, I want everyone to be vigilant and test LTI in Sakai as much as you can. We will definitely do a solid QA of LTI as part of Sakai-20 but if something feels weird let me know.

For the Tsugi folks using Java tsugi-util library from the Tsugi distribution, I will wait a few weeks and then port these changes to tsugi-util master:

https://github.com/tsugiproject/tsugi-util

It is mostly deletions. The only real change is that the ContentItem class in tsugi-util went from the org.sakaiproject.lti2 package to the org.sakaiproject.basicltii package. It never belonged in the lti2 package – but I built it while I was building lti2 so I put it there.

Reflection

It is kind of bittersweet in that it took me three years of almost 100% of my Sakai effort to develop the LTI 2.0 spec and build the Sakai implementation and less than six hours to remove it. But it is always good to remove complex and unused code from production software.

One of these mornings with a good cup of coffee and a little time, I will write a blog post about the lessons we can learn from the failure of the LTI 2.0 spec – but for now we are moving on to focus on LTI Advantage – as it should be.

Sakai 19.2 Released

(This message came from Wilma Hodges – the Sakai Community Coordinator)

I’m pleased to announce that Sakai 19.2 is released and available for downloading [1]!

Sakai 19.2 has 125 improvements [2] including

  • 23 fixes in Tests & Quizzes (Samigo)

  • 22 fixes in Gradebook

  • 17 fixes in Assignments

  • 16 fixes in Lessons

  • 12 fixes in Forums

  • 5 fixes in Rubrics

Other areas improved include:

  • A11y

  • Basic LTI

  • Calendar

  • Chat Room

  • Content Review

  • Dropbox

  • I18n

  • Messages

  • Preferences

  • Quartz Scheduler

  • Resources

  • Roster

  • Section Info

  • Sign Up

  • Site Info

  • Syllabus

  • Wiki

  • Worksite Setup

There were 3 security issues fixed in 19.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. 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] Download information- http://source.sakaiproject.org/release/19.2/

[2] 19.2 Fixes by Tool – https://confluence.sakaiproject.org/display/DOC/19.2+Fixes+by+tool

[3] Upgrade information – https://confluence.sakaiproject.org/display/DOC/Sakai+19+Upgrade+Information 

Building Tsugi Learning Tools – The Experience

The Tsugi project (www.tsugi.org) is providing a software environment to enable a wide range of educational technology use cases. Tsugi was developed to simplify the development of educational tools and to allow those tools to be deployed in an “App Store” pattern using standards like IMS Learning Tools Interoperability, Common Cartridge, Deep Linking (Content Item), and LTI Advantage. This will be two presentations in one. One thread of the presentation will cover how Tsugi uses the latest standards to implement a LMS agnostic Next Generation Digital Learning Environment (or is that Experience). All the while during the presentation, those in the audience who want to experience building a tool, will put up a server, and create a simple Python-based learning tool and integrate it into the Sakai nightly server. The attendees can be as active as they like.

Abstract for the 2019 LAMP camp

What is all the Fuss About Python?

The Python programming language has been around for over 20 years but these days it feels like it is an overnight sensation.   Python has moved from being a fringe language for beginners, biologists, and natural language analysis to being the go-to language in nearly every domain of computing.  Whlie there is a lot of inertia in the choice of a programming language for a project, the adoption pattern of Python is quite different than “that cool new language that came out a few years ago”.  While most new programming languages are exciting for early adopters, by the time they are a few years old, many early adopters have moved on to the next big thing and the languages never find their way into the mainstream.  Python seems different – Python seems to have a solid and continuously growing market share – and in particular Python seems to invade and take over application areas previously dominated by well-established technologies.  We will look at some of the inherent aspects of Python that make it “sticky” – once you go Python you rarely go back or go anywhere else.  This presentation will also look at the world’s largest programming course (in Python) and how the course fits into the Python movement and how the course benefits from Apereo Open Source Software, Open Educational Resources, and the Open Course Enrollment (a.k.a the MOOC movement).

Abstract for Apereo 2019

New PMC Members for Sakai (2019)

We are pleased to announce that three new members are joining the Sakai Project Management Committee (PMC).

Matthew Hall – University of Virginia

Matthew is the Technical Lead for the University of Virginia’s learning management system team. He manages software development and system administration for UVACollab, UVA’s implementation of Sakai. His focus is on the tools, services, and integrations that make up UVA’s central online collaboration and learning environment. Matthew has been working with Sakai since 2011. He holds an MS in Computer Science, a BS in Computer Engineering, and a BS in Mathematics from the University of Virginia.

Miguel Pellicer – EDF – Entornos de Formación

Miguel is the CTO at EDF and an LMS market entrepreneur with a strong commitment in Open Source education technologies.  An active member of the Sakai Community and the Spanish Team since 2008, security and internationalization lead. Miguel has led more than thirty Sakai deployments all over the world, including elite universities in Spain, Netherlands, UK, Colombia, Mexico, Chile, and the USA.

Joshua Wilson – Longsight Inc

Joshua is Longsight’s Chief Operating Officer.  He leads client relations, business operations, project management, and strategic planning. In addition, Josh chairs the Sakai Community’s Marketing Team. He has been a leader in academic technology for more than a decade, serving most recently as Associate CIO for Academic Technology at Brandeis University, where he directed the strategic and client-centered renewal of the University’s academic technology environment, including its open source LMS.  Josh has served for a decade on the management team for the nationwide MISO Survey, which measures the effectiveness of IT and libraries at more than 150 higher education institutions.

About the Sakai PMC

PMC membership is reflective of significant contributions to the community and a dedication to the shared goals of the Sakai community.

In terms of what PMC membership “means”, the PMC members are already active members in the various groups in the Sakai/Apereo community (QA, Core Team, Marketing, FARM, Accessibility, Teaching and Learning, etc.). Most of the decisions about Sakai are made in those groups without any need for the PMC to take a vote or render an opinion because we believe that those closest to the actual work should make decisions regarding the work whenever possible.

The PMC gets involved when there is a significant or broader issue or a decision needs to be made regarding Sakai’s direction or resource expenditure by Apereo on behalf of Sakai. The PMC does all of its work in full view of the community on a public list except for votes on new PMC members.  Everyone in the Sakai community is welcome to join, monitor, and participate in the PMC mailing list.

Please join me in thanking these new PMC members for their past, present, and future contributions to Sakai and welcoming them to the Sakai PMC.

/Chuck

P.S. Thanks to Matt Jones (PMC Treasurer) for running the PMC nomination and election process.

Why do People Like Sakai, given the Market Share?

A Sakai user saw this report where Sakai was highly ranked against its market competitors and wondered “How could this be with Sakai at a 5% market share?”

https://www.softwarereviews.com/categories/education-learning-management-systems

Here is my answer.

There is a pretty simple explanation as to why Sakai polls well in some situations and yet there are a lot of folks that say “lets go Canvas”.

It depends on who you ask.

I knew a school that did a year-long evaluation of Sakai, Canvas, Blackboard and Desire2Learn. The faculty and students ranked them in exactly that order. The IT organization that was already convinced they wanted Canvas, removed the Sakai data, published the report, and then chose Canvas based on the report that showed Canvas#1 – it was clearly the “overwhelming favorite” of the faculty and students.

In general, IT staff prefer Canvas because it means less responsibility for them. Canvas rarely listens to its end-users and throws good parties – there is a certain stability and simplicity in not being able to influence the direction of your commercial vendor. Just accept it and move on. Faculty and IT staff at Sakai schools can dream up ideas and some of those ideas make it into the core product, often surprisingly rapidly. That is both a joy and a responsibility.

I would like to see a survey of a lot of schools (Sakai and others) where we ask the faculty and students how well they like their current LMS. I think that if you exclusively listened to the end-user’s voices, Sakai schools would “like their current LMS” more often than commercial LMS schools. (see the NYU data on this)  I expect this would even be true for end-users who had no idea of our wonderful community or our 100% commitment to open source.

If you, on the other hand, polled the IT folks at schools across the board and asked them, “Does your current LMS make your job easy or hard?”, Canvas would win as the LMS that makes IT folks jobs easiest – by far. I would say that Sakai schools that completely outsource hosting to LongSight, EDF or OpenCollab would also get pretty high marks. The more a school is involved in the Sakai community, the more they are working to make Sakai better, the more some of the IT staff might want to switch to Canvas to “take a load off of themselves”. Sakai schools that are self hosted and have senior (expensive) in-house Sakai developers are great for a few activist IT organizations – but too much to handle for IT organizations that can barely handle Wifi, the SIS, printers and desktop support on their campus.

So you get this strange anomaly that does not correlate to market share. If you ask the end users at Sakai schools – they love Sakai. If you ask Canvas users at Canvas schools, they like Canvas and it kind of goes down from there.  And the graphs you cite reflect that.

And it is why Sakai continues to be so focused on meeting the end-user requirements above our “corporate” profitability and market share. Our end-user satisfaction is high, our community is strong, our profitability is zero, and our market share is low. Separately, our impact on overall market innovation is *extremely high* through Sakai-led innovations like LTI and Common Cartridge. Our contribution and impact and end-user satisfaction unfortunately does not correlate to rapidly growing market share because after we meet end-user needs year after year with a best-of-breed 100% open source product, we don’t have any money to hire sales people to visit every university on the planet and buy free lunches for the IT staff.

/Chuck

P.S. We do have a pretty cool SakaiCar with ears – https://www.sakaiger.com/sakaicar/ – like which other LMS has a race car?

P.P.S. Instructure spent $135M last year on marketing and sales.  They took this money from the pockets of higher education and used it to convince more schools to give them more money.  (link)

Tsugi Achieves LTI Advantage Certification

Tsugi (www.tsugicloud.org) is one of the first learning tools to achieve a brand-new certification for an interoperability standard called LTI Advantage, continuing the longtime leadership of open source learning projects in the Apereo Foundation (www.apereo.org) in standards and interoperability.   Tsugi is an application library that allows rapid development of standards-compliant learning applications.

https://www.imsglobal.org/cc/statuschart/lti-advantage

Tsugi certification coupled with the recent Sakai certification completes an open source end-to-end solution for both the Platform and Tool versions of the LTI Advantage specification.  Open Source implementations allow proprietary vendors to examine source code and have an endpoint for regular interoperability testing.

Apereo projects like Tsugi and Sakai benefit the entire marketplace whether or not a school adopts the software that is produced as part of Apereo.   – Charles Severance, Founder Sakai and Tsugi Projects

The Tsugi project provides a free test server that allows LMS vendors like Sakai, Blackboard, Canvas and Desire2Learn to do regular LTI Advantage interoperability testing with a scalable production LTI Advantage compliant educational application store.

https://test.tsugicloud.org

In addition to using LTI Advantage for integration into enterprise LMS systems, Tsugi tools also can be integrated into Google Classroom.

For more information or to see how to use Tsugi to develop standards compliant learning tools see www.tsugi.org.

Abstract: Coursera Office Hours @ Pengucon – Python for Everybody

This is a meeting between students of Dr. Chuck’s Python for Everybody, Internet History, Technology, and Security, and Web Applications for Everybody (PHP / SQL) online Coursera courses and anyone else who is interested in MOOCs and the MOOC movement.  You can see other meetings that Dr. Chuck has had with students at https://www.dr-chuck.com/office/

What Should I do After I Finish the Python for Everybody Specialization?

I got this message from a student:
I am currently a student in your Python for Everybody online Coursera specialization, and am about to complete the Capstone course. I would like to move my career into App Development / Software Engineering management, what is the next course that you would recommend that I take?
Here is my answer.

Congratulations on making it through the specialization. In terms of what to do next – a lot has to do with how confident you feel at this point. If you are still struggling with the programs in the specialization – then you might want to go back and take another “beginner class” – there are levels of beginner classes and you might benefit from one that is more rigorous like this one from UMich:

https://www.coursera.org/specializations/python-3-programming

If you are confident in your programming skills, it depends on what you want to do. If building web apps is something you find interesting, these specializations will move you in that direction:

https://www.coursera.org/specializations/web-design
https://www.coursera.org/specializations/web-applications/

If you want to go into Data Mining – we have a specialization for that too:

https://www.coursera.org/specializations/data-science-python

You should have your programming skills well in place before you take the data science specialization – but it has a lot of good stuff and important job-ready skills.

Abstract – Building LTI Advantage Tools for Blackboard using the Tsugi Application Environment

This presentation will introduce users to the free and open source Learning Application development environment available at www.tsugi.org. Blackboard supports the IMS Advantage suite of specifications including LTI 1.3.  Tsugi to allow external tools to be easily integrated into Blackboard using either LTI 1.1 or LTI 1.3 to increase the richness and diversity of the course experience.   External tools can provide functionality not present in Learn like a social grading system, or a YouTube viewer with analytics.   External tools can also build very rich auto-graders that make online classes bother more interesting and more effective.  Imagine if you could easily develop an interactive system like Pearson’s MyMathLab for *your* course and field.  Tsugi provides a set of libraries that allow you to write learning applications without any need to read an LMS integration standards document.  Tsugi’s run-time environment takes care of complying with the necessary standards to make plugging Tsugi tools into Learn, edX, Coursera, or any other LMS.  Tsugi also provides a 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 www.tsugicloud.org.  It is easy to learn to write Tsugi applications using the online materials at www.tsugi.org.