## Deploying the information center as a Web Archive

Using Eclipse 3.4 or later it is possible to configure the help plugins to be deployed as a web archive (war file) which will act as a fully functioning information center. The instructions below assume a Tomcat server has been installed, but with minor modifications these steps should work for any full featured server.

- Clone the `eclipse.platform.ua` repository

      git clone https://git.eclipse.org/r/platform/eclipse.platform.ua.git

- In the Git repository locate the `infocenter-web` directory and underneath that there will be two directories titled `infocenter-app` and `infocenter-product`.
- Make sure you have the "m2e - Maven Integration for Eclipse" feature installed in your Eclipse IDE.
- Import the `infocenter-web` Maven project using File->Import->Existing Project.
- Add some documentation plugins to the `infocenter-web/infocenter-app/src/main/webapp/WEB-INF/plugins directory`.
- Register the plugins in `infocenter-web/infocenter-app/src/main/webapp/WEB-INF/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info`
- Install required Maven POMs from Eclipse Platform:

      git clone -q --depth 1 https://git.eclipse.org/r/platform/eclipse.platform.releng.aggregator && mvn install -N -f eclipse.platform.releng.aggregator/eclipse-platform-parent && mvn install -N -f eclipse.platform.releng.aggregator/eclipse.platform.releng.prereqs.sdk

- Execute a Maven build in `infocenter-web`
  - Either within Eclipse, right-click on `infocenter-build.launch` and select Run As -> infocenter-build
  - Or from command-line using the command `mvnw`
- For Tomcat only. In `conf/server.xml` add `URIEncoding="UTF-8"` to the `connector` element, for example

      <Connector port="8080" URIEncoding="UTF-8" etc.>

  If this step is not performed search will fail if the search term contains non ASCII characters.
- Start Tomcat and see the help system start up. The default URL is http://localhost:8080/help/.

Notes: If you look in the `config.ini` the `help.war` file under directory `help/WEB_INF/configuration` you will notice the line `eclipse.product=org.eclipse.productname`. If your product has help system customizations in a product plugin you can activate these by changing this line to point to your product plugin.

### Troubleshooting

#### HTTP 404 with Message "BridgeServlet: /help/"

In the `web.xml` activate the init parameter `enableFrameworkControls`. This enables endpoints to control the embedded OSGi container. Call http://localhost:8080/help/sp_test.

You should see the message "`Servlet delegate registered - org.eclipse.equinox.http.servlet.HttpServiceServlet`". You may instead see the message "`Servlet delegate not registered.`". This indicates that bundle activator from bundle `org.eclipse.equinox.http.servletbridge` was not started or that it accesses a different instance of class `org.eclipse.equinox.servletbridge.BridgeServlet`.

For all available framework control endpoints refer to `org.eclipse.equinox.servletbridge.BridgeServlet.serviceFrameworkControls(HttpServletRequest, HttpServletResponse)`.