Great discussion.

Do we want to add a standardsMode attribute to Shindig now, or
should we await more discussion?

What's the process for adding something like this to the gadgets
specification?

On Sat, Feb 09, 2008 at 05:50:29PM -0800, Kevin Brown wrote:
> Great information, Bruno. Again, though -- there's nothing we can do about
> this in Shindig. This needs to be brought up in the OpenSocial discussion
> group. Not everyone involved in defining the specifications reads this list.
> 
> ~Kevin
> 
> On Feb 9, 2008 5:44 PM, Bruno Bowden <[EMAIL PROTECTED]> wrote:
> 
> > I was going to make the same point about inlining but John beat me to it
> > ;-).
> >
> > Inlining cajoled gadgets is going to force us to switch to standards mode.
> > All the major OpenSocial partners use standards mode with the exception
> > for
> > Orkut (sorry guys). Complete list of container DOCTYPEs is at the end.
> >
> > If an author has to modify their gadget for caja, it makes sense to
> > convert
> > to standards mode too. This avoids hitting developers with repeated
> > requests
> > for changes or suffering the long term problems of adopting quirks mode.
> >
> >
> > BACKWARDS COMPATIBILITY
> >
> > This was the problem that Kevin raised. A gadget should be able to elect
> > to
> > be rendered in standards mode. If a gadget doesn't request standards mode,
> > then like a page without a DOCTYPE, it's shown in quirks mode - just the
> > same as how gadgets are rendered at the moment. Mix and match of modes is
> > possible since it's inside an iframe:
> >   http://brunobowden.dreamhosters.com/gadgets/examples/strict.html
> >
> > Inlined Caja would use the DOCTYPE of the container. If a container wants
> > to
> > do inlining, then I believe it MUST use standards mode.
> >
> >
> > SYNTAX
> >
> > We should not let gadgets specify the full doctype due - that would be ok
> > for iframes but it's impossible with inlining. Instead use a generic
> > boolean:
> >
> > <Content standardsMode="true">
> >  ...
> > </Content>
> >
> > If standardsMode is specified, then the DOCTYPE as added. If the attribute
> > is missing, then the container can do what it likes. This allows it to be
> > opt-in at first but still gives the container flexibility to migrate
> > later.
> > If a gadget developer opts out by using standardsMode="false", then it's
> > always rendered in an iframe with no DOCTYPE. We're discussing a similar
> > syntax for Caja.
> >
> >
> > QUESTIONS
> >
> > How constrained should containers on selecting a DOCTYPE?
> > Obviously it should be standards mode but since gadget developers are
> > going
> > to have a hard time coding to different DOCTYPEs, it would be easier for
> > the
> > container to standardize. I'm not familiar enough with the differences
> > between DOCTYPEs to evaluate this.
> >
> > For standards mode rewriting, should we be stricter again and specify
> > XHTML
> > too?
> > I need to check whether the output from Caja will be XHTML compliant, it
> > may
> > be a requirement for the input too.
> >
> >
> > CONTAINER DOCTYPES
> >
> > Wikipedia documents the browser support for all DOCTYPEs
> > http://en.wikipedia.org/wiki/Quirks_mode. I'm glossing over the "almost
> > standards" mode for IE. The "html" has been lowercased in all DOCTYPEs to
> > make it easier to read. Complete list of DOCTYPEs by container:
> >
> >
> > HTML:
> > Plaxo Profile - Standards
> > <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
> > Friendster Profile: Standards
> > <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "
> > http://www.w3.org/TR/1998/REC-html40-19980424/loose.dtd";>
> > LinkedIn Profile: Standards
> > <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
> > http://www.w3.org/TR/html4/loose.dtd";>
> > Orkut Profile: Quirks
> > <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
> > Blogger blog: Standards
> > <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "
> > http://www.w3.org/TR/html4/strict.dtd";>
> > iGoogle: Standards
> > <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "
> > http://www.w3.org/TR/html4/strict.dtd";>
> >
> > XHTML:
> > Facebook Profile & Canvas chrome: Standards
> > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "
> > http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
> > Hi5 Sandbox Profile: Standards
> > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
> > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
> > MySpace Profile: Standards
> > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
> > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
> > Salesforce.com: Standards
> > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
> > http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
> > Ning OpenSocialDemo: Standards
> > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "
> > http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd";>
> >
> >
> >
> > On Feb 9, 2008 3:10 PM, John Panzer <[EMAIL PROTECTED]> wrote:
> >
> > > If a container does inlined cajoled gadgets, they'll need to match the
> > > doctype of the container, no?  Blogspot in particular is interesting
> > > here...
> > >
> > > -John
> > >
> > > On Feb 9, 2008, at 1:22 PM, Paul Lindner <[EMAIL PROTECTED]> wrote:
> > >
> > > > On Fri, Feb 08, 2008 at 07:36:57PM -0800, Kevin Brown wrote:
> > > >> Unfortunately, Quirks mode is required by the spec. See Item 6 under
> > > >> "Compliance" at http://code.google.com/apis/gadgets/docs/spec.html.
> > > >
> > > > That's really unfortunate.  Right now you have a great opportunity to
> > > > make a clean break towards standards mode.  People are going to be
> > > > rewriting their Apps for Caja, plus they'll be customizing UI etal for
> > > > each new platform.
> > > >
> > > >
> > > >
> > > >> This issue has been brought up numerous times in the past, but
> > > >> there hasn't
> > > >> been a resolution on it yet. The only reason for this is that many
> > > >> (if not
> > > >> all) existing gadgets have to be updated to use standards mode
> > > >> since the
> > > >> original iGoogle site used quirks mode.
> > > >
> > > > Where are these discussions taking place?  Internal to Google I
> > > > assume?
> > > >
> > > > Has anyone actually tried, say the top 100 apps rendered in standards
> > > > mode?  I really doubt that it's that much of a problem.
> > > >
> > > >> Many people (myself included) have attempted to move it towards
> > > >> standards mode, but so far nobody's come up with a viable solution
> > > >> for backwards compatibility.
> > > >
> > > > How about this:
> > > >
> > > > * Always render iGoogle gadgets using legacy gmodules.com.
> > > > * New widgets (those using opensocial or other new technologies) will
> > > >   be sent through a Shindig based server.
> > > > * Mark quirks mode deprecated with a sunset of 1 year from now.
> > > >
> > > > Alternate solutions:
> > > >
> > > > 1. If Gadget XML contains proper xmlns namespace then use standards
> > > >    mode, other wise quirks mode
> > > >
> > > >     <Module xmlns:gadget="http://shindig.apache.org/ns/0";>
> > > >
> > > > 2. Allow developer to specify rendering at the top of the Gadgets
> > > >    XML..
> > > >
> > > >    <?xml ... ?>
> > > >    ....declaration goes here ....
> > > >
> > > >
> > > > We should really try to fix this problem if we can.
> > > >
> > >
> >

-- 
Paul Lindner
hi5 Architect
[EMAIL PROTECTED]

Attachment: pgpJ5DlDOynqM.pgp
Description: PGP signature

Reply via email to