DeployMyPortlet.xml
<request
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="PortalConfig_1.2.xsd"
type="update"
create-oids="true"
>
<portal action="locate" >
<!-- install test portlet -->
<web-app action="update" active="true" uid="mypackage.Jsr286EventPublisherPortlet" >
<url>file:///C:/chaos tools/JSR 286/test/sender/chaoSender.war</url>
<portlet-app action="update" active="true" uid="mypackage.Jsr286EventPublisherPortlet.1">
<portlet action="update" active="true" name="Jsr286EventPublisherPortlet" objectid="mypackage.Jsr286EventPublisherPortlet" >
<access-control>
<role actionset="User" update="set">
<mapping subjectid="all authenticated portal users" subjecttype="USER_GROUP" update="set"/>
</role>
</access-control>
</portlet>
</portlet-app>
</web-app>
</portal>
</request>
# part from build.xml to deploy war file to portal server
<project>
....
<property name="warName" location="C:/chaos tools/JSR 286/test/sender"/>
<property name="portal.base" location="C:/ibm/WebSphere6/PortalServer" />
<target name="deploy" description="deploy the application">
<copy file="${warName}/chaoSender.war" todir="C:/ibm/WebSphere6/wp_profile/installableApps" />
<echo message="Deploying war to WebSphere Portal." />
<exec executable="${portal.base}/bin/xmlaccess.bat">
<arg line='-in "${warName}/DeployMyPortlet.xml" -user "wasadmin" -pwd "password" -url http://127.0.0.1:10043/wps/config ' />
</exec>
</target>
</project>
Understand Portlet key words
PortletConfig - defined in portlet.xml such as name, view mode support, per Abstract portlet, not changable
portletContext - interface to understand container
portletSetting - per concret portlet
portletApplicationSetting - shared between concret portlet
PortletData - belongs to each user.
Portlet key object and scope