Hi all, I've spent a couple of hours today struggling with trying to install shindig 2.5.2 as a non-root application and thought that I should write a reference email for the archives in case any else finds themselves in a similar situation.
Firstly, upon installing the application in Tomcat and launching the commoncontainer link, I got messages in Firebug about being unable to find pubsub-2.js, and sure enough the URL was still referencing the Tomcat root application space. So next I searched around the FAQ and found the link referencing running in a non-root Tomcat application at https://cwiki.apache.org/confluence/display/SHINDIG/Index#Index-WithTomcat,howtouseShindigasanon-rootapplication? which led me to unpacking the WAR and altering shindig.properties as described. Unfortunately this didn't see to make any different to the redeployed WAR, so obviously something else was still needed. After some more searching I came across the bug report at https://issues.apache.org/jira/browse/SHINDIG-1654 which suggested that I needed to alter container.js instead. But it looked like all of the relevant URLs in container.js already had a ${CONTEXT_ROOT} included in them. Finally I ended up grepping the source code for pubsub-2.js and found that that the problem was the root URL being embedded in containers/commoncontainer/index.html like this: <script type="text/javascript" src="../../../gadgets/js/container:open-views:opensearch:rpc:xmlutil:pubsub-2.js?c=1&debug=1&container=default"></script> Exploding the WAR and altering this file by hand seems to have got everything working as it should, but I'm wondering if the correct fix should be to move the URL to a separate .js file that can be parsed to correctly evaluate ${CONTEXT_ROOT} at runtime? Sadly it seems that a lot of the existing documentation regarding running shindig as a non-root application is either obsolete or incorrect so I hope that this email will go some way towards redressing the balance. Kind regards, Mark.
