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;
    }
    

このページ