1

给定一个 JCR(Java 内容存储库,实现标准 jsr-170 和/或 jsr-283,如 Apache Jackrabbit、JBoss Modeshape),我想构建一个类似 cms 的编辑器,给定指定的 JCR 节点可以编辑定义的所有数据类型作为该节点的一部分。

例如:一个 JCR 节点,可能有数据类型:日期、地点、名称、描述定义。地点可能是具有数据类型的子节点:纬度/经度、名称、容量。

此代码将仅根据 JCR 节点的声明生成编辑器,不需要其他输入。

此代码将遵循 builder-pattern (http://en.wikipedia.org/wiki/Builder_pattern) 当然,我可以自己编写此代码,但我正在寻找现有的开源实现。我觉得必须有建立在 JCR 之上的 CMS 使用这种方法:Magnolia、Sling、Hippo 还是其他?或者一些不知名的项目,其唯一目的是提供这个构建器实现的核心(模型部分)。

任何指向这些开源 CMS 中相关代码库的指针都将受到欢迎。

任何帮助表示赞赏。谢谢, Geert-Jan

4

3 回答 3

3

Apache Sling explorer 可能是一个好的开始——它目前不支持编辑自定义节点类型,但可以很容易地扩展来做到这一点。有关源代码,请参见 [1]。

Sling 已经支持每个节点的“资源类型”的概念,它可以从节点类型、节点上的 sling:resourceType 属性或使用自定义 (OSGi) 插件的任何内容派生。这可用于生成适当的客户端代码进行编辑。

VIE 编辑器 [2] 在这种情况下也很有趣:Sling 浏览器可以使用 RDFa 元数据对内容进行注释,VIE 可以使用这些元数据来生成自定义编辑 UI。

[1] http://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/explorer

[2] http://bergie.github.com/VIE/

于 2011-07-20T10:22:51.780 回答
0

Magnolia 在其管理控制台中内置了一个 JCR 浏览器。将 UI 调整为为节点指定的数据类型还不够巧妙,但它仍然可以用作 JCR 存储的通用编辑器。

当然,也可以使用 Magnolia 中的对话框构建工具来创建具有更好的基于表单的 UI 的东西,但它并不是真正旨在直接关注节点类型定义来创建该 UI。(不过,那会很酷!)

于 2011-07-20T01:37:34.273 回答
0

然而,Magnolia 5 或其继任者之一应该具有这样的 ui,根据节点类型自动生成。

于 2011-07-20T10:14:50.567 回答