我可以回答大家的一些问题。完全披露:我是ModeShape的创始人和项目负责人。
简而言之,ModeShape是一个轻量级的,可嵌入的,可扩展的开源JCR存储库的实现,联邦成员和来自多个系统,包括文件系统,数据库,数据网格,其他存储库等。您可以使用JCR API访问统一内容您已有的信息,或者像传统的JCR系统一样使用它。
下面是一些振型的更高级别的功能:
- 支持所有的JCR 2.0所需的功能:存储库采集;认证;读/导航;查询;出口;节点类型发现;权限和能力检查
- 支持大部分JCR 2.0可选功能:写入;进口;观察;工作区管理;版本;锁定;节点类型管理;同名兄弟姐妹;可订购的子节点;可共享节点;和
mix:etag
,mix:created
和mix:lastModified
mixin具有自动处理的属性。
- 支持基于JCR-SQL2全文搜索表达式语法的JCR 1.0和JCR 2.0语言(例如XPath,JCR-SQL,JCR-SQL2和JCR-QOM)以及全文搜索语言。另外,振型支持一些非常有用的扩展到JCR-SQL2:
- 子查询中的标准
- 集操作(例如, “
UNION
”, “INTERSECT
”, “EXCEPT
”,每个具有可选的 “ALL
” 子句)
- 极限和偏移
- 重复删除(例如“
SELECT DISTINCT
”)
- 附加的深度,参考和路径标准
- 集合和范围的标准(例如,“
IN
”, “NOT IN
” 和 “BETWEEN
”)
- 算术标准(例如,“
SCORE(t1) + SCORE(t2)
”)
- 全外连接和交叉连接
- 更
- 选择从多个存储选项,包括的RDBMS(经由Hibernate),数据网格(例如,Infinispan),文件系统或根据需要编写自己的存储连接器。
- 使用JCR API访问现有服务,文件系统和存储库中的信息。 ModeShape连接器将外部信息投影到JCR存储库中,可能将来自多个系统的信息联合到一个工作区中。编写自定义连接器以访问其他系统。
- 上传文件并让ModeShape自动解析并获取代表这些文件内容的结构化信息。此派生信息存储在存储库中,可以像其他任何内容一样查询和访问它。 ModeShape支持许多立即可用的文件类型,包括:CND,XML,XSD,WSDL,DDL,CSV,ZIP/JAR/EAR/WAR,Java源代码,Java类文件,Microsoft Office,图像元数据以及Teiid模型和VDBs。为其他文件类型编写顺序器也很容易。
- 自动和可扩展的MIME类型检测,使用文件扩展名和基于内容的检测使用Aperture进行即时检测。
- 可扩展的文本提取框架,使用Tika可为Microsoft Office,PDF,HTML,纯文本和XML文件提供开箱即用的支持。
- 使用JGroups进行简单的群集。
- 将ModeShape嵌入到您自己的应用程序中。
- RESTful API(需要部署到应用程序服务器中)。
这些只是一些亮点。有关这些和其他ModeShape功能的详细信息,请参阅ModeShape documentation。
现在,这里有一些具体的解答您的问题编号:
振形在JBoss.org托管,并使用/与其他的JBoss技术集成,因为我们认为它更好地重用最佳的图书馆。但是ModeShape绝对不会绑定到JBoss应用程序服务器。 ModeShape可以在其他应用程序服务器上使用,方式与其他JCR实现(通常嵌入到Web应用程序中)完全相同。另外,ModeShape可以嵌入任何应用程序;毕竟,它只是一个普通的Java库。它甚至使用SLF4J,以便ModeShape日志消息可以发送到应用程序的日志框架。
现在,尽管如此,我们通过一个简单的套件让deploy ModeShape to a JBoss AS installation更容易:简单地解压缩,稍微定制一下配置(取决于您的需要),然后启动您的应用服务器。 ModeShape将在应用程序服务器中作为服务运行,允许您部署的应用程序简单查找,使用和共享存储库。ModeShape甚至可以使用JBoss AS控制台进行监控。
我相信你指的是我们计划开发一个仓库可视化工具(不是一个完全成熟的CMS系统少得多)。关于这方面的工作刚刚开始,我们欢迎任何见解,功能要求和对与我们合作的兴趣。我知道Magnolia可以在ModeShape上运行,但不知道其他CMS应用程序是否可以执行此操作。 JBoss Enterprise Data Services (EDS) platform还包含ModeShape并将其用作元数据存储库。 JBoss Business Rules Management System也可以使用ModeShape作为其JCR存储库。
振形和兔崽子都在内部使用Lucene的全文检索和查询。在这方面,他们非常相似。当然,振形的执行搜索和查询分析和执行的比长耳大野兔不同,实际上是由一些实施MetaMatrix的以关系为导向的整合&联邦引擎(现在的JBoss EDS的一部分)相同的人编写的。因此,ModeShape为其每种查询语言都有一个单独的解析器,但在此之后,所有查询的所有验证,计划,计划和执行都以相同的方式完成。我们对查询引擎的功能和性能感到非常自豪!
ModeShape没有连接到其他CMIS系统的连接器,但正如您指出它目前正在工作(MODE-650)。我们还希望与Apache化学团队合作,确保JCR适配器与ModeShape协同工作。我们没有时间这样做。
振形确实有JcrTools实用工具类,可能是有用的。但是在JCR API之上编写的任何实用程序类都应该工作得很好。
希望帮助!振形的
哇,兰德尔你可能让我放弃了5天基于jackrabbit的仓库工作,并将其重写到ModeShape。大坝:-)谢谢你带来一些见解,很好的概述。 – lisak
排序器的设计和思想是辉煌的。非常有用和易于维护 – lisak
顺便说一句,你很可能已经知道,但关于用户界面可视化,这个github.com/sourcesense/modeshape-stone是一个与Apache Sling一起运行的2.4Final分支,那怎么办? – lisak