blob: 1b5d4b105f63bf071fabe8fcd4f6326c1fce80d1 [file] [log] [blame] [view]
# 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` in 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)`.