With Oracle Endeca Commerce, the Workbench application is storing all its configuration files inside a configuration repository. That includes typical workbench configurations used by the MDEX, Experience Manager configurations such as cartridges XMLs, landing pages and also media assets accessible by the Media Banner cartridge.
While Endeca provides scripts in the control project folder to upload content to that configuration repository, such as set_media
, set_editors_config
, set_templates
and import_site
, one less known fact is that you can connect to the repository through a WebDav client and have a direct access to all the files and folders.
The reason it’s possible is because the technology underneath the Endeca Configuration Repository is Apache Sling, a REST web framework built on top of the Java Content Repository Apache JackRabbit. If you use Windows, you can download a client such as CloudSafe to connect to it. On Mac, Cyberduck supports it (in theory MacOS X is supposed to support the WebDav protocol natively but for some reason when trying to connect to this WebDav repository, I can’t establish the connection).
Once you are ready to connect to the WebDav server, the URL to use is the link stored in the config file WorkbenchConfig.xml for the IFCR component.
If the URL is: http://localhost:8006/ifcr
, you should add /sites/name_of_your_project
at the end.
So for the reference application, it would be http://localhost:8006/ifcr/sites/Discover
. The user/password is be the same as the one stored in that same config section (admin/admin by default).

Once you are logged in with WebDav, you can start transferring files back and forth between the config repository and your own hard drive. I wouldn’t advise to change the XML config files stored in that config repository without knowing exactly what you are doing but there is a clear use case for managing your media assets (such as pictures and videos) that are accessible through the Media banner cartridge in Page Manager. While Endeca provides the set_media control script to upload files, being able to drag and drop files and delete them as you want directly into the config repository is much more easier and natural to do with a user interface than having to re-run that control script every time you want to make changes to your media files. You might as well consider giving access to that repository to your business users so that they can easily start managing the media files that they will need to use when creating the landing pages.
Here is the list of folders visible from a WebDav client when logging in on the Configuration Repository
Let me know in the comments if you can think of other interesting use case to use the Endeca Configuration Repository through a WebDav client!
7 replies on “Explore the Endeca Configuration Repository with WebDav”
Brilliant! I tried the ‘ifcr’ directory (which used to work in the past), but the addition of ‘/sites/Discover’ did the trick!
Thanks a lot!
Excellent, I am able to view the content xml files created by content collections, but cannot view content in triggers folder which would be json files. Also few folders are inaccessible like tools/Thesaurus. Can you please let me know how can I view json files too. This approach can be useful to propagate specific content across apps in Endeca
I think the Cloudsafe client is no more available to download. I tried to connect to Endeca 3.1.2 Configuration Repository using the Cuberdeck [ https://cyberduck.io/?l=en ] client. But I cannot connect. Is this because it is not supported in Endeca 3.1.2 ?
I tired to map the url to a drive in Windows 7. But that too didn’t help me.
I am able to connect using the cyberduck by selecting the option ” WebDAV ( Web based Distributed Authoring and Versioning )” in new Connection
nice article and insight on ECR.
There is a problem with endeca v11.2, exception issue in ifcr.log:
*ERROR* [172.16.71.21 [1480952373225] PROPFIND….HTTP/1.1] org.apache.sling.engine.impl.SlingRequestProcessorImpl service: Uncaught Throwable java.lang.UnsupportedOperationException: Not yet implemented
at com.endeca.ifcr.workspace.impl.node.WorkspaceAwareNodeImpl.getDepth(WorkspaceAwareNodeImpl.java:1082)
at org.apache.jackrabbit.webdav.simple.DavResourceImpl.getParentElements(DavResourceImpl.java:862)
Please, do you have any ideas about these exceptions?
Thx