generally speaking since FB 15 (not sure which version, probably 15.0) there have been some changes implemented to the /web folder, i.e. all the resources like css and js file are no longer taken from the /web/public folder but from the proper service folder under /web/work (like jetty-0.0.0.0-{PORT}-funnelback-publicui.war-…).
I would like to expose some resources to public (reports, CSV) and also allow the scripts (cgi) to be executed from the external sources (Magento) on FB >15. The solution works fine on 14.2 and my question is what would be the best way to achieve similar behaviour on >15.
We’ve noticed that on FB 15 there is a lack (probably intended) of one file - search-classic.xml which previously was present under /web/conf/contexts-http. That config file sets some kind of alias that can be reached, among the other things:
Recreating that file on FB 15 under /web/conf/contexts-public, creating /public directory under /web and restarting Jetty basically helps but I am wondering if removing the previous concept was intended is there any other way of doing that so it can suit to how the FB 15 works with public resources?
Is putting all needed resources in the proper service folder under /work (/work/{service}/webapp/) in the same way as css and js files is a good idea?
Where can I find or set the Jetty settings to allow the particular folder to be exposed (in the same way it’s done for /resources-global folder)?
Funnelback 15 deprecated the Classic UI which provided access to the /web/public path.
We would recommend that any web resources such as images and CSS/JS files are stored within a collection’s web resources folder. This keeps all of the configuration for a collection together. This makes the server management easier because collection files are moved together and you are not left with orphan files once a collection is deleted. See: Web Resources Folder - Funnelback Documentation - Version 15.10.0
Files like this within the collection’s web resources folder can be accessed using a collection-relative path:
However anything related to the Classic UI has been removed.
I would recommend not trying to alter the Jetty configuration because this is likely to get overwritten if you upgrade the system.
I realise this doesn’t fully answer your question and some of the other guys might chime in with additional info, but I hope it at least gives you some context.
I second Peter’s comment on having resources stored with collections when possible. Files and resources stored elsewhere is not part of our designs and therefore could be lost or made non-functional during upgrades.
If you have no other options but to setup a new resource folder, you can try and use the following:
e.g. The following setups a resource folder under https://SERVER/stencils/resources which points to resources under $SEARCH_HOME/share/stencils/resources