47 Articlesサンプル・アプリケーションでの作業

Articlesサンプル・アプリケーションは、記事アセットを管理するための単純なコンテンツ管理アプリケーションです。アプリケーションの詳細に文書化されたソース・コードおよび自己インストール・プロセスを操作するとき、これは、アプリケーションの開発に有用な知識を得る役に立ちます。

トピック:

Articlesサンプル・アプリケーションについて

Articlesホーム・ページには、カスタム・インタフェースからWEMで直接編集可能な2つの記事が表示されます。このアプリケーションでは、WebCenter Sites REST APIを使用して、Javaコードから検索問合せを実行し、JavaScriptコードから変更アセット問合せを実行できます。ArticlesアプリケーションとRESTサービスを、別々のアプリケーション・サーバーで実行できるようになります。

JavaScriptのクロスドメイン制限により、ArticlesアプリケーションからRESTサービスに対してAJAXを直接コールできません。したがって、JavaScriptからのコールをWEM REST Webサービスにリダイレクトするために単純なProxyControllerが導入されています。このコントローラ実装はカスタム実装で再利用できます。   

アプリケーションのホーム・ページは次の図のようになります。

図47-1 「Home」ページ

図47-1の説明が続きます
「図47-1 「Home」ページ」の説明

Articlesアプリケーションは、Spring MVCフレームワークに基づいています。Articlesには、fwadminという名前でxceladminというパスワードを持つ事前定義済管理ユーザーが含まれます。このユーザーはRestAdminというRESTグループに割り当てられています。 アプリケーションの自己インストーラには、Articlesアプリケーションを登録し、そのアセット・モデルとサンプル記事をインストールするための仕様が含まれます。このアプリケーションには、内部的に構成されたサイトやロールで保護された機能は存在せず、単一のiframeビューがあります。その他の仕様については、「Articlesサンプル・アプリケーションでの作業」を参照してください。

Articlesサンプル・アプリケーションの起動

Articlesサンプル・アプリケーションを起動するには、サンプル・アプリケーションをビルドおよびデプロイしてから、インストーラを実行します。

トピック:

Articlesアプリケーションのビルドおよびデプロイ

  1. サンプルのArticlesアプリケーションの割当て先となるサイトを選択または作成します。デフォルトのサイトはFirstSiteII (WebCenter SitesのサンプルのCMサイト)です。FirstSiteIIはシステムにインストールされていない場合があります。

    サイトを選択または作成するには、次のURLにアクセスしてWEM Adminにログインします。

    http://<server>:<port>/<cs_application_context>/login

    このとき、一般管理者の資格証明(デフォルト値はfwadmin/xceladmin)を使用します。

    ノート:

    ステップ5では、ここで選択したサイトを指定します。これにより、インストーラを実行した際に、指定したサイトでアプリケーションのアセット・モデルとアセットが有効になります。

  2. Java Development Kit 8 Update 51 (以降)をダウンロードおよびインストールします。
  3. 最新のApache Antをhttp://ant.apache.org/からダウンロードして、AntのbinディレクトリをシステムのPATHに置きます。
  4. servlet-api.jarをArticlesアプリケーションのlibフォルダにコピーします。このjarファイルはアプリケーション・サーバーのホーム・ディレクトリから取得できます(たとえば、Tomcatのservlet-api.jarhome libディレクトリにあります)。
  5. applicationContext.xmlファイル(src\articles\src\main\webapp\WEB-INF\)で次のパラメータを設定します。
    • casUrl: CASアプリケーションのURLを指定します。http://<server>:<port>/<context_path>

    • csSiteName: ステップ1で選択したサイトの名前を指定します。

    • csUrl: WebCenter Sitesプラットフォームが実行されているURLを指定します: http://<server>:<port>/<context>

    • csUserName: デフォルト値はfwadminです。これはアプリケーションの事前定義済ユーザーで、RestAdminグループにメンバーシップを持つ一般管理者です。このグループのRESTサービスへの権限は制限されていません。別のユーザーを指定する場合は、fwadminと同等のユーザーを指定する必要があります。一般管理者の作成の手順は、『Oracle Fusion Middleware Oracle WebCenter Sitesの管理』ユーザーの作成に関する項を参照してください。

    • csPassword: 事前定義済ユーザーのパスワードを指定します。

    • articlesUrl: サンプル・アプリケーションにアクセスする際のURLを指定します。

  6. デフォルトのターゲットを指定してAntビルドを実行します(コマンド・ラインでantと入力します)。
  7. 生成されたtarget/articles-1.0.warをアプリケーション・サーバーにデプロイします。

    デプロイメント時に、次のコンテンツがソースからターゲットにコピーされます。libフォルダの内容は/WEB-INF/lib/にコピーされます。resourcesフォルダの内容は/WEB-INF/classes/にコピーされます。ソース・アプリケーションの構造の詳細は、「WEMフレームワークでのアプリケーションの開発」を参照してください。

    ノート:

    cas-cache.xmlのmcastポートはインストーラによって置換されません。mcastポートは@casCacheMultiCastGroupPort@として残され、手動で編集しないかぎり、デプロイは失敗します。

    この解決策は、cas-cache.xmlWebCenter SitesからArticlesアプリケーションにコピーすることです。これにより、mcastアドレスおよびポートの手動更新に関連する問題を解消できます。

  8. customBeans.xmlファイル(sitesinstall/configフォルダ内にあります)で、信頼できるURLを指定します。正常にログインした訪問者は、CASによってこのURLにリダイレクトされます。たとえば、次のURLをcustomBeans.xmlファイルに追加します。
    <value>http://<hostname>:<portnumber>/articles-1.0/*</value>
    

Articlesサンプル・アプリケーションの登録

Articlesアプリケーションには自己インストーラが用意されており、install.appページにログインすると実行されます。インストーラによってサンプル・アプリケーション(ビューを含む)が登録され、そのデータ・モデルとアセットがWebCenter Sitesデータベースに作成されます。

ノート:

登録アセット・タイプFW_ViewおよびFW_Applicationの仕様は、Oracle WebCenter Sites Java APIリファレンスおよび「WEMフレームワークでのアプリケーションの手動登録」を参照してください。

Articlesインストーラを実行するには::

  1. 次のようにinstall.appページに移動します。

    http://<hostname>:<portnumber>/<context_path>/install.app
    

    たとえば:

    http://localhost:9080/articles-1.0/install.app
    
  2. 任意の資格証明を使用してログインします。

    csUserNameおよびcsPasswordで指定したアプリケーションの事前定義済ユーザーには、アプリケーションに対する権限が付与されています。サンプル・アプリケーションではロールを使用しないため、認可チェックは実行されません。

  3. 自己インストール・プロセスによってInstallController.javaが起動されます。まずアプリケーション(アプリケーションBeanのビューを含む)が登録され、続いてサンプルのアセット・タイプとアセットがデータベースに書き込まれます。

    1. InstallController.javaは、次のようにArticlesアプリケーションをWEMフレームワークに登録します。

      • InstallController.javaは、Articlesというアプリケーション・アセット(アセット・タイプFW_Application)をWebCenter Sitesデータベースに作成します。

        iconurl属性は、アプリケーションを表すアイコンが配置されるURLを示します。

        layouturl属性は、layout.appページ(LayoutController.javaで実装される)のURLを指定します。layout.appページにはアプリケーションのレイアウトを定義します。

        layouttype属性は、デフォルト値layoutrendererのみをとります。layoutrenderer値を使用すると、アプリケーションに関連するビューがUIコンテナでレンダリングされる際に、layouturlで指定されているlayout.appページが使用されます。

      • InstallController.javaは、ArticlesViewというビュー・アセット(アセット・タイプはFW_View)をWebCenter Sitesデータベースに作成します。ビュー・アセットとアプリケーション・アセットとの関連付けは、FW_Applicationアセット・タイプのviews属性によって行われます。

    2. InstallController.javaは、次のようにアプリケーションのアセット・モデルとサンプル・アセットをインストールします。

      • アプリケーションのFW_Articleアセット・タイプをWebCenter Sitesデータベースに作成します。(FW_Articleは、InstallController.javaで定義されているベーシック・アセット・タイプです。)

      • applicationContext.xmlcsSiteNameパラメータ(「Articlesアプリケーションのビルドおよびデプロイ」のステップ5)で指定されているサイトでFW_Articleアセット・タイプを有効にします。

      • 記事アセットの2つのサンプルをFW_Articleアセット・タイプ表に書き込みます。(記事のテキストとイメージは、/sample app/articles/src/main/resources/installに格納されます)

    3. InstallController.javaは、アセット・タイプFW_Articleの検索をサポートするアセット・タイプに基づいた索引を作成します。(コントローラは、索引構成データを指定します。)

  4. インストール・プロセスが正常に完了すると、InstallController.javaにより、サンプル・データが正常にインポートされたこと、およびホーム・ページ(home.app)にリダイレクトされることの確認が(http://<server>:<port>/articles/install.app)に)表示されます。

Articlesアプリケーションのテスト

Articlesサンプル・アプリケーションを試してみます。必要なのは、ホーム・ページに移動してログインすることのみです。

Articlesアプリケーションをテストするには:

  1. 次のようにhome.appページに移動します。
    http://<hostname>:<portnumber>/<context_path>/home.app
    

    たとえば:

    http://localhost:8080/articles-1.0/home.app
     
  2. 任意の資格証明を使用してログインします。

    csUserNameおよびcsPasswordで指定したアプリケーションの事前定義済ユーザーには、アプリケーションに対する権限が付与されています。サンプル・アプリケーションではロールを使用しないため、認可チェックは実行されません。

    アプリケーションのホーム・ページがWEMに表示されます。

  3. このアプリケーションを使用して実験を行う場合(たとえば、別のサイトに割り当てて、ユーザーを追加する場合)、WEM Adminを使用します。