Monday, November 27, 2006

Linking Multiple SVN Repositories

Semi-autonomous SVN repositories can be linked together, so you can avoid monolithic repository setups. See chapter and verse of the SVN red bean book for instructions.

Monday, November 20, 2006

Maven 2 and Eclipse

Here's some info courtesy of Mehmet A. Nacar on using Maven 2 in eclipse:

There is a maven2 eclipse plugin available at http://m2eclipse.codehaus.org/ or http://maven.apache.org/eclipse-plugin.html.

You can see a demo of what it can do here: http://m2eclipse.codehaus.org/Maven_2.0_Plugin_for_Eclipse.html

Thursday, November 09, 2006

Testing Portlets with HttpUnit, JMeter, and Maven

I wrote up a guide for testing portlets with HttpUnit + Maven and with JMeter. Get it from here.

HttpUnit is good for automated build testing, and JMeter is a powerful way to hammer your portal.

I based the HttpUnit code examples on stuff that Marcus Christie wrote.

I note he is also using MY blog template.

Monday, November 06, 2006

Goodbye Hollow World

As you can tell, the blog name has changed but the URL is the same. The old name, "Hollow World", was a pun based on the ubiquitous use of "hello, world" examples when learning new programming languages, development environments, etc.

Sunday, November 05, 2006

Friday, November 03, 2006

JSF Portlets with MyFaces Portlet Bridges, and

I've had reasonable luck building JSF JSR 168 portlets with the Apache Portlet Bridge in GridSphere. I've experimented with this in Jetspeed2, should work generally. I like to start with a standalone JSF application, get it to work, and then (with a little fussing around with config files) convert it to a portlet.

There is a Maven 2 MyFaces project archetype that is described nicely (by Evan and Martin--you know who you are) on our VLAB Wiki.

As a starting point, here are standalone Maven 2 pom.xml and web.xml files. These will be generated by the nice archetype.

After you have gotten your app working in standalone mode, you are now ready to convert it into a portlet. Some of these details will be specific to the container you are using, but in general you will need to

  1. Create a portlet.xml file, placed in WEB-INF

  2. Modify pom.xml to add the necessary portlet and bridges jars to your dependencies.

  3. Modify web.xml as required by your container. For Gridsphere we will need to do this by hand but other containers (Jetspeed2, uPortal are two) will do automatically convert your web.xml when you deploy.


Here are the details. First, add the following dependencies to your POM:

<!-- Portlet Dependencies -->
<dependency>
<groupId>javax.portlet</groupId>
<artifactId>portlet-api</artifactId>
<version>1.0</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.apache.portals.bridges</groupId>
<artifactId>portals-bridges-commons</artifactId>
<version>1.0</version>
</dependency>

<dependency>
<groupId>org.apache.portals.bridges</groupId>
<artifactId>portals-bridges-jsf</artifactId>
<version>1.0</version>
</dependency>

A full example of pom.xml for the portlet is here..

For GridSphere, we need to add the following xml snippet to the web.xml:

<servlet-mapping>
<servlet-name>PortletServlet</servlet-name>
<url-pattern>/jsr/RDAHMM-portlet</url-pattern>
</servlet-mapping>

A full example of the portlet's web.xml (for GridSphere) is here.

Thursday, November 02, 2006

Maven Archetype for JSF

Evan Bollig has some nice notes on a Maven archetype for Java Server Faces webapps:

http://www.gorerle.com/vlab-wiki/index.php?title=JavaServerFaces-Archetype