Web アプリケーションでの AEM Forms Workspace コンポーネントの統合

AEM Forms Workspace コンポーネント を固有の Web アプリケーションで使用することができます。以下のサンプルの実装は、CRX™ インスタンスにインストールされた AEM Forms Workspace Dev パッケージのコンポーネントを使用して Web アプリケーションを作成します。下記のソリューションをカスタマイズして、個々のニーズに合わせます。サンプル実装では、Webポータル内のUserInfoFilterListおよびTaskListコンポーネントを再利用します。

  1. https://'[server]:[port]'/lc/crx/de/でCRXDE Lite環境にログインします。 AEM Forms Workspace Dev パッケージがインストールされていることを確認します。

  2. パス/apps/sampleApplication/wscomponentsを作成します。

  3. css、images、js/libs、js/runtime、および js/registry.js を

    • コピー元:/libs/ws
    • コピー先:/apps/sampleApplication/wscomponents
  4. /apps/sampleApplication/wscomponents/js フォルダー内部に demomain.js ファイルを作成します。コードを /libs/ws/js/main.js から demomain.js にコピーします。

  5. demomain.js で、コードを削除してルーターを初期化し、以下のコードを追加します。

    require(['initializer','runtime/util/usersession'],
        function(initializer, UserSession) {
            UserSession.initialize(
                function() {
                    // Render all the global components
                    initializer.initGlobal();
                });
        });
    
  6. /contentの下に名前sampleApplicationでノードを作成し、"nt:unstructured"と入力します。 このノードのプロパティで、型がStringで値がsampleApplicationsling:resourceTypeを追加します。 このノードのアクセス制御リストで、jcr:read 権限を許可する PERM_WORKSPACE_USER にエントリを追加します。また、/apps/sampleApplicationのアクセス制御リストで、jcr:read権限を許可するPERM_WORKSPACE_USERのエントリを追加します。

  7. /apps/sampleApplication/wscomponents/js/registry.jsで、テンプレート値のパスを/lc/libs/ws/から/lc/apps/sampleApplication/wscomponents/に更新します。

  8. /apps/sampleApplication/GET.jspのポータルホームページJSPファイルで、次のコードを追加して、ポータル内の必要なコンポーネントを含めます。

    <script data-main="/lc/apps/sampleApplication/wscomponents/js/demomain" src="/lc/apps/sampleApplication/wscomponents/js/libs/require/require.js"></script>
    <div class="UserInfoView gcomponent" data-name="userinfo"></div>
    <div class="filterListView gcomponent" data-name="filterlist"></div>
    <div class="taskListView gcomponent" data-name="tasklist"></div>
    

    AEM Forms Workspace コンポーネントに必要な CSS ファイルも含めます。

    メモ

    各コンポーネントはレンダリングする際にコンポーネントタグ(クラス gcomponent を所有)に追加されます。ホームページにこれらのタグが含まれていることを確認します。これらの基本制御タグの詳細については、AEM Forms Workspace の html.jsp ファイルを参照してください。

  9. コンポーネントをカスタマイズするには、以下のように必要なコンポーネントの既存のビューを拡張します。

    define([
        ‘jquery’,
        ‘underscore’,
        ‘backbone’,
        ‘runtime/views/userinfo'],
        function($, _, Backbone, UserInfo){
            var demoUserInfo = UserInfo.extend({
                //override the functions to customize the functionality
                render: function() {
                    UserInfo.prototype.render.call(this); // call the render function of the super class
                    …
                    //other tasks
                    …
                }
            });
            return demoUserInfo;
    });
    
  10. ポータルの CSS を修正し、ポータル上の必要なコンポーネントのレイアウト、配置、スタイルを設定します。たとえば、このポータルの背景色を黒色に保持して userInfo コンポーネントも同様に表示するとします。これを行うには、次のように/apps/sampleApplication/wscomponents/css/style.cssの背景色を変更します。

    body {
        font-family: "Myriad pro", Arial;
        background: #000;    //This was origianlly #CCC
        position: relative;
        margin: 0 auto;
    }
    

このページ