intra-mart Accel Platform 設定ファイルリファレンス 第27版 2020-12-01

外部メニュー連携接続先設定

概要

外部メニュー情報を取得するための接続先となるメニュープロバイダ情報の設定を行います。

モジュール 外部メニュー連携
フォーマットファイル(xsd) WEB-INF/schema/menu-provider-config.xsd
設定場所 WEB-INF/conf/menu-provider-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<menu-provider-config
   xmlns="http://www.intra-mart.jp/menu/external/menu-provider-config"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://intra-mart.co.jp/menu/external/menu-provider-config ../schema/menu-provider-config.xsd"
   skip-on-error="true" retry-interval="300">

   <menu-providers>
      <menu-provider id="sample" target-tenant="default" enable="true" editable="false" use-popup="false" support-anonymous="false">
         <end-point>http://127.0.0.1:8080/imart/services/MenuService</end-point>
         <login-group>default</login-group>
         <user>aoyagi</user>
         <password cryption="default">0A1msI0DLNo=</password>
      </menu-provider>
   </menu-providers>

</menu-provider-config>

リファレンス

外部メニュー連携接続先の共通設定

タグ名 menu-provider-config
外部メニュー連携処理に関する共通項目を設定します。

【設定項目】

<menu-provider-config skip-on-error="true" retry-interval="300">
   ...
</menu-provider-config>

必須項目
複数設定 ×
設定値・設定する内容 なし
単位・型 なし
省略時のデフォルト値 なし
親タグ なし

【属性】

属性名 説明 必須 デフォルト値
skip-on-error
接続先への接続エラー時に次のメニュープロバイダ処理を実行するかどうかを設定します。
  • false を設定した場合、接続エラーが発生した場合は処理を中断し、システムエラーが発生します。
  • true を設定した場合、接続エラーが発生した場合は警告ログを出力し、次のメニュープロバイダ処理を実行します。 その場合、このメニュープロバイダは一定時間無効化されます。
× true
retry-interval
接続先への接続エラー発生によりメニュープロバイダが無効となったのち、再び有効になるまでの時間を秒数で設定します。
× 300

コラム

retry-interval について
skip-on-errortrue の場合、接続エラーが発生したメニュープロバイダは無効となり、一定時間外部メニュー連携を行いません。
エラー発生後、retry-interval に設定した時間が経過すると、再び有効に変わります。
その後、メニュー情報取得時に、再び外部メニュー連携により外部のメニュー情報取得を行います。
この値に 0 またはマイナスの値を設定した場合、一度エラーが発生したメニュープロバイダはサーバを再起動するまで無効のままです。
グローバルナビのメニュー情報はキャッシュされています。
そのため retry-interval が経過しても、メニューキャッシュをクリアするまで外部メニュー連携は行われません。

メニュープロバイダ一覧の設定

タグ名 menu-providers
外部メニュー連携の接続先となるメニュープロバイダ情報をまとめる設定です。

【設定項目】

<menu-provider-config>
   <menu-providers>
          ...
   </menu-providers>
</menu-provider-config>

必須項目 ×
複数設定 ×
設定値・設定する内容 なし
単位・型 なし
省略時のデフォルト値 なし
親タグ menu-provider-config

メニュープロバイダの設定

タグ名 menu-provider
外部メニュー連携の接続先となるメニュープロバイダを設定します。
メニュープロバイダの設定は複数設定することが可能です。
外部メニュー連携機能では、グローバルナビ、サイトマップ表示時に、この設定ファイルに記述された順にメニュープロバイダにアクセスします。
取得したメニューツリー情報は、メニュークライアントのメニューツリー情報に結合され、グローバルナビ、ツリーメニューおよびサイトマップに表示されます。

外部メニューを全て表示する

editable 属性を設定しなかった場合、取得したメニューツリー情報はメニュークライアントのメニューツリー情報の後ろに結合され、全て表示されます。
グローバルナビでは、取得した全てのメニューツリー情報の後ろに「サイトマップ」へのリンクが追加されます。
表示順序を変更したい場合は、この設定項目の記述順序を変更してください。
../../../_images/menu_provider_order.png

図 外部メニュー連携におけるメニューツリー表示順序

任意の外部メニューを表示する

editable 属性に「true」を設定した場合、取得したメニューツリー情報はメニュー設定画面で設定した位置に表示されます。
メニュー設定画面では、取得したメニューツリー情報のトップ階層をメニュークライアントの任意の位置に設定できます。
設定した外部メニューの表示位置情報は、「外部メニューリンク」として保存されます。
グローバルナビの表示時にメニュープロバイダからメニューツリー情報が取得され、「外部メニューリンク」の位置に挿入されます。
メニュー設定画面で設定されなかったメニューツリー情報は、表示されません。
../../../_images/menu_provider_editable.png

図 任意の外部メニューリンクを表示する場合のメニューツリー表示

コラム

メニュー設定画面での表示順序の設定については「テナント管理者操作ガイド」の 「外部サイトのメニューリンクを登録する」 を参照してください。

コラム

外部メニューを任意の位置に表示する設定は、グローバルナビのみ可能です。
サイトマップおよび互換テーマのメニューツリーでは、メニュークライアントの後ろに全ての外部メニューが表示されます。

【設定項目】

<menu-provider-config>
   <menu-providers>
      <menu-provider id="sample" target-tenant="default" enable="true" editable="false" use-popup="false" support-anonymous="false">
          ...
      </menu-provider>
   </menu-providers>
</menu-provider-config>

必須項目 ×
複数設定
設定値・設定する内容 なし
単位・型 なし
省略時のデフォルト値 なし
親タグ menu-providers

【属性】

属性名 説明 必須 デフォルト値
id
メニュープロバイダを特定する、システムでユニークなIDです。
この値は全てのメニュープロバイダで重複しないようにしてください。
なし
target-tenant
メニュープロバイダの接続元を指定するテナントIDです。
この設定で指定したテナントにのみ、このプロバイダの情報は有効です。
省略した場合、デフォルト値はデフォルトテナントとして設定されたテナントIDが利用されます。
× デフォルトテナントID
enable

メニュープロバイダ有効フラグです。

true メニュープロバイダを利用します。
false メニュープロバイダを利用しません。
× true
editable

メニュープロバイダ管理フラグです。 この設定により、メニュー管理画面でこのプロバイダの情報を参照して、表示位置を変更することが可能です。

true メニュー管理画面でこのプロバイダの情報を管理可能とします。
false メニュー管理画面でこのプロバイダの情報を管理不可とします。
× false
use-popup
ポップアップ表示フラグです。
リンクをクリックした場合に、別ウィンドウにポップアップして表示するか、IFrame で表示するかを選択します。
true ポップアップで表示します。
false IFrame で表示します。
× false
support-anonymous
未認証ユーザの外部メニュー連携利用フラグです。
メニュープロバイダが intra-mart Accel Platform の場合で、未認証ユーザ用のメニューが用意されている場合に「true」を設定します。
true 未認証の場合でも外部メニュー連携を利用します。
false 未認証の場合は外部メニュー連携を利用しません。
× false

メニュープロバイダの接続先エンドポイント設定

タグ名 end-point
メニュープロバイダの管理者から提供された接続先エンドポイントを設定します。
接続先エンドポイントは、Webサービス「MenuService」のエンドポイントURLです。
エンドポイントのフォーマットは、以下の通りです。
http://<HOST>:<PORT>/<CONTEXT_PATH>/services/MenuService

【設定項目】

<menu-provider-config>
   <menu-providers>
      <menu-provider id="sample" target-tenant="default" enable="true" use-popup="false" support-anonymous="false">
         <end-point>http://127.0.0.1:8080/imart/services/MenuService</end-point>
            ...
      </menu-provider>
   </menu-providers>
</menu-provider-config>

必須項目
複数設定 ×
設定値・設定する内容 メニュープロバイダの管理者から提供された接続先エンドポイントURL
単位・型 文字列(URL)
省略時のデフォルト値 なし
親タグ menu-provider

メニュープロバイダの接続先ログイングループ設定

タグ名 login-group
メニュープロバイダの管理者から提供された接続先ログイングループID/テナントIDを設定します。
このタグが必要な場合は、以下の通りです。
  • 接続先のメニュープロバイダが intra-mart WebPlatform の場合
  • 接続先のメニュープロバイダが intra-mart Accel Platform でかつ、 バーチャルテナントによる複数テナント が存在する場合

コラム

接続するメニュープロバイダがintra-mart Accel Platformの場合、接続先によってログイングループIDの指定方法が異なります。
ログイングループIDの詳細については、「Webサービス 認証・認可 仕様書」 - 「認証・認可」の「システム概要」 - 「ユーザ情報」 - 「ログイングループID」の項を参照してください。

【設定項目】

<menu-provider-config>
   <menu-providers>
      <menu-provider id="sample" target-tenant="default" enable="true" use-popup="false" support-anonymous="false">
            ...
         <login-group>default</login-group>
            ...
      </menu-provider>
   </menu-providers>
</menu-provider-config>

必須項目 ×(接続先のメニュープロバイダに依存します)
複数設定 ×
設定値・設定する内容 メニュープロバイダの管理者から提供されたログイングループID/テナントID
単位・型 文字列
省略時のデフォルト値 なし
親タグ menu-provider

メニュープロバイダの接続先ユーザ設定

タグ名 user
メニュープロバイダの管理者から提供された接続先の接続用ユーザコードを設定します。

【設定項目】

<menu-provider-config>
   <menu-providers>
      <menu-provider id="sample" target-tenant="default" enable="true" use-popup="false" support-anonymous="false">
            ...
         <user>aoyagi</user>
            ...
      </menu-provider>
   </menu-providers>
</menu-provider-config>

必須項目
複数設定 ×
設定値・設定する内容 メニュープロバイダの管理者から提供された接続用ユーザコード
単位・型 文字列
省略時のデフォルト値 なし
親タグ menu-provider

メニュープロバイダの接続先ユーザパスワード設定

タグ名 password
メニュープロバイダの管理者から提供された接続先の接続用ユーザパスワードを設定します。
cryption 属性が設定されている場合、指定の方式で暗号化された文字列を設定します。
cryption 属性に設定するカテゴリは、「暗号化設定」を参照してください。

【設定項目】

<menu-provider-config>
   <menu-providers>
      <menu-provider id="sample" target-tenant="default" enable="true" use-popup="false" support-anonymous="false">
            ...
         <password cryption="default">0A1msI0DLNo=</password>
      </menu-provider>
   </menu-providers>
</menu-provider-config>

必須項目
複数設定 ×
設定値・設定する内容
メニュープロバイダの管理者から提供された接続用ユーザのパスワード
cryption 属性が設定されている場合、指定の方式で暗号化された文字列を設定します。
cryption 属性が設定されていない場合、パスワードをそのまま設定します。
単位・型 文字列
省略時のデフォルト値 なし
親タグ menu-provider

【属性】

属性名 説明 必須 デフォルト値
cryption 暗号化したパスワードを設定する場合に、暗号化方式を指定するカテゴリです。 × なし

注意

パスワード文字列を暗号化するためのツールは提供されません。
Java API CryptionUtil を利用して、指定したカテゴリで暗号化するプログラムを作成する必要があります。