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

时间:2015-10-25 05:16:15

标签: java apache cq5 jackrabbit sling

我试图找到一种方法将自定义节点类型使用CND文件添加到我的Sling WebApp。我下载了WAR文件并使其运行,但由于所有代码都已编译(如.class文件),因此我无法添加代码来读取CND文件并添加自定义节点类型。

另外,我确实有Jackrabbit正在运行,我可以使用JackrabbitNodeTypeManager或其他方式来编写读取CND文件和添加节点类型的代码。这适用于未在服务器上运行的本地存储库。

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

  1. 有没有办法在Sling WebApp中添加新节点类型?
  2. 如何将我的Jackrabbit存储库(本地)连接到Sling Web应用程序(在服务器上),以便我可以探索以这种方式添加自定义节点类型(因为我此刻正在本地执行我的Jackrabbit repo) ?
  3. 据我所知,Sling是一个使用Jackrabbit作为repo的框架,并提供类似REST的服务来使用存储库,但我想有一种方法可以像Jackrabbit一样添加这些自定义节点类型。

    感谢。

1 个答案:

答案 0 :(得分:1)

  

有没有办法在Sling WebApp中添加新节点类型?

Declared Node Type Registration记录了这一点。你需要做的是

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