I have 2 apps installed, MyApp_Client1 and MyApp_Client2, they basically contain the same stuff (dashboards, data model etc.) but for different clients. In addition to that, they both contain a custom module called MyModule.
Whenever I make a change to this module in the 2nd app (within the JS, HTML or whatever), the changes are not reflected in the Web UI (not even upon restart), Splunk just keeps fetching the original code from the 1st app, even if I temporarily try to disable it. I've tried everything (_bump, debug/refresh, SplunkWeb restart and even the whole Splunk restart) but the changes are never applied, curiously if I uninstall the 1st app I get an error whenever I try to load the module in the 2nd app.
Is there any metadata that I need to specify in order to avoid this kind of sharing? Or do I need to change the module name for every app that uses it in order to avoid such scenario?
N.B. I know that modules are deprecated since Splunk 6.3, but unfortunately we need this to work for as long as we can.
Thanks in advance!
Please check the export status of each app. Are the knowledge objects at the user level, app level, or globally shared?
As a workaround, you might be able to rename the module in the second, non-working app, so that there is no name collision involved. That may help to isolate whether the issue is with the first app, the second app, or the name.
If attempting this, we would suggest creating a new module, and copying the code, in case it is a corruption of the module itself that is causing the problem. (This is a scientific wild-assed guess based on the symptoms.)
I've checked the permissions on the Knowledge Objects, they're all shared on App level (export=none).
I've also tried creating a new module with a different name but the same code, and it seems to work perfectly fine! Is there any specific reason for this? Are modules always shared globally?