You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by Chris Chabot <ch...@xs4all.nl> on 2008/07/12 19:10:32 UTC

Atom - include empty fields or not?

Looking at the spec and the output from the java rest / jsonrest there  
are some discrepancies (thats known and to be expected in its self)  
but i noticed that both the java atom implementations include all the  
empty entries, while the spec insinuates this shouldn't be the case.

Purely from an efficiency / bandwidth point of view, leaving out the  
empty entries makes more sense, but i don't know if this has any  
implications for the atom correctness?

Also neither of the 2 has the correct <person ... tag, and the abdera  
version includes an implementingClass field it seems?

I'll follow the spec for now, but if that's the wrong path please  
shout out asap :)

Spec:

<entry xmlns="http://www.w3.org/2005/Atom">
   <content type="application/xml">
     <person xmlns="http://ns.opensocial.org/2008/opensocial">
       <name>
         <unstructured>Jane Doe</unstructured>
       </name>
       <gender key="FEMALE">Female</gender>
     </person>
   </content>
   <title/>
   <updated>2003-12-13T18:30:02Z</updated>
   <author/>
   <id>urn:guid:example.org:34KJDCSKJN2HHF0DW20394</id>
</entry>

jsonrest?format=xml :

<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns="http://www.w3.org/2005/Atom">
	<id>urn:guid:john.doe</id>
	<title type="text">John Doe</title>
	<updated>2008-07-12T14:26:35.448Z</updated>
	<summary type="text" />
	<author><uri>urn:guid:john.doe</uri></author>
	<link href="http://localhost:8080/social/rest/people/john.doe/%40self/john.doe 
" rel="self" type="application/atom+xml" length="0" />
	<content type="application/xml">
		<personimpl xmlns="">
			<activities />
			<addresses />
			<books />
			<cars />
			<emails />
			<food />
			<gender>
				<displayValue>Male</displayValue>
				 
<key><declaringClass>org.apache.shindig.social.opensocial.model.Enum 
$Gender</declaringClass>
				<displayValue>Male</displayValue></key>
			</gender>
			<heroes />
			<id>john.doe</id>
			<interests />
			<isOwner>false</isOwner>
			<isViewer>false</isViewer
			><jobs />
			<languagesSpoken />
			<movies /
			><music />
			<name>
				<unstructured>John Doe</unstructured>
			</name>
			<phoneNumbers />
			<quotes />
			<schools />
			<sports />
			<tags />
			<turnOffs />
			<turnOns /
			><tvShows />
			<updated>Sat Jul 12 16:26:35 CEST 2008</updated>
			<urls />
		</personimpl>
	</content>
	<source>
		<link href="http://localhost:8080/social/rest/people/john.doe/ 
%40self" rel="self" type="application/atom+xml" length="0" />
		<id>http://localhost:8080/social/rest/people/john.doe/%40self</id>
		<title type="text">Profile of User in ATOM format</title>
		<author><name>john.doe</name></author>
		<updated>2008-07-12T14:44:03.557Z</updated>
	</source>
</entry>

Re: Atom - include empty fields or not?

Posted by Cassie <do...@google.com>.
Yeah, the java side is supposed to eliminate empty tags.. but i think the
helper betwixt library we are using is either buggy or we aren't using it
right. Our maps output are also way incorrect due to that library - we
haven't focused on it much due to the larger issues we are facing but should
hopefully get to it soon...

Nice work on the php side!



On Sat, Jul 12, 2008 at 9:22 PM, John Panzer <jp...@google.com> wrote:

> John Panzer (http://abstractioneer.org)
>
> On Sat, Jul 12, 2008 at 10:10 AM, Chris Chabot <ch...@xs4all.nl> wrote:
>
> > Looking at the spec and the output from the java rest / jsonrest there
> are
> > some discrepancies (thats known and to be expected in its self) but i
> > noticed that both the java atom implementations include all the empty
> > entries, while the spec insinuates this shouldn't be the case.
> >
> > Purely from an efficiency / bandwidth point of view, leaving out the
> empty
> > entries makes more sense, but i don't know if this has any implications
> for
> > the atom correctness?
>
> Nope, eliminating empties are good.  Well, ok, you need id, you'll have
> content, you need author to be 100% correct and that's about it.
>
> >
> >
> > Also neither of the 2 has the correct <person ... tag, and the abdera
> > version includes an implementingClass field it seems?
> >
> > I'll follow the spec for now, but if that's the wrong path please shout
> out
> > asap :)
> >
> > Spec:
> >
> > <entry xmlns="http://www.w3.org/2005/Atom">
> >  <content type="application/xml">
> >    <person xmlns="http://ns.opensocial.org/2008/opensocial">
> >      <name>
> >        <unstructured>Jane Doe</unstructured>
> >      </name>
> >      <gender key="FEMALE">Female</gender>
> >    </person>
> >  </content>
> >  <title/>
> >  <updated>2003-12-13T18:30:02Z</updated>
> >  <author/>
> >  <id>urn:guid:example.org:34KJDCSKJN2HHF0DW20394</id>
> > </entry>
> >
> > jsonrest?format=xml :
> >
> > <?xml version='1.0' encoding='UTF-8'?>
> > <entry xmlns="http://www.w3.org/2005/Atom">
> >        <id>urn:guid:john.doe</id>
> >        <title type="text">John Doe</title>
> >        <updated>2008-07-12T14:26:35.448Z</updated>
> >        <summary type="text" />
> >        <author><uri>urn:guid:john.doe</uri></author>
> >        <link href="
> > http://localhost:8080/social/rest/people/john.doe/%40self/john.doe"
> > rel="self" type="application/atom+xml" length="0" />
> >        <content type="application/xml">
> >                <personimpl xmlns="">
> >                        <activities />
> >                        <addresses />
> >                        <books />
> >                        <cars />
> >                        <emails />
> >                        <food />
> >                        <gender>
> >                                <displayValue>Male</displayValue>
> >
> >
>  <key><declaringClass>org.apache.shindig.social.opensocial.model.Enum$Gender</declaringClass>
> >                                <displayValue>Male</displayValue></key>
> >                        </gender>
> >                        <heroes />
> >                        <id>john.doe</id>
> >                        <interests />
> >                        <isOwner>false</isOwner>
> >                        <isViewer>false</isViewer
> >                        ><jobs />
> >                        <languagesSpoken />
> >                        <movies /
> >                        ><music />
> >                        <name>
> >                                <unstructured>John Doe</unstructured>
> >                        </name>
> >                        <phoneNumbers />
> >                        <quotes />
> >                        <schools />
> >                        <sports />
> >                        <tags />
> >                        <turnOffs />
> >                        <turnOns /
> >                        ><tvShows />
> >                        <updated>Sat Jul 12 16:26:35 CEST 2008</updated>
> >                        <urls />
> >                </personimpl>
> >        </content>
> >        <source>
> >                <link href="
> > http://localhost:8080/social/rest/people/john.doe/%40self" rel="self"
> > type="application/atom+xml" length="0" />
> >                <id>
> > http://localhost:8080/social/rest/people/john.doe/%40self</id>
> >                <title type="text">Profile of User in ATOM format</title>
> >                <author><name>john.doe</name></author>
> >                <updated>2008-07-12T14:44:03.557Z</updated>
> >        </source>
> > </entry>
>

Re: Atom - include empty fields or not?

Posted by John Panzer <jp...@google.com>.
John Panzer (http://abstractioneer.org)

On Sat, Jul 12, 2008 at 10:10 AM, Chris Chabot <ch...@xs4all.nl> wrote:

> Looking at the spec and the output from the java rest / jsonrest there are
> some discrepancies (thats known and to be expected in its self) but i
> noticed that both the java atom implementations include all the empty
> entries, while the spec insinuates this shouldn't be the case.
>
> Purely from an efficiency / bandwidth point of view, leaving out the empty
> entries makes more sense, but i don't know if this has any implications for
> the atom correctness?

Nope, eliminating empties are good.  Well, ok, you need id, you'll have
content, you need author to be 100% correct and that's about it.

>
>
> Also neither of the 2 has the correct <person ... tag, and the abdera
> version includes an implementingClass field it seems?
>
> I'll follow the spec for now, but if that's the wrong path please shout out
> asap :)
>
> Spec:
>
> <entry xmlns="http://www.w3.org/2005/Atom">
>  <content type="application/xml">
>    <person xmlns="http://ns.opensocial.org/2008/opensocial">
>      <name>
>        <unstructured>Jane Doe</unstructured>
>      </name>
>      <gender key="FEMALE">Female</gender>
>    </person>
>  </content>
>  <title/>
>  <updated>2003-12-13T18:30:02Z</updated>
>  <author/>
>  <id>urn:guid:example.org:34KJDCSKJN2HHF0DW20394</id>
> </entry>
>
> jsonrest?format=xml :
>
> <?xml version='1.0' encoding='UTF-8'?>
> <entry xmlns="http://www.w3.org/2005/Atom">
>        <id>urn:guid:john.doe</id>
>        <title type="text">John Doe</title>
>        <updated>2008-07-12T14:26:35.448Z</updated>
>        <summary type="text" />
>        <author><uri>urn:guid:john.doe</uri></author>
>        <link href="
> http://localhost:8080/social/rest/people/john.doe/%40self/john.doe"
> rel="self" type="application/atom+xml" length="0" />
>        <content type="application/xml">
>                <personimpl xmlns="">
>                        <activities />
>                        <addresses />
>                        <books />
>                        <cars />
>                        <emails />
>                        <food />
>                        <gender>
>                                <displayValue>Male</displayValue>
>
>  <key><declaringClass>org.apache.shindig.social.opensocial.model.Enum$Gender</declaringClass>
>                                <displayValue>Male</displayValue></key>
>                        </gender>
>                        <heroes />
>                        <id>john.doe</id>
>                        <interests />
>                        <isOwner>false</isOwner>
>                        <isViewer>false</isViewer
>                        ><jobs />
>                        <languagesSpoken />
>                        <movies /
>                        ><music />
>                        <name>
>                                <unstructured>John Doe</unstructured>
>                        </name>
>                        <phoneNumbers />
>                        <quotes />
>                        <schools />
>                        <sports />
>                        <tags />
>                        <turnOffs />
>                        <turnOns /
>                        ><tvShows />
>                        <updated>Sat Jul 12 16:26:35 CEST 2008</updated>
>                        <urls />
>                </personimpl>
>        </content>
>        <source>
>                <link href="
> http://localhost:8080/social/rest/people/john.doe/%40self" rel="self"
> type="application/atom+xml" length="0" />
>                <id>
> http://localhost:8080/social/rest/people/john.doe/%40self</id>
>                <title type="text">Profile of User in ATOM format</title>
>                <author><name>john.doe</name></author>
>                <updated>2008-07-12T14:44:03.557Z</updated>
>        </source>
> </entry>