是否有可能将 Apache FileVault 包添加到配置的 Sling 文件中?

Is there any possibility to add Apache FileVault package to provisioned Sling's files?

我正在使用带有配置配置文件的 Sling Launchpad。最近我将添加对 FileVault 包(即 zip 文件)的支持。我添加了 package 类型的项目并将其添加到我的配置文件中。不幸的是,它不支持这些文件类型。有人有同样的问题吗,如果根本不支持包,如何在 Sling 启动期间安装包?

我查看了OSGiInstallerclass中的Sling源代码,只有RegisteredResourceclass安装的东西,位于RegisteredResourcesList.ser文件(某种二进制文件),但我只能看到 jar 个文件...

谢谢!

我认为 Sling 中没有开箱即用的支持,但 OSGi 安装程序确实提供了必要的挂钩来支持新的资源类型,除了捆绑和配置。您需要实施 ResourceTransformer 来分派 vlt 档案,实施 InstallTaskFactory 从从 vlt 档案中提取的文件创建相关的 InstallTask,并为 vlt 实施新的任务类型-特定文件类型。

如果您想这样做,最好先在 Sling dev mailing list 上讨论设计。

我找到了解决方案。 com.composum.sling.core/composum-sling-osgi-package-installer/${composum.version} 包具有 ResourceTransformerInstallTaskFactory 服务的实现。如果您将此包添加到您的供应模型(在其他组合包旁边)并将 com.composum.core.pckginstall 添加到 LoginAdminWhitelist,那么您将能够在创建 Sling 实例期间安装 zip 包。