You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by Tim Moore <tm...@atlassian.com> on 2008/09/18 21:56:04 UTC

How should Shindig handle invalid gadget specs?

I've been trying to debug a problem with a Shindig-based Java gadget  
container we're building, and the todo gadget at http://www.labpixies.com/campaigns/todo/todo.xml 
  that is used as an example throughout Shindig.

Long story short, I noticed that the todo gadget spec contains a head  
end tag and a body start tag. These are forbidden by the gadget spec <http://code.google.com/apis/gadgets/docs/fundamentals.html#Content_Type 
 > because the gadget renderer generates its own head and body tags,  
but since they're in there, the generated HTML ends up containing  
malformed HTML.

So I have two thoughts: first, maybe this isn't the ideal example  
gadget to use; second, maybe Shindig should catch this when parsing  
the gadget spec file and either fail fast or strip the tags out  
instead of producing invalid HTML.

What do you think?

The reason this is a problem for me specifically is that we have a  
filter set up (sitemesh) that parses all HTML output, and its choking  
on this due to having two closing head tags.

-- 
Tim Moore



Re: How should Shindig handle invalid gadget specs?

Posted by Kevin Brown <et...@google.com>.
On Thu, Sep 18, 2008 at 9:56 PM, Tim Moore <tm...@atlassian.com> wrote:

> I've been trying to debug a problem with a Shindig-based Java gadget
> container we're building, and the todo gadget at
> http://www.labpixies.com/campaigns/todo/todo.xml that is used as an
> example throughout Shindig.
>
> Long story short, I noticed that the todo gadget spec contains a head end
> tag and a body start tag. These are forbidden by the gadget spec <
> http://code.google.com/apis/gadgets/docs/fundamentals.html#Content_Type>
> because the gadget renderer generates its own head and body tags, but since
> they're in there, the generated HTML ends up containing malformed HTML.
>
> So I have two thoughts: first, maybe this isn't the ideal example gadget to
> use; second, maybe Shindig should catch this when parsing the gadget spec
> file and either fail fast or strip the tags out instead of producing invalid
> HTML.
>
> What do you think?
>
> The reason this is a problem for me specifically is that we have a filter
> set up (sitemesh) that parses all HTML output, and its choking on this due
> to having two closing head tags.


Funny you should bring this up now -- take a look here
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/render/RenderingContentRewriter.java?view=markup

This is actually required to be compliant with proxied rendering.

>
>
> --
> Tim Moore
>
>
>