[
https://issues.apache.org/jira/browse/SLING-3463?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chetan Mehrotra updated SLING-3463:
-----------------------------------
Attachment: SLING-3463.patch
This support is implemented in FileInstaller [1]
It uses the File absolutePath as InstallableResource id. Later the
ConfigTaskCreator constructs extracts the configPid from file path. However it
looks for '/' in path to determine configPid. This fails for Windows paths. As
a fix it should first normalize the path to use '/' as path separator and then
extract the configPid.
Attaching patch for the same
[1]
https://github.com/apache/sling/blob/trunk/installer/providers/file/src/main/java/org/apache/sling/installer/provider/file/impl/Installer.java#L145
> Config files cannot be installed via FileProvider on Windows
> ------------------------------------------------------------
>
> Key: SLING-3463
> URL: https://issues.apache.org/jira/browse/SLING-3463
> Project: Sling
> Issue Type: Bug
> Components: Installer
> Affects Versions: Installer Configuration Factory 1.0.10
> Reporter: Chetan Mehrotra
> Attachments: SLING-3463.patch
>
>
> Sling Installer provides support for installing OSGi config files by placing
> them in external directories. So one can place config file in <sling
> home>/install folder and they would be automatically installed by Sling OSGi
> Installer upon system start. Further these config are given higher priority
> over packaged config file.
> This logic fails to work on Windows. For example if place config through
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService.cfg file
> and same file is also packaged within the launchpad then only the launchpad
> one is picked up. Sling Installer tab on WebConsole shows following entries
> Entry 1
> -----
> EntityId -
> fileinstallc17bbadb679768c7784c80352bf17196:C:\Data\Work\InstalledSoftware\granite\crx.quickstart\install\org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService
>
> fileinstallc17bbadb679768c7784c80352bf17196:C:\Data\Work\InstalledSoftware\granite\crx.fileinstallc17bbadb679768c7784c80352bf17196:C:\Data\Work\InstalledSoftware\granite\crx.47a70bec-964a-4655-b6c4-141dc22c354b
>
> ba55ef93ba200825e9cf9fa7fcff14d3/100
> fileinstallc17bbadb679768c7784c80352bf17196:C:\Data\Work\InstalledSoftware\granite\crx-quickstart\install\org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService.cfg
>
> INSTALLED 11:56:09:406 2014-Mar-19
> Entry 2
> ----------
> EntityId - org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService
>
> 4e2f24f28879a116c45e7aea547909fd/55
> launchpad:resources/config/crx3tar/org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService.config
>
> INSTALLED 11:56:09:542 2014-Mar-19
> ------
> As cane be seen EntityId for external file is not correct due to which it
> does not get proper pid. Hence any config created via external file route
> would not work on Windows
--
This message was sent by Atlassian JIRA
(v6.2#6252)