この記事では Lotus Notes アプリケーションを Java アプリケーションに変換する方法を、「個人ジャーナル (Personal Journal)」アプリケーションの例を使って説明します。この手法は他の Lotus Notes テンプレートを変換 するために応用することができ、それによって Lotus Notes 8 の PIM アプリケーションと同じルックアンドフィールを得ることがで きます (PIM: Personal Information Management、メール、カレンダー、連絡先などの個人情報管理)。
この記事と合わせて、「IBM Lotus Notes 8.5 での高度な Java ビュー機能」という記事も developerWorks® の Lotus ゾーンに公開されています。
この記事で説明する内容は、ナビゲータ (アウトライン)、リストビュー、プリビューのレイアウトを持つ単純なアプリケーションにのみ有 効です。注意事項は以下のとおりです。
- ビューの中で複数階層のカテゴリー表示が適切に行われない可能性があります。
- 複数階層のカテゴリー表示が行われるビューでは、列の総計が適切に動作しない可能性があります。
- カスタムの折りたたみアイコンがカテゴリー表示では動作しない可能性があります。
- 「ナビゲータ (Navigator)」ペインにカスタムアクションが表示されない可能性があります。
- 「ナビゲータ (Navigator)」のタイトルバーのプルダウンメニューにカスタムアクションが表示されない可能性があります。
Lotus Notes 8 以降のクライアントが Lotus Notes アプリケーションを Java ビューにレンダリングする場合、 そのアプリケーションは複合アプリケーション (Composite Application) でなければなりません。そのため最初のステップで は CAE (Composite Application Editor) を使って複合アプリケーションを作成します。次に Lotus Domino Designer でテンプレートを変更し、CAE を使ってさらに変更を加えます。
ここでは「個人ジャーナル (Personal Journal)」アプリケーションを出発点として使います。その理由は、このアプリケーシ ョンがナビゲータ、リストビュー、そしてプリビューペインからなる簡単なアプリケーションであり、また上記の条件を満たしているからです。
作業を始める前に、Lotus Notes 8.5 クライアントとそのオプション CAE がインストールされていること、さらに Lotus Domino Designer 8.5 がインストールされていることを確認します。またアプリケーションのタブに表示されるページ アイコン用に 16x16 の PNG ファイルも必要になります。
図 1 に元からある、変換前の「個人ジャーナル (Personal Journal)」アプリケーションを、図 2 にこの記事で説 明する手順に沿って変換した後のアプリケーションを示します。
図 1. Lotus Notes 8 より前のバージョンでの「個人ジャー ナル (Personal Journal)」アプリケーション ― 変換前
図 2. Java ビューにレンダリングされるように更新されたバージョン での「個人ジャーナル (Personal Journal)」アプリケーション ― 変換後
空の「個人ジャーナル (Personal Journal)」アプリケーションから開始する
Lotus Notes クライアントで、以下の手順に従って実行します。
- 新規 Lotus Notes アプリケーションを作成する画面で、journal6.ntf をテンプレートとして選択します。
- 「テンプレートを引き継いで設計 (Inherit future design changes)」オプションにチェックが入っていないこ とを確認し、アプリケーションを作成します。
- 作成した新しいアプリケーションを開きます。
- タブ上で右クリックし、この新しいアプリケーションを Lotus Domino Designer で開きます。
Lotus Domino Designer で新しい複合アプリケーションを作成する
Lotus Domino Designer で、以下の手順に従って実行します。
- ナビゲータ内で「複合アプリケーション (Composite Applications)」をクリックして展開し、続いてその配下にある 「アプリケーション (Applications)」をクリックします。
- 「設計 (Design)」ペインで「新規複合アプリケーション (New Composite Applications)」ボタンをクリッ クします。
- 表示される画面で、新しいアプリケーションファイルに Notes Journal Application.xml という名前を付け、
OK をクリックします (図 3 を参照)。
図 3. CAE: Lotus Domino Designer で新規複合アプリケーションを作成する
- Lotus Domino Designer で「フレームセット (Framesets)」をクリックして展開し、「BorderFrame」 をダブルクリックして編集します (図 4 を参照)。
- メニューから「ファイル (File)」-「プロパティ (Properties)」の順に選択し、表示されるリストから「フレームセット (Frameset)」を選択します。
- 「フレームセット (Frameset)」画面では、「複合アプリケーション (Composite Application)」の「アプリケ ーション名 (App Name)」を Notes Journal Application.xml に設定します。
- また、「複合アプリケーション (Composite Application)」の「ページ名 (Page Name)」を「空白ページ
(Blank Page)」に設定します。
図 4. Lotus Domino Designer: フ レームセットを変更する
- File - Save の順に選択します。
- File - Exit の順に選択します。
「メール」コンポーネントをベースに新規ア プリケーションを作成する
複合アプリケーションのフレームワークでは、Lotus Notes の「メール」コンポーネント (ナビゲータビューとリストビュー) を使っ て複合アプリケーションのページを作成します。Lotus Notes の「メール」コンポーネントはリストビューとプリビューを表示できるように 既にワイヤリングされているため、ここでは「メール」コンポーネントを元の「個人ジャーナル (Personal Journal)」アプリケーショ ンのフレームセットにワイヤリングし直します。
Lotus Notes のクライアントで、以下の手順に従って実行します。
- Lotus Notes のクライアントを起動します。
- 「個人ジャーナル (Personal Journal)」アプリケーション (先ほど作成した NSF ファイル) を開きます。
- 「アクション (Action)」-「アプリケーションの編集 (Edit Application)」の順に選択すると、CAE にアプリケ ーションが開きます。
- 画面の右端にある右矢印をクリックし、「コンポーネントパレット (Component Palette)」を開きます (図 5 を参 照)。
図 5. CAE でアプリケーションを編集するために「コンポーネントパレ ット (Component Palette)」を開く
ここで、2 つのコンポーネントを追加する必要があります。
CAE で、以下の手順に従って実行します。
- コンポーネントパレットに表示されるリストの PIM セクションから「Notes メールビュー (Notes Mail View)」の項
目を選択し、中央ペインにドラッグアンドドロップします (図 6 を参照)。
図 6. CAE で「Notes メールビュー (Notes Mail View)」コンポーネントをドラッグする
するとウィンドウには、図 7 のような画面が表示されます。
図 7. CAE で「Notes メールビュー (Notes Mail View)」を中央ペインにドラッグアンドドロップした後の表示
- 前のステップで行った操作によって、フォーカスが Lotus Notes クライアントのワークスペースに戻ってしまう場合があります。 その場合にはタスクバーにある Lotus Notes をクリックし、「編集中: Blank Application (Editing: Blank Application)」を再度開きます。「コンポーネントパレット (Component Palette)」が閉じている場合は、 右矢印をクリックして再度「コンポーネントパレット (Component Palette)」を開きます。
- 今度は「Notes メールナビゲータ (Notes Mail Navigator)」コンポーネントを中央ペインにドラッグアンドドロッ
プします。このステップは注意が必要で、中央ペインの左端にビューをドラッグする必要があります。ペインの左端に黒い矢印が表示され、縦
長の四角い枠が表示されたら (図 8 を参照)、コンポーネントをドロップします。
図 8. CAE で「Notes メールナビゲータ (Notes Mail Navigator)」コンポーネントをドラッグする
「Notes メールナビゲータ (Notes Mail Navigator)」コンポーネントをドロップすると、画面は図 9 のようにな るはずです。
図 9. CAE で中央ペインに「Notes メールナビゲータ (Notes Mail Navigator)」コンポーネントをドラッグ・アンドドロップした後の表示
「個人ジャーナル (Personal Journal)」アプリケーションから 境界用フレームセットの設定を引き継ぐ
今度は「メール」コンポーネントを「個人ジャーナル (Personal Journal)」の要素で置き換える必要があります。新しい アプリケーションは「個人ジャーナル (Personal Journal)」テンプレートから境界用フレームセットの設定を引き継ぐ必要があり ます。
以下の手順に従って実行します。
- 左ペインにある 「Notes メールナビゲータ (Notes Mail Navigator)」コンポーネントを右クリックし、「コンポー ネントプロパティの編集 (Edit Component Properties)」を選択します。
- 「表示設定 (Display Settings)」タブから「タイトルバー (Title Bar)」を選択し、タイトルバーが表示され るようにします。
- 「コンポーネント設定 (Component Settings)」タブをクリックします。
- 「Notes URL」フィールドを選択します。
- フィールド内で、E を 0 に置き換え、さらに MailFS を BorderFrame に置き換えることで、フィールド値が
notes:///0000000000000000/BorderFrame?OpenFrameset となるようにします。するとこのウィンドウは
図 10 のようになります。
図 10. CAE で「Notes URL」フィールドを更 新する
- 「OK」をクリックしてウィンドウを閉じます。
- 左ペインで「Notes メールビュー (Notes Mail View)」コンポーネントを右クリックし、「コンポーネントプロパティの編 集 (Edit Component Properties)」を選択します。
- 「コンポーネント設定 (Component Settings)」タブをクリックします。
- 「Notes URL」フィールドを選択します。
- フィールド内で、E を 0 に置き換え、MailFS を BorderFrame に置きカエルコトデ、フィールド値が notes:///0000000000000000/BorderFrame?OpenFrameset となるようにします。
- 「詳細 (Advanced)」タブをクリックします。
- com.ibm.rcp.csiviews.viewpart.threadurl を選択し、「削除 (Delete)」をクリックします。
- com.ibm.rcp.csiviews.viewpart.folderalias を選択し、「削除 (Delete)」をクリックしま す。
- 「OK」をクリックします。
- ここまでに行った変更内容を保存するために、「ファイル (File)」メニューから「保存して閉じる (Save and Close) 」を選択します。
Lotus Domino Designer で、以下の手順に従って実行します。
- PNG フォーマットの画像 (16 X 16) が必要になります。ここでは、notebook8.ntf テンプレートの画像 tab_notebook_16.png を使用します。
- Lotus Domino Designer を開きます。
- 「リソース (Resources)」-「イメージ (Images)」の順に選択します。
- ステップ 1 の画像を新しい画像ソースとしてインポートするために、「イメージリソースのインポート (Import Image
Resource)」をクリックし (図 11 を参照)、表示されるダイアログでファイル名のフィールドに *.png と入力して画像を選択
します (図 12 を参照)。
図 11. Lotus Domino Designer で 共有の「リソース/イメージ (Resources/Images)」ディレクトリーにページアイコンを追加する
図 12. Lotus Domino Designer で PNG ファイルを表示するように「ファイル名 (File name)」フィールドに指定する
- Lotus Notes クライアントから CAE を開きます。
- ナビゲータ内で「空白ページ (Blank Page)」を右クリックし、「ページプロパティの編集 (Edit Page Properties)」を選択します。
- 「ページの設定 (Page Settings)」タブの「ページアイコン (Page Icon)」フィールドで、「選択 (Select)
」をクリックし、先ほどのステップでインポートしたアイコンを選択します (図 13 を参照)。
図 13. CAE で「ページアイコン (Page Icon)」フィールドを編集する
- 次に、「ページタイトル (Page Title)」フィールドを編集してアプリケーションの名前を指定します (図 14 を参照)。
図 14. CAE で「ページタイトル (Page Title)」フィールドを編集する
- 「OK」をクリックします。
- 「ファイル (File)」メニューから「保存して閉じる (Save and Close)」を選択します。
Lotus Notes クライアントに戻り、アプリケーションを開きます。すると図 15 のようなウィンドウが表示される はずです。タブアイコンを更新表示させるには Lotus Notes の再起動が必要な場合もあります。
図 15. Lotus Notes で更新されたアプリケ ーションを Lotus Notes クライアントで表示する
ページアイコンを設定できたので、今度はこのページアイコンへの参照を設定する必要があります。そうすることで、ページアイコンへの参 照を適切に解決できるようになるため、このアプリケーションを別のコンピューターでも使えるようになり、さらにこのテンプレートをベースに新しい アプリケーションを作成できるようにもなります。
Lotus Domino Designer で、以下の手順に従って実行します。
- 「ファイル (File)」メニューから「アプリケーション (Applications)」-「開く (Open)」の順に選択し、「個人ジャ ーナル (Personal Journal)」アプリケーションを開きます。
- 左ペインで「複合アプリケーション」-「アプリケーション」を選択し、先ほど作成した Notes Journal Application.xml ファイルを選択して開きます。
- 中央ペイン下部で「ソース (Source)」タブを選択します。
- <preference name=”com.ibm.portal.PageIcon”> という文字列を検索します。
- base:value の値にページアイコンの PNG ファイルを以下のように指定します。
<preference name=”com.ibm.portal.PageIcon”>
<base:value value=”Notebook_view16.png” xsi:type=” base:String”/>
</preference> - このファイルを保存して終了します。
Lotus Notes 8 ではビューのアクションバーに分割ボタンが導入されています。分割ボタンを利用すると、ユーザーはワンクリッ クでデフォルトのアクションを実行することも、ドロップダウンリストをクリックして選択肢の一覧を表示することもできます。
メールアプリケーションの「受信ボックス (inbox)」には分割ボタンの一例が表示されます。「新規 (New)」ボタンをクリックする と新規メール文書が開きますが、「新規 (New)」ボタンをクリックする代わりに「新規 (New)」ボタンのドロップダウンの矢印をクリックす ると、選択肢の一覧が表示されます (図 16 を参照)。
図 16. 新しい分割ボタン
分割ボタンを作成するには Lotus Domino Designer で、以下の手順に従って実行します。
- 「共有アクション (Shared Action)」プロパティのウィンドウを開きます。
- 「共有アクション (Shared Action)」プロパティのウィンドウで「分割ボタンとして表示 (Display as a
split button)」を選択します (図 17 を参照)。
図 17. 分割ボタンを作成する
Lotus Notes はデフォルトで、アプリケーションタブからアプリケーションにブックマークを付けると、複合アプリケーションの XML 設定を使って NRPC (Notes Remote Procedure Call) の URL を作成します。これらの URL の動作は 遅く、アプリケーションが存在しない場合にはエラーが発生します。従って、ブックマークには Notes の URL を使うように切り換えた 方が賢明です。またこうすることによって、ブックマークのアイコンとして必ずデータベースのアイコンが使われるようになります。
Notes の URL に切り換えるためには複合アプリケーションの XML にプリファレンスを追加する必要があります。このプリファレ ンスを追加するためには、CAE を起動し (「アクション (Actions)」-「アプリケーションの編集 (Edit Application)」の順に選択します)、ページ要素から「ページプロパティの編集 (Edit Page Properties)」を選 択します (図 18 を参照)。
図 18. CAE の中で「ページプロパティの編集 (Edit Page Properties)」を選択する
次に、「ページプロパティの編集 (Edit Page Properties)」ウィンドウの中で「詳細 (Advanced)」タブに切り 換え、「追加 (Add)」をクリックして com.ibm.rcp.bookmark_level を追加し、その「値 (Value)」には selection を設定します (図 19 を参照)。
図 19. bookmark_level プリファレンスを追加する
ナビゲータのタイトルバーにはデフォルトで、カレンダーとタスクとの切り替えを行うためのスイッチャーが表示されます。このスイッチャーを別 の複合アプリケーションの XML プリファレンスを使って無効にすることができます。
図 20. カレンダーとタスクとのスイッチャー
以下の手順に従って実行します。
- CAE を起動し (「アクション (Actions)」-「アプリケーションの編集 (Edit Application)」の順に選択し ます)、左ペインにあるナビゲータのいずれかのコンポーネントを右クリックし、「コンポーネントプロパティの編集 (Edit Component Properties)」を選択します。
- 「コンポーネントプロパティの編集 (Edit Component Properties)」をウィンドウが表示されたら、「詳細
(Advanced) タブ」に切り替え、「追加 (Add)」をクリックして com.ibm.rcp.showSwitch を追加し、その「値
(Value)」には false を設定します (図 21 を参照)。最後に CAE を保存して終了します。
図 21. スイッチャーのプリファレンスを追加する
この記事ではアプリケーションをカスタマイズして、最先端のアプリケーションにするための個々の手順の概略を説明しました。これで皆さんは、さまざまなツールを利用してカスタムアプリケーションの外観を Lotus Notes 8 ネイティブの PIM アプリケーション (メール、カレンダー、連絡先、タスク、ノートブックなど) と同じようにすることができるはずです。さらに詳しい情報については Lotus Notes の CAE のヘルプと Domino Designer 8.5 のヘルプを参照してください。
- ディスカッション・フォーラムに参加してください。
- この記事に関連する developerWorks の記事、「Advanced Java View features in IBM Lotus Notes 8.5」を読んでください。
- developerWorks の記事、「What's new in IBM Lotus Notes 8.5」を読んでください。
- IBM Lotus Notes と Domino 8.5 の製品ページを見てください。
- IBM Lotus Domino Designer 8.5 のヘルプを見てください。