2016-08-28 13 views
3

私はGithubのAikauチュートリアルで作業していますが、ビューに渡すことができるリストを作成する方法を理解できません。要件は、すべてのユーザーのすべてのワークフロータスクを選択し、結果を表示することです。Alfresco Aikau - ビューのリストを作成

1人のユーザーの詳細を表示する(ハードコードされた)次のウィジェットを追加しましたが、すべてのユーザーを循環させてすべてのワークフローを表示する必要があります。

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"キーワードを使用する場合は、カスタムのWebスクリプトを作成する必要があると仮定します。もし私がwebscriptを書いていたら、jsonデータをフォームに返す最後のステートメントは何でしょうか?

私は、最善の方法についていくつかのガイダンスが必要です。

答えて

1

最新のアイカウ(1.0.83)版を使用している時点では、すぐに使用できるウィジェットとサービスを使用してこれを行うことはできません。

主な問題は、AikauとShare XMLベースのフォームランタイムの間に完全なマッピングがないことです。このblog postは手元の問題を説明しています。しかしそれは私たちが取り組んでいることです。

"alfresco/services/FormsRuntimeService"が完了したら、この作業を簡単に完了できます。既存のリストウィジェットはソート/ページングのすべての要件を処理するため、リストのウィジェットを追加する必要はありません(基本となるREST APIがソートとページングをサポートしている場合)。

私はあなたの最善の方法は、このソリューションがどれくらい速く必要かに非常に依存していると思います。私たちはFormsRuntimeServiceを進歩させていますが、いつ完全に準備ができているかは言えません。

共有フォームランタイムを使用するタスクとワークフローを表示する既存の共有ページは、共有YUI2ベースのウィジェットで動作するようにハードコードされたHTMLを返すAPIに依存しています。以前のサーフコンポーネント/ YUI2ウィジェットのアプローチを使用することになりました。それは探検する他の1つのエリアかもしれません。

主なことは、コア要件を満たす既存のREST APIがあるかどうかを確認することです。

関連する問題