2016-08-28 2 views
3

나는 Github에 대한 Aikau 자습서를 작성했지만보기에 전달할 수있는 목록을 작성하는 방법을 알지 못합니다. 요구 사항은 모든 사용자에 대해 모든 워크 플로 작업을 선택하고 결과를 표시하는 것입니다.Alfresco Aikau -보기 목록 작성

한 명의 사용자 (하드 코딩 된)의 세부 정보를 표시하는 다음 위젯을 추가했지만 모든 사용자를 순환하고 모든 워크 플로우를 표시해야합니다.

model.jsonModel = { 
    services: [ 
     "alfresco/services/CrudService" 
    ], 
    widgets:[ 
     { 
     name: "alfresco/lists/AlfSortablePaginatedList", 
     config: { 
      loadDataPublishTopic: "ALF_CRUD_GET_ALL", 
      loadDataPublishPayload: { 
       url: "api/task-instances?authority=abeecher" 
      }, 
      itemsProperty: "data", 
      widgets: [ 
       { 
       name: "alfresco/lists/views/AlfListView", 
       config: { 
        additionalCssClasses: "bordered", 
        widgetsForHeader: [ 
        { 
         name: "alfresco/lists/views/layouts/HeaderCell", 
         config: { 
          label: "Workflow ID", 
          sortable: true, 
          sortValue: "id" 
         } 
        }, 
        { 
         name: "alfresco/lists/views/layouts/HeaderCell", 
         config: { 
          label: "Description" 
         } 
        }, 
        { 
         name: "alfresco/lists/views/layouts/HeaderCell", 
         config: { 
          label: "Status" 
         } 
        }, 
        { 
         name: "alfresco/lists/views/layouts/HeaderCell", 
         config: { 
          label: "Due Date", 
          sortable: true, 
          sortValue: "properties.bpm_dueDate" 
         } 
        }, 
        { 
         name: "alfresco/lists/views/layouts/HeaderCell", 
         config: { 
          label: "Created By" 
         } 
        }, 
        { 
         name: "alfresco/lists/views/layouts/HeaderCell", 
         config: { 
          label: "Assigned To", 
          sortable: true, 
          sortValue: "owner.firstName" 
         } 
        }, 
        { 
         name: "alfresco/lists/views/layouts/HeaderCell", 
         config: { 
          label: "Tag1" 
         } 
        }, 
        { 
         name: "alfresco/lists/views/layouts/HeaderCell", 
         config: { 
          label: "Tag2" 
         } 
        }, 
        { 
         name: "alfresco/lists/views/layouts/HeaderCell", 
         config: { 
          label: "Tag3" 
         } 
        } 
        ], 
        widgets: [ 
        { 
         name: "alfresco/lists/views/layouts/Row", 
         config: { 
         widgets: [ 
          { 
          name: "alfresco/lists/views/layouts/Cell", 
          config: { 
           additionalCssClasses: "mediumpad", 
           widgets: [ 
           { 
            name: "alfresco/renderers/Property", 
            config: { 
            propertyToRender: "id", 
            } 
           } 
           ] 
          } 
          }, 
          { 
          name: "alfresco/lists/views/layouts/Cell", 
          config: { 
           widgets: [ 
           { 
            name: "alfresco/renderers/Property", 
            config: { 
            propertyToRender: "workflowInstance.message", 
            } 
           } 
           ] 
          } 
          }, 
          { 
          name: "alfresco/lists/views/layouts/Cell", 
          config: { 
           widgets: [ 
           { 
            name: "alfresco/renderers/Property", 
            config: { 
            propertyToRender: "state", 
            } 
           } 
           ] 
          } 
          }, 
          { 
          name: "alfresco/lists/views/layouts/Cell", 
          config: { 
           widgets: [ 
           { 
            name: "alfresco/renderers/Property", 
            config: { 
            propertyToRender: "properties.bpm_dueDate", 
            } 
           } 
           ] 
          } 
          }, 
          { 
          name: "alfresco/lists/views/layouts/Cell", 
          config: { 
           widgets: [ 
           { 
            name: "alfresco/renderers/Property", 
            config: { 
            propertyToRender: "workflowInstance.initiator.firstName" , 
            } 
           } 
           ] 
          } 
          }, 
          { 
          name: "alfresco/lists/views/layouts/Cell", 
          config: { 
           widgets: [ 
           { 
            name: "alfresco/renderers/Property", 
            config: { 
            propertyToRender: "owner.firstName", 
            } 
           } 
           ] 
          } 
          }, 
         ] 
         } 
        } 
        ] 
       } 
       } 
      ] 
     } 
     } 
    ] 
}; 

최종 솔루션을 사용하려면 열을 정렬하고 작업을 클릭하여 기본 워크 플로를 볼 수 있어야합니다. 이러한 요구 사항을 기반으로 초기 목록을 만드는 가장 좋은 방법은 무엇입니까?

위 목록을 작성한 위젯을 작성하려면 위젯을 양식에 어떻게 연결해야합니까? 사용자가 아무 것도 클릭하지 않고 페이지를로드하기 때문에 이것은 펍/서브 솔루션입니까?

loadDataPublishPayload 옵션에서 "url"키워드를 사용하는 경우 사용자 지정 웹 스크립트를 작성해야한다고 가정합니다. 필자가 웹 스크립트를 작성했다면 json 데이터를 폼에 반환하는 마지막 문장은 무엇입니까?

앞으로 나아갈 수있는 길잡이가 필요합니다.

답변

1

작성 당시 아이카우 (1.0.83)의 최신 릴리스 버전을 사용하면 즉시 사용할 수있는 위젯과 서비스를 사용하여이 작업을 수행 할 수 없습니다.

주요 문제는 Aikau와 공유 XML 기반 양식 런타임간에 전체 매핑이 없다는 것입니다. 이 blog post은 당면 문제를 설명합니다. 그러나 그것은 우리가 작업하고있는 것입니다.

"야외/서비스/FormsRuntimeService"가 완료되면 완료하기가 더 쉽습니다. 기존 목록 위젯은 정렬/페이지 매김 (기본 REST API가 정렬 및 페이지 매김을 지원하는 경우)에 대한 모든 요구 사항을 처리하므로 목록에 대한 추가 위젯을 작성할 필요가 없습니다.

최선의 방법은이 솔루션을 얼마나 빨리 요구하는지에 따라 달라집니다. 우리는 FormsRuntimeService를 통해 진전을 이루고 있지만, 언제 완전히 준비 될지 말할 수는 없습니다.

공유 양식 런타임을 사용하는 작업 및 워크 플로를 표시하는 공유의 기존 페이지는 공유 YUI2 기반 위젯과 함께 작동하도록 하드 코딩 된 HTML을 반환하는 API에 의존합니다. 원하는대로 달성 할 수 있습니다 이전의 Surf Component/YUI2 위젯 접근법을 사용하는 방법에 대해 설명합니다. 그것은 탐험 할 다른 하나의 영역 일 것입니다.

할 일은 핵심 요구 사항을 충족시킬 기존 REST API가 있는지 여부를 확인하는 것입니다.