Discovering Portals - Jetspeed with Tomcat
Lately I have been evaluating numerous different portals on the Market. BEA, IBM, CHEF, Jetspeed and a few others. This is just an overview of some specific issues and annoyances I had with the install. Overall this was easy to get up and running!
I did all this work on my laptop WinTel. The lab is currently down since I moved and well I 'm lazy and haven't gotten a chance to get it back up. My Linux laptop is hard down; I think the memory died so if you’re reading this and have 512MB of ram for an Inspiron 8200 let me know!
Back to business, so the environment is windows XP, 2.8Mhz and 1GB of ram. The database I wanted to use was mysql so created a db where I have some mysql installs on the net and set a user/password. Basic locked down mysql instance is fine; the installer will create all the tables for you.
So I downloaded Jetspeed2.0-MultiDb-install.jar from the Apache Portal site. As I noted I wanted to use mysql so I needed the MultiDb installer. I needed to install ant and Maven since this laptop is only really used for email and a few other MS projects I have going on. I used the windows binary for those as well. Once that was complete and installed I kicked off the jar installer.
java -jar Jetspeed2.0-MultiDB-install.jar
During the installed (basically a next=>next=>Finish deal) it did ask for the database information. I also opted out of all the demo apps. I have a really nice "Hello World Portlet" I want to deploy. For mysql you need the following:
-username/password
-the connection url:jdbc:mysql://servername:port/databasename
-the driver: com.mysql.jdbc.Driver
-and the path to the driver file.
With the mysql java connector version 5.0 the install failed. I looked at it for about 3 minutes and decided I was going to use the version 3.0.1 which I use in a number of applications with mysql. Once I changed that the install went fine and completed in about 3 minutes.
The installer sets up tomcat for you in a very basic mode. You could load it up right away and tomcat will start. Doing this I had a few issues though.
One was JAVA_HOME was not set! Easy fix - I just set the environment variable for windows to fix this.
The second was when I started tomcat it could not deploy any portlets. This was due to the fact that in /conf/tomcat-users.xml the password for j2deployer was different than what was under /webapps/jetspeed/WEB-INF/conf/jetspeed.properties. I know I didn't set it in either place, so why the defaults were different out of the box is unknown to me. It’s not like its any more or less secure, it’s a default password! I set the passwords the same and closed that issue. I restarted tomcat.
The third issue is now when I start my portal I get all these errors:
"Title Error: Cannot pass a null PortletDefinition to a PortletEntity". Looking at the portlet section below it, gives me some more information. "Failed to retrieve Portlet Definition for demo::IFramePortletFailed ..." This clearly shows that even though I unchecked all of the demo applications during the install, it decided to leave some junk around which deals with the demo app. This is also an easy fix, just annoying! You can just edit the default-page.psml file inside the war or do it from the Admin Portlets, Page layout.
The fourth annoyance is again due to these demo portlets. I have all these tabs at the top of my portal. Petstore, JSF demo. Why do these guys like the demos so much? So I login to the admin, select admin portlets on the left, Click on the Portal Site Manager tab and started to delete away.
Finally I got my portal down to a stripped down version, no demos pure nuts and bolts.
I deployed my Hello World portlet just by dropping it into the deploy directory. The change was reflected in about a minute without a restart. This was great, in the past I have worked with WebSphere portal and that.. you know what I'll save that painful discussion for another time.
Since this was so easy to get up and going I am going to attempt to get it installed with WebSphere 5.1 ND edition. It says the WebSphere 5 platform is supported, but the wiki page is kinda bogus.
Read more!