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]
pgphztgUWr0Cp.pgp
Description: PGP signature
