W3C Case Study: A Linked Open Data Resource List Management Tool for Undergraduate Students

For the last few months at work I've been lucky enough to put my RIA hat back on again after a period of absence doing traditional J2EE  and PHP apps with a strong accessibility bent. Working on these kind of apps is something I have enjoyed immensely since first doing a 'rich client' webapp back in 2003, before the name AJAX was coined and when we were flying by the seat of our pants with cross-browser hell and few libraries out there to help that we are all so used to using these days.  It has highs and lows; a real buzz when it works nicely and sometimes the frustration of getting it to work 'just right' (or sometimes even 'at all' !) Anyway, fast forward to 2008 and working on a successor to the old Talis List product.  There are good cross-browser JavaScript libraries out there, such as prototype, jQuery et al, and nice extension libraries such as Script.aculo.us, but it's still important to maintain an understanding of how it all works behind the scenes. Most of the application is traditional PHP/XHTML/CSS with some progressive enhancement JavaScript thrown in for good measure, but on one area we decided to go down a different route and try out a more WYSIWYG approach with RDFa marked up XHTML. One thing I hadn't used until recently was RDFa.  We've used it on one of the main admin pages in our new product and it's made what was initially quite a complex problem much simpler to implement.  Reference to this can be found on Chris' recent W3C Case Study – "A Linked Open Data Resource List Management Tool for Undergraduate Students", and discussion on it has already started over on Ivan Herman's blog. Currently using Jeni Tennison's RDFQuery library to parse an RDF model out of an XHTML+RDFa page we can mix this with our own code and end up with something that allows complex WYSIWYG editing on a reading list.  We use RDFQuery to parse an initial model out of the page with JavaScript and then the user can start modifying the page in a WYSIWYG style.   They can drag new sections onto the list, drag items from their library of bookmarked resources onto the list and re-order sections and items on the list.  All this is done in the browser with just a few AJAX calls behind the scenes to pull in data for newly added items where required.   At the end of the process, when the Save button is pressed, we can submit the 'before' and 'after' models to our back-end logic which builds a Changeset from before and after models and persists this to a data store on the Talis Platform. Building a Changeset from the two RDF models makes quite a complex problem relatively straightforward.  The complexity now just being in the WYSIWYG interface and the dynamic updating of the RDFa in the page as new items are added or re-arranged. All in all it's been a fascinating exercise over the last few months and it's all coming together nicely.  The read-only views (with RDFa markup) are already live at Plymouth University but editing is only available to someone logged in and with edit priviledges on a list – so no public demo at present. The product has recently got a name, it'll be Talis Aspire.

Leave a Reply

Your email address will not be published. Required fields are marked *