给定一个JCR (Java内容存储库,实现标准jsr-170和/或jsr-283,如Apache Jackrabbit,JBoss Modeshape),我想构建一个类似cms的编辑器,它可以在给定的JCR节点上编辑定义为该节点一部分的所有数据类型。
例如:JCR节点,可以定义数据类型:日期、地点、名称、描述。场所可能是一个数据类型为:纬度/经度、名称、容量的子节点。
此代码将仅根据JCR-node的声明生成编辑器,不需要其他输入。
这段代码将遵循构建器模式(http://en.wikipedia.org/wiki/Builder_pattern),当然,我可以自己编写这段代码,但我正在寻找现有的开源实现。我觉得肯定有CMS建立在JCR之上,使用这种方法: Magnolia,Sling,Hippo,其他?或者一些不知名的项目,其唯一目的是提供此构建器实现的核心(可能是模型部分)。
任何指向这些开源内容管理系统中相关代码库的指针都将非常受欢迎。
感谢您的帮助。谢谢,Geert-Jan
发布于 2011-07-20 18:22:52
Apache Sling explorer可能是一个很好的开始-它目前不支持编辑自定义节点类型,但可以相当容易地扩展来完成这一功能。源码见1。
Sling已经支持每个节点的“资源类型”的概念,可以从节点类型、节点上的sling:resource type属性或任何使用自定义(OSGi)插件的内容派生。这可用于生成适当的客户端代码以进行编辑。
在这种情况下,VIE编辑器2也很有趣: Sling explorer可以使用RDFa元数据注释内容,VIE可以使用这些元数据生成自定义的编辑UI。
1
2
发布于 2011-07-20 09:37:34
Magnolia在其管理控制台中内置了JCR浏览器。它不足以调整UI以适应为节点指定的数据类型,但是作为JCR存储的通用编辑器,它仍然很有用。
当然,您也可以使用Magnolia中提供的对话框构建工具来创建具有更好的基于表单的UI的东西,但它实际上并不是为了直接关注节点类型定义来创建该UI而设计的。(不过,那会很酷的!)
发布于 2011-07-20 18:14:51
然而,Magnolia 5或它的后继者应该具有这样的ui,它是基于节点类型自动生成的。
https://stackoverflow.com/questions/6754409
复制相似问题