[ http://issues.apache.org/jira/browse/PB-30?page=all ]
Edgar P. Dollin updated PB-30: ------------------------------ Attachment: ServletContextProviderImpl.java Servlet Context Provider for Pluto > Documentation of Configuration in Pluto > --------------------------------------- > > Key: PB-30 > URL: http://issues.apache.org/jira/browse/PB-30 > Project: Portals Bridges > Type: New Feature > Components: struts > Versions: 0.3 > Environment: Pluto 1.0.1 / Tomcat 5.5.9 > Reporter: Edgar P. Dollin > Priority: Minor > Attachments: ServletContextProviderImpl.java > > I got the Pluto / Struts connection working. It is a little bit tricky. > As we already discussed, all mappings have to begin with a /. I am not sure > if this is a limitation in Pluto. > There need to be two servlets in web.xml. The first servlet is basically a > servlet to run the struts portlet. All portlet based actions must run > through this servlet. The portlet-class is the StrutsPortlet class and the > portlet-guid is configured in the particular portlet container config files. > I will give you our example later. > <servlet> > <servlet-name>StrutsPortlet</servlet-name> > <display-name>StrutsPortlet Wrapper</display-name> > <description>Struts Action Wrapper</description> > <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class> > <init-param> > <param-name>portlet-class</param-name> > > <param-value>org.apache.portals.bridges.struts.StrutsPortlet</param-value> > </init-param> > <init-param> > <param-name>portlet-guid</param-name> > <param-value>clientrac.ClienTrac</param-value> > </init-param> > </servlet> > The second servlet is the struts-bridge PortletServet servlet with the > standard struts params. > <servlet> > <servlet-name>action</servlet-name> > <display-name>Struts Portlet Servlet</display-name> > > <servlet-class>org.apache.portals.bridges.struts.PortletServlet</servlet-class> > <init-param> > <param-name>config</param-name> > <param-value>/WEB-INF/struts-config.xml</param-value> > </init-param> > <load-on-startup>1</load-on-startup> > </servlet> > The servlet mapping is the tricky part. Anything running through the portlet > container needs to map to the Portlet Servlet (ctp stands for > ClienTracPortlet). > <servlet-mapping> > <servlet-name>StrutsPortlet</servlet-name> > <url-pattern>/ctp/*</url-pattern> > </servlet-mapping> > The struts action mapping is used to find the struts action servlet. This > will be referenced below. (cta stands for ClienTracAction). > <servlet-mapping> > <servlet-name>action</servlet-name> > <url-pattern>/cta/*</url-pattern> > </servlet-mapping> > The portlet.xml file must reference the struts action in the ViewPage (or > edit, help pages). It is using your servlet context provider and the /cta/* > mapping. > the /cta mapping would also be used in login.jsp. I have to run some tests > to determine the format of the action url's in struts jsp files. > <portlet> > <description>ClienTrac Rental Real-Estate Tracking System</description> > <portlet-name>ClienTrac</portlet-name> > <display-name>ClienTrac Rental Real-Estate Tracking System</display-name> > > <portlet-class>org.apache.portals.bridges.struts.StrutsPortlet</portlet-class> > <init-param> > <name>ServletContextProvider</name> > > <value>com.fb2corp.salamis.ui.bridges.struts.ServletContextProviderImpl</value> > </init-param> > <init-param> > <name>ViewPage</name> > <value>/cta/user</value> > </init-param> > <expiration-cache>0</expiration-cache> > <supports> > <mime-type>text/html</mime-type> > <portlet-mode>VIEW</portlet-mode> > </supports> > </portlet> > In pluto there are three files which determine the portlet configuration. > The lead file is portletcontents.txt. This is a list of contexts which have > registered portlets. > /testsuite > /pluto > /clientrac > Next is the pageregistry.xml. This determines the initial layout of the page > of portlets. You will see references in the log to > row_col1_p3 as this is key to access the portlet. The 7.0 is the link to the > portletentityregistry.xml > <portal> > <fragment name="clientrac" type="page"> > <navigation> > <title>ClienTrac</title> > <description>Real Estate Rental Sales Tracking</description> > </navigation> > <fragment name="row" type="row"> > <fragment name="col1" type="column"> > <fragment name="p3" type="portlet"> > <property name="portlet" value="7.0"/> > </fragment> > </fragment> > </fragment> > </fragment> > </portal> > The last file is the portletentityregistry.xml. This is a full list of the > portlets available to run. The definition ID is the link back to web.xml > PortletServlet. Each application is made up of portlets with the > pageregistry finding the portlet by the <appliction-id>.<portlet-id> > reference. The definition-id is used to find which PortletServlet to run, > i.e. the portlet-guid, defined in web.xml. > <portlet-entity-registry> > <application id="7"> > <definition-id>clientrac</definition-id> > <portlet id="0"> > <definition-id>clientrac.ClienTrac</definition-id> > </portlet> > </application> > </portlet-entity-registry> -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]