Hi Bruno,

I just spoke to a number of people that want to use strict xhtml for
their gadget content instead of the transitional xhtml we use at hi5.

Do you think we can find a way to accomodate these folks?


On Sun, Feb 10, 2008 at 05:27:44AM -0500, Bruno Bowden wrote:
> 
> This is a posting I made on the shindig-dev list - this post is to
> bring the issue to a wider audience. Gadget run in quirks mode (with
> no DOCTYPE) due to historical reasons. This is to raise awareness that
> we need to migrate to standards mode, what's driving that decision and
> how we could go about it.
> 
> Currently the gadget specification defines gadgets as running in
> quirks mode:
>    http://code.google.com/apis/gadgets/docs/spec.html
> 
> 
> CAJA INLINING
> 
> Inlining cajoled gadgets is going to force us to switch to standards
> mode. As the inlined gadget will have to the same DOCTYPE as the
> container page. All the major OpenSocial partners use standards mode
> with the exception for Orkut. 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">


-- 
Paul Lindner
hi5 Architect
[EMAIL PROTECTED]

Attachment: pgphztgUWr0Cp.pgp
Description: PGP signature

Reply via email to