I made the following web.xml in my war - and it works directly in
Pluto 1.1 and Pluto 1.0 environments - at least it works in Sakai 2.4
(Pluto 1.1) and uPortal 2.5 (Pluto 1.0).
I initialize the servlet with both sets of parameters (thankfully no
overlap in names) and then provide two servlet mappings.
It seems deceptively simple. Of course this is doing wildly
different things at run-time - but depending on whichever Pluto you
are running - it sees what it wants to see and ignores the rest.
Comments/feedback please.
/Chuck
<?xml version="1.0"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web
Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Sakai DashBoard</display-name>
<servlet>
<servlet-name>SakaiDash</servlet-name>
<servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
<!-- Pluto 1.1 Parameters -->
<init-param>
<param-name>portlet-name</param-name>
<param-value>SakaiDash</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<!-- Pluto 1.0 Parameters -->
<!-- The war must be named sakai-dash to work -->
<init-param>
<param-name>portlet-class</param-name>
<param-value>org.sakaiproject.portlets.SakaiDash</param-value>
</init-param>
<init-param>
<param-name>portlet-guid</param-name>
<param-value>sakai-dash.SakaiDash</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- Pluto 1.0 Invoker -->
<servlet-mapping>
<servlet-name>SakaiDash</servlet-name>
<url-pattern>/SakaiDash/*</url-pattern>
</servlet-mapping>
<!-- Pluto 1.1 Invoker -->
<servlet-mapping>
<servlet-name>SakaiDash</servlet-name>
<url-pattern>/PlutoInvoker/SakaiDash</url-pattern>
</servlet-mapping>
</web-app>