Simple Gadget Format

Scope of change: Medium

Champion: Chris Cole (MySpace)

Not all gadgets need the full weight of the current gadget spec. This proposal creates a simplified format that may be used.

Example
<?xml version='1.0' encoding='utf-8'?>
<Module title="Simple Gadget">
<Data>
<os:ViewerRequest key='vwr' />
</Data>
<Templates>
<Template tag="my:foo">
<div>

<img src="${My.person.thumbnailUrl}" /> <br/>

(Picture of ${My.person.displayName})
</div>
</Template>
</Templates>


<Content type='osml' >
<h1>Hello, ${vwr.displayName}</h1>
<my:foo person="${vwr}" />
</Content>
</Module>

ModulePrefs as optional

The ModulePrefs section may be optional in a gadget. The Module node may contain a @title attribute for the gadget. When ModulePrefs is not specified the container may infer what features are required.

Data section

A new Data element may be used to specify data pipeline tags. This is a direct child of the Module element. All data pipeline tags are globally registered. Data may be scoped to a view(s) by specifying the view name(s) in a @scope attribute of the data pipeline tag.

Templates section

A new Templates element may be used to specify data pipeline tags. This is a direct child of the Module element. All custom tag templates are globally registered. Templates may be scoped to a view(s) by specifying the view name(s) in a @scope attribute of the Template tag. This utilizes the syntax defined for template libraries.http://opensocial-resources.googlecode.com/svn/spec/1.0/OpenSocial-Templating.xml#rfc.section.15