By David Botterill on Sep 20, 2005
For those of you using the new portlet development feature of Creator, you've probably noticed that the "Pluto":http://portals.apache.org/pluto/ portlet container is deployed each time the portlet application is deployed.
Let me explain why I made this design choice.
The "Pluto":http://portals.apache.org/pluto/ driver, the code that wraps the "Pluto":http://portals.apache.org/pluto/ portlet container, doesn't support “hot” deployment of portlets. This means if you change the Pluto driver configuration on the fly, "Pluto":http://portals.apache.org/pluto/ won't pick it up. There has been code contributed to the "Pluto":http://portals.apache.org/pluto/ project that will allow you to force this with a HTTP get command.
In Creator EA2, the Pluto driver configurations are set each time a deploy is done. Then "Pluto":http://portals.apache.org/pluto/ is deployed with the possibly-changed configuration each time. So why don't we check to see if anything is changed before we bother to deploy again? I thought about doing this but since the actual deployment only takes a few seconds, I thought the extra processing wasn't worth it.
Much of this design assumes that the developer is OK with one portlet per project and one portlet deployed at a time in Pluto. If you can document some interesting and real use cases to prove this assumption is wrong, please email me directly or comment on this entry. Keep in mind that most developers will be developing for a \*different\* portal than "Pluto":http://portals.apache.org/pluto/ . Hence, showing multiple portlets in "Pluto":http://portals.apache.org/pluto/ won't really give an accurate representation of the end product.
Let me also explain the “Initializing Portlet Container. Please wait...” entry. The very first time you deploy a portlet, the Pluto container is initialized to your user environment, specifically your user directory. Pluto will be in the directory “portletcontainer” under your user directory after the first deploy. If you ever erase your user directory and deploy a portlet, you'll see the above message again.