2

我需要为一个没有经验的 Java 开发人员的团队设计一个大学项目的 CMS 系统。我查看了不同的选项(尤其是 Apache Jackrabbit 和 JCR),但我不确定该使用什么。我们必须为 DMS 开发 Web 界面,可以在其中上传文档并为其填充自定义属性集(所有文档的属性都相同)。我不确定我的团队是否能够与 Jackrabbit 合作。

使用数据库以 Base64 编码存储文档是一种选择吗?

我打算使用 JSF、JPA、hibernate、EJB 和 JBoss AS,

系统必须能够:

  • 免费的产品或第三方库等,对于没有经验的开发者来说很容易使用;
  • 存储文件;
  • 支持版本;
  • 支持归档(低优先级);
  • 支持一组属性,即 documentDescription:"some txt go here"。
4

3 回答 3

2

根据我的经验,JCR 本身的级别太低,无法由缺乏经验的开发人员团队使用。您可以使用jcrom进行对象映射,但我不能说它简单或完美。

Martin Fowler 写道,CMS 是面向文档的 NoSQL 数据库的应用程序之一。您可以尝试使用 MongoDB 和Morphia进行对象映射。我发现它非常易于使用和部署(从我的经验来看,从 MongoDB 开始比从 JCR 开始更容易)。虽然 jcrom 和 Morphia 的文档都远非完美,但我发现 Morphia 更易于使用。

对于存储文件,您可以使用GridFS

但请注意,如果您使用 MongoDB 而不是 JCR,您将没有事务和版本控制。如果您不进行事务并且您将尝试使用 MongoDB,您将不得不自己实现一些事务,这可能不是很容易。

PS 我不确定您是否可以将 JPA/Hibernate 用于 JCR。根据我的研究,我发现只有两种 JCR 对象映射实现:jcrom 和 Apache Jackrabbit 的一些 OM 实现(JCR 实现)。

于 2013-10-23T09:08:18.130 回答
1

Hippo可能是一个满足您需求的项目。它是开源的。通过企业订阅,您将能够满足您的归档要求。

使用 Hippo 构建大学网站的一个例子是阿姆斯特丹大学的网站。

于 2013-10-24T19:02:14.370 回答
1

如果你只需要 CMS,你可以试试CUBA Platform。我认为它是 Intranet 或 CMS 项目的非常酷的平台。

这个框架基于 Vaadin 和 Spring 技术。顺便说一句,它是开源的!

此外,您还可以查看公共图书馆的演示CMS

于 2016-03-31T11:04:58.097 回答