9.15.2006

 

Complete Vignette-Struts-Bridge Instructions

Here is a complete list of everything you need to do to get a Struts Bridge app running in Vignette Portal:

  1. Add the following jars to WEB-INF/lib if they are not there already:
    portals-bridges-struts-#.#-#.#.jar
    portals-bridges-common-#.#.jar
    vgn-portal-jsrextensions.jar
    The first two are included with Struts Bridge, and the third is available as a download from global.vignette.com.
  2. In portlet.xml, add an XSD to portlet.xml and namespace prefixes (change <portlet-app> to <portlet-app xmlns:p="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">) and add the p: prefix to each tag in the file (i.e. change <portlet> to <p:portlet>).
  3. In portlet.xml, change the value of the ServletContextProvider init-param to com.vignette.portal.bridges.ServletContextProviderImpl
  4. In portlet.xml, change the value of portlet-class to com.vignette.portal.bridges.struts.StrutsPortlet - if you use the general StrutsPortlet, the links won't work.
  5. In portlet.xml, reorder the elements according to the XSD. Vignette is more strict than some other portals, and will balk if the elements are not in the proper order. For reference, the order is as follows:

    <portlet-app>
    <portlet>
    <description/>
    <portlet-name/>
    <display-name/>
    <portlet-class/>
    <init-param/>...
    <expiration-cache/>
    <supports/>
    <portlet-info/>
    </portlet>
    </portlet-app>

  6. Create a war file of the app, and run the Vignette repackaging tool to add entries to the web.xml. After you've done this once, you can unpack the war file and put it back in your original copy of the code, so you don't have to run the repackaging tool each time you want to deploy a change.
  7. Manually add the webapp Context to server.xml, instead of using automatic webapp detection - otherwise Vignette will only see it 50% of the time. For reference, a simple Context tag looks like this: <Context path="/examples" docBase="examples" debug="0" reloadable="true"/> (put inside a Host tag)
  8. By default, the portlet app is not accessible as a regular webapp, for security purposes. If you would like to access the app directly as a webapp, comment out the filter and filter-mapping tags in web.xml.

Comments: Post a Comment



<< Home

This page is powered by Blogger. Isn't yours?