Following on from my Moodle repository escapades, I’ve now converted the Fez repository plugin into one that can search and link to items in Koha, the open source integrated library system (ILS).
Category Archives: Geekery
Fez repository plugin for Moodle
I have been writing a plugin for the Moodle Repository API that can now browse and search records in a Fez digital repository. Here’s the simple configuration, using the RMIT Research Bank as an example public access Fez repository:

To set up the Fez repository plugin in Moodle, simply give it the URL of your Fez repository, and how many records per page you want.
And here you can see that the plugin can browse communities, collections and records just like any other repository plugin:

Fez repository search results and the record listing of a collection are displayed with the same interface.

Selecting a record works as expected - including the title, author, date created and date modified metadata.
So far, it only supports using external files, and the resulting links are links to the Fez record view, not the attached files. This also means that you still have to add the title and description manually, even though that metadata is present in the metadata of the files presented by the repository plugin! I hope to somehow fix this with work on MDL-32130 on the Moodle bug tracker.
Citing Fez repository documents in Moodle
Today I wrote a text filter for Moodle 2.2 which will help Moodle teachers and admins cite documents from a Fez digital repository. Fez is a digital repository written by University of Queensland library staff for the university’s digital assets and for use as an open access research repository.
The best fit in Moodle for a digital repository such as Fez would be through a repository plugin, but the Moodle repository API assumes that you only want either a file, or a URL. I think there’s room for the API to be able to return a snippet of HTML as well – of an appropriately formatted link to the document in question. For instance, it would not be enough to simply present a URL, such as
it would instead be really nice to be able to have the repository plugin return a <div> element, with a formatted citation, such as:
Taylor, William (2005) (FAB_15_2_095) Lest We Forget: the Shrine of Remembrance, its redevelopment and the heritage of dissent. Fabrications : The Journal of the Society of Architectural Historians, Australia and New Zealand, 15 2: 95-112.
This would also apply to other repositories – it would be nice if the Flickr, Picasa and YouTube repository plugins could return a thumbnail of the image or video instead of just the URL. Until that happy day arrives however, we can use a filter instead. After installing the filter, we tell it which Moodle content formats we would like it to parse, and the base URL for our Fez repository:
Then, in our content, we insert a search term or a Fez document PID into a placeholder using double curlies, e.g.
Which when we save, and have the Fez filter enabled, will produce a nicely presented citation:
It would not be very difficult to convert this into a repository plugin that simply returns the URL to the document, or to extend or clone this filter to talk to other digital repositories, such as EPrints, DSpace or Fedora.
TODO: add a setting to control how many search results you want to display.
LCA in Brisbane
Hopefully I’m going to Brisbane in a week or two for LCA 2011. This would be fine except for the worst flooding in Queensland in over a hundred years. The organisers are still saying (at time of writing) that everything’s fine because the venue, Queensland University of Technology, is sufficiently above the river. I’m a bit skeptical myself, so indulge my urge to paraphrase: “Hey – the streets that aren’t still inundated will be buried in two feet of silt, you’ll need a gondola to get around, the power might be out, the sewer might be overflowing, most of the hotels will have been seconded for evacuees, snakes have followed all the rats into basements and attics, but hey, QUT is above the water-line so there’s no problem! Mind one of the crocodiles wandering around in the parks doesn’t EAT YOUR LEGS OFF”
Don’t get me wrong, I’d love to go, and I’m hoping to meet up with a bunch of Brizzy friends and conduct some business with folks at University of Queensland while I’m there, but I don’t hold out much hope, and I don’t fancy getting eaten alive by crocodiles, snakes, giant ants or zillions of mosquitoes.
Why I’m not on Facebook any more
Dearest friends of mine,
You may have noticed I’ve dropped off the Facebook radar. Apart from finding it to be a gigantic time-waster, their increasing evilness with private data is a concern, as this link shows:
http://mattmckeon.com/facebook-privacy/
I urge you all to boycott it as well. You can rescue your friends’ email addresses into Yahoo Hotmail or GMail before you leave, as explained here:
http://www.labnol.org/internet/export-email-addresses-from-facebook/12970/
Coffee Roaster
For someone medically forbidden from drinking caffeine, I have perhaps an overactive interest in coffee. Well I inadvertently bought a home coffee roaster (I blame Matt), to go with Miss Silvia the espresso machine and Mr Macho the grinder, and I’ve started roasting green coffee beans. So far I have had really good results with Ethiopian Harrar, Colombian, and an Indian origin. Each has a distinct different flavour, and it is as much of a jump in flavour going from bought beans to freshly roasted as it is from going from filtered to espresso. I’ve ordered some decaffeinated beans to roast up and blend in so I don’t go overboard…
Moodle Moot NZ 2007
I just got back from 3 days of Moodle Moot in Hamilton, officially the hickest town in the whole world! I gave a talk on digital repositories, got to hang out with and learn heaps from a whole bunch of cool Moodle people in NZ and also from Australia (including the big Kahuna Martin himself), Fiji, Canada and elsewhere. Photos are up on flickr with the moodlemootnz07 tag.
Compiling Javascript?
Okay Joel, interesting argument, and I sort of agree, but please don’t make silly stuff up to support your argument: http://www.joelonsoftware.com/items/2007/09/18.html
“You can follow the p-code/Java model and build a little sandbox on top of the underlying system. But sandboxes are penalty boxes; they’re slow and they suck, which is why Java Applets are dead, dead, dead.”
Well that’s not really true. Java Applets died because when Microsoft swamped out the Sun JVM with its own crippled 1.1 VM, nobody could realistically write to the much better Applet APIs that came out after version 1.1, so we either wrote crap AWT applets or ActiveX controls instead (a whole other world of pain and silliness). Also, the JVM is hardly “slow” these days, and is certainly faster than your average JavaScript engine.
“What’s going to happen? The winners are going to do what worked at Bell Labs in 1978: build a programming language, like C, that’s portable and efficient. It should compile down to “native” code (native code being JavaScript and DOMs) with different backends for different target platforms”
What, so JavaScript/DOM in a browser isn’t a frickin’ sandbox? Hello?! It seems ludicrous to add another language compiler layer on top of JavaScript/DOM, when you may as well write it in Java and “compile” it into an applet, which will have the same access to browser capabilities, require the same security restrictions and functionality sandbox, run a lot faster, and not require learning a new round of language, compilers and APIs.




