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.
git clone https://git.eclipse.org/r/platform/eclipse.platform.ua.git
infocenter-web
directory and underneath that there will be two directories titled infocenter-app
and infocenter-product
.infocenter-web
Maven project using File->Import->Existing Project.infocenter-web/infocenter-app/src/main/webapp/WEB-INF/plugins
directory.infocenter-web/infocenter-app/src/main/webapp/WEB-INF/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info
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
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
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.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.
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)
.