You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@rave.apache.org by Gonzalo Aguilar Delgado <ga...@aguilardelgado.com> on 2013/07/01 09:18:16 UTC

Re: Inter-Widget communication. Is this possible?

Hi Scott,

Thank you a lot for your directions. I will take a look. It looks quite 
interesting since W3C wookie widgets are loaded in a IFrame that cannot 
access the main page.

So a widget that's loaded by Rave will not be able to access anything 
inside that main page. I'm curious about how Rave circumvents this.

Thank's again, and best regards,


El 28/06/13 10:52, Scott Wilson escribió:
> W3C Provider module in Rave


Re: Inter-Widget communication. Is this possible?

Posted by Scott Wilson <sc...@gmail.com>.
On 1 Jul 2013, at 08:18, Gonzalo Aguilar Delgado wrote:

> Hi Scott,
> 
> Thank you a lot for your directions. I will take a look. It looks quite interesting since W3C wookie widgets are loaded in a IFrame that cannot access the main page.
> 
> So a widget that's loaded by Rave will not be able to access anything inside that main page. I'm curious about how Rave circumvents this.

I believe the current version uses "fragment identifier messaging" (FIM) as a lowest-common-denominator x-frame signalling method, although there are some other transport mechanisms (Flash components, HTML5 messaging etc). Basically it mutates location.href to put the message metadata into a URL fragment.

More here:

http://www.openajax.org/member/wiki/OpenAjax_Hub_2.0_Specification

Sadly FIM also messes up other technologies that use fragment identifiers, such as JQuery Mobile:

https://issues.apache.org/jira/browse/RAVE-772

> 
> Thank's again, and best regards,
> 
> 
> El 28/06/13 10:52, Scott Wilson escribió:
>> W3C Provider module in Rave
> 


Re: Inter-Widget communication. Is this possible?

Posted by Gonzalo Aguilar Delgado <ga...@aguilardelgado.com>.
Hi Christian,

Thank you a lot for your directions. I think I have enough information 
to take a look.

Kindest regards,

El 02/07/13 09:59, Christian Fischer escribió:
> Hi Gonzalo,
>
> For Shindig look at this:
>
> \shindig\features\src\main\javascript\features\container.site.gadget\gadget_holder.js
>      osapi.container.GadgetHolder.prototype.render = function(gadgetInfo,
>      viewParams, renderParams) {
>        this.iframeId_ = osapi.container.GadgetHolder.IFRAME_ID_PREFIX_ +
>            this.site_.getId();
>        this.gadgetInfo_ = gadgetInfo;
>        this.viewParams_ = viewParams;
>        this.renderParams_ = renderParams;
>      //  if (this.hasFeature_(gadgetInfo, 'pubsub-2')) {
>      //    this.doOaaIframeHtml_();
>      //  } else {
>      //    this.doNormalIframeHtml_();
>      //  }
>        this.doOaaIframeHtml_();  // Always use OpenAjax Iframes
>      };
>
> For wookie at the moment I don't excactly know the source for this, 
> but have a look at
> \wookie-snapshot\src\org\apache\wookie\util\html\StartPageProcessor.java
> under the section
> private void addFeatures(IHtmlProcessor engine,W3CWidget model) (...)
> there, the Feature where added to the widgets/containers and thus, 
> also a special iframe should be used. Again: read the OpenAjax 
> Documentation ;)
>
> BTW: its useful to build a sparate/individual wookie and shindig build 
> for rave to understand the workflow (for me it was so).
>
> Greets, Christian
>
> Am 01.07.2013 09:18, schrieb Gonzalo Aguilar Delgado:
>> Hi Scott,
>>
>> Thank you a lot for your directions. I will take a look. It looks 
>> quite interesting since W3C wookie widgets are loaded in a IFrame 
>> that cannot access the main page.
>>
>> So a widget that's loaded by Rave will not be able to access anything 
>> inside that main page. I'm curious about how Rave circumvents this.
>>
>> Thank's again, and best regards,
>>
>>
>> El 28/06/13 10:52, Scott Wilson escribió:
>>> W3C Provider module in Rave
>>
>


Re: Inter-Widget communication. Is this possible?

Posted by Christian Fischer <c....@cs-hertwig.de>.
Hi Gonzalo,

For Shindig look at this:

\shindig\features\src\main\javascript\features\container.site.gadget\gadget_holder.js

    osapi.container.GadgetHolder.prototype.render = function(gadgetInfo,
    viewParams, renderParams) {

      this.iframeId_ = osapi.container.GadgetHolder.IFRAME_ID_PREFIX_ +

          this.site_.getId();

      this.gadgetInfo_ = gadgetInfo;

      this.viewParams_ = viewParams;

      this.renderParams_ = renderParams;

    //  if (this.hasFeature_(gadgetInfo, 'pubsub-2')) {

    //    this.doOaaIframeHtml_();

    //  } else {

    //    this.doNormalIframeHtml_();

    //  }

      this.doOaaIframeHtml_();  // Always use OpenAjax Iframes

    };


For wookie at the moment I don't excactly know the source for this, but
have a look at

\wookie-snapshot\src\org\apache\wookie\util\html\StartPageProcessor.java

under the section

private void addFeatures(IHtmlProcessor engine,W3CWidget model) (...)

there, the Feature where added to the widgets/containers and thus, also
a special iframe should be used. Again: read the OpenAjax Documentation ;)

BTW: its useful to build a sparate/individual wookie and shindig build
for rave to understand the workflow (for me it was so).

Greets, Christian

Am 01.07.2013 09:18, schrieb Gonzalo Aguilar Delgado:
> Hi Scott,
>
> Thank you a lot for your directions. I will take a look. It looks
> quite interesting since W3C wookie widgets are loaded in a IFrame that
> cannot access the main page.
>
> So a widget that's loaded by Rave will not be able to access anything
> inside that main page. I'm curious about how Rave circumvents this.
>
> Thank's again, and best regards,
>
>
> El 28/06/13 10:52, Scott Wilson escribió:
>> W3C Provider module in Rave
>