« I18N in Struts/JSTL | Main | JetSpeed - JBoss »

JetSpeed - WebLogic

Today's adventure in programming is with another one of the Jakarta projects - Jetspeed - an open source "enterprise information portal". And as with all other J2EE open source projects, this one begins with configuration nightmares. But the good news is that eventually I got the basics working. For the possible benefits of others and to hammer this into my memory, a recap follows.

A good way to start is to look for a Jetspeed tutorial on the web - and Sunrise seemed to have a pretty good one here. Of course, it assumes that you have installed Jetspeed, so I found those instructions at the Jakarta site, located here. And, for the first time ever, I figured I would actually build the required .war file from source, rather than just downloading a pre-built.
So I took the source and managed to import it into Eclipse - but attempts to build were not successful as thousands of error messages were generated. Took a while, but eventually I tried building it outside of Eclipse - and that went smoothly. So now I had a .war file and I figured I could just drop into into the "applications" directory. And, for a brief shining moment, things looked OK - as the Jetspeed portal showed up at http://localhost:7001/jetspeed, with only a DTD error message in the log:

I believe that message is harmless.

However, when I tried to do anything in the portal, it crashed WebLogic (by the way, that was still running from inside Eclipse). And I was getting error messages that looked like:
Weblogic.utils.io.FilenameEncoder$UnsafeFilenameException: C:\bea\user_projects\domains\mydomain\applications\jetspeed\. ends with illegal character

More research on the web, especially here indicated that a .war deployment wouldn't work - it has to be an expanded directory deployment. So, I did that - and it still didn't work - problems such as "Can't load file null/WEB-INF/conf/TurbineResources.properties" remained.

But then I found one more piece of information - the Turbine.Properties file (located in WEB-INF/conf) needed to be modified as follows:

TurbineResources.properties
services.UploadService.repository=.
Try modifying this reference to
services.UploadService.repository=${webapp}/WEB-INF/tmp

And then I was sure it was going to work. But it didn't. The Jetspeed portal would come up, but attempts to use it would break (and I would get numerous log4j errors). But then I tried starting WebLogic outside of Eclipse - and it all worked.

Conclusions:
* Jetspeed will work on WL 8.1
* Do NOT run WL 8.1 from inside of Eclipse - that is just inviting disaster - in fact, it is entirely possible that that was the root cause of all my problems.
* But information on the web suggests that the exploded directory deployment is required. If I do any further testing on this, I will post the results here.

Follow-up:
I tried starting from scratch using WL outside of Eclipse. After changing two TurbineResources.Properties files and rebuilding the war, I tried a war deployment. But I ran into:
java.io.FileNotFoundException: null\WEB-INF\conf\TurbineResources.properties (The system cannot find the path specified)
at java.io.FileInputStream.open(Native Method)
And since others have run into this problem and stated it is due to the war deployment, I am going to give up on this approach and go back to the expanded directory deployment that was working.

Environment:
WebLogic 8.1
JDK 1.4.1 (I think - it is the one bundled with WL 8.1)
Eclipse 2.1.2
Jetspeed 1.4 (Final release)

Comments

An update....
It is possible to run Jetspeed/WL 8.1 from within Eclipse. The steps were:
1. Unzipping the source distribution into:
C:\eclipse\workspace\jetspeed-1.4
2. Starting Eclipse and creating a project with the name jetspeed-1.4 (to match the directory above)
3. Setting the src folder to src/java
4. Setting the output folder to bin/classes
(thanks to Holger Dewes for 3 and 4).

After that it works just fine - builds from within Eclipse and Ant are no problem.

Now the adventure begins to write some portlets.
2. Setting the src and output folders the way you suggested.

Laura:
All the comments are dated - usually at the top and bottom - the original Jetspeed posting was Jan 8, 2004.

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)