2016-09-18 5 views
0

저는 최근 야외 공유에서 aikau으로 개발하기 시작했습니다. 검색 결과를 CSV 파일로 내보낼 수있는 기능을 원합니다.aikau - 내보내기 검색 기능을 구현합니다.

이를 위해 백엔드 저장소 웹 스크립트를 변경하여 csv 데이터를 반환 할 수 있습니다. 이제 alfresco share end에서 FCTSRCH_TOP_MENU_BAR에 새 위젯을 추가하여 내보내기 링크를 성공적으로 표시 할 수있었습니다. 이 링크를 표시하려면 alfresco/renderers/PropertyLink을 사용했습니다. 이제, 필자가 누락 된 부분은 - 검색 웹 스크립트를 호출하여 추가 param 형식 = csv 및 그와 함께 결과를 검색하는 데 사용되는 모든 쿼리 매개 변수를 전달하는 방법입니다.

나는 그것에 붙어있다. publishTopic을 ALF_CRUD_GET_ALL으로 사용하고 거기에 URL을 제공하면 샘플 웹 스크립트 (샘플 CSV 응답을 반환하기 위해 생성 함)를 호출하고 응답을 반환합니다. 그러나 CSV는 다운로드 가능한 응답으로 제공되지 않습니다. 검색 결과에 대한 CSV 내보내기 기능을 구현하는 방법에 대해 열중하고 있습니다.

여러분 중 누구라도 나를 도울 수 있고 귀하의 지침/제안을 제공하면 좋을 것입니다.

답변

0

blog post은 공유에서 검색 페이지를 맞춤 설정하는 방법에 대한 예를 제공합니다. XHR 요청을 보내는 데 사용되는 데이터를 변경하려는 경우 검색 쿼리를 변경하면 기본 확장 방법이 다소 달라질 수 있습니다. 여기서 중요한 차이점은 서비스에 대한 더 자세한 업데이트가 필요하다는 것입니다. 특히 고급 검색 쿼리 개체를 작성하는 데 사용되는 switch statement과 관련하여 특히 그렇습니다.

기본 검색 REST API를 확장하거나 바꾼 경우 동일한 URL을 호출해야하지만 CSV 데이터를 반환하기위한 완전히 새로운 REST API를 제공했다면 서비스에서 사용하는 URL을 변경합니다.

콘텐츠를 다운로드 할 수있는 링크를 제공하기 위해 이전에 DragAndDropModelCreationService (generateDownload 기능 참조)에 구현했지만 이는 보안 제한 및 다운로드 할 파일 생성으로 인해 Chrome에서만 작동합니다.

숨겨진 위치의 저장소에 CSV 콘텐츠를 임시로 저장 한 다음 표준 다운로드 링크를 사용하여 다운로드 할 수 있도록하는 것이 가장 좋을 수 있습니다.이 방법은 더 복잡하지만 크로스 브라우저를보다 잘 지원할 수 있습니다. 'ZIP로 다운로드'작업에 대해 비슷한 작업이 수행됩니다.

+0

Dave의 응답에 감사드립니다. 아직 불분명 한 점은 거의 없으며 친절하게도 내 무지를 변명 할 수 있습니다. 나는 위에서 언급 한 것을 100 % 따르지 못했습니다. 'alfresco/renderers/PropertyLink'를 사용하여 수출 링크를 렌더링하고 있습니다. 형식 = csv 매개 변수를 전달하는 웹 스크립트 검색을 위해 XHR 요청을 보내는 방법을 모르겠습니다. 단순히 게시 항목을'ALF_CRUD_GET_ALL'으로 사용하면 내보내기 링크를 클릭 할 때 검색 매개 변수를 다시 전달하는 방법을 모르겠습니다. 코드 스 니펫/예가 있으면 이해해주세요. – AlfrescoNewDeveloper

+0

아마도 귀하의 질문에 약간의 설명이 필요하다고 생각합니다 ... PropertyLink를 어디에 렌더링하고 있습니까? 검색 결과에 표시됩니까? 질문에 CSV 데이터를 반환하기 위해 리포지토리 REST API를 업데이트하는 것처럼 들리십니까? 새 API를 제공하셨습니까? 아마도 유스 케이스를 살펴볼 수 있습니다. 기존 검색 페이지를 업데이트하고 있다면'ALF_CRUD_GET_ALL'을 사용하고 싶지 않을 것입니다 - 검색 서비스가하고있는 일을 수행해야합니다. 다시 말하지만, questino의 더 많은 정보가 더 나은 대답을 제공하는 데 도움이 될 것입니다. –

+0

예. 내가 성취하고자하는 것을 정확히 제공하도록 노력하겠습니다. 나는 검색 결과가 표시되는 링크를 추가하려고 시도하는면이있는 검색 페이지를 사용자 정의하고 있습니다 (대부분 X 결과 옆에 텍스트가 있습니다). 링크를 보여주기 위해'alfresco/renderers/PropertyLink'를 사용했습니다. CSV 형식을 응답으로 반환하도록 OOTB repo 웹 스크립트를 사용자 정의했습니다. 이제 제가 누락 한 부분은 검색 페이지의 링크에서 가져온 것입니다. format = csv를 전달하는 검색 웹 스크립트와 원래의 결과를 얻는 데 사용 된 모든 검색 기준을 호출하려면 어떻게해야합니까? 희망이 명확하게. – AlfrescoNewDeveloper

0

확인, 추가 정보 제공과 내가 검색 페이지에 위젯을 추가하는 과정에서 다음 ...

이 정보를 할 것입니다 꽤 잘 자세한 here (당신이보기를 추가하지 않을지라도, ID "FCTSRCH_RESULTS_COUNT_LABEL"의 위젯 뒤에 새 PropertyLink를 추가하는 방법을 따를 수 있습니다).

"ALF_RETRIEVE_DOCUMENTS_REQUEST_SUCCESS"항목 (완료된 검색에 게시 됨)을 구독하는 페이지에 추가 사용자 지정 서비스를 포함시키는 방법이 있습니다. 사용자가 PropertyLink를 클릭하기위한 준비로 변수에 검색 응답을 저장해야합니다.

이 사용자 지정 서비스는 PropertyLink에서 게시 한 항목 ("DOWNLOAD_CSV"라고 함)에도 가입해야합니다. 그런 다음이 사용자 지정 서비스는 페이로드에 제공 될 CSV 데이터를 사용하여 이전 대답에서 설명한 방법을 사용하여 파일 다운로드를 생성 할 수 있습니다. 말했듯이, 보안상의 이유로 일부 브라우저에서만 작동 할 수 있습니다.

사용자 정의 검색 웹 스크립트가 CSV 데이터를 저장소의 노드로 저장할 수있는 경우 검색 응답에 CSV 데이터의 NodeRef를 제공하면 PropertyLink가 "ALF_DOWNLOAD"주제를 게시 할 수 있습니다. 다운로드를 처리하는 DocumentService.

클라이언트 측에서 다운로드 할 파일을 생성하려고하면 대부분의 브라우저에서 문제가 될 것입니다.

+0

Dave에게 감사드립니다. 구현하겠습니다. – AlfrescoNewDeveloper