首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >aikau -实现导出搜索结果功能

aikau -实现导出搜索结果功能
EN

Stack Overflow用户
提问于 2016-09-18 17:06:43
回答 2查看 346关注 0票数 0

我最近开始在户外分享中使用aikau进行开发。我想实现一个功能,其中我可以导出搜索结果到CSV文件。

为此,我可以更改后端存储库web脚本以返回csv数据。现在,通过向FCTSRCH_TOP_MENU_BAR添加一个新的小部件,我成功地显示了导出链接。我使用alfresco/renderers/PropertyLink来显示此链接。现在,对我来说,缺少的部分是-如何调用搜索web脚本,传递额外的参数format=csv,以及传递用于检索结果的所有查询参数。

我被这一点困住了。如果我使用publishTopic作为ALF_CRUD_GET_ALL并在那里提供URL,那么它将调用示例web脚本(我创建该脚本是为了返回示例csv响应)并返回响应。然而,csv并不是可下载的响应。我被困在这里是为了如何实现搜索结果的导出csv功能。

如果你们中的任何人能在这里帮助我并提供你们的指导/建议,那就太好了。

EN

回答 2

Stack Overflow用户

发布于 2016-09-19 16:18:08

blog post提供了一个示例,说明如何在共享中自定义搜索页面。尽管它专门解决了更改搜索查询的问题,但基本的扩展方法与此大致相同,因为您需要更改用于发送XHR请求的数据。我认为这里的主要区别在于,您可能需要对服务进行更深入的更新-特别是关于用于构建高级搜索查询对象的switch statement

如果您已经扩展或替换了默认的搜索REST API,那么我希望您将需要调用相同的URL,但是如果您已经提供了一个全新的REST API来返回CSV数据,那么您还需要更改服务使用的URL。

在提供下载内容的链接方面,我们之前已经在DragAndDropModelCreationService中实现了一些东西(参见generateDownload函数),但由于安全限制和要下载的文件的生成,这只适用于Chrome。

您最好的办法可能是将CSV内容临时存储在存储库中的隐藏位置,然后使用标准下载链接来允许下载-这会更复杂,但会提供更好的跨浏览器支持。对于"Download as ZIP“操作,也会执行类似的操作。

票数 0
EN

Stack Overflow用户

发布于 2016-09-19 20:14:11

好的,有了提供的额外信息,我将执行以下操作……

关于将小部件添加到搜索页面的过程的信息非常详细的here (虽然您没有添加视图,但是您可以按照这种方法在id为“FCTSRCH_RESULTS_COUNT_LABEL”的小部件后面添加一个新的PropertyLink )。

我采用的方法是在订阅"ALF_RETRIEVE_DOCUMENTS_REQUEST_SUCCESS“主题的页面上包含一个额外的自定义服务(在完成的搜索中发布)。它应该将搜索响应保存在一个变量中,为用户单击PropertyLink做好准备。

此自定义服务还应订阅由PropertyLink发布的主题(称为"DOWNLOAD_CSV")。然后,此自定义服务可以使用我在前面的回答中描述的方法,使用将在有效负载中提供的CSV数据来生成文件下载。正如我所说的,由于安全原因,这可能只适用于某些浏览器。

如果您的自定义搜索WebScript能够将CSV数据作为节点存储在存储库中,那么您只需在搜索响应中提供CSV数据的NodeRef,PropertyLink就可以发布"ALF_DOWNLOAD“主题供DocumentService处理下载。

我认为,对于大多数浏览器来说,尝试生成一个文件以在客户端下载将是一个问题。

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

https://stackoverflow.com/questions/39555910

复制
相关文章

相似问题

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