Dan Brickley wrote:
Rajdeep Dua wrote:
Thanks for the encouraging feedback.
Chris - I will make the changes based on your feedback

The schema diagram has been drawn manually -- no auto-generation as of now
,exploring various tools to do this.

Ah ok. Where in the PHP/Java/Javascript sources (or wiki etc) is the most authoritative source spec for the schema? I'm looking at mapping this stuff into RDF/FOAF, but for now have just worked from one of the demo SQL backends that was circulated...

Kevin Marks in IRC gently encouraged me to look in the spec,

phenny: danbri: 07:27Z <KevinMarks> tell danbri OpenSocial Person field is in the Spec: http://code.google.com/apis/opensocial/docs/0.8/reference/#opensocial.Person.Field

Which apart from making me realise it was a dumb sounding question, makes me also clarify my question: is there a *machine-friendly* schema of some kind that can be used as a common authoritative source. The spec source doesn't seem designed (microformats-style) to be machine-parsed.

To which Kevin in IRC is just now replying: these docs are generated by javadoc from the Javascript API source. And a copy of that seems to be in the Apache SVN:

http://svn.apache.org/repos/asf/incubator/shindig/trunk/features/opensocial-reference/person.js
...and more in http://svn.apache.org/repos/asf/incubator/shindig/trunk/features/opensocial-reference/


So I'll treat that as authoritative at least until I find a copy on the main opensocial site...


Looking there in person.js I see (to use gender as an example)

  /**
   * Person's gender, specified as an opensocial.Enum with the enum's
   * key referencing opensocial.Enum.Gender.
   * Container support for this field is OPTIONAL.
   *
   * @member opensocial.Person.Field
   */
  GENDER : 'gender',

...but nothing more in the js to associate either 'GENDER' or 'gender' with the enumerated values (rather than, say, a string). All the typing information is in the comments.

Over in enum.js we see the enumerated values, but I don't see how to programmatically associate them with the GENDER field:

/**
 * @static
 * @class
 * The enum keys used by the gender field.
 * <p><b>See also:</b>
 * <a href="opensocial.Person.Field.html">
 * opensocial.Person.Field.Gender</a>
 * </p>
 *
 * @name opensocial.Enum.Gender
 */
opensocial.Enum.Gender = {
  /** @member opensocial.Enum.Gender */
  MALE : 'MALE',
  /** @member opensocial.Enum.Gender */
  FEMALE : 'FEMALE'
};


Am I missing something obvious? Is there a way I can write a bit of .js to determine that one field is string-valued, while another takes an enum?

thanks for listening ;)

cheers,

Dan

--
http://danbri.org/

Reply via email to