2016-08-30 2 views
2

저는 Alfresco Aikau를 처음 접했고 페이로드 작동 방식을 알지 못합니다. 페이로드가 사용되지만 연결을 설정하지 않는 많은 예가 있습니다.Aikau fundamentals - payload 101

위의 모든 예제는 페이로드가로드되어 위젯에 반환되는 데이터 목록을 정의하는 데 사용된다는 것을 제안합니다.

하지만 데이터 목록은 항상 URL 인 것처럼 보입니다. URL의 결과가 json 개체라고 가정합니다.

json 객체를 작성하고 다시 위젯으로 반환하는 웹 스크립트를 호출하려면 어떻게해야합니까? 그 메커니즘은 무엇이겠습니까? 페이로드에로드할까요? 그렇다면 어떻게해야합니까?

당신은 내 혼란을 이해하고 올바른 방향으로 나를 가리켜 주길 바랍니다.

감사

답변

2

Aikau 완전히 모든 위젯과 서비스를 분리하기 위해 발행/구독 모델을 사용합니다. "페이로드"는 주제에 게시되고 구독자가 소비하는 객체입니다. 단일 페이로드 유형은 없으며, 각 위젯과 서비스는 서로 다른 데이터를 포함하는 다른 페이로드를 기대할 수 있습니다. 우리는 위젯에서 기본적으로 사용하는 모든 주제를 작업하고이를 상수 모듈로 이동했으며 JSDoc은 각 주제에 대한 각 페이로드의 구조를 문서화합니다.

특정 질문에 대한 대답 - 목록 패키지의 위젯 (가장 기본적인 alfresco/lists/AlfList)은로드 할 데이터를 요청하는 페이로드를 게시하려고합니다. 목록은 모든 서비스에서 작동 할 수 있으므로 사용하려는 서비스에 따라 게시되는 주제가 달라집니다. 마찬가지로 게시 된 페이로드도 다릅니다.

예를 들어 CrudService를 사용중인 경우 페이로드에로드 할 URL이 있어야합니다. 다른 서비스의 대부분은 특정 데이터에 대해 작업하고 알려진 URL을 사용하여 해당 데이터를 검색하도록 작성 되었기 때문에 URL을 요구하지 않습니다. 사용자 정의 서비스를 쓰기를 포함하여 - - 모든 경우에 CrudService를 사용하는 유혹 할 수 있지만

, 많은 혜택이 전용 서비스를 사용하여 거기에 반환 된 데이터를 정상화하기 위해을 (코어의 많은 WebScript 기반하기 때문에 REST API는 공통 스키마를 따르지 않습니다.

서비스가 데이터를로드하면 응답 항목에 데이터를 게시합니다. 게시 된 페이로드에는 실제 목록 데이터가 포함됩니다. 다시 한번, CrudService는 데이터 스키마에 대한 "지식"을 갖지 않으므로 목록을 나타내는 데이터 배열을 포함하는 페이로드의 속성을 식별하기 위해 목록을 구성해야합니다 ("itemsProperty"속성 사용). 렌더링 됨).

GitHub의 Aikau tutorial은 목록 및로드 목록 데이터 (다양한 출처)를 사용하는 페이지를 만드는 과정을 통해 작동합니다. 아직 배우지 않은 경우 자습서를 작성하는 것이 좋습니다.

"currentData"속성을 통해 데이터가있는 목록을 초기화하여 데이터에 대한 XHR 요청을 할 필요가 없도록 할 수도 있습니다.