首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Liferay门户中的文档处理

Liferay门户中的文档处理
EN

Stack Overflow用户
提问于 2011-02-27 22:41:31
回答 4查看 4.5K关注 0票数 4

在过去的两年里,我一直在使用Liferay,但是我从来不需要任何广泛的文档管理。

现在我有了一个portlet,用户可以上传文档(MS office OLE2文档、ODS文档、PDF等)。我必须用所有可用的元数据来保存它们。

我知道如果不使用Liferay,我可能会在Apache中使用Apache (UpdateRichDocumentsExtractingRequestHandler),或者在引擎盖下使用Apache (org.apache.Jackrabbit.提取器.*)。

问题是,如果我看一下Liferay的主干,有一些关键的类:

Hooks (JCRHook, FileSystemHook, CMISHook, s3Hook)是直接从DLLocalServiceImpl内部雇用的

另一种选择是使用DLAppLocalServiceImpl,它使用DLRepositoryLocalServiceImpl,文件也通过钩子持久化到存储库中,但是还有很多额外的工作要做。

  1. 在Liferay中没有jas兔子文本提取器库,所以我想如果我想从PDF、DOCs、ODS文档中提取元数据,我会遇到非常困难的情况.因为DL服务层不接受其他属性
代码语言:javascript
复制
1. I think I'd have to avoid using DL services and JCR hook and access Jackrabbit directly... But I would loose the compatibility and possibility migrate my repository etc.

能请任何人在这个问题上合作吗?谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-03-21 14:18:51

我认为,这两个服务DLLocalServiceImplDLAppLocalServiceImpl都很重要,而且将来也是如此。前者用于直接访问存储库。注意,当通过此服务添加文件时,需要将相应的DlFileEntry持久化到数据库中,而不是引用addFile(.,fileEntryId,.)。

后一种服务是为您做额外的事情,主要是资产管理和工作流。

关于您的用例,我将避免使用文档库,因为没有元数据可以进入JCR存储库。实际上,只有可以存储的元数据/自定义属性才是Liferay的custom properties AKA Expando特性。

对于您来说,最好的方法是实现自己的Jack兔子钩子,将数据存储到存储库中,并让Liferay文档库使用该存储库。

票数 1
EN

Stack Overflow用户

发布于 2011-02-28 03:55:13

SOLR用于索引,Jack兔子用于文档存储。在代码中管理Liferay文档库相当容易,只需查看DL*LocalServiceUtil类,即DLFolderLocalServiceUtilDLFileLocalServiceUtil。默认情况下,Liferay只是在硬盘上创建一个匹配的文件夹/文件结构(更改了名称),因此如果您需要的话,只需要编写代码或使用Jack兔子,因为Liferay允许通过控制面板和各种portlet从盒子中向上/下载和查看。

我没有在Liferay中使用JackRabbit,但是一旦配置完毕,一切都应该在封面下进行管理,您不需要在前端担心它。

当您说“使用所有可用的元数据”时,我不确定保留了什么,但是除了重命名文件以便于跟踪之外,不应该进行任何其他更改。通过上传每种类型的文件并检查LIFERAY/data/document_library目录和子目录中的条目,测试应该是快速和容易的。同样,如果使用杰克-兔子,这将是不同的。

票数 2
EN

Stack Overflow用户

发布于 2011-03-17 06:50:45

认为埃德加是对的。如果您通过http://svn.liferay.com/repos/public/portal/trunk/portal-service/src/com/liferay/documentlibrary/service/DLLocalService.java (以来宾身份登录而不使用密码)检查当前主干,您将无法再找到类DLFolderLocalServiceUtil。我们也在使用现有的DLFolderLocalServiceUtil类。谢谢你的提醒。我们将重构我们的代码,所以当6.1出现时,我们仍然可以使用DocumentLibrary服务。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5136564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档