Kicking off OpenSocial v0.9

15 views
Skip to first unread message

Dan Peterson

unread,
Oct 1, 2008, 3:25:43 AM10/1/08
to OpenSocial and Gadgets Specification Discussion
Hey folks,

Now that OpenSocial v0.8.1 is effectively wrapped up, it seems prudent for us to get the ball rolling with OpenSocial v0.9 -- especially since there's already been a lot of discussion about potential inclusions to date.

For those new to the spec process -- welcome! The following (draft) introductory document explains how the spec evolves: http://www.opensocial.org/Technical-Resources/spec-process

Let me recap what I've seen as highly likely components for v0.9:
In addition, I personally think the spec can be improved in some other ways as well:
  • Views standard (enums?)
    • Strongly specify mappings from view name to constraints
      • view sizing, expected audience, usage of JavaScript/templates/Caja, etc. 
  • Caja usage standard
    • Strongly specify how the app and container negotiate about using Caja
      • Since some containers will want it sooner rather than later, we need to nail this down to keep XML files portable
        • Is it a require feature? Can it be optional? 
  • More inquisition
    • Add more functions to allow developers to programmatically retrieve configuration settings
      • Size of AppData, rate limits on viral channels, Caja usage, etc.
  • Metadata for AppData
    • Provide more metadata: who wrote it, when they wrote it
    • Perhaps add a "type" to the key/value pair
With that, what do YOU want in OpenSocial v0.9? OpenSocial itself is a spec that is defined right here on this public mailing list. Anyone can propose an addition, anyone can vote/comment on proposals, so get involved and provide comments to make OpenSocial better.

In terms of timing, consistent with the default timeline in the process doc, I propose we should plan to wrap up 0.9 -- fully baked! -- in ~12 weeks (concluding in mid-December or so).

Let's aim to get all ideas on the table by Friday, October 10 (certainly, it is fine to go into deep details of any particular component before then).

Cheers,
-Dan

Kevin Brown

unread,
Oct 1, 2008, 12:35:19 PM10/1/08
to opensocial-an...@googlegroups.com
On Wed, Oct 1, 2008 at 12:25 AM, Dan Peterson <dpet...@google.com> wrote:
Hey folks,

Now that OpenSocial v0.8.1 is effectively wrapped up, it seems prudent for us to get the ball rolling with OpenSocial v0.9 -- especially since there's already been a lot of discussion about potential inclusions to date.

For those new to the spec process -- welcome! The following (draft) introductory document explains how the spec evolves: http://www.opensocial.org/Technical-Resources/spec-process

Let me recap what I've seen as highly likely components for v0.9:

There are several sub-components for this proposal that we should probably break out as separate items.

Scott Seely

unread,
Oct 22, 2008, 1:12:37 PM10/22/08
to opensocial-an...@googlegroups.com

To help make sure that proposals don’t get forgotten, Chris Chabot, Dan Peterson, and I will be working together to make sure that the list of proposals is maintained. During this milestone, you’ll be seeing messages from us to help make sure that proposals continue to move along. We’ve gone over the various threads since 0.8.1 launched and have tried to capture the set of proposals brought forth so far. It is possible that something got missed. If you proposed something, please check http://spreadsheets.google.com/ccc?key=pLSOqcf1mK9XQ-OmytqL3Qw&hl=en. If the proposal isn’t on this list, let us know and we’ll get it added quickly.

 

 

 

From: opensocial-an...@googlegroups.com [mailto:opensocial-an...@googlegroups.com] On Behalf Of Dan Peterson
Sent: Wednesday, October 01, 2008 12:26 AM
To: OpenSocial and Gadgets Specification Discussion
Subject: [opensocial-and-gadgets-spec] Kicking off OpenSocial v0.9

 

Hey folks,

 

Now that OpenSocial v0.8.1 is effectively wrapped up, it seems prudent for us to get the ball rolling with OpenSocial v0.9 -- especially since there's already been a lot of discussion about potential inclusions to date.

 

For those new to the spec process -- welcome! The following (draft) introductory document explains how the spec evolves: http://www.opensocial.org/Technical-Resources/spec-process

 

Let me recap what I've seen as highly likely components for v0.9:

·  Clean gadget XML spec -- to remove all ambiguity in XML parsing and processing

·  Fetch/Cache/Invalidate Model 

·  OpenSocial Templates [Prototype running and implemented in Shindig -- http://ostemplates-demo.appspot.com/]

In addition, I personally think the spec can be improved in some other ways as well:

·  Views standard (enums?)

o Strongly specify mappings from view name to constraints

§ view sizing, expected audience, usage of JavaScript/templates/Caja, etc. 

·  Caja usage standard

o Strongly specify how the app and container negotiate about using Caja

§ Since some containers will want it sooner rather than later, we need to nail this down to keep XML files portable

§ Is it a require feature? Can it be optional? 

·  More inquisition

o Add more functions to allow developers to programmatically retrieve configuration settings

§ Size of AppData, rate limits on viral channels, Caja usage, etc.

·  Metadata for AppData

o Provide more metadata: who wrote it, when they wrote it

o Perhaps add a "type" to the key/value pair

Shishir Birmiwal

unread,
Oct 23, 2008, 12:19:47 PM10/23/08
to opensocial-an...@googlegroups.com
Hey,

Thanks for this effort. It sure is a good way to track this in a spreadsheet. My proposal for Albums API is missing from the list. I will be posting an updated link to the proposal soon (today/tomorrow). Can you include that in this list?

Thanks,
Shishir
--

Jimmy Buffett  - "Indecision may or may not be my problem."

Scott Seely

unread,
Oct 23, 2008, 12:29:30 PM10/23/08
to opensocial-an...@googlegroups.com

This has been added to the list.

Ian Boston

unread,
Oct 23, 2008, 1:19:30 PM10/23/08
to opensocial-an...@googlegroups.com
Dan,
I think we have to do something about the XSD for opensocial REST/XML
as its a long way from both the JSON and PortableContacts at the
moment. Joseph Smarr and me had a long thread on the subject that was
resolved ready for 0.9 but that was just one area, and we haven't
even thought about backwards compat with 0.8.1 if its even required.

Ian

Scott Seely

unread,
Oct 23, 2008, 1:29:09 PM10/23/08
to opensocial-an...@googlegroups.com
At this point in time, PC doesn't appear to have a schema. If we are
using PC as the ideal, we need to develop a schema that is in agreement
between the two. We already know that we need to reconcile the JS API
and REST (see
http://groups.google.com/group/opensocial-and-gadgets-spec/browse_thread
/thread/94fcfba9683ef6cd/).

Reconciling REST with PC seems to be the first order item, followed by
REST and JSAPI. Does this sound reasonable?

-----Original Message-----
From: opensocial-an...@googlegroups.com
[mailto:opensocial-an...@googlegroups.com] On Behalf Of Ian
Boston
Sent: Thursday, October 23, 2008 10:20 AM
To: opensocial-an...@googlegroups.com
Subject: [opensocial-and-gadgets-spec] Re: Kicking off OpenSocial v0.9


Scott Seely

unread,
Oct 23, 2008, 2:43:41 PM10/23/08
to opensocial-an...@googlegroups.com

Splitting off a new thread to keep the discussion compartmentalized:

 

Here is the schema that represents the repeating elements found in the PortableContacts API. The xsd:sequence is necessary on person to allow for schema validation to allow for looser processing of repeated elements. I’ve run this against the big XML example in the portable contacts spec (http://portablecontacts.net/draft-spec.html#anchor18) and everything validated. If we can get this to a point where we have something we agree is correct, we can then move on to getting the XSD in the REST API aligned with PC.

 

 

<?xml version="1.0" encoding="utf-8"?>

<xs:schema xmlns:tns="http://ns.portablecontacts.net/2008/portablecontacts" xmlns:xs="http://www.w3.org/2001/XMLSchema"

  targetNamespace="http://ns.portablecontacts.net/2008/portablecontacts">

  <xs:complexType name="name">

    <xs:all>

      <xs:element name="familyName" type="xs:string" minOccurs="0" />

      <xs:element name="givenName" type="xs:string" minOccurs="0" />

    </xs:all>

  </xs:complexType>

  <xs:complexType name="valueType">

    <xs:all>

      <xs:element name="value" type="xs:string" minOccurs="0" />

      <xs:element name="type" type="xs:string" minOccurs="0" />

      <xs:element name="primary" type="xs:string" minOccurs="0" />

    </xs:all>

  </xs:complexType>

  <xs:complexType name="address">

    <xs:all>

      <xs:element name="type" type="xs:string" minOccurs="0" />

      <xs:element name="streetAddress" type="xs:string" minOccurs="0" />

      <xs:element name="locality" type="xs:string" minOccurs="0" />

      <xs:element name="region" type="xs:string" minOccurs="0" />

      <xs:element name="postalCode" type="xs:string" minOccurs="0" />

      <xs:element name="country" type="xs:string" minOccurs="0" />

      <xs:element name="formatted" type="xs:string" minOccurs="0" />

    </xs:all>

  </xs:complexType>

  <xs:complexType name="organization">

    <xs:all>

      <xs:element name="name" type="xs:string" minOccurs="0" />

      <xs:element name="title" type="xs:string" minOccurs="0" />

    </xs:all>

  </xs:complexType>

  <xs:complexType name="account">

    <xs:all>

      <xs:element name="domain" type="xs:string" minOccurs="0" />

      <xs:element name="userid" type="xs:string" minOccurs="0" />

    </xs:all>

  </xs:complexType>

  <xs:complexType name="person">

    <xs:sequence>

      <xs:element name="id" type="xs:string" minOccurs="0" />

      <xs:element name="displayName" type="xs:string" minOccurs="0" />

      <xs:element name="birthday" type="xs:string" minOccurs="0" />

      <xs:element name="gender" type="xs:string" minOccurs="0" />

      <xs:element name="drinker" type="xs:string" minOccurs="0" />

      <xs:element name="accounts" type="tns:account" minOccurs="0" maxOccurs="unbounded"/>

      <xs:element name="addresses" type="tns:address" minOccurs="0" maxOccurs="unbounded"/>

      <xs:element name="emails" type="tns:valueType" minOccurs="0" maxOccurs="unbounded"/>

      <xs:element name="ims" type="tns:valueType" minOccurs="0" />

      <xs:element name="name" type="tns:name" minOccurs="0" />

      <xs:element name="organizations" type="tns:organization" minOccurs="0" maxOccurs="unbounded"/>

      <xs:element name="phoneNumbers" type="tns:valueType" minOccurs="0" maxOccurs="unbounded"/>

      <xs:element name="photos" type="tns:valueType" minOccurs="0" maxOccurs="unbounded"/>

      <xs:element name="tags" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>

      <xs:element name="urls" type="tns:valueType" minOccurs="0" maxOccurs="unbounded"/>

    </xs:sequence>

  </xs:complexType>

  <xs:complexType name="response">

    <xs:sequence>

      <xs:element name="startIndex" type="xs:string" minOccurs="0" />

      <xs:element name="itemsPerPage" type="xs:string" minOccurs="0" />

      <xs:element name="totalResults" type="xs:string" minOccurs="0" />

      <xs:element name="entry" type="tns:person" minOccurs="0" maxOccurs="unbounded"/>

    </xs:sequence>

  </xs:complexType>

  <xs:element name="response" type="tns:response"/>

</xs:schema>

 

-----Original Message-----
From: Scott Seely
Sent: Thursday, October 23, 2008 10:29 AM
To: opensocial-an...@googlegroups.com
Subject: RE: [opensocial-and-gadgets-spec] Re: Kicking off OpenSocial v0.9

 

At this point in time, PC doesn't appear to have a schema. If we are using PC as the ideal, we need to develop a schema that is in agreement between the two. We already know that we need to reconcile the JS API and REST (see http://groups.google.com/group/opensocial-and-gadgets-spec/browse_thread/thread/94fcfba9683ef6cd/).

 

Reconciling REST with PC seems to be the first order item, followed by REST and JSAPI. Does this sound reasonable?

 

-----Original Message-----

From: opensocial-an...@googlegroups.com [mailto:opensocial-an...@googlegroups.com] On Behalf Of Ian Boston

Sent: Thursday, October 23, 2008 10:20 AM

To: opensocial-an...@googlegroups.com

Subject: [opensocial-and-gadgets-spec] Re: Kicking off OpenSocial v0.9

 

 

Dan,

Scott Seely

unread,
Oct 23, 2008, 3:13:57 PM10/23/08
to opensocial-an...@googlegroups.com

Missed two items on the schema header (highlighted)

           xmlns="http://ns.portablecontacts.net/2008/portablecontacts"

           attributeFormDefault="qualified" elementFormDefault="qualified">

Ian Boston

unread,
Oct 23, 2008, 5:24:15 PM10/23/08
to opensocial-an...@googlegroups.com
Is there a larger set of PC sample data that this can be checked
against (preferable real) ? It might expose the detail of areas where
the XSD doesnt work.
I could take it a re-configure the OS bean converters in Shindig to
convert the OS model, but I think that might be jumping the gun.
Ian

Ropu

unread,
Oct 23, 2008, 9:01:00 PM10/23/08
to opensocial-an...@googlegroups.com
And dont forget the new proposition for the Messaging service

http://docs.google.com/Doc?docid=dfjz793x_187gm3prnch&hl=en

bruno
--
.-. --- .--. ..-
R  o  p  u

Kevin Marks

unread,
Oct 23, 2008, 9:17:06 PM10/23/08
to opensocial-an...@googlegroups.com
four areas that I think would benefit from some discussion in this group, whether for 0.9 or beyond:

  1. A common standard for user-uploaded/shared media including pictures, audio and video (many apps want this, many containers have their own APIs)
  2. A common standard for asking for or offering payment (several containers offer this; some 3rd parties have also built this)
  3. A richer API for Activity Streams - currently we only offer read/write on a per-app basis - many containers also generate public streams that are accessible, and could be improved by having common ways to refelect the media elements we already enable to be posted.
  4. Common models for writing location information to a container as well as reading it, given the growth of mobile appliactions and geodata.

On Wed, Oct 1, 2008 at 12:25 AM, Dan Peterson <dpet...@google.com> wrote:

Ropu

unread,
Oct 23, 2008, 9:19:24 PM10/23/08
to opensocial-an...@googlegroups.com
5. To retrieve and modify User Status

Scott Seely

unread,
Oct 24, 2008, 12:32:50 PM10/24/08
to opensocial-an...@googlegroups.com

For these things, please look through the list of items at http://spreadsheets.google.com/ccc?key=pLSOqcf1mK9XQ-OmytqL3Qw&hl=en. If the item you want is not on the list, you need to create a separate thread with a high level proposal so that we can zero in on the specifics.

 

Ropu and Kevin—can you kick off the separate threads with more fully formed ideas? This will make tracking much easier.

 

From: opensocial-an...@googlegroups.com [mailto:opensocial-an...@googlegroups.com] On Behalf Of Ropu
Sent: Thursday, October 23, 2008 6:19 PM
To: opensocial-an...@googlegroups.com
Subject: [opensocial-and-gadgets-spec] Re: Kicking off OpenSocial v0.9

 

5. To retrieve and modify User Status

On Thu, Oct 23, 2008 at 6:17 PM, Kevin Marks <kevin...@gmail.com> wrote:

four areas that I think would benefit from some discussion in this group, whether for 0.9 or beyond:

  1. A common standard for user-uploaded/shared media including pictures, audio and video (many apps want this, many containers have their own APIs)
  2. A common standard for asking for or offering payment (several containers offer this; some 3rd parties have also built this)
  3. A richer API for Activity Streams - currently we only offer read/write on a per-app basis - many containers also generate public streams that are accessible, and could be improved by having common ways to refelect the media elements we already enable to be posted.
  4. Common models for writing location information to a container as well as reading it, given the growth of mobile appliactions and geodata.

 

On Wed, Oct 1, 2008 at 12:25 AM, Dan Peterson <dpet...@google.com> wrote:

Hey folks,

 

Now that OpenSocial v0.8.1 is effectively wrapped up, it seems prudent for us to get the ball rolling with OpenSocial v0.9 -- especially since there's already been a lot of discussion about potential inclusions to date.

 

For those new to the spec process -- welcome! The following (draft) introductory document explains how the spec evolves: http://www.opensocial.org/Technical-Resources/spec-process

 

Let me recap what I've seen as highly likely components for v0.9:

·         Clean gadget XML spec -- to remove all ambiguity in XML parsing and processing

·         Fetch/Cache/Invalidate Model 

·         OpenSocial Templates [Prototype running and implemented in Shindig -- http://ostemplates-demo.appspot.com/]

In addition, I personally think the spec can be improved in some other ways as well:

·         Views standard (enums?)

o    Strongly specify mappings from view name to constraints

§  view sizing, expected audience, usage of JavaScript/templates/Caja, etc. 

·         Caja usage standard

o    Strongly specify how the app and container negotiate about using Caja

§  Since some containers will want it sooner rather than later, we need to nail this down to keep XML files portable

§  Is it a require feature? Can it be optional? 

·         More inquisition

o    Add more functions to allow developers to programmatically retrieve configuration settings

§  Size of AppData, rate limits on viral channels, Caja usage, etc.

·         Metadata for AppData

o    Provide more metadata: who wrote it, when they wrote it

o    Perhaps add a "type" to the key/value pair

With that, what do YOU want in OpenSocial v0.9? OpenSocial itself is a spec that is defined right here on this public mailing list. Anyone can propose an addition, anyone can vote/comment on proposals, so get involved and provide comments to make OpenSocial better.

 

In terms of timing, consistent with the default timeline in the process doc, I propose we should plan to wrap up 0.9 -- fully baked! -- in ~12 weeks (concluding in mid-December or so).

 

Let's aim to get all ideas on the table by Friday, October 10 (certainly, it is fine to go into deep details of any particular component before then).

 

Cheers,

-Dan

 

Scott Seely

unread,
Oct 27, 2008, 4:20:03 PM10/27/08
to OpenSocial - OpenSocial and Gadgets Specification Discussion
This appears to be the correct schema for PoCo.

+1 to make Person in REST look like Person in PoCo, just in the REST
OpenSocial namespace.

Ian Boston

unread,
Oct 28, 2008, 2:43:16 AM10/28/08
to opensocial-an...@googlegroups.com
+1

Joseph Smarr

unread,
Oct 28, 2008, 10:24:07 AM10/28/08
to opensocial-an...@googlegroups.com
+1 from me, of course. :)

Chris Chabot

unread,
Nov 2, 2008, 8:33:05 AM11/2/08
to opensocial-an...@googlegroups.com
+1 from me too

Ian Boston

unread,
Nov 4, 2008, 4:29:37 AM11/4/08
to opensocial-an...@googlegroups.com
I had previously posted an updated xsd for OS0.9, but having done
some more implementation against the text of the 0.8.1 version of the
spec I can see a conflict in the XSD between OS and PC.

The only response type in PC is a person, hence it makes sense to
have an "entry" element being the contents of the person object. The
below is the section from the PC XSD.
In OS we have activity, message, person, group, appdata as response
types, all enclosed by the single containing element entry.

so a PC response looks like
<response>
...
<entry>
<id></id>
<displayName></displayName>
...
</entry>
<entry>
...
</entry>
</response>

But the 0.8.1 spec does not clearly state what the OS response should
be like... it could be
<response>
...
<entry>
<id></id>
<displayName></displayName>
...
</entry>
<entry>
...
</entry>
</response>

or

<response>
...
<entry>
<person>
<id></id>
<displayName></displayName>
...
</person>
</entry>
<entry>
...
</entry>
</response>

but could also be interpreted as
<?xml version="1.0" encoding="UTF-8"?>
<response>
<startIndex>0</startIndex>
<itemsPerPage>20</itemsPerPage>
<totalResults>721</totalResults>
<person>
<isOwner></isOwner>
<isViewer></isViewer>

<displayName>Bruno rovagnati</displayName>
<id>5</id>
<thumbnailUrl>http://www.partuza.nl/images/people/5.96x96.jpg</
thumbnailUrl>
<profileUrl>http://www.partuza.nl/profile/5</profileUrl>
</person>
...

or

<?xml version="1.0" encoding="UTF-8"?>
<response>
<startIndex>0</startIndex>
<itemsPerPage>20</itemsPerPage>
<totalResults>721</totalResults>
<entry>
<person>
<isOwner></isOwner>
<isViewer></isViewer>

<displayName>Bruno rovagnati</displayName>
<id>5</id>
<thumbnailUrl>http://www.partuza.nl/images/people/5.96x96.jpg</
thumbnailUrl>
<profileUrl>http://www.partuza.nl/profile/5</profileUrl>
</person>
</entry>

...

I am really struggling to know that the 'official' shema is, and I
dont want to start inventing one.

IMHO the representation should be
<response>
<startIndex>0</startIndex>
<itemsPerPage>20</itemsPerPage>
<totalResults>721</totalResults>
<entry>
<person>
....
</person>
</entry>

which would align the xml format with the atom format, and align the
single response with the multiple response..... but obviously, there
is now tension between the XML and JSON.

Ian

Joseph Smarr

unread,
Nov 4, 2008, 10:08:59 AM11/4/08
to opensocial-an...@googlegroups.com
I think it should be <response><entry><displayName> and no <person> but the <entry> is of type person in XML-schema land. That would parallel the JSON and most closely follow the spec. Does that make sense?
 
Thanks, js

Ian Boston

unread,
Nov 4, 2008, 11:08:31 AM11/4/08
to opensocial-an...@googlegroups.com
That does make sense,
but my point was
<response><entry>

is used for responses of person
and
activity
group

AFAIK, XSD doesn't allow one element to have multiple types at the
same XPath location in the same namespace ?

I have a working XSD and passing unit tests in shindig at http://
svn.apache.org/repos/asf/incubator/shindig/trunk/java/social-api/src/
test/resources/org/apache/shindig/social/opensocial/util/
opensocial.xsd which I have just committed.

I thought it better to create and test a real xsd to make certain it
worked.
Ian

Ian Boston

unread,
Nov 4, 2008, 11:16:41 AM11/4/08
to opensocial-an...@googlegroups.com
I have uploaded examples of all the root nodes to
http://people.apache.org/~ieb/examples/

Ian

Max Newbould

unread,
Nov 20, 2008, 8:26:32 PM11/20/08
to OpenSocial - OpenSocial and Gadgets Specification Discussion
+1 for PoCo alignment

:max

On Oct 28, 6:24 am, "Joseph Smarr" <jsm...@gmail.com> wrote:
> +1 from me, of course. :)
>

Scott Seely

unread,
Nov 21, 2008, 8:54:52 AM11/21/08
to opensocial-an...@googlegroups.com
PoCo alignment is accepted and http://wiki.opensocial.org/index.php?title=Spec_Changes has been updated to reflect this.

> -----Original Message-----
> From: opensocial-an...@googlegroups.com [mailto:opensocial-
Reply all
Reply to author
Forward
0 new messages