On 28 Sep 2011, at 11:27, Ross Gardler wrote: > This post is cross-posted to the Wookie and Rave in Context project > lists. Rave in Context is a short term project I am working. The goal > of that project is to create a set of usable and accessible widget > templates for common functionality such as login, result list search > and browse and data entry. The Rave part in the title is there because > our final deployment platform will be Rave (and yes, that means I have > to integrate Wookie and Rave).
I think Paul has also done some more work on that recently. > > I want to bring the templating functionality into Wookie itself. The > Rave in Context project is short lived and I want its outputs to live > beyond the project itself. Consequently I want to do the design and > development in the Wookie project if the community is interested > (there is no Rave in Context community and we have no intention of > building one). > > Here's my rational for offering the code to Wookie: > > The template system that I built so far in Wookie is really just a set > of demonstration widgets. You create a widget then edit it to make it > do what you need. Each widget needs to be maintained independently, > which can be time consuming and error prone. > > The Rave in Context widgets need to be built from a common set of > templates so that they can all be updated quickly and cheaply. The > goal is for all the widgets to have the same look and feel. Since the > templates themselves will focus on usability, learnabilty and > accessbility this means that we will have a high quality set of > templates from which to build W3C widgets. Sounds good! > > I've begun work and have a very simple templating system up and > running [1]. It is a long way from complete, but already we can define > a widget simply by creating a properties file such as: > > ric.template.name=home > ric.widget.shortname=myExperiment > ric.widget.name=myExperiment Mobile > ric.widget.description=myExperiment makes it easy to find, use and > share scientific workflows and other Research Objects, and to build > communities. > ric.widget.help=<p>There is no help for this widget at present, please > contact the <a href="http://wiki.myexperiment.org/">myExperiment > community</a> for support.</p> > > Then by running "ant generate-widgets" we generate the widget > described by the properties file (along with any others that have been > defined). > > Clearly this is very limited right now. There is currently no ability > to significantly customise the generated widget. For example, at > present all the widgets generated have examctly the same login/signup > buttons. Even worse they will all have the myExperiment action buttons > (which are only appropriate to myExperiment widgets). > > My next development goal is to use a templating engine to allow for > widget customisation. I'm thinking of Apache Velocity at present, it's > old but it is simple and it works, at a later date we could introduce > more complex systems to do really cleaver stuff, but for now I just > want to make it work. > > Once implemented widget definitions will be able to define something like: > > ric.login.enabled=false > ric.widget.content=content.vm > > Where content.vm is a template that is included in a predefined > location in the template and ric.login.enabled indicates whether the > login buttons should be included. Now we have truly individual widget > but with a consistent look and feel. > > My question to the Wookie list is "do you want to see this work in the > scratchpad area of Wookie rather than in it's current invisible home > at Rave in Context". Yes! > > I'd be thrilled if people here wanted to help develop the code, but > I'm very happy to drive this forwards myself and welcome feedback and > suggestions along the way. I won't get any of that in the Rave in > Context project so I want to bring it here early. I also went to an event run by a project called Widgat recently which is looking at doing template-driven widget authoring: http://arc.tees.ac.uk/WIDGaT/?p=367 There seems to be some potential commonality here. > > Ross > > [1] If anyone wants to have a look at how it works then run an > instance of Wookie, checkout the code at [2] and do "ant > generate-test-widgets" then look in your Wookie widget gallery for the > Rave in Context logo. > > [2] > http://code.google.com/a/apache-extras.org/p/rave-in-context/source/checkout > > -- > Ross Gardler (@rgardler) > Programme Leader (Open Development) > OpenDirective http://opendirective.com
