Thursday Aug 02, 2007

Deploying portlets on OpenPortal Portlet Container

    Quite a few people have been posting queries about deploying JSR-168 portlets on the OpenPortal Portlet Container. I would like to elaborate on the various ways to deploy portlets on the OpenPortal Portlet Container now. Before you read further, you would need the OpenPortal Portlet Container to be installed. The installation instructions on the site are quite easy to follow and you should be up and running in a few minutes.

    There are now officially 3 different ways to deploy a JSR-168 portlet on the OpenPortal Portlet Container:

  1. Using the "Admin" tab in the Portlet Container Driver GUI, for web based interface.
  2. Using the ANT task, for command line interface.
  3. Using the autodeploy functionality, for a drag and drop interface :).

1. Portlet Container Driver "Admin" tab:

        After installing the Portlet Container, you can access the Portlet Container Driver at http://localhost:8080/portletdriver/dt (assuming default values for the host and server port). To deploy a portlet follow these steps :

  • Click on the Admin tab
  • Under the "Deploy a Portlet" section, click on the "Browse" button.
  • An explorer window is opened, using which select your Portlet war file.
  • Click on the "Deploy" button.
  • A message will be displayed indicating the success/failure of the deployment.

    Please note that a successful deployment means that the Portlet Container has been able to register the details, but it would take a brief amount of time for the war to be deployed on to the application server (based on the time in seconds set for the auto deployment to kick in. By default this is small, and it should be done in 3-5 seconds).

2. ANT task / CLI

      An ANT task is provided, for command line interface, to deploy portlets. You can invoke this task and pass the various parameters expected and the deployment will be done in a jiffy :). The following commands do the trick:

  • cd $PC_INSTALL_DIR/bin      (PC_INSTALL_DIR = GLASSFISH_HOME/domains/domain1/portlet-container)
  • ant -Dportlet-war=<portlet-war-file-path>deploy-portlet

       Well that's that really!


3. Auto-deploying portlets

         This is the easiest option of the three to use. Just copy your portlet war file to the $PC_INSTALL_DIR/autodeploy directory. As simple as that, and it will deploy your portlet! Please make sure that the server is running :)

So go ahead create those portlets (check out the Portal Pack Project for really cool and easy to use Netbeans plugin for creating Portlets) and deploy it on the OpenPortal Portlet Container and start using them.

PS: There is another way to deploy your portlets using Netbeans, and it is part of the Portal Pack Project and the site has screencasts on using the plugin to develop and deploy portlets. 



Tuesday May 08, 2007

Ruby on Rails Portlet on OpenPortal Portlet Container Project

    The long standing debate of Ruby on Rails vs. JavaEE applications will continue to stand for some time. But I believe in the notion of "If you can't fight them, join them". So Ruby guys, here is some good news for you. The OpenPortal Portlet Container Project  will soon support Ruby on Rails applications so that they can be treated on par with the JSR-168 portlets. So whether you are writing a Java portlet or a Ruby on Rails application, you can aggregate them using the OpenPortal Portlet Container.

    The ROR application is treated as a first class citizen by the OpenPortal. A new container implementation is provided so that the ROR application can be invoked by the OpenPortal. A ROR application can now be bundled in a Web Application Archive (war) due to the efforts of the Rails Integration project. To enable ease of use and minimal knowledge of Java/JavaEE a plugin on Netbeans 6 is developed. Netbeans 6 supports Ruby on Rails application development. The new plugin leverages the same so that with a few clicks a war which the OpenPortal Portlet Container can recognize.

    The screen cast for the development of the Ruby on Rails portlet can be found here. The screen cast shows how one can deploy and aggregate the now famous simple ROR blog application into the OpenPortal Portlet Container.

    If you are at JavaOne make sure that you check out the Sun's Portal booth where there are live demos of the same on display. So pretty soon you will be able to write your ROR application knowing that there is a Java Portal capable of aggregating your application with other java portlets, and sleep peacefully. :)

PS: If you are going to the JavaOne booth then say hi to Sandeep Soni who has contributed in a major way to get the ROR application in the OpenPortal Portlet Container project.

Sunday Mar 25, 2007

Ruby on Rails Portlet

    It has been an exciting week, with the prospect of integrating and running a Ruby on Rails application as a Portlet. As any Ruby fan would know, it is very easy to generate a web application on Rails with a few commands. So the next logical step was to see if we can somehow get a Portlet out of this web application. JRuby is a wonderfully powerful java implementation of Ruby and the Rails-integration project, which is a JRuby extras project helps in the integration of a Rails application with a Servlet container. 

    There is a plugin provided by the Rails integration project, which creates a war out of a Rails application. This war can be deployed on say Glassfish as a web application and can be used as any normal Java EE web application. For more details of how to do this, check out Ashish's blog entry

    So it appeared that there was an existing way to get a Java EE web application. So we used the Portal pack Netbeans plugin to create a Portlet application. We then made sure that the appropriate doXXXX() methods did a Request Dispatch to the rails application by providing the url of the controller and action needed to perform. For instance, using the famous Cookbook Ruby on Rails application, the doView() would be appropriately taking the user to the list of Recipes and so on. As of now this seems to work fine. This is still work in progress, but the presence of JRuby and Rails-integration projects has made the creation of a Portlet a lot easier. Right now this has been working on the Open Source Portlet Container on

    Next steps would be :


  1. Provide Portlet urls instead of direct rails urls so that every request appropriately goes through the Portlet Container.
  2. Check the statefulness, i.e., session management.
  3. Provide a flash demo of the entire process of converting a Ruby on Rails application into a Portlet application, and make it run on the Open Source Portlet Container.
Check this space for more on this, in the coming days.


Sunday Jan 21, 2007

Portlet Container on Tomcat

The Enterprise class Portlet Container can now be installed and used with Tomcat. The installation instructions are available on the site and can be accessed at this link. Please try it out. If you face any problems do let us know.

Friday Dec 15, 2006

Portlet Container now part of the Application Platform SDK

The Enterprise Class Portlet Container on is available as part of the Java Application Platform SDK Update 2. You can download the App SDK at this link. The Portlet Container can be accessed on here. Right now kudos is in order for the portlet container team for a great job!

Please check out Deepak's blog providing details of the same. 




« February 2017