Widget Architecture. Terminology Widget, Gadget, Tool, Badge Widget Engine, Gadget Container, Widget...
-
date post
18-Dec-2015 -
Category
Documents
-
view
283 -
download
0
Transcript of Widget Architecture. Terminology Widget, Gadget, Tool, Badge Widget Engine, Gadget Container, Widget...
Terminology
• Widget, Gadget, Tool, Badge• Widget Engine, Gadget Container,
Widget Host Runtime Environment, Tool Proxy Runtime, Widget Server, Gadget Server (Wookie, Shindig)
• Container, Application, Host, Tool Consumer, Platform (VLE, portal etc.)
QuickTime™ and a decompressor
are needed to see this picture.
• W3C/Wookie
• OpenSocial/Shindig
W3C & Google
Context
• Both Wookie and OpenSocial architecture assume the container provides context, and that the widget/gadget accesses this context via a JS web API. (GG without OpenSocial has no contextualization.)
• So widgets need a container for contextualisation (e.g. VLE or LD player with connection to SRS or group management) and container needs plugin to talk to the widget API
• Issue of standardization of useful properties to push to widgets
State
• Both Wookie/W3C and GG/OpenSocial assume the widget engine manages state, and widgets/gadgets access via local JS web API
• However state can also be handled externally by services where accounts are used; BUT safe external authz of accounts is not quite there yet (oAuth on its way!)
Security
• Code assurance• Authentication & Provisioning
– Container-managed – Service-based– Engine-based
• Authorization– Passthru– oAuth– Tickets/OOB
• Trust and privacy– API keys– HTTPS
Getting Started
• Add widget engines to containers– Wookie -> Moodle, Elgg, Wordpress,
new LD player– Shindig -> Sakai– ! Blackboard, WebCT, Sharepoint
• Integrate widget engine directly into container– Elgg OpenSocial implementation – Palette W3C implementation
Distribution
• Embed codes/Copy-and-paste• Open Galleries• Curated open galleries (e.g. iPhone
App Store)• Curated closed galleries (e.g.
YouthWire)• Curated local galleries (e.g.
institution wookie/shindig server)