On 3 Sep 2012, at 16:30, Christian Fischer wrote: > Am 02.09.2012 18:54, schrieb Scott Wilson: >> On 2 Sep 2012, at 17:08, Christian Fischer wrote: >> >>> Am 01.09.2012 11:54, schrieb Scott Wilson: >>>> On 1 Sep 2012, at 09:20, Christian Fischer wrote: >>>> >>>>> Hi all, >>>>> >>>>> Does anyone know how to make shure that the OpenAjax "hub" Instance of a >>>>> wookie-iframe-widget is ready and already connected before any user >>>>> defined scripts are executed inside the widget? >>>>> >>>>> _Sometimes_ it throws the following ErrorMessage then i'm subsribing to >>>>> channels by loading the widget. >>>>> >>>>> Uncaught Error: OpenAjax.hub.Error.Disconnected >>>>> >>>>> For OpenSocial Widgets it's not a problem - these widgets are waiting >>>>> until the hub is ready, but wookie not? >>>> Yes thats right - I don't know what mechanism is used in Shindig for this >>>> but it would make sense to replicate it in Wookie. >>>> >>>> The relevant part of the Wookie feature is this: >>>> >>>> http://svn.apache.org/viewvc/incubator/wookie/trunk/features/openajax/ >>> OK, is there a howto to get the wookie sources into the rave maven project? >>> I'm not familiar with maven. >>> What must i do to get the wookie sources into my project to use the Custom >>> Build instead of the wookie-war wich comes with the rave-project? >> OK, so first you need to change the Wookie version you build Rave with; to >> do this, in rave-project/pom.xml change: >> >> <apache.wookie.version>0.10.0-incubating</apache.wookie.version> >> >> to: >> >> >> <apache.wookie.version>0.13.0-incubating-SNAPSHOT</apache.wookie.version> >> >> Next, you need to publish your custom Wookie build locally. You can do this >> from the root of your Wookie source folder using: >> >> ant publish-local >> >> This will create a 0.13.0-incubating-SNAPSHOT war in your local Maven >> repository (e.g. in ~/.m2/repository/org/apache/wookie) >> >> Note however I've seen a bug in Ivy/Ant where this is cached rather than >> updated when you make changes, so you may need to delete it then re-publish >> whenever you make changes (which is a pain) >> >> If you just want to try out some JavaScript changes interactively, you can >> run Rave, then go into rave-portal/target/tomcat6x/webapps/wookie/features >> and edit OpenAjaxClient.js. You can then see the effects just by reloading >> to clear the browser cached version. When you're happy you've got a good >> working solution, you can copy it into your source folder then follow the >> steps above to try it as part of a new build. >> >> Hope this helps, >> >> -S > Hi Scott, > > thanks for the instructions - it worked. > For the wookie widgets there are only OpenAjax Iframe Container for > displaying the widgets whereas Shindig loads some other components. > I have cusomized the wookie/features/openajax/feature.xml and commented out > the OpenAjaxClient.js > Then, connect manually inside the widgets taking care of the callback > function from the openajaxhub. > Then the connection is ready, it calls automatically my defined function > which subsribes to the needed topics. > > this.connect = function(){ > if(typeof window.hub === 'undefined'){ > window.hub = new OpenAjax.hub.IframeHubClient({ > HubClient: { > onSecurityAlert: function(){ > console.log("OpenAjax Security Error!"); > } > } > }); > > // Connect to the ManagedHub with callback function for > asynchronous communication > window.hub.connect(conn.callbackOnConnect); > } > else console.log("OAHub: Hub already defined."); > } > > this.callbackOnConnect = function(hub, success, error){ > if(success){ > console.log("OAHub: Connection successfully > established. "); > ConnectionCallBackFunction(); // myfunction > } > else console.log("OAHub: Connection failed."); > } > > > For general usage, i think we must use the callback function to wait until > the hub is connected and after that load the content for the window. > Has someone an idea how to implement this properly, clean and nice into rave > :) (rave_wookie.js)?
Hi Christian, I've checked in an update to the Wookie feature based on your code - thanks! - plus I added queuing any pub/sub actions made before the hub is ready then executing them. Its in the Wookie trunk, and will be in the 0.13 release. S > >>>>> Thanks, >>>>> Christian >
