Question

I've been asked to look into Apache Rave with a view to creating a portal that displays our own widgets and some free social widgets (news and suchlike).

I installed JDK 1.6 and downloaded the Rave 0.1.8 binary zip file from http://rave.apache.org/downloads.html and have been having trouble getting it to work on Windows 7.

I can login to the portal (on localhost:8080), but the open social gadgets don't display in either IE8 or Firefox 10 and am getting 504 connection refused for all. Do I need to configure a proxy somewhere? (I'm on a company network that connects to the internet via a proxy.).

I'm finding it's very slow to execute requests.

Additionally, in IE8 when I try to rename the "Main" tab and/or change its layout I get a javascript error(Object expected ifr) something to do with the youtube widget. I removed the youtube widget but am still getting the error. Renaming and changing the layout works in Firefox.

Finally, I'm new to this and confused about all the architecture. I know tomcat is the web server, but I have no idea what Rave and Shindig and Spring are, nor Maven, nor whether I even need Maven (I installed it because the Rave documentation said to, but I think the demo is self contained). I'm having trouble finding any resources that clearly explain everything, the Apache documentation is contradictory in places and doesn't seem to be aimed at beginners. Any help appreciated.

Was it helpful?

Solution

I will try to address all of your issues below. One thing to be aware of, Rave, as with most Apache projects has a users list that is monitored by the developers. In the future, you should be able to find help there fairly easily. It would also be very helpful to the team to find out where the holes/issues are in the documentation so that it can be improved for everyone.

One thing to note right off the bat, the demo binary is just that; a demo. It is recommended that you run the wars in their own Tomcat containers (can be on different hosts) for a production deployment.

If you are behind an non-transparent proxy, you will need to configure the JVM to use it by following these steps:

  1. Open a command window
  2. Navigate to the directory where you extracted Rave
  3. execute SET CATALINA_OPTS=-Dhttp.proxyHost=yourproxy.yourdomain.tld -Dhttp.proxyPort=yourproxyport -Dhttp.nonProxyHosts="localhost|127.0.0.1|yourdomain.tld"
  4. Start Rave by executing .\bin\startup.bat

Normally, I run the demo on Linux or OSX, but I just ran it in Windows and found that you might need to delete .\temp* before you can run it again.

This should set the proxy and allow Shindig to render the gadgets.

As for the slowness, the demo portal uses the file-based version of h2. This is a very slow database and should only be used for evaluation purposes. Rave can be configured to run against most other SQL database, such as MS SQL Server, MySQL & Oracle.

A MongoDB module should also be in place before 0.19 is released.

As for the renaming issue, I was not able to reproduce it. It is possible it is related to the OpenSocial Gadgets failing to render.

A simple explanation of the architecture is that Rave is generic widget engine that is packaged as a war (portal.war). This war delegates to various widget providers to render widgets. The two providers supported by the project directly are OpenSocial via Apache Shindig, which Rave has customized slightly and packaged as a separate war (rave-shindig.war), and W3C widgets via Apache Wookie, in its original war (wookie.war). Each of these wars run in a Servlet container, like Apache Tomcat.

Spring is the primary Inversion of Control mechanism used by Rave. The Rave project also has a Spring/Guice bridge included in the rave-shindig project in order to simplify overriding Shindig beans with their Rave versions so developers can share common repository definitions between the portal & Shindig. You can develop Spring beans that implement the various Rave interfaces and inject them by creating your own application context and marking them primary.

The project recommends downloading Maven as most users of Rave will end up customizing some aspect of it. Some basic recipes for customization can be found in the documentation; which needs improvement.

Hope this helps.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top