将自定义节点类型添加到 Apache Sling WebApp

Adding custom nodetypes to Apache Sling WebApp

我正在尝试找出一种方法来使用 CND 文件向我的 Sling WebApp 添加自定义节点类型。我下载了 WAR 文件并得到了它 运行 但由于所有代码都已经编译(作为 .class 文件),我无法添加代码来读取 CND 文件并添加自定义节点类型。

另外,我有 Jackrabbit 运行,有了它,我可以使用 JackrabbitNodeTypeManager 或其他方式来编码读取 CND 文件和添加节点类型。这适用于我的本地存储库,而不是服务器上的 运行。

我希望能够以类似的方式向 Sling Web 应用程序添加新的节点类型。所以我会把我的问题归结为:

  1. 有没有一种方法可以在 Sling WebApp 中对新节点类型的添加进行编码?
  2. 如何将我的 Jackrabbit 存储库(本地)连接到 Sling Web 应用程序(在服务器上),以便我可以探索以这种方式添加自定义节点类型(就像我目前在本地的 Jackrabbit 存储库上所做的那样) ?

我知道 Sling 是一个使用 Jackrabbit 作为存储库并提供类似 REST 的服务来使用存储库的框架,但我想有一种方法可以像 Jackrabbit 允许的那样添加这些自定义节点类型。

谢谢。

Is there a way to code the addition of new nodetypes in the Sling WebApp?

这记录在 Declared Node Type Registration。你需要做的是

  • 以CND格式写入节点类型定义
  • 将其打包
  • 使用 Sling-Nodetypes header
  • 引用清单中的文件
  • 将捆绑包部署到您的 Sling 应用程序