On 4 May 2011, at 22:36, Franklin, Matthew B. wrote:

> As we start to implement more of the OpenSocial constructs within the
> container, I think it is probably appropriate to begin discussing the
> impact of supporting multiple widget types on the model.
> 
> Anyone have a strategy in mind?

OpenSocial/Shindig requires a lot more plumbing than W3C Widgets/Wookie - the 
only hook really needed for Wookie is to get the spec for rendering a widget 
(title, height, width, iframe src) by calling the Wookie REST API and for 
telling it who's looking at it (participant id/name/icon - same as Wave). There 
are no data APIs or RPC hooks or anything like that needed, though we probably 
would want to do something to support inter-widget communication (extending 
Wookie to support the Shindig pubsub feature might be the easiest solution 
there).

I'm assuming that the basic idea is that the Rave Widget model class is used to 
persist sufficient metadata about the widget (of whatever type) so that it can 
be rendered by the layout engine at runtime for a particular user? In which 
case there has to be some sort of service method (WidgetService?) that each 
adapter for a widget type needs to implement - did you have some ideas about 
what that should look like? I guess I'm imagining something along the lines of:

public URL renderWidget(User user, RegionWidget regionWidget){
}

Or is it a bit more complex than that..?

At the site level we also need some sort of palette or menu system for adding 
widgets based on what's available in available containers. The actual metadata 
is mostly quite similar - titles, authors, icons etc. Wookie exposes metadata 
on all available widget in its REST API.  Some user stories for how we envisage 
users discovering and adding widgets/gadgets to the workspace would be useful 
here.

> 
> -Matt
> 
> On 5/4/11 5:23 PM, "Matt Franklin (JIRA)" <[email protected]> wrote:
> 
>> Implement User Prefs
>> --------------------
>> 
>>                Key: RAVE-27
>>                URL: https://issues.apache.org/jira/browse/RAVE-27
>>            Project: Rave
>>         Issue Type: Technical task
>>           Reporter: Matt Franklin
>> 
>> 
>> Implement persistence of user prefs, container services and RPC callbacks
>> 
>> --
>> This message is automatically generated by JIRA.
>> For more information on JIRA, see: http://www.atlassian.com/software/jira
> 

Reply via email to