You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@shindig.apache.org by "Kai Feng Zhang (JIRA)" <ji...@apache.org> on 2010/11/03 06:46:27 UTC

[jira] Commented: (SHINDIG-1402) Rendering Open Social gadgets inline (without an IFrame)

    [ https://issues.apache.org/jira/browse/SHINDIG-1402?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12927746#action_12927746 ] 

Kai Feng Zhang commented on SHINDIG-1402:
-----------------------------------------

The first problem inline gadget rendering needs to solve is about namespacing conflict.

Since some gadget declare a unique identifier for some element in dom, such as <div id="hello">, if this gadget is rendered with inline multiple times on same page, it's a problem of element id conflict.

As our former implementation(in original patch to support inline) is based on the iWidget context concept and request the gadget developer to rewrite their gadget with a scope, which will generate a unique identifier for each element in inline gadget, to avoid namespacing conflict issue. 

It might be a little reluctant for gadget developer to accept and it also needs effort to rewrite thousands of existing gadgets. So we did not enable this implementation in our new inline patch. https://issues.apache.org/jira/browse/SHINDIG-1402

But currently seems we didn't find a better way to solve it. So could someone please review and propose any better way to do solve this namespacing problem? 

> Rendering Open Social gadgets inline (without an IFrame)
> --------------------------------------------------------
>
>                 Key: SHINDIG-1402
>                 URL: https://issues.apache.org/jira/browse/SHINDIG-1402
>             Project: Shindig
>          Issue Type: New Feature
>          Components: Java, Javascript , PHP, Website
>    Affects Versions: 2.0.0
>         Environment: Should be applicable to any platform Shindig will run
>            Reporter: Kris Vishwanathan
>             Fix For: 3.0.0
>
>         Attachments: inline_20100824.patch, inline_feature_patch_20101103.patch, inlineFeature.txt, patch_20100921.patch
>
>   Original Estimate: 672h
>  Remaining Estimate: 672h
>
> Kudos to the team who have come up with such an excellent container and the success we have in many of the open social networking platforms. OpenSocial gadgets IFrame model seems to work great on the web that will let you sandbox all the interactions with the back-end. This is especially very cool to isolate when you don't have control on each of the gadget sources. 
> Background:
> Moving to the enterprise space brings in extra challenges. One such request we are seeing is rendering open social gadgets inline. This seems an important feature for many situations where gadgets are trusted and scalability is a concern. Isolating gadgets with each gadget loading its own resources may not be required. I am sure there may be some tricks to workaround. But from clean programming model perspective, we would like to propose this feature.
> Here are some of the concerns expressed for which we were attempting to prototype rendering gadgets inline:
> - Load common JavaScript libraries globally
> - Load Gadget features globally
> - Address some of the memory leak issues with iframes
> - Reduce the download size of the page
> - Reduce number of requests to server
> - Avoid iframe reloading when the gadgets are moved on the page
> Feature Request:
> Support Inline container in addition to IFrame container. There could be an API to render gadgets inline vs iframe. There are more observations in terms of namespace conflicts, duplicate JavaScript, and CSS loading, duplicate feature loading etc. We have a working patch on 2.0.0, but before we go too far with the implementation, I wanted get the thoughts from the community and see what you think about adding this feature to Shindig.
> Thanks in advance for the feedback.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.