目次


Maximo シリーズ

Part9 - 署名オプション

Comments

コンテンツシリーズ

このコンテンツは全#シリーズのパート#です: Maximo シリーズ

このシリーズの続きに乞うご期待。

このコンテンツはシリーズの一部分です:Maximo シリーズ

このシリーズの続きに乞うご期待。

はじめに

Maximo は非常に柔軟なアプリケーション開発機能が提供されています。特に GUI の開発ツールである「アプリケーション・デザイナー」は Web ベースの WYSIWYG エディターとして標準で提供されており、ドラッグ・アンド・ドロップで簡単にフォームを作成することができます。しかし、Maximo で実現できるアプリケーションは、テキスト・ボックスが並ぶ単なるフォーム・ツールではなく、ツールバーや「アクションの選択」メニューから様々な機能を実行することが可能です。その機能の根幹を支えているのが署名オプションです。署名オプションを理解することが高度な Maximo 開発者になるための第一歩です。本稿はその署名オプションについて一通りの機能を解説します。

アプリケーションとは

Maximo のアプリケーションは、複数のオブジェクト (MBO)*1 と画面定義を組み合わせた機能のまとまりを意味します。資産アプリケーションを例に取ると、ASSET をメインに「HAZARD」や「ASSETMETER」など複数のオブジェクトが存在しており、それが画面のプレゼンテーション XML によってまとめられ 1 つのアプリケーションとして定義されています。画面にフォームを配置するだけでは単なる帳票ツールと変わりません。Maximo ではそれにオプション機能をつけることでアプリケーションに様々な動きを追加することができます。それらの動きの部分を制御するのが署名オプションです。署名オプションによって画面コンポーネントの表示/非表示、ダイアログ・ボックスの表示、アクションの実行などの「動き」に追加することができます。そして署名オプションは同時にセキュリティ・オプションでもあるので、オプションごとに許可するユーザーや UI を制限することも可能になります。

図 1. アプリケーションはオブジェクトを一つの機能としてまとめたもの

署名オプションとは

署名オプション (Signature Option) とは、アプリケーションの機能 (オプション) を有効化/無効化する仕組みです。Maximo の署名オプションがユニークなのは機能のインターフェース (UI と機能の関連付け) と実行権限 (Authorization) が一体化していることです。それゆえに分かりづらい部分もありますが、慣れると様々な機能をアプリケーションに追加することができます。例えばアプリケーションの「アクションの選択」メニューは署名オプションを通じて実行しているものが大半です。署名オプションはユーザーが自由に作成することが可能です。アプリケーションに署名オプションを設定すると自動的にセキュリティ・グループに追加されます。機能を追加したら権限用の設定を作成するといった手間は必要ありません。これも一体化の利点であり、機能を作成したらそれに対応する署名オプションを作成し個別のグループに権限を与えるだけで良いのです。

Maximo 開発者になじみ深い署名オプションは「READ」または「SAVE」でしょう。これらはアプリケーションの作成時に自動的に付加されます。セキュリティ・グループでアプリケーションに対して「読み取り」や「保存」権限を有効にするとアプリケーションへのアクセスや保存が有効になります。アプリケーションの保存ボタンは「SAVE」の署名オプションが割り当てられており、保存ボタンを押下すると署名オプション名でサーバーにイベントを発行し機能を実行します。署名オプションには様々な実行方法・形態が備わっています。先に述べた保存などのアクションや、外部 URL 呼び出し、アクションの起動などが実装可能です。

図 2. 署名オプションの関係

権限の割り当て

署名オプションはセキュリティ・グループを通じて有効化されます。有効になった署名オプションは「APPLICATIONAUTH」テーブルに格納されます。「APPLICATIONAUTH」にはオプションを有効にする条件を付与することもできます。その場合、条件に合致しなければオプションは有効になりません。条件は「条件式マネージャー」で管理される値を使用します。例えば、アプリケーションは全ユーザーで共有したいが管理者とユーザーでアクセス可能な機能を絞りたい、などの要件の時に有効です。署名オプションが割り当てられている機能は、権限が無効または条件に合致しない場合はメニューやツールバーなどから消失します。

図 3. 署名オプションの関係図

権限の割り当ては「セキュリティ・グループ」アプリケーションから行います。「アプリケーション」タブから権限を割り当てたいアプリケーションを検索し、チェック・ボックスにチェックすることで権限を付与します。Maximo には特別な署名オプションが 4 つ存在します。

表 1. 特別な署名オプション
署名オプション ID説明
READレコードの読み取り (またはアプリケーションの可視化) を有効にするオプション
INSERTレコードの挿入を有効にするオプション
UPDATEレコードの更新を有効にするオプション
DELETEレコードの削除を有効にするオプション

それ以外のオプションは 2 つ目のオプション・テーブルで権限を有効化できます。すべてのユーザーに対して有効にしたいアプリケーションがあれば、「MAXEVERYONE」に権限を割り当てます。

図 4. セキュリティ・グループのアプリケーション設定

独立したセキュリティ・グループ

セキュリティ・グループには「他のグループから独立」というフラグがあります。ユーザーに複数のセキュリティ・グループを割り当てると、それぞれに付与されている権限をマージし最も高い権限が有効になるように設定されます。独立グループを使用すると「MAXEVERYONE」以外の権限はマージせず、最初に検索されたグループの権限が採用されます。これはサイトごとに使用する権限を変えたい場合などに有効です。

図 5. 独立のセキュリティ・グループ設定

独立の機能を簡単に試したいと思います。まずは、セキュリティ・グループを 2 つ作成してそれぞれのグループに別々のサイトを登録し、「資産」の「資産の読み取りアクセス権」「資産の保存」権限を設定します。そして片方には「ステータスの変更」を有効にし、片方には「資産の移動/変更」を有効にします。

図 6. サイトの設定
図 7. 権限の設定 - ステータスの変更
図 8. 権限の設定 - 資産の移動/変更

設定を行った結果は以下の通りです。資産のサイトが異なる場合は表示されるメニューが変わっているのが分かります。

図 9. 独立セキュリティ・グループのメニュー表示

次に独立のチェックを外してみましょう。その場合、「ステータスの変更」、「資産の移動/変更」の両方のメニューが表示されていることが確認できます。独立と非独立を考慮して設計することでプライマリーのサイトは変更可能にするが、外部のサイトは読み取り専用にするなどの柔軟な運用を可能にします。

図 10. 非独立セキュリティ・グループのメニュー表示

署名オプション作成と UI イベント呼び出し方法

ここでは署名オプションの作成とアクションの実行方法について解説します。メニューやツールバーから実行可能な署名オプションは UI イベントとして Maximo に通知されます。署名オプションに割り当てられた機能に応じてサーバー上でアクションが実行されます。例えば、ツールバーから「新規作成」ボタンを押下すると Maximo に「INSERT」イベントが発行され、次にサーバーの内部ロジックによって Java Bean クラスの「INSERT()」が呼び出され、そこから MBO *1 の「add()」メソッドが実行されます。Maximo シリーズ: Part 2 - Maximo フレームワーク概説でも説明したとおり、Maximo の Java Bean には UI のロジックが実装されており、MBO にはビジネス・ロジックが実装されています。署名オプションによって、UI ロジックの実行権限を制御することでビジネス・ロジックの実行可否を実現します。

署名オプションの作成

署名オプションを作成するには、「リンク先」 > 「システムの構成」 > 「プラットフォームの構成」 > 「アプリケーション・デザイナー」 からレコードを選択し、「アクションの選択」メニューから「署名オプションの追加/削除」を実行します。設定可能項目は以下の通りです。

表 2. 署名オプションの基本オプション
項目名説明
オプション署名オプションの ID です。
説明署名オプションの説明です。セキュリティ・グループの設定項目には、オプション ID ではなく説明が表示されるため、必ず設定します。
同時に許可される署名オプションセキュリティ・グループでこのオプションを選択した場合に同時に有効になるオプションをカンマ (,) 区切りで指定します。
同時に無効になる署名オプションセキュリティ・グループでこのオプションを選択した場合に同時に無効になるオプションをカンマ (,) 区切りで指定します。
前提となる署名オプションセキュリティ・グループでこのオプションを選択するのに必要な署名オプションをカンマ (,) 区切りで指定します。
電子署名有効このアクションを実行する前に、ユーザーID とパスワードを入力させるダイアログ・ボックスを表示するためのオプションです。入力した署名とそのメモは履歴としてデータベースに保管されます。データベースの「電子署名アクションの管理」で設定できる項目と同じです。
表示可能このオプションを有効にすると、セキュリティ・グループで署名オプションが表示されるようになります。
図 11. 署名オプションの基本オプション
表 3. 署名オプションの詳細オプション
オプション説明
複数のレコードが表示されていて特定のレコードが選択されていない「リスト」ページでこのアクションを選択すると、警告が表示されます。「一覧」タブでこのアクションを実行する場合に、「レコードの選択」を使用してレコードを選択していない場合に一覧中のすべてのレコードに対してこのアクションを適用する旨の警告が表示されます。
これは、ユーザーが UI 内で起動する必要があるアクションですこのオプションを有効にした場合、「アクション」アプリケーションで設定したアクション ID と署名オプション ID を一致させることで、ボタンなどからアクションを実行させることができるようになります。
コンテキスト内で起動を使用可能にするための、起動エントリーへの関連付け「コンテキストでの起動」で設定した外部リンクを実行するオプションです。
図 12. 署名オプションの詳細オプション

メニュー / ツールバーの編集

アクションなどと結びつけた署名オプションは「アクションの選択」メニューや「ツールバー」から呼び出すことができます。それぞれのメニューはアプリケーションの上部 (または左部) に表示され、メニューをクリックすると署名オプションに割り当てた機能に応じて Maximo サーバーに UI イベントを発行し、サーバー上で操作を受け付けます。

図 13. アクションの選択とツールバー

署名オプションの追加は「アプリケーション・デザイナー」の「「アクションの選択」メニューの追加/変更」と「ツールバー・メニューの追加/変更」でそれぞれ行います。編集画面は「アプリケーション・デザイナー」の「アクションの選択」から開きます。基本的に「アクションの選択」と「ツールバー」は同じ機能を持ちます。表示方法として、メニュー表示されるか、アイコン表示されるかの違いだけです。

図 14. 「アクションの選択」メニューの追加/変更ダイアログ・ボックス

設定可能項目は以下の通りです。

表 4. メニューの設定項目
項目名説明
要素のタイプこのメニューに割り当てる機能の種類を指定します。別表でタイプの説明をします。
キー値署名オプション ID やアプリケーション ID を入力します。その他のタイプは ID になります。
ヘッダーの説明メニューの項目名に使用されます。
ポジション (役職)メニューの順番を数値で指定します。数値が大きいほど下に表示されます。V7.5 以前のこの項目は役職と表示されています。
サブポジションポジションをヘッダーのポジションと同一にした場合、そのメニューはサブメニューに表示されます。そのサブメニュー内の順番を数値で指定します。
URLメニューをクリックすると指定した URL を開きます。
イメージツールバーやメニューに表示する画像を指定します。画像は <Maixmo インストール・ディレクトリー>\maximo\applications\maximo\maximouiweb\webmodule\webclient\skins\tivoli09\images などに設置します。
表示可能アクションの選択やツールバーに表示します。
タブ「一覧」タブや「メイン」タブなどこの要素をメニューに表示する場所を指定します。

要素のタイプについてそれぞれ解説します。

表 5. 要素のタイプの設定項目
オプション説明
OPTION署名オプションの要素です。キー値は署名オプションの ID を指定します。
APPアプリケーションを開く要素です。キー値はアプリケーション ID を指定します。
HEADERサブメニューの親エントリーです (フォルダ表示)。キー値は任意の ID を指定します。
SEP水平区切り (セパレーター) を表示します。キー値は任意の ID を指定します。
MODULEアプリケーションのカテゴリを指定します。これは「リンク先」メニューで表示されるカテゴリと同一です (例えば資産や購買など)。通常こちらはアクションの選択やツールバーには使用されません。
OTHERURL リンクの要素を作成するときに使用します。キー値は任意の ID を指定します。

要素を追加・変更するとメニューやツールバーの構成を変更することが可能です。例えば「「アクションの選択」メニューの追加/変更」で以下のように設定します。

表 6. ヘッダー要素のプロパティー例
項目
要素のタイプHEADER
キー値HEAD01
ヘッダーの説明ヘッダー
ポジション99
サブポジション0
URL 
イメージ 
表示可能true
タブメイン
表 7. オプション要素のプロパティー例
項目
項目
要素のタイプOPTION
キー値SAVE
ヘッダーの説明 
ポジション99
サブポジション1
URL 
イメージ 
表示可能true
タブメイン
表 8. セパレーター要素のプロパティー例
項目
要素のタイプSEP
キー値SEP01
ヘッダーの説明 
ポジション99
サブポジション2
URL 
イメージ 
表示可能true
タブメイン
表 9. URL 要素のプロパティー例
項目
要素のタイプOTHER
キー値URL01
ヘッダーの説明IBM
ポジション99
サブポジション3
URLhttp://www.ibm.com
イメージ 
表示可能true
タブメイン

以上を設定すると、アプリケーション画面の「アクションの選択」メニューに以下のように表示されます。

図 15. 「アクションの選択」メニューの追加

ボタンからの実行

署名オプション・イベントは UI のプッシュボタンから呼び出すことも可能です。構成するにはプッシュ・ボタン・グループを配置し、プッシュボタンのプロパティーを開き、「イベント」に値を設定します。ここにイベント値として署名オプションの ID を設定すると、ボタンからアクションやダイアログ・ボックスなどを表示させることができるようになります。

図 16. プッシュボタンのプロパティー

署名オプションの機能

署名オプションには先に述べたように様々な機能を有しています。ここでは UI 上で動作する振る舞いについて解説します。

UI コントロールの表示/非表示

署名オプションには UI のコントロールを表示/非表示する機能があります。UI コントロールとはテーブルやテキスト・ボックスなどの個々の UI オブジェクトの機能単位を指します。アプリケーション・デザイナーの「署名オプション」に値を設定すると、その署名オプションが有効なユーザーにのみ、コントロールを表示するようになります。アプリケーション・デザイナーを使用して配置できる UI オブジェクトはこのコントロール単位になります。この設定は親子関係が適用されたコントロールにも有効で、親コントロールを設定した場合、その下にあるコントロールは画面上からすべて非表示に設定されます。

表示/非表示の制御は先に解説したとおりに、「セキュリティ・グループ」で行い、条件式を利用することで動的に振る舞いを変更することが可能です。条件式の評価は「署名オプションのデータ・ソース」で設定されたデータ・ソースに対して行われます。データ・ソースとは UI 上で定義済みの MBOSet *1 を指しており、データ・ソースまたはテーブルなどを対象にできます。デフォルトのデータ・ソースに「result_showlist」 (変更可能) があります。これはアプリケーション作成時に設定したオブジェクト集合 (MBOSet) です。これを結果セット (または結果テーブル) と呼びます。そして、定義済みのデータ・ソースとして「MAINRECORD」があります。こちらは結果セットから選択したレコード (MBO) です。

図 17. 結果セットの設定例

条件式を正しく評価するにはデータ・ソース内のレコードを一意に特定することが必要です。テーブル全体に対して評価することはできません。評価対象のレコードは (1) 「署名オプションのデータ・ソース」に「MAINRECORD」を設定した場合、結果セットから取得したレコードが評価の対象 (2) 空白にした場合、親のデータ・ソースで選択されているレコードが対象 (3) 別のデータ・ソース ID が指定された場合は、そのデータ・ソース ID で関連づけられている親レコードが対象、のようになります。

図 18. データ・ソースの関係図

ダイアログ・ボックスの表示

メニュー・ツールバーのオプションまたはプッシュボタンのイベントにダイアログ・ボックスの ID を入力することで、画面を呼び出すことができます。署名オプションの ID は XML 要素の ID 属性の値を指定します。ダイアログ・ボックスは Library.xml か、個別のプレゼンテーション XML に記述します。例えば以下のようにダイアログ・ボックスを追加します。

ダイアログ・ボックスの XML 要素例
<dialog id="dw_dialog" label="ダイアログ・ボックス">
    <section id="dw_sec">
        <textbox id="dw_tb1" dataattribute="assetnum" inputmode="readonly" />
        <textbox id="dw_tb2" dataattribute="siteid" inputmode="readonly" />
    </section>
    <buttongroup id="dw_btng">
        <pushbutton id="dw_btn1" mxevent="dialogclose" label="閉じる" />
    </buttongroup>
</dialog>

ダイアログ・ボックスを有効にするには、上記の XML を「ASSET」のプレゼンテーション XML に貼り付け、保存します。そして「ASSET」の署名オプションに「DW_DIALOG」と、アクションの選択メニューに作成した署名オプションのメニューを追加します。

図 19. ダイアログの署名オプション
図 20. ダイアログのアクションの選択メニュー

最後にセキュリティ・グループで権限を設定することでアプリケーションからダイアログ・ボックスを表示させることができます。設定が反映されない場合は、ユーザーをサイン・アウトするか、サーバーを再起動して再度実行してください。

アクションの実行

「アクション」アプリケーションで作成したアクションを実行出来ます。「アプリケーション・デザイナー」の「署名オプションの追加/変更」ダイアログ・ボックスの下部にある「署名の詳細オプション」に「これは、ユーザーが UI 内で起動する必要があるアクションです」というオプションがありますので、こちらを選択します。これは署名オプションとアクションを結びつけるためのオプションになります。

図 21. アクション起動の署名オプション

実行するアクションは「アクション」アプリケーションで作成可能です。作成する際に署名オプション ID とアクション ID を同じ値にします。これによって署名オプションと実行するアクションの紐付けが完了します。他の機能と同様に、作成したオプションはプッシュボタンやアクションの選択メニューなどから実行することが可能です。アクションでは「値の設定」といった単純なものから自動化スクリプト、カスタム Java コードなど様々な機能を実装することできます。アクションのより詳細な説明はMaximo シリーズ: Part8 - Workflow 詳解を参照してください。

図 22. アクションの例

一覧画面で警告を表示

一覧画面から実行する署名オプションにおいて、「レコードの選択」によって選択されていない場合に警告を表示します。代表的な例では「ステータスの変更」オプションが該当します。「署名オプションの追加/変更」の「署名の詳細オプション」から「複数のレコードが表示されていて特定のレコードが選択されていない「リスト」ページでこのアクションを選択すると、警告が表示されます。」を選択するとこのオプションが有効になります。

図 23. 警告の署名オプション
図 24. 警告の表示例

条件付きユーザー・インターフェース (UI)

条件付き UI とはレコードの条件に応じて、UI のプロパティーを動的に変更する機能です。Maximo 7.1 から使用可能で、従来 Java カスタマイズでしか実現できなかったことがテーラリングの範囲内で可能になります。設定はそれぞれの UI プロパティーの「詳細構成」タブにある「条件付きプロパティーの構成」ボタンから行います。条件付き UI の典型例はテキスト・スタイルの変更です。ステータスや状態に応じて、テキストを赤色や強調表示などに変えることができます。以下の例はテキスト・ボックスの文字列を赤色に変更します。

図 25. 条件付き UI の構成

変更可能な条件付き UI のプロパティーはこちらにまとめられています。非常に有益な情報ですが英語のみ提供されていますので、参考として以下に日本語で引用します。

表 10 条件付き UI のプロパティー一覧
コントロールプロパティープロパティーの説明プロパティーID設定可能な値
アプリケーション・バー条件付き UI で制御できるプロパティーはありません。   
Attachments条件付き UI で制御できるプロパティーはありません。   
Blank Line条件付き UI で制御できるプロパティーはありません。   
Breadcrumbs条件付き UI で制御できるプロパティーはありません。   
ボタン・グループラベルボタン・グループのラベル・フィールドにあるテキストを変更できます。多くのボタン・グループにはラベルは付与されていません。これはボタン・グループの機能が主に子のプッシュボタンを格納するためのコンテナーの役割を担っているからです。label<テキスト>
ボタンの整列ボタン・グループをセクションの左、中央、右のどの位置に配置するかを指定します。alignleft,center,right
チェック・ボックスラベルこのコントロールのデフォルト・ラベルを指定したテキストに上書きします。このラベルはアプリケーション固有であり、属性 (MAXATTIRBUTE) やデフォルト値 (APPFIELDDEFAULTS) テーブルには格納されません。label<テキスト>
入力モード入力モードのオプションは以下の通りです。
  • デフォルト: デフォルトの入力モードは読み書き可能です。このフィールドに入力した情報は属性フィールドのデータベース・ラムに保存されます。
  • 読み取り専用: このモードは読み取り専用です。フィールドはグレイ・アウト表示されます。
  • 必須: このモードは読み書き可能であり、空の値はエラーになります。
inputmodedefault, readonly, required
コンボ・ボックスラベルこのコントロールのデフォルト・ラベルを指定したテキストに上書きします。このラベルはアプリケーション固有であり、属性 (MAXATTIRBUTE) やデフォルト値 (APPFIELDDEFAULTS) テーブルには格納されません。label<テキスト>
コンボ・ボックスの標準幅は 120 px です。プロパティー値を 60 や 200 などに変更することで、このコントロール幅を拡大・縮小することができます。width<ピクセル数>
データ・ソース条件付き UI で制御できるプロパティーはありません。   
デフォルト値条件付き UI で制御できるプロパティーはありません。   
ヘルプ・グリッドHTML コンテンツ情報または操作に関するヘルプ・テキストを表示します。innerhtml<テキスト>,<HTML>
ハイパーリンクラベルこのコントロールのラベルを指定したテキストに上書きします。label<テキスト>
テキストの整列処理URL リンクをセクションの左、中央、右のどの位置に配置するかを指定します。alignleft,center,right
イメージ・ファイル名イメージ・ディレクトリーにあるファイル名を指定します。

<Maximo インストール・ディレクトリー>\maximo\applications\maximo\
maximouiweb\webmodule\webclient\images

新しくファイルを追加するか、既に存在しているイメージ・ファイルを利用することができます。
ブラウザがサポートしているイメージ形式が使用可能です。標準で組み込まれている gif ファイルを追加した場合、即利用可能です。他のファイルを使用する場合、新しいファイルが含まれた EAR ファイルをアプリケーション・サーバーへ再デプロイする必要があります。
image<イメージのファイル名>
カラムセクション内の位置を細かく制御できます。これはハイパーリンクの位置を変更するためのカラムとして利用可能です。セクションは 7 つの隠しカラムを内包しています。このフィールドに 3 を入力しテキストの整列を中央 (center) に指定した場合、ハイパーリンクは 3 カラム目の上か下の中央に配置されます。ハイパーリンクがカラムよりも大きい場合、ハイパーリンクを内包するように自動的にカラムの幅が拡張されます。column1-7
イメージファイル名イメージ・ディレクトリーにあるファイル名を指定します。

<Maximo インストール・ディレクトリー>\maximo\applications\maximo\
maximouiweb\webmodule\webclient\images

新しくファイルを追加するか、既に存在しているイメージ・ファイルを利用することができます。
ブラウザがサポートしているイメージ形式が使用可能です。標準で組み込まれている gif ファイルを追加した場合、即利用可能です。他のファイルを使用する場合、新しいファイルが含まれた EAR ファイルをアプリケーション・サーバーへ再デプロイする必要があります。
imagename<イメージのファイル名>
イメージの整列イメージをセクションの左、中央、右のどの位置に配置するかを指定します。alignleft,center,right
カラムセクション内の位置を細かく制御できます。これはイメージの位置を変更するためのカラムとして利用可能です。セクションは 4 つの隠しカラムを内包しています。カラムに対応するイメージのポジションを数値 (1-4) で入力することができます。integer<1-4>
高さこのプロパティーに数値を入力することでイメージの高さを調節できます。イメージの元の比率を変えた場合、表示する際に歪みが生じます。height<高さのピクセル>
このプロパティーに数値を入力することでイメージの幅を調節できます。イメージの元の比率を変えた場合、表示する際に歪みが生じます。width<幅のピクセル>
インクルード条件付き UI で制御できるプロパティーはありません。   
リストボックスラベルこのコントロールのデフォルト・ラベルを指定したテキストに上書きします。このラベルはアプリケーション固有であり、属性 (MAXATTIRBUTE) やデフォルト値 (APPFIELDDEFAULTS) テーブルには格納されません。label<テキスト>
高さこのプロパティーに数値を入力することでリストボックスの高さを調節できます。height<高さのピクセル>
このプロパティーに数値を入力することでリストボックスの幅を調節できます。width<幅のピクセル>
入力モード入力モードのオプションは以下の通りです。
  • デフォルト: デフォルトの入力モードは読み書き可能です。このフィールドに入力した情報は属性フィールドのデータベース・ラムに保存されます。
  • 読み取り専用: このモードは読み取り専用です。フィールドはグレイ・アウト表示されます。
inputmodedefault, readonly
メニュー・バー条件付き UI で制御できるプロパティーはありません。   
複数行テキスト・ボックスラベルこのコントロールのデフォルト・ラベルを指定したテキストに上書きします。このラベルはアプリケーション固有であり、属性 (MAXATTIRBUTE) やデフォルト値 (APPFIELDDEFAULTS) テーブルには格納されません。label<テキスト>
メニュー・タイプ事前定義されたドロップダウン形式のメニューをコントロールに関連付けさせることができます。メニューID はシステム XML の menus.xml に格納されています。「アプリケーション・デザイナー」を開き、「アクションの選択」から「システム XML のエクスポート」の MENUS からダウンロードできます。menutype<MenuID>
ルックアップ事前定義されたルックアップ・テーブルのルックアップ ID をコントロールに関連付けさせることができます。ユーザーはこのコントロールに関連づけられたルックアップ・テーブルからレコードを選択できるようになります。
ルックアップ ID はシステム XML の lookups.xml に格納されています。「アプリケーション・デザイナー」を開き、「アクションの選択」から「システム XML のエクスポート」の LOOKUPS からダウンロードできます。
lookup<LookupID>
ラベルを非表示デフォルトでは、ラベルは表示されます。このオプションを有効にするとラベルは非表示になります。hidelabeltrue,false
カラムカラム数 (デフォルト値:35)columns<整数>
行数rows<整数>
入力モード入力モードのオプションは以下の通りです。
  • デフォルト: デフォルトの入力モードは読み書き可能です。このフィールドに入力した情報は属性フィールドのデータベース・ラムに保存されます。
  • 読み取り専用: このモードは読み取り専用です。フィールドはグレイ・アウト表示されます。
inputmodedefault, readonly, required
マルチパート・テキスト・ボックスラベルこのコントロールのデフォルト・ラベルを指定したテキストに上書きします。このラベルはアプリケーション固有であり、属性 (MAXATTIRBUTE) やデフォルト値 (APPFIELDDEFAULTS) テーブルには格納されません。label<テキスト>
メニュー・タイプ事前定義されたドロップダウン形式のメニューをコントロールに関連付けさせることができます。メニューID はシステム XML の menus.xml に格納されています。「アプリケーション・デザイナー」を開き、「アクションの選択」から「システム XML のエクスポート」の MENUS からダウンロードできます。menutype<MenuID>
ルックアップ事前定義されたルックアップ表をコントロールに関連付けさせることができます。ユーザーはこのコントロール上でルックアップ表のレコード選択機能が使用できるようになります。「アプリケーション・デザイナー」を開き、「アクションの選択」から「システム XML のエクスポート」の LOOKUPS からダウンロードできます。lookup<LookupID>
ラベルを非表示デフォルトでは、ラベルは表示されます。このオプションを有効にするとラベルは非表示になります。hidelabeltrue,false
入力モード入力モードのオプションは以下の通りです。
  • デフォルト: デフォルトの入力モードは読み書き可能です。このフィールドに入力した情報は属性フィールドのデータベース・ラムに保存されます。
  • パスワード: このモードは読み書き可能でアスタリスクで表示されます。
  • 必須のパスワード: このモードは読み書き可能でアスタリスクで表示されます。 このフィールドに値が挿入されない限り保存できません。
  • 読み取り専用: このモードは読み取り専用です。フィールドはグレイ・アウト表示されます。
  • 必須: このモードは読み書き可能です。このフィールドに値が挿入されない限り保存できません。
inputmodedefault, readonly, required, password, passwordrequired, passwordreadonly
Smart Fill をオフSmart Fill を無効に設定します。Smart Fill はデータベースの値とユーザーが入力した値を照合して自動的にマッチングさせることができる機能です。マッチング可能な値が見つかると、その値が自動的にテキスト・ボックスに反映されます。システムが複数の値を検索すると、リストが表示されその中から値を選択できます。Smart Fill が無効になっている場合、ユーザーが入力したテキストは入力中の間は検証されません。smartfillofftrue, false
アプリケーションへ移動別アプリケーションへ移動可能にするプルダウン・メニューとこのコントロールを関連付けします。複数の値を設定する場合、カンマ区切り (スペースは含めない) で指定します。指定するアプリケーション名は「アプリケーション・デザイナー」の「アプリケーション」項の値を使用します。applink<Application 名>
2 つめのパートのルックアップルックアップを参照desclookup<LookupID>
2 つめのパートの入力モード入力モードを参照descinputmodedefault, readonly, required, password, passwordrequired, passwordreadonly
読み取り専用の詳細説明パート 2 の属性を詳細説明に指定した場合、この機能を有効にするとテキスト・ボックスを読み取り専用します。この機能を無効にするとユーザーは詳細説明を編集可能になります。longdescreadonlytrue,false
パラメーター値条件付き UI で制御できるプロパティーはありません。   
パラメーター値群条件付き UI で制御できるプロパティーはありません。   
プレゼンテーション条件付き UI で制御できるプロパティーはありません。   
プッシュボタンラベルこのコントロールのラベルを指定したテキストに上書きします。label<テキスト>
メニュー・タイプ事前定義されたドロップダウン形式のメニューをコントロールに関連付けさせることができます。メニューID はシステム XML の menus.xml に格納されています。「アプリケーション・デザイナー」を開き、「アクションの選択」から「システム XML のエクスポート」の MENUS からダウンロードできます。menutype<MenuID>
イメージ・ファイル名イメージ・ディレクトリーにあるファイル名を指定します。

<Maximo インストール・ディレクトリー>\maximo\applications\maximo\
maximouiweb\webmodule\webclient\images

新しくファイルを追加するか、既に存在しているイメージ・ファイルを利用することができます。
ブラウザがサポートしているイメージ形式が使用可能です。標準で組み込まれている gif ファイルを追加した場合、即利用可能です。他のファイルを使用する場合、新しいファイルが含まれた EAR ファイルをアプリケーション・サーバーへ再デプロイする必要があります。
image<イメージのファイル名>
デフォルトのボタンこの機能を有効にすると、このボタンをボタン・グループ内のデフォルトにします。最も頻繁に使用するボタン (例えば新規行) などをデフォルトに設定することができます。defaulttrue, false
ボタンの幅を数値で変更することができます。イメージに関連付けられたボタンの場合、イメージは横幅に合わせて縦幅も変更されます。width<ピクセル数>
ラジオ・ボタンラベルこのコントロールのラベルを指定したテキストに上書きします。label<テキスト>
ラジオ・ボタン・グループラベルこのコントロールのラベルを指定したテキストに上書きします。label<テキスト>
ラベルを非表示デフォルトでは、ラベルは表示されます。このオプションを有効にするとラベルは非表示になります。hidelabeltrue,false
テキストの整列処理ラジオ・ボタンをセクションの左、中央、右のどの位置に配置するかを指定します。alignleft,center,right
境界線の表示このコントロールの周りに長方形の境界線を表示するオプションです。bordertrue, false
入力モード入力モードのオプションは以下の通りです。
  • デフォルト: デフォルトの入力モードは読み書き可能です。このフィールドに入力した情報は属性フィールドのデータベース・ラムに保存されます。
  • 読み取り専用: このモードは読み取り専用です。フィールドはグレイ・アウト表示されます。
  • 必須: このモードは読み書き可能です。このフィールドに値が挿入されない限り保存できません。
inputmodedefault, readonly, required
レコード・イメージ条件付き UI で制御できるプロパティーはありません。   
リッチ・テキスト・エディターラベルこのコントロールのデフォルト・ラベルを指定したテキストに上書きします。このラベルはアプリケーション固有であり、属性 (MAXATTIRBUTE) やデフォルト値 (APPFIELDDEFAULTS) テーブルには格納されません。label<テキスト>
ラベルを非表示デフォルトでは、ラベルは表示されます。このオプションを有効にするとラベルは非表示になります。hidelabeltrue,false
入力モード入力モードのオプションは以下の通りです。
  • デフォルト: デフォルトの入力モードは読み書き可能です。このフィールドに入力した情報は属性フィールドのデータベース・ラムに保存されます。
  • 読み取り専用: このモードは読み取り専用です。フィールドはグレイ・アウト表示されます。
inputmodedefault, readonly, required
メニュー・タイプ事前定義されたドロップダウン形式のメニューをコントロールに関連付けさせることができます。メニューID はシステム XML の menus.xml に格納されています。「アプリケーション・デザイナー」を開き、「アクションの選択」から「システム XML のエクスポート」の MENUS からダウンロードできます。menutype<MenuID>
ルックアップ事前定義されたルックアップ表をコントロールに関連付けさせることができます。ユーザーはこのコントロール上でルックアップ表のレコード選択機能が使用できるようになります。「アプリケーション・デザイナー」を開き、「アクションの選択」から「システム XML のエクスポート」の LOOKUPS からダウンロードできます。lookup<LookupID>
高さこのウィジェットの高さを数値で指定します。height<ピクセル数>
このウィジェットの幅を数値で指定します。width<ピクセル数>
リッチ・テキスト・ビューワー条件付き UI で制御できるプロパティーはありません。   
セクションラベルこのコントロールのラベルを指定したテキストに上書きします。label<テキスト>
境界線を表示横罫線を表示するオプションです。このセクションのラベルを設定した場合、横罫線は追加されません。bordertrue, false
説明このセクションのタイトル・バーにあるラベルの下にテキストを表示します。description<テキスト>
入力モード入力モードのオプションは以下の通りです。
  • デフォルト: デフォルトの入力モードは読み書き可能です。このフィールドに入力した情報は属性フィールドのデータベース・ラムに保存されます。
  • 読み取り専用: このモードは読み取り専用です。フィールドはグレイ・アウト表示されます。
  • 必須: このモードは読み書き可能です。このフィールドに値が挿入されない限り保存できません。
inputmodedefault, readonly, required, password, passwordrequired, passwordreadonly
セクション・カラム条件付き UI で制御できるプロパティーはありません。   
セクション・ヘッダーラベルこのコントロールのラベルを指定したテキストに上書きします。label<テキスト>
セクション行条件付き UI で制御できるプロパティーはありません。   
静的テキストラベルこのコントロールのデフォルト・ラベルを指定したテキストに上書きします。このラベルはアプリケーション固有であり、属性 (MAXATTIRBUTE) やデフォルト値 (APPFIELDDEFAULTS) テーブルには格納されません。label<テキスト>
テキストの整列処理静的テキストをセクションの左、中央、右のどの位置に配置するかを指定します。alignleft, center, right
カラムセクション内のポジションを細かく制御できます。これはイメージの位置を変更するためのカラムとして利用可能です。セクションは 4 つの隠しカラムを内包しています。カラムに対応するイメージのポジションを数値 (1-7) で入力することができます。カラム位置を変更することでこのウィジェットの位置を変えることができます。column<整数>
スパン静的テキストを表示するスパン・カラム数を指定します。span<整数>
タブラベルこのコントロールのラベルを指定したテキストに上書きします。label<テキスト>
タブ・グループ条件付き UI で制御できるプロパティーはありません。
テーブルラベルこのコントロールのラベルを指定したテキストに上書きします。label<テキスト>
ピクセル数 (デフォルトはおおよそ 1000; 最小は 400)width<整数>
説明このテーブルのタイトル・バーにあるラベルの下にテキストを表示します。description<テキスト>
空で開始このオプションを有効にするとレコードを表示せずにテーブルを開きます。このオプションを無効にした場合 (デフォルト)、検索クエリーで照会したレコードが自動的に表示されます。startemptytrue, false
フィルターを展開フィルター行を展開するオプションです。filterexpandedtrue, false
行の詳細を展開デフォルトで行の詳細を展開します。rowdetailsexpandedtrue, false
折りたたみテーブルを折りたたみ可能にします。collapsabletrue, false
折りたたまれた空のラベルテーブルが折りたたまれているか、または空の場合、ここに指定されたテキストにテーブルのタイトルが置換されます。collapsedemptylabel<テキスト>
折りたたまれたラベルテーブルが折りたたまれている場合、指定したテキストにテーブルのタイトル (ラベル) を上書きします。collapsedlabel<テキスト>
上位階層の空ラベルテーブルが子テーブルで空だった場合、親テーブルのタイトルを上書きします。parentemptylabel<テキスト>
入力モード入力モードのオプションは以下の通りです。
  • デフォルト: デフォルトの入力モードは読み書き可能です。このフィールドに入力した情報は属性フィールドのデータベース・ラムに保存されます。
  • パスワード: このモードは読み書き可能でアスタリスクで表示されます。
  • 必須のパスワード: このモードは読み書き可能でアスタリスクで表示されます。 このフィールドに値が挿入されない限り保存できません。
  • 読み取り専用: このモードは読み取り専用です。フィールドはグレイ・アウト表示されます。
  • 必須: このモードは読み書き可能です。このフィールドに値が挿入されない限り保存できません。
inputmodedefault, readonly, required, password, passwordrequired, passwordreadonly
順序データ・ソースの SQL クエリーに order by を付与し、順序を入れ替えます。orderbyASC または DSC と属性名 (例: 'ASC ASSETNUM')
ページあたりに表示される行1 ページ当たりに表示する行数を指定します。displayrowsperpage<整数>
フィルター可能このオプションを有効にした場合、フィルター行でテーブルの検索を可能にします。フィルターはデフォルトで有効であり、自動的にテーブル・カラムに適用されます。フィルター行の展開を有効にしたい場合は、このオプションは必須です。filterabletrue, false
テーブル・カラム

※ sigoptiondatasrc を”MAINRECORD”にセットするとトップレベル親オブジェクトに対して条件が評価されます。

ラベルこのコントロールのラベルを指定したテキストに上書きします。label<テキスト>
CSS クラス名 classnamemaximo.css のクラス名
アプリケーションへ移動別アプリケーションへ移動可能にするプルダウン・メニューとこのコントロールを関連付けします。複数の値を設定する場合、カンマ区切り (スペースは含めない) で指定します。指定するアプリケーション名は「アプリケーション・デザイナー」の「アプリケーション」項の値を使用します。applinkアプリケーション名
入力モード入力モードのオプションは以下の通りです。
  • デフォルト: デフォルトの入力モードは読み書き可能です。このフィールドに入力した情報は属性フィールドのデータベース・ラムに保存されます。
  • 読み取り専用: このモードは読み取り専用です。フィールドはグレイ・アウト表示されます。
  • 必須: このモードは読み書き可能です。このフィールドに値が挿入されない限り保存できません。
inputmodedefault, readonly, password, passwordrequired, passwordreadonly
カラム・イメージイメージ・ディレクトリーにあるファイル名を指定します。

<Maximo インストール・ディレクトリー>\maximo\applications\maximo\
maximouiweb\webmodule\webclient\images

新しくファイルを追加するか、既に存在しているイメージ・ファイルを利用することができます。
ブラウザがサポートしているイメージ形式が使用可能です。標準で組み込まれている gif ファイルを追加した場合、即利用可能です。他のファイルを使用する場合、新しいファイルが含まれた EAR ファイルをアプリケーション・サーバーへ再デプロイする必要があります。
image<イメージ・ファイル名
ピクセル数width<整数>
メニュー・タイプ事前定義されたドロップダウン形式のメニューをコントロールに関連付けさせることができます。メニューID はシステム XML の menus.xml に格納されています。「アプリケーション・デザイナー」を開き、「アクションの選択」から「システム XML のエクスポート」の MENUS からダウンロードできます。menutype<MenuID>
ルックアップ事前定義されたルックアップ表をコントロールに関連付けさせることができます。ユーザーはこのコントロール上でルックアップ表のレコード選択機能が使用できるようになります。「アプリケーション・デザイナー」を開き、「アクションの選択」から「システム XML のエクスポート」の LOOKUPS からダウンロードできます。lookup<LookupID>
Smart Fill をオフSmart Fill を無効に設定します。Smart Fill はデータベースの値とユーザーが入力した値を照合して自動的にマッチングさせることができる機能です。マッチング可能な値が見つかると、その値が自動的にテキスト・ボックスに反映されます。システムが複数の値を検索すると、リストが表示されその中から値を選択できます。Smart Fill が無効になっている場合、ユーザーが入力したテキストは入力中の間は検証されません。smartfillofftrue, false
詳細説明は読み取り専用デフォルトでは、詳細説明のフィールドは編集可能にセットされています。この機能を有効にすると詳細説明は読み取り専用になります。longdescreadonlytrue, false
URL 属性URL が格納されている属性を入力すると、このカラムのテキストにアンカーを設置し、ハイパーリンクを生成します。urlattribute<属性名>
テキスト・ボックスラベルこのコントロールのラベルを指定したテキストに上書きします。label<テキスト>
メニュー・タイプ事前定義されたドロップダウン形式のメニューをコントロールに関連付けさせることができます。メニューID はシステム XML の menus.xml に格納されています。「アプリケーション・デザイナー」を開き、「アクションの選択」から「システム XML のエクスポート」の MENUS からダウンロードできます。menutype<MenuID>
ルックアップ事前定義されたルックアップ表をコントロールに関連付けさせることができます。ユーザーはこのコントロール上でルックアップ表のレコード選択機能が使用できるようになります。「アプリケーション・デザイナー」を開き、「アクションの選択」から「システム XML のエクスポート」の LOOKUPS からダウンロードできます。lookup<LookupID>
入力モード入力モードのオプションは以下の通りです。
  • デフォルト: デフォルトの入力モードは読み書き可能です。このフィールドに入力した情報は属性フィールドのデータベース・ラムに保存されます。
  • パスワード: このモードは読み書き可能でアスタリスクで表示されます。
  • 必須のパスワード: このモードは読み書き可能でアスタリスクで表示されます。 このフィールドに値が挿入されない限り保存できません。
  • 読み取り専用: このモードは読み取り専用です。フィールドはグレイ・アウト表示されます。
  • 必須: このモードは読み書き可能です。このフィールドに値が挿入されない限り保存できません。
inputmodedefault, readonly, required, password, passwordrequired, passwordreadonly
Smart Fill をオフSmart Fill を無効に設定します。Smart Fill はデータベースの値とユーザーが入力した値を照合して自動的にマッチングさせることができる機能です。マッチング可能な値が見つかると、その値が自動的にテキスト・ボックスに反映されます。システムが複数の値を検索すると、リストが表示されその中から値を選択できます。Smart Fill が無効になっている場合、ユーザーが入力したテキストは入力中の間は検証されません。smartfillofftrue, false
読み取り専用の詳細説明デフォルトでは、詳細説明のフィールドは編集可能にセットされています。この機能を有効にすると詳細説明は読み取り専用になります。longdescreadonlytrue, false
アプリケーションへ移動別アプリケーションへ移動可能にするプルダウン・メニューとこのコントロールを関連付けします。複数の値を設定する場合、カンマ区切り (スペースは含めない) で指定します。指定するアプリケーション名は「アプリケーション・デザイナー」の「アプリケーション」項の値を使用します。applinkアプリケーション名
ツリー条件付き UI で制御できるプロパティーはありません。   
ツリー属性条件付き UI で制御できるプロパティーはありません。   
ツリー・ノード条件付き UI で制御できるプロパティーはありません。   

Java メソッドの実行

署名オプションのイベント機能を通じて、Bean クラス、または MBO*1 のメソッドを実行します。Bean クラスとは Maximo の UI で業務ロジックを実行するための処理を記述するためのクラスです。Java Bean とは違い業務ロジックは MBO に、UI の制御を Bean クラスに実装するのが Maximo の作法です。Maximo に初めから組み込まれている「SAVE」や「STATUS」などは主に Bean クラスのメソッドを実行する署名オプションです。ユーザーが作成した Bean クラスも実行可能であり、今まで紹介した例では最も柔軟な構成が可能です。しかし、その場合は Java カスタマイズ相当になるので実装したクラスには保証が無いことに注意が必要です。

Bean クラスのメソッドを実行する場合は返値に int 型を、引数には何も指定しないメソッドを作成します。Bean クラスはテーブルやデータ・ソースなどに紐づけることができます。返値は「EVENT_HANDLED」「EVENT_CONTINE」「EVENT_STOP_ALL」のいずれかの定数を使用します。Maximo は基本的にステートフルなインターフェースを提供しているので、実行命令だけを受け付ける形で実装されます。それぞれの返値を以下に解説します。

表 11. イベント返値
返値説明
EVENT_HANDLED一つのコンポーネント内での処理が完了したことを示します。ユーザーが後続のイベントを送信している場合はその処理が続きます。
EVENT_CONTINUEコンポーネントに後続の処理が存在することを示します。アクション実行後にダイアログ・ボックスを閉じる、Yes/No の返答を確認するダイアログ・ボックスを表示する場合などに使用します。
EVENT_STOP_ALL後続のイベントをすべて停止することを示します。エラーが起きた場合などに使用されます。
DELETEレコードの削除を有効にするオプション
Bean クラスの例
import java.rmi.RemoteException;
import psdi.util.MXException;
import psdi.webclient.system.beans.DataBean;

public class SigOptDataBean extends DataBean
{
    public int DOACTION() throws RemoteException, MXException 
    {
        //署名オプションが有効になっているか確認する。有効でない場合、Exceptionが発生する。
        checkESigAuthenticated("DOACTION"); 
        
        // 何らかの処理を実行
        
        return EVENT_HANDLED;
    }
}

MBO クラスに実装する場合は返値に void を、引数には何も指定しないメソッドを実装します。メソッドの探索は Bean クラス、MBOSet クラス、MBO クラスの順に行われます。従って、Bean クラスと MBO クラスに同じメソッドがあった場合は Bean クラスが優先されます。

おわりに

署名オプションはアプリケーションの機能を呼び出す窓口になると同時にセキュリティや条件による動的な変更など様々な用途で使用されます。本稿では署名オプションの切り口で様々な機能を横断的に解説しました。今回解説したように機能が多岐に渡るために理解が非常に難しいのですが、ここを押さえれば Maximo を単なる帳票ツールから一歩先へと踏み出すことができます。ぜひ実機に触れながら機能を確認し、アプリケーション開発マスターへなってください。

注釈

*1 Maximo Business Object の略です。MBO は Maximo シリーズ Part2 で解説しています。


ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=DevOps, セキュリティ
ArticleID=992825
ArticleTitle=Maximo シリーズ: Part9 - 署名オプション
publish-date=12182014