You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@rave.apache.org by Andreas Guth <an...@rwth-aachen.de> on 2013/05/25 03:56:16 UTC

Review Request: Added Support for remote Interwidget Communication in shared Pages

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/11421/
-----------------------------------------------------------

Review request for rave.


Description
-------

With this patch widgets are able to interact with widgets on shared Pages that are viewed by multiple people at once.

There is a short video showing the interaction of widgets between two browsers available at http://youtu.be/iw6RSI1T7nM (watch with annotations on)

For anyone who wants to try this out, there is also a manual describing the necessary steps to get this running and what you can do with it. That includes the setup of a XMPP server that is necessary for this implementation as well as the configuration of the Rave server and creation of widgets that use remote IWC. It is available at http://dbis.rwth-aachen.de/gadgets/rave/iwc.manual.pdf

This implementation of remote IWC is build upon the OpenAjax IWC that is used in the OpenAjax Subscriber and Publisher widgets that are included in the Apache Rave widget store. Because of that widgets that already use IWC will require only minimal to no changes to work with remote IWC. (None in the case of the two mentioned widgets).

As already mentioned remote IWC is realized with the help of XMPP. In the browser a special branch of StropheJS is used that supports BOSH and Websocket connections. To publish and deliver IWC messages between
clients the pubsub extension for XMPP is used.

The code for this has been contributed from the ROLE Project[1] and I'm hoping that this patch can be merged into the Apache Rave project, so it would be great if some of you could test this patch and tell me what you think of it. Comments are very welcome.


Diffs
-----

  trunk/rave-components/rave-core-api/src/main/java/org/apache/rave/model/User.java 1486260 
  trunk/rave-components/rave-core/pom.xml 1486260 
  trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/model/impl/UserImpl.java 1486260 
  trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/IWCService.java PRE-CREATION 
  trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultIWCService.java PRE-CREATION 
  trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultNewAccountService.java 1486260 
  trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/DefaultPageService.java 1486260 
  trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/xmpp/Intent.java PRE-CREATION 
  trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/xmpp/OwnerAffiliation.java PRE-CREATION 
  trunk/rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/xmpp/OwnerAffiliationsExtension.java PRE-CREATION 
  trunk/rave-components/rave-core/src/test/java/org/apache/rave/portal/service/impl/DefaultNewAccountServiceTest.java 1486260 
  trunk/rave-components/rave-core/src/test/java/org/apache/rave/portal/service/impl/DefaultPageServiceTest.java 1486260 
  trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/JpaUser.java 1486260 
  trunk/rave-components/rave-jpa/src/main/java/org/apache/rave/portal/model/conversion/JpaUserConverter.java 1486260 
  trunk/rave-components/rave-mongodb/src/main/java/org/apache/rave/portal/model/conversion/impl/MongoDbUserConverter.java 1486260 
  trunk/rave-components/rave-web/src/main/java/org/apache/rave/portal/web/api/rpc/IWCApi.java PRE-CREATION 
  trunk/rave-portal-resources/src/main/resources/db/initial-data.json 1486260 
  trunk/rave-portal-resources/src/main/webapp/WEB-INF/tags/rave_js.tag 1486260 
  trunk/rave-portal-resources/src/main/webapp/static/script/core/rave_api.js 1486260 
  trunk/rave-portal-resources/src/main/webapp/static/script/core/rave_core.js 1486260 
  trunk/rave-portal-resources/src/main/webapp/static/script/core/rave_opensocial.js 1486260 
  trunk/rave-portal-resources/src/main/webapp/static/script/portal/rave_iwc.js PRE-CREATION 
  trunk/rave-portal-resources/src/main/webapp/static/script/portal/strophe.js PRE-CREATION 
  trunk/rave-portal-resources/src/main/webapp/static/script/portal/strophe.pubsub.js PRE-CREATION 

Diff: https://reviews.apache.org/r/11421/diff/


Testing
-------


Thanks,

Andreas Guth