This portlet is used to deploy new portlet applications to Pluto packaged
in a war file. Deployment involves unzippling the war file into
Pluto's webapps directory and adding records to the
registry files located in
Redeployment of previously deployed portlets can be done, but the results can be somewhat flaky due to caching of portlet content by the Pluto portal. To redeploy select the war file with its new contents using the Browse button and click Submit. The new war file will be uploaded, but no changes will be made to the porletentityregistry.xml or portletcontexts.txt. You should skip the following two pages that set page layout because they cannot be changed at this time.
Once the portlet has been redeployed, the Tomcat console (standard output) should show a 'Reloading context' message. This indicates that the deployment is done. If that does not occurr, we have found that clicking on the Admin link in Pluto's menu helps refresh the cache. Then you can click on the portlet's link in the Pluto portal. If the portlet is not refreshed, try clearing your browser cache and/or restarting Pluto. Pluto's portal, which uses Tomcat, also contains a cache of the portlet contents within its 'work' directory. This can be deleted after the portal is shutdown to clear the old content.
The main problem with deployments using the Deploy War Portlet has to do with an improperly formatted portlet.xml file. The deployment process validates portlet.xml against the official XML schema. This schema validation checks portlet.xml for the required XML elements and the order of those elements specified by the schema. See PLT.21.5 in the JSR-168 specification for details on the XML schema for portlet.xml.
In order for the XML Schema validation to occur correctly, the portlet.xml file must have a root element
(web-app) with all the proper attributes. The following is an example of a correct web-app element:
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
There is a know bug in the Deploy War Portlet where certain elements are not properly transferred to the new web.xml file created with the ServletPortlet references. If your portlet is erroring out, check your original web.xml file (you'll find a copy of the war in the temp dir) and make sure the web.xml deploymed in webapps/[context]/WEB-INF carried over all the elements from the original web.xml. If not, manually move the missing elements from the original web.xml to the deployed one.