Movember 2014

It’s the tail end of Movember, just a few days to go and my team has almost raised raised over a thousand bucks for the Movember Foundation!

What is Movember you ask? It’s about raising awareness for men’s health issues like depression, testicular cancer and prostate cancer. In Australia, the life expectancy of men is 5 years less than for women, 50% of men struggle with mental health issues at some point, and 50% of men will be diagnosed with cancer by age 85.

50%.

1 in 2.

Either you or me.

Fuck that.

I’ve been doing Movember for the past 6 years to try to tackle this issue and have raised a few grand in doing so. This year I setup a team with my work mates and we’ve collectively raised over $1000 already, with more donations promised this week. Our original goal was $1000, with your help we can make it $1500.

All donations are tax deductible  and you can donate here:
https://www.movember.com/au/donate/payment/member_id/51531/

Here’s a pic of my latest Mo efforts for your viewing pleasure. You can see past Movember efforts on my Movember page.

movember_20141124

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/TextWranger/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