我正在构建一个基于 JSF-Spring-Hibernate 的应用程序,它需要将内容存储为 pdf、MS Office 文件等。我正在考虑为其提供 JCR 功能,添加 Jackrabbit 或 Modeshape 即但我仍然有一些疑问。
我们实际上将内容作为原始文件存储在文件系统中,并在我们的 MySql 数据库中添加对它们的引用。该数据库表还保留有关修改、版本等的信息。这样可以很容易地检索有关每个组、每个用户等上传文件的数据。使用 JCR API 是否如此直接?此外,是否有可能将文件保持在文件系统中并将元数据信息存储到 MySQL 中,就像我们实际上正在做的那样,但使用 JCR?
created by - updated by字段实际上存储在 DB 表中,并在我的应用程序中引用系统用户,但 JCR 实现似乎有自己的身份验证系统。我想这里要走的路是在系统的每个用户创建一个新用户到 JCR 实现中创建?密码更新呢?是否建议将用户系统密码与存储库中的密码保持同步?还是对存储库中的每个用户使用相同的密码就足够了?
我们经常用一种以上的语言处理相同的文件。在这种情况下,文档版本相同,但文件之间的语言不同。我已经看到规范中有一个jcr:language属性,这可以用于那个吗?
我可以看到的另一个可能的问题是,例如,我们目前没有控制组名中的名称重复。可能有两个相同的组名,并且为了将它们的目录与文件系统不同,我们使用它们的 DB id 附加到目录路径中的名称。我不知道这是否真的是一个最佳实践以及我们如何通过 JCR 实现来管理它......
PD:我的 servlet 容器是 Tomcat 6。
汇集你的想法!