Web アプリケーションでの AEM Forms ワークスペースコンポーネントの統合 integrating-aem-forms-workspace-components-in-web-applications

CAUTION
AEM 6.4 の拡張サポートは終了し、このドキュメントは更新されなくなりました。 詳細は、 技術サポート期間. サポートされているバージョンを見つける ここ.

AEM Forms Workspace を使用できます コンポーネント を設定します。 以下のサンプル実装では、CRX™インスタンスにインストールされたAEM Forms workspace 開発パッケージのコンポーネントを使用して、Web アプリケーションを作成します。 特定のニーズに合わせて以下のソリューションをカスタマイズします。 サンプルの実装は、Web ポータル内部の UserInfoFilterListTaskList コンポーネントを再利用します。

  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 で、コードを削除して Router を初期化し、次のコードを追加します。

    code language-none
    require(['initializer','runtime/util/usersession'],
        function(initializer, UserSession) {
            UserSession.initialize(
                function() {
                    // Render all the global components
                    initializer.initGlobal();
                });
        });
    
  6. /content の下に名前 sampleApplication およびタイプ nt:unstructured のノードを作成します。このノードのプロパティで、タイプ文字列の sling:resourceType と値 sampleApplication を追加します。このノードのアクセス制御リストで、jcr:read 権限を許可する PERM_WORKSPACE_USER にエントリを追加します。また、/apps/sampleApplication のアクセス制御リストで、jcr:read privileges 権限を許可する PERM_WORKSPACE_USER のエントリを追加します。

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

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

    code language-as3
    <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 ファイルも含めます。

    note note
    NOTE
    各コンポーネントは、レンダリング時に(クラス gcomponent を持つ)コンポーネントタグに追加されます。 ホームページにこれらのタグが含まれていることを確認します。 これらの基本制御タグの詳細については、AEM Forms Workspace の html.jsp ファイルを参照してください。
  9. コンポーネントをカスタマイズするには、次のように、必要なコンポーネントの既存のビューを拡張します。

    code language-as3
    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 の背景色を変更します。

    code language-as3
    body {
        font-family: "Myriad pro", Arial;
        background: #000;    //This was origianlly #CCC
        position: relative;
        margin: 0 auto;
    }
    
recommendation-more-help
a6ebf046-2b8b-4543-bd46-42a0d77792da