Web アプリケーションでの AEM Forms ワークスペースコンポーネントの統合 integrating-aem-forms-workspace-components-in-web-applications
AEM Forms Workspace コンポーネント を固有の web アプリケーションで使用することができます。以下のサンプルの実装は、CRX™ インスタンスにインストールされた AEM Forms Workspace Dev パッケージのコンポーネントを使用して web アプリケーションを作成します。下記のソリューションをカスタマイズして、個々のニーズに合わせます。サンプルの実装は、Web ポータル内部の UserInfo
、FilterList
、TaskList
コンポーネントを再利用します。
-
https://'[server]:[port]'/lc/crx/de/
で CRXDE Lite 環境にログインします。AEM Forms Workspace Dev パッケージがインストールされていることを確認します。 -
パス
/apps/sampleApplication/wscomponents
を作成します。 -
css、images、js/libs、js/runtime、および js/registry.js をコピーします
- コピー元:
/libs/ws
- 移動先
/apps/sampleApplication/wscomponents
- コピー元:
-
/apps/sampleApplication/wscomponents/js フォルダー内に demomain.js ファイルを作成します。コードを /libs/ws/js/main.js から demomain.js にコピーします。
-
demomain.js で、コードを削除してルーターを初期化し、以下のコードを追加します。
code language-javascript require(['initializer','runtime/util/usersession'], function(initializer, UserSession) { UserSession.initialize( function() { // Render all the global components initializer.initGlobal(); }); });
-
/content の下に名前
sampleApplication
およびタイプnt:unstructured
のノードを作成します。このノードのプロパティで、タイプ文字列のsling:resourceType
と値sampleApplication
を追加します。このノードのアクセス制御リストで、jcr:read 権限を許可するPERM_WORKSPACE_USER
にエントリを追加します。また、/apps/sampleApplication
のアクセス制御リストで、jcr:read privileges 権限を許可するPERM_WORKSPACE_USER
のエントリを追加します。 -
/apps/sampleApplication/wscomponents/js/registry.js
でテンプレート値のパスを/lc/libs/ws/
から/lc/apps/sampleApplication/wscomponents/
にアップデートします。 -
/apps/sampleApplication/GET.jsp
/ にあるポータルホームページの JSP ファイルで、次のコードを追加してポータル内部の必要なコンポーネントを含めます。code language-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 ファイルも含めます。
note note NOTE 各コンポーネントはレンダリングする際にコンポーネントタグ(クラス gcomponent を所有)に追加されます。ホームページにこれらのタグが含まれていることを確認します。これらの基本制御タグの詳細については、AEM Forms Workspace の html.jsp
ファイルを参照してください。 -
コンポーネントをカスタマイズするには、以下のように必要なコンポーネントの既存のビューを拡張します。
code language-javascript 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; });
-
ポータルの CSS を修正し、ポータル上の必要なコンポーネントのレイアウト、配置、スタイルを設定します。例えば、このポータルの背景色を黒色に保持して userInfo コンポーネントも同様に表示するとします。それには、以下のようにして
/apps/sampleApplication/wscomponents/css/style.css
の背景色を変更します。code language-css body { font-family: "Myriad pro", Arial; background: #000; //This was origianlly #CCC position: relative; margin: 0 auto; }