Sakai Wicket Maven Archetype updated and released to Maven Central

The Sakai Wicket Maven Archetype has been updated to the latest version of Wicket 6 and styling issues fixed for the latest Sakai portal. It’s also been released to Maven central.

The Sakai Wicket Maven Archetype allows you to generate a sample Sakai app via a single Maven command. The app demonstrates how to get a Sakai tool styled, internationalised and registered, setup your own APIs, wire them up with Spring and inject them via annotations. The app also also includes multi database support via Spring JDBC. It could easily be used as a base for a real tool.

Generate an app:

mvn archetype:generate -DarchetypeGroupId=org.sakaiproject.maven-archetype -DarchetypeArtifactId=sakai-wicket-maven-archetype -DarchetypeVersion=1.5.0 -DgroupId=org.sakaiproject.example -DartifactId=exampleApp

More info here:
https://confluence.sakaiproject.org/display/BOOT/Sakai+Wicket+Maven+Archetype

TextWrangler filters to tidy XML and tidy JSON

I work with XML and JSON a lot, often as the input to or output from web services. Generally it is unformatted, so before I can read the data I need it formatted and whitespaced. So here are some TextWrangler filters to tidy up XML and JSON documents.

#!/bin/sh
XMLLINT_INDENT=$'\t' xmllint --format --encode utf-8 -

Save this into a file called Tidy XML.sh

#!/usr/bin/python
import fileinput
import json
print json.dumps( json.loads(''.join([line.strip() for line in fileinput.input()])), sort_keys=True, indent=2)

Save this into a file called Tidy JSON.py

Drop these into ~/Library/Application Support/TextWrangler/Text Filters. You can then run them on a file within TextWrangler by choosing Text > Apply Text Filter > [filter].

Sakai Quartz example bundle receives an update

Six years ago I wrote a little bundle for Sakai that sets up a Quartz job and registers it with the Sakai Job Scheduler so you can setup triggers for it to run, just like a cron job. It was getting a little long in the tooth so it’s now had a makeover and now works for Sakai 11.

All of the bits of code are documented so if you are looking to write Quartz jobs for Sakai, this is what you need. Check it out:

https://source.sakaiproject.org/contrib/swinsburg/quartz-example/

Sakai 10 released

Sakai LogoThe Sakai Core Team is happy to announce the release of Sakai 10.0. Congratulations to our worldwide team on the successful completion of Sakai 10.0!

Sakai 10 builds on the solid work of the Sakai 2.9.3 release. We have two new tool contributions, better support for audio and video using HTML 5, infrastructure improvements, about 50 security fixes, performance improvements, a number of new features, and close to 2,000 fixes! Highlights include, but are not limited to:

  • Signup tool, previously a Contrib tool, is now part of Sakai core.
  • Delegated Access tool, previously a Contrib tool, is now part of Sakai core.
  • Updated and enhanced context sensitive help  includes step-by-step instructions, and in a format that is easier to modify to your institution’s needs.
  • IMS LTI 2.0 – first LMS (learning
    management system) with support for LTI 2.0.
  • IMS Common Cartridge (CC) upgrade. Support for reading CC files is able to read CC versions 1.0, 1.1, 1.2 and it can export data in CC version 1.1 or 1.2. User selectable.
  • Peer graded Assignments – Option for students to review each other’s work.
  • Group Assignments – Option for students to submit, and be graded upon, work as a group.
  • Test and Quizzes has new question types: Calculated question and Extended Matching Items. Plus improved precision on numeric answers and a new accordion-style interface for quiz setup.
  • Lessons (aka LessonBuilder) toolbar has been redesigned and simplified, better support for embedded Audio and video, new Table of Contents feature, support for inline use of polls, and better overall look and feel.
  • Resources has support for drag and drop adding of files from desktop for all browsers, and support for folder drag and drop in Chrome.
  • Syllabus Tool updated with a new interface, bulk update of syllabus items, accordion view, and better handling of link migration.
  • Gradebook added support for extra credit.
  • Distributed Cacheing provides support for JCache/JSR-107 which includes improvement to the default cache sizes and better control by configuration. Session replication to failover from one server to another without losing session data. Overall provides better performance for large Sakai installation (though please note that these features are not turned on by default OOTB).
  • Project Keitai (mobile) improved REST API support in anticipation of Sakai Mobile applications.
  • Security Updates – The Sakai community fixed about 50 security issues including various XSS issues and CSRF issues.  AntiSamy is on by default in Sakai 2.9.3 and Sakai 10. AntiSamy ensures that user supplied HTML/CSS is in compliance within an application’s rules.
  • Student Success Portal – new integration available.
  • Java – added support for JDK 7.x. JDK 8.x support is in process of being added.
  • Sakai technical organization simplified – Reincorporated many of the “Indies” to make management of Sakai releases and reporting of issues easier.Release notes available in English, Spanish and Chinese:
    https://confluence.sakaiproject.org/display/DOC/Sakai+10+Release+Notes

Using Gmail as an SMTP host for Sakai

This bit of code has been around for a while, but I’m not sure it’s written up anywhere except in Jira, so here goes, how to setup Sakai to use GMail for sending email:

smtp@org.sakaiproject.email.api.EmailService=smtp.gmail.com
smtpPort@org.sakaiproject.email.api.EmailService=587
smtpUser@org.sakaiproject.email.api.EmailService=<username>
smtpPassword@org.sakaiproject.email.api.EmailService=<password>
smtpUseSSL@org.sakaiproject.email.api.EmailService=true
smtpDebug@org.sakaiproject.email.api.EmailService=true (optional)

And for development, you can’t beat this setting for testing email without it actually being sent:

testMode@org.sakaiproject.email.api.EmailService=true

Three new portlet releases

I am pleased to announce three new portlet releases.

Basic LTI Portlet – 1.4.2 (source, maven)

Sakai Connector Portlet – 1.5.2 (source, maven)

Simple RSS Portlet – 1.2.2 (source, maven)

All portlets are available as source tags or as artifacts in Maven central.

These releases ensure uPortal 4 compatibility, fixes a few bugs and adds seven new languages, including German (de), Spanish (es), French (fr), Japanese (ja), Dutch (nl), Portuguese (pt) and Swedish (sv).

Most of these languages were made possible by auto-i18n, an automated translation tool I developed. For native speakers, I am very interested to receive your feedback on the quality of these automatically translated languages. You can enable the various languages using the User Locale Selector portlet in uPortal.

Both the Basic LTI Portlet and Sakai Connector Portlet are now finalised and very soon should appear in the main uPortal release, as they have (almost) graduated from the Jasig incubation process!

Update: New release versions for each portlet (updated above) – slight restructuring ready for the uPortal portlet overlay.

Four new Directors for the Apereo Foundation

via Ian Dolphin , Executive Director, Apereo Foundation:

I am pleased to announce that the following candidates have been elected to the Board of Directors of the Apereo Foundation, subject to ratification by a meeting of the membership:

Alain Mayeur, President, ESUP­‐Portail Consortium, IT Director, University of Valenciennes (France)

David Kahle, Vice President for Information Technology and Chief Information Officer, Tufts University (USA)

Dr. Douglas Johnson, Assistant Director for Learning Services, University of Florida (USA)

Professor Shoji Kajita, IT Planning Office / Academic Center for Computing and Media Studies. Kyoto University (Japan)

Sincere thanks to all the candidates willing to serve, and congratulations to those who were elected.

And as a personal note from me, congratulations and I look forward to working with you on the Board!

A new beginning

Yesterday morning I tendered my resignation from my position as Senior Developer/Java Team Leader at ANU.

As I look back on my time here, I’m proud of my accomplishments working with Sakai, uPortal , DSpace and CAS, rolling out all four applications the the entire university, contributing countless lines of code to these open source projects, and presenting to both the ANU and the international community wherever possible. I’ve had a tremendous experience and have met some amazing people along the way.

I’m now looking forward to my new career as a Senior Analyst at Fivium, a dynamic, award winning IT company working with the UK and Australian governments and the private sector, developing innovative solutions on a major scale. It’s going to be fast paced and I’m really excited about the new challenge!

Oh, and Sakaigers, fear not: I will still remain as active as ever in the Apereo community 🙂

University of Amsterdam and Edia launch MOOC platform based on Sakai

MOOC – ‘Massively Open Online Course’: a type of online course aimed at large-scale participation and open access via the web. MOOCs are a recent development in the area of distance education, and a progression of the kind of open education ideals suggested by open educational resources. (source: Wikipedia)

The Central Computing Services department of the University of Amsterdam
developed in close co-operation with Edia (Sakai partner) a new MOOC
platform based on Sakai CLE 2.9. This platform will be used to launch the
Universities first MOOC, “Introduction to Communication Science”. A
dedicated Course-catalog and self-enrollment tool have been developed for
this platform.

The online course entitled “Introduction to Communication Science” is an
initiative of the College of Communication and the Graduate School of
Communication Science. In the QS World University Rankings 2012, the
Communication Science programme at the UvA was assessed as the best in
Europe.

The University of Amsterdam is developing various initiatives in the field
of ICT in education. More and more lectures can be viewed online via live
stream or afterwards. Developing and experimenting with MOOCs corresponds
with the University’s desire to make knowledge widely available and show
the appeal of academic study.

Interested parties can enrol now in the “Introduction to Communication
Science” study course via http://mooc.uva.nl