在过去的 2 年里,我一直在使用 Liferay,但我从来不需要任何广泛的文档管理。
现在我有一个 portlet,用户可以在其中上传文档(MS office OLE2 文档、ODS 文档、PDF 等),我必须使用所有可用的元数据来保存它们。
我知道在不使用 Liferay 的情况下如何做到这一点,我可能会使用 Apache solr 和 Apache Tika(UpdateRichDocuments和ExtractingRequestHandler)或在后台使用 Apache Tika 的 Apache Jackrabbit(org.apache.jackrabbit.extractor.*)。
问题是,如果我查看 Liferay 的主干,有一些关键类:
Hooks (JCRHook, FileSystemHook, CMISHook, s3Hook)
DLLocalServiceImpl
直接从内部雇用
另一种选择是使用 DLAppLocalServiceImpl
它,DLRepositoryLocalServiceImpl
并且文件也通过 Hooks 持久化到存储库中,但是在那里完成了很多额外的工作。
Liferay 中没有 jackrabbit-text-extractors 库,所以我想如果我想从 PDF、DOC、ODS 文档中提取元数据,我会很难过……因为 DL 服务层不接受附加属性
- 我想我必须避免使用 DL 服务和 JCR 挂钩并直接访问 Jackrabbit ......但我会失去兼容性和迁移我的存储库等的可能性。
请问有人可以合作吗?谢谢