Overview
All changes to the OpenSocial spec are proposed, discussed, and voted on in the spec list.
To look at changes in the previous iterations, please look at:
Spec Process
Adding proposals to the OpenSocial specification may follow many paths, but below is the basic overview.
- Come up with a bright idea.
- Create a functioning implementation or extension (preferably in Apache Shindig) that embodies the ideas and can be evaluated by other people.
- Write up a page in this wiki that describes the proposal and outlines some use cases
- Start a discussion thread on the OpenSocial and Gadgets Spec group (link with proposal wiki page).
- Iterate on prototype and proposal to include community feedback
- Create a new Issue on OpenSocial-Resources project. (link with proposal wiki page and in discussion thread)
- Add a link to the specification-scope document in svn specification-scope in svn.
- Modify the spec document(s) to include your proposal. Surround all changes with <x:draft> tags.
- Create a patch file with svn diff and attach to the Issue
- Check in the changes to the spec. Comment must include the issue number and identify proposal - ex: Issue NNN
- Designate that revision as the voting revision and link with the Issue. Make an announcement on the discussion thread and link from the wiki proposal.
For information about the spec process itself, please see the Specification Process. The process for voting on proposals is here documented on the Voting on Proposals page.
Proposed Timeline
In accordance with the OpenSocial development process, this is the timeline that is proposed for OpenSocial 2.0. Because we would like to ensure we have time for the required prototypes to "bake", we will try to plan for current iteration plus one. For this reason, you will see proposals and a plan for OpenSocial 2.0. and "v.Next". Further, Shindig is a crucial part of most of the implementations of OpenSocial. To this end, we believe it makes sense to include and propose a time line for Shindig as well. It is our hope that this will encourage increased involvement in both projects.
The section below details this plan. Emphasis will be placed on iterating over working prototypes as well as the "patches" to the specification. One thing that happened during the creation of the 1.0 version of the specification is that the last phase of this process became much more drawn out. There was still considerable design work happening in what was intended to be a review of the final specification to be published. We are taking the following steps in an attempt to avoid this:
- Prototyping of proposals should begin as early as possible. No proposal voted on without a prototype in place (ideally in the Shindig sandbox)
- Draft versions of the specification will be produced on a regular basis. Sections that have been modified will be annotated to indicate, as best as possible, the changes (e.g. include a line with the code fix number in the document)
- No code changes during final review and publication
Note: OpenSocial "v.Next" dates are tentative.
OpenSocial 2.0 Timeline
Overview: January 6, 2011 - June 9, 2011
- Jan 6 - Jan 27: Define Scope
- Jan 28 - May 12: Define proposals
- May 12th - June 3rd: Voting on proposals and spec patches attached to tracking issue. In parallel prototypes should be worked on.
- June 3rd - June 24th: Apply/Back-out patches
- June 30th: Specification complete and prototypes complete for each proposal
Themes for OpenSocial 2.0
The following areas are our focus for OpenSocial 2.0
- A Clean Consistent Specification
- Stronger Interoperability
- Ease of Implementation for Containers and Clients
A Clean Consistent Specification
Unnecessary complexity makes it difficult to implement gadgets and containers. The v2 version gives us a chance to break with the past and wipe the slate clean. This means removing deprecated features and fixing a bunch of small problems that stand in the way of easy implementations.
Stronger Interoperability
OpenSocial has always formed an umbrella over other standards. Over time the set of useful standards evolves. In v2 we should align with existing standards where it makes sense and eliminate OpenSocial specific technologies when others will do. Examples of this include ActivityStreams integrate
Ease of Implementation for Containers and Clients
There are a number things that can make developing gadgets and Opensocial difficult. Integrating into social and enterprise sites is difficult. Client and REST API libraries require a large amount of configuration to work with multiple providers. There are a number of efforts that will improve this situation. A stable container API will make it much easier to add gadgets and OpenSocial to an existing site. Consistent enterprise extensions will mean that client/server interoperability will be maintained.
Scope: OpenSocial 2.0
Prototype proposals and vote on their specifications
Once the set of proposals for a given iteration is approved, the proposals need to be prototyped. All the wiki pages will be tagged with Needs Prototype (vX.X)
. If you are implementing a prototype for a proposal, you should update the proposal's wiki page with information about your prototype and add a Prototype in progress (vX.X)
tag to the wiki source. Once your prototype is complete, and any necessary modifications to the spec have been discussed and incorporated into the current draft, the proposal page should be tagged with Has Prototype (vX.X)
.
Final review and publication
Once all proposals have been implemented and any necessary changes made to the draft specification, the community reviews the draft and conducts a final vote to promote the current draft to an official spec. At that time we'll reset this page to start focusing on the next iteration.
Proposals
Add pages here for proposals that are just starting our or are not yet slated for a version.
Add Resources to Social Data Models
Latest Minutes from Spec Working Meetings are here
Please vote for latest proposals using the links in the doc above.
Table below is NOT fully up to date yet, so please use the google doc above.
Proposals for 2.0: Current Status At a Glance
- Proposal under discussion. Not yet included in scope.
- Proposal accepted. Patch under development.
- Patch under discussion
- Patch partially submitted, still needs work
- Patch got a -1, still under discussion
- Patch fully committed to SVN
- Prototype available
The changes to the spec can be found on the OpenSocial Resources project on google code.
|
Proposal |
Owner |
Status |
Ind. CLA |
Corp. CLA |
---|---|---|---|---|---|
|
Mark Weitzel |
No one has signed up yet so, for now, I'll throw my name in the hat. From an IBM perspective, we've been looking at a number of use cases around user prefs & app data and would like to help drive this work. |
Y |
Y |
|
|
Mark Weitzel / Eric Woods |
There is a patch submitted to the SVN for the spec and the code is available in the Shindig sandbox. There are several issues with this work that we are tracking down:
|
Y/Y |
Y/Y |
|
|
Mark Weitzel / Rich Manalang |
(live) Inline gadget discussion thread |
Y |
Y |
|
|
Mark Weitzel / Inbal Ronen (IBM) / Ido Guy (IBM) |
... |
Y/N/N |
Y/?/? |
|
|
Mark Weitzel / Eric Woods / Matt Tucker / Bill Lynch |
... |
Y / Y / ? /? |
Y / Y / ? /? |
|
|
Michael Hermanto |
? /? |
? /? |
||
|
Mark Weitzel / Inbal Ronen (IBM) / Ido Guy (IBM) |
... |
Y/N/N |
Y |
|
|
|
|
|
|
|
|
XSD Validation & ATOM Mapping (or RelaxNG) |
Mark Weitzel |
We need to determine the right extension patterns for the various OpenSocial schema. Also, there was a blog post on OpenSocial's mapping to ATOM that is worth discussing. |
Y |
Y |
|
Add additional lifecycle events and/or new management callbacks |
Mark Weitzel |
This could be the start of a "Management Extension" for OpenSocial |
Y |
Y |
|
Add appInvite to OSML. |
Mark Weitzel / Chris Cole |
This idea came up in the mobile discussion adding mobile views . We already have the script function "requestShareApp" and |
Y |
Y |
|
Improvements to Tabs/Skins |
Mark Weitzel |
Y |
Y |
|
|
Selection and Action Contribution |
Andrew Davis/Matt Hatem |
Y |
Y |
|
|
OpenSearch |
Andrew Davis/Igor Belakovskiy |
|
|
Y |
|
Container Window/Dialogs |
Andrew Davis/Chih-hung Chiang |
|
|
Y |
|
Embedded Experiences |
Ryan Baxter |
Y |
Y |
|
|
Remove Quirks mode |
Matt Marum |
|
|
|
|
Spaces Proposal |
Evgeny Bogdanov |
Groups Discussion |
|
|
|
View Level Feature Proposal |
Matt Marum |
|
|
|
|
Chris Cole |
Simple Gadget Thread |
Y |
Y |
|
|
http://docs.opensocial.org/display/OSD/Gadget+Manifest+FileGadget Manifest |
Chris Cole |
Manifest Proposal |
Y |
Y |
|
oEmbed Integration |
Paul Lindner |
Define how gadgets can be referenced in oEmbed. |
Y |
Y |
|
oStatus Integration |
Paul Lindner |
Adding well-known and webfinger support, extend activity streams with magic signatures and salmn |
Y |
Y |
|
OAuth 2 Integration |
Paul Lindner |
Document and specify that the current securityToken scheme is really OAuth2 Bearer Tokens |
Y |
Y |
|
Bastian Hofmann |
|
|
|
|
|
Chris Cole |
Discussion Thread |
Y |
Y |
|
|
Remove "Non-Tags" section from Social Gadget spec |
Chris Cole |
The "Non-Tags" section is not necessary since any additions to the spec must be approved through the spec process anyway. It should be removed to avoid confusion. |
Y |
Y |
|
Standardize variable substitution on EL syntax and consolidate EL spec definitions |
Chris Cole |
Discussion Thread |
Y |
Y |