IBM®
本文へジャンプ
    Japan [変更]    ご利用条件
 
 
検索範囲検索:    
    ホーム    製品    サービス & ソリューション    サポート & ダウンロード    マイアカウント    
skip to main content

developerWorks Japan  >  Lotus | Java technology  >

IBM Lotus Notes 8.5 での高度な Java ビュー機能

developerWorks
ページオプション

JavaScript を要するドキュメントオプションは表示されません

議論する

原文はこちら

原文はこちら


レベル: 中級

Steve Castledine, Advisory Software Engineer, IBM
Margo Ezekiel, User Interface Designer, IBM

2009年 2月 17日

IBM® Lotus® Notes® のクライアントでは、リリース 8.0 で Java™ ビューが導入されたのに伴い、多くの新機能が Java ビューを使って実装され、Lotus Notes のインターフェースが最先端のものになっています。Java ビューを使うようにアプリケーションを変換したら、この記事で説明する概略手順に従って、この新しいビューによって提供される機能 (スレッド、狭いビュー用のモード、名刺形式、分割ボタン、カスタムコンテキストメニューなど) を使用することができます。この記事を読み進める前提としては、Lotus Notes 8.5、IBM Lotus Domino Designer 8.5、Lotus Notes の CAE (Composite Application Editor) 8.5 をインストールしてあるものとし、また Lotus Domino Designer® での作業に慣れているものとします。

この記事では、developerWorks® の関連記事「基本ステップ: IBM Lotus Notes アプリケーションを変換し、Lotus Notes 8 の Java コンポーネントを使う」を読み、そこで説明されている手順を実行してあることを前提にしています。

サイドプリビューオプションを追加する

関連記事で既に、Java ビューを使うようにアプリケーションを変換してあるので、Lotus Domino Designer に戻り、さらに変更を行います。

関連記事で作成した「個人ジャーナル (Personal Journal)」アプリケーションのアクションバーの右側に「表示 (Show)」ドロップダウンアクションを追加し、ユーザーが下部または脇にプリビュー (プレビュー) を表示できるようにします。

以下の手順に従って実行します。

  1. Lotus Notes クライアントで「ファイル (File)」-「終了 (Exit)」の順に選択します。
  2. Lotus Notes がインストールされているディレクトリーにある notes.ini ファイルをメモ帳などのエディターで開きます。
  3. このファイルに Designer_ShowPropForJavaViewsUI=1 という設定を追加します。
  4. 変更を保存してファイルを閉じます。
  5. Lotus Domino Designer を開き、関連記事で作成した「個人ジャーナル (Personal Journal)」アプリケーションを開きます。
  6. ナビゲータ内で「ビュー (View)」をクリックして展開します。
  7. 表示されたビューの 1 つをダブルクリックして開きます。
  8. 「ファイル (File)」-「プロパティ (Properties)」の順に選択し、表示されるプロパティボックスのタイトルバーをクリックして「ビュー (View)」に切り換えます。
  9. 左から 2 番目のタブ (「オプション (Option)」タブ) を選択し、「縦/横の切り替えパネルを表示 (Show Vertical/Horizontal switcher)」オプションにチェックを付けることで、レイアウトの方向を切り替えるアイコンをアプリケーションに追加します。
  10. ステップ 9 のオプションを設定したいすべてのビューに対して、この操作を行います (図 1 を参照)。

図 1. Lotus Domino Designer で「縦/横の切り替えパネルを表示 (Show Vertical/Horizontal switcher)」オプションを選択する




上に戻る


1 つの列を動的にリサイズする

Lotus Notes メールのビューで「件名 (Subject)」列を動的にリサイズ可能な設定にします。すると、(例えばユーザーがサイドバーを広げたり狭めたりすることによって) リストビューがリサイズされると、「件名 (Subject)」列が拡大または縮小され、他のすべての列の幅は同じに保たれます。このステップによって列を柔軟にリサイズできるようになるため、横方向のスクロールバーは必要ありません。

ユーザーがビューを縮小していくと、「件名 (Subject)」列は縮小され続け、最小幅に達したところで今度はビューが狭い場合の表示に切り替わります。

このように動的にリサイズされる列を設定するためには、以下の手順に従って実行します。

  1. Lotus Domino Designer で (前のセクションの手順のステップ 5 からステップ 7 まで行って) メールのビューを開いた状態で、動的にリサイズしたい列をダブルクリックし、「列 (Column)」プロパティボックスを開いて、一番右の「詳細 (Advanced)」タブをクリックします。
  2. 「利用可能なウィンドウ幅まで拡張して使用する (Extend to use available window width)」オプションを選択します。



上に戻る


ビューが狭い場合の設定を作成する

Lotus Notes 8 では、プリビューを横に表示できる機能の他に、メールアプリケーションのビューが狭い場合の設定が導入されています。狭いビューでメールを表示する場合、ユーザーは従来の列ヘッダーを表示せず、より多くの情報が表示された状態にすることができます。

狭いビュー用の設定をしたいビューに対して、以下を指定する必要があります。

  • 列の表示方法 (つまり常に最前面に配置するのか、次の行に折り返すのか、あるいは完全に隠してしまうのか)。列ヘッダーの表示方法の設定は、「列 (Column)」プロパティボックスの一番右の「詳細 (Advanced)」タブで「ビューの領域が狭い場合 (If view is narrow)」という設定を使って行います。選択肢は、「常に前面に配置 (Keep on top)」、「この列を非表示にする (Hide this column)」、「次の行に折り返す (Wrap to second row)」です。
  • このフィールドを最前面に配置する設定にした場合、次の行をそのフィールドの直下で始まるように上に寄せるのかどうか。このオプションも「列 (Column)」プロパティボックスの一番右の「詳細 (Advanced)」タブで設定します。設定は「次の行をこの列の下に揃える (Justify second row under this column)」にチェックを付けます (図 2 を参照)。



    図 2. 2 行目の配置


  • 動作順序。つまりどの列を最初に処理し、どの列を 2 番目に処理するのか、などを指定します。例えばビューの設定を、最初に 1 つの列を折り返し、そしてビューが狭くなったら 2 番目の列を隠し、さらにビューが狭くなったら 3 番目の列を折り返す、というようにすることもできます。シーケンス制御を行うことで、1、2、3 といったラベルを列に付けることができます (図 3 を参照)。



    図 3. 動作順序を指定する





上に戻る


「表示 (Show)」ドロップダウンメニューにアクションを追加する

Lotus Notes では「表示 (Show)」ドロップダウンメニューにさらにアクションが追加されており、ユーザーはこれらのアクションを使ってビューを制御することができます。「未読文書のみ (Unread Only)」は追加されたアクションの一例です (図 4 を参照)。


図 4. アクションバーの「表示 (Show)」ドロップダウンメニュー

「表示 (Show)」ドロップダウンメニューにアクションを追加するためには、Lotus Domino Designer で、「コード (Code)」-「共有アクション (Shared Actions)」の順に選択し、追加したいアクションをダブルクリックして「共有アクション (Shared Action)」プロパティボックスを開きます。次に、「アクションボタンを右に揃える (Right align action control)」というプロパティを選択します (図 5 を参照)。


図 5. 「表示 (Show)」ドロップダウンメニューのアクションのプロパティを設定する




上に戻る


列を変更する

列に対して、いくつかの新しい属性を設定することもできます。これらの属性が使われている様子は Mail 8 テンプレートを見るとわかります。これらの設定は「列 (Column)」プロパティボックスの「属性: (Attrs:)」フィールドに表示されます。

新しい選択肢は表 1 に示すように 5 つあります。


表 1. Java ビューで列に関して利用できる新しい属性
設定説明
$ThinColumn=true縦長の細い列を作ります$ThinColumn=true example
$MaskSelectionColor=true行を強調表示したときに、この列は強調表示しないようにします$MaskSelectionColor=true example
$TypeHeaderIcon=index:colicon1:129列ヘッダーにアイコンを配置します$TypeHeaderIcon=index:colicon1:129 example
$ShowGradientColor=true列の背景色を灰色にします$ShowGradientColor=true  example
$ShowThreadTwistie=true列に折りたたみアイコンを表示します$ShowThreadTwistie=true example

これらの変更を行うためには、変更したい列を選択し、以下の手順に従って実行します。

  1. Lotus Domino Designer で (最初のセクションの手順のステップ 5 からステップ 7 まで行って) メールのビューを開いた状態で、変更したい列をダブルクリックして「列 (Column)」プロパティボックスが表示されるようにします。
  2. 一番右の「詳細 (Advanced)」タブをクリックし、「属性: (Attrs:)」フィールドに、表 1 の設定したい属性を挿入します。複数の属性を指定したい場合には、それぞれの属性をセミコロンで区切ります。
  3. ビューが狭い場合には、ビューを調整するための設定もあります。
  4. ビューを閉じて変更を保存します。



上に戻る


「名刺形式 (Business Cards)」ビューを作成する

Lotus Notes 8 では連絡先アプリケーションに「名刺形式 (Business Cards)」ビューが導入されており、皆さんのアプリケーションにも「名刺形式 (Business Cards)」ビューを作成することができます。

ビューの表示方法を指定するビューアーの設定は、「ビュー (View)」プロパティボックスの「ビューアー (Viewers)」フィールドで行います (図 6 を参照)。このフィールドに指定することが可能なのは、Table、Tiled、または Calendar です。何もビューアーを指定しないと、デフォルト (標準ビュー) として Table が使われます。また、エントリーをセミコロンで区切ることでビューアーを組み合わせることもできます。その場合には、それらのビューアーが「表示 (Show)」メニューにオプションとして表示されます。


図 6. 「名刺形式 (Business Cards)」ビューを表示するための設定をする

ビューの各列に対して、どこにフィールドを表示するのか (上部、下部、あるいは非表示)、そしてどの行に表示するのかを指定する必要があります (図 7 を参照)。


図 7. タイル型の「名刺形式 (Business Cards)」ビューの列とフィールドのフォーマットの設定をする




上に戻る


連絡先早見タブの付いたビューを作成する

Lotus Notes 8 の連絡先アプリケーションのビューには、ビューの左側に表示される連絡先早見タブがあります (図 8 を参照)。連絡先早見タブの文字をクリックすると、その文字で始まる連絡先のみが表示されるようになります。

皆さんのアプリケーションにも、「ビュー (View)」プロパティボックスの中で「タブナビゲータを表示 (Show Tab Navigator)」を選択すると、連絡先早見タブを表示することもできます (図 9 を参照)。


図 8. 連絡先早見タブ


図 9. タブナビゲータを表示するための設定をする




上に戻る


ビューの中でスレッドをオンにする

Lotus Notes 8 では、メールアプリケーションの「受信ボックス (Inbox)」にスレッド化した表示が導入されています (図 10 を参照)。


図 10. 「受信ボックス (Inbox)」でスレッド化した表示

このようなスレッド化した表示は、皆さんのアプリケーションの中でも使うことができますが、現在の設計はメール用のテンプレートのみをターゲットとしているため、使い方が限定されています。例えば、「この会話には n 件のメッセージがあります (messages in this conversation)」という文字列は現在固定されています。

まず、アプリケーションに対して「返答スレッド履歴をサポート (Support Response Thread History)」オプションを選択します。この選択は、Lotus Domino Designer で (最初のセクションの手順のステップ 5 からステップ 7 まで行って) メールのビューを開いた状態で、任意の列をダブルクリックして表示されるプロパティボックスのタイトルバーをクリックし、「データベース (Database)」に切り換えた中で行います (図 11 を参照)。


図 11. 「返答スレッド履歴をサポート (Support Response Thread History)」オプションを選択する

このオプションを選択すると、スレッド化した表示のための内部キャッシュ、つまりインデックスが作成されます。デフォルトで、このキャッシュには 7 日前までのデータしか保存されません。デフォルトの設定を変更するためには、初期設定として MAX_DAYS_FOR_THREAD_CONVERSATIONS=365 (あるいはこれとは異なる、日数を指定する大きな値) を Notes.ini に追加します。

この記事の手順と関連記事の手順に従って Java ビューを表示するアプリケーションを既に作成してあるとすると、そのアプリケーションには 2 つのビューを追加する必要があります。1 つのビューはスレッド化した表示の表示方法を制御し、もう 1 つのビューは返答の階層のインデックスとして動作します。

お使いのテンプレートを指定して (デフォルトの設計を使用して) 新しいビューを作成し、そのビューに ($ThreadsEmbed) のように名前を付けて括弧で囲むことで、ビューを非表示に設定します。そして、そのビューの「ビュー (View)」プロパティボックスの左から 2 番目の「オプション (Option)」タブで、「返答文書を階層表示する (Show response documents in a hierarchy)」というプロパティと「返答の階層の一部を表示 (Show partial response hierarchies)」というプロパティを選択します (図 12 を参照)。


図 12. 新しい $ThreadsEmbed ビューを設定する

この新しいビューの「件名 (Subject)」(トピック) 列の「列 (Column)」プロパティボックスを表示させ、一番右の「詳細 (Advanced)」タブの「属性: (Attrs:)」フィールドに $ThreadSubject=true と入力します (図 13 を参照)。


図 13. $ThreadSubject 属性を設定する

もう 1 つのビューを作成し (この場合もデフォルトの設計を使います)、(Threads) という名前を付けます。そしてこのビューでは、「ビュー (View)」プロパティボックスの左から 2 番目の「オプション (Option)」タブで、「文書が変更される毎にアクションを評価する (Evaluate actions for every document change)」オプションと「返答文書を階層表示する (Show response documents in a hierarchy)」オプションを選択します。

次に複合アプリケーションの XML ファイルにプロパティを追加する必要があります。そのためには以下の手順に従って実行します。

  1. Lotus Notes で、「アクション (Actions)」-「アプリケーションの編集 (Edit Application)」の順に選択します。
  2. ビューコンポーネントを右クリックし、「コンポーネントプロパティの編集 (Edit Component Properties)」を選択します。
  3. 「詳細 (Advanced)」タブで、com.ibm.rcp.csiviews.viewpart.threadurl というプロパティを notes:///0000000000000000/Threads?OpenView という値で追加します (図 14 を参照)。
  4. 「ファイル (File)」-「保存して閉じる (Save and Close)」の順に選択します。

図 14. threadurl という XML プロパティを追加する

次に、スレッド化した表示にするビューの構成をする必要があります。スレッド化した表示にするビューの「ビュー (View)」プロパティボックスで、以下の手順に従って実行します (図 15 を参照)。

  1. 左から 2 番目の「オプション (Option)」タブで、「返答文書を階層表示する (Show response documents in a hierarchy)」オプションのチェックを外します。
  2. そして、「縦/横の切り替えパネルを表示 (Show Vertical/Horizontal switcher)」オプションを選択します。
  3. 「スレッドビュー (Threads View)」フィールドで ($ThreadsEmbed) を選択します。
  4. 「スレッド表示を許可する (Allow conversation mode)」オプションを選択します。

図 15. スレッド化した表示にするビューの設定をする

また、折りたたみアイコンを表示するための列も追加する必要があります。そうすることでユーザーがスレッド化した表示を選択できるようになります。そのためには以下の手順に従って実行します。

  1. 列を追加するビュー上で右クリックして「列の挿入 (Insert New Column…)」を選択し、列を挿入します。
  2. 挿入した列のプロパティ (「列 (Column)」プロパティボックス) を開き、一番左の「列情報 (Column Info)」タブを選択し、「タイトル (Title)」フィールドは空のままとし、「幅 (Width)」フィールドに 1 を設定します。
  3. 一番右の「詳細 (Advanced)」タブを選択肢、「属性: (Attrs:)」フィールドに $ShowThreadTwistie=true と入力します (図 16 を参照)。



    図 16. 折りたたみ属性を設定する


次に、メールクライアントの「表示 (Show)」ドロップダウンメニューに表示される「フラット表示 (Individual Messages)」および「会話表示 (Conversations)」オプションを使う必要があります。「会話表示 (Conversations)」オプションは E メールでの会話それぞれに対する最新の返答のみを表示します。「フラット表示 (Individual Messages)」はすべてを表示します。これらは「アクションボタンを右に揃える (Right align action control)」を選択した場合の標準アクションです。これらによって、「フラット表示 (Individual Messages)」モードの場合は環境変数 $VIEW_CONVERSATION_MODE が 1 に設定され、「会話表示 (Conversations)」モードの場合には 2 に設定されます。




上に戻る


ナビゲータに境界線を追加する

アプリケーションのナビゲータ内で、エントリーの間に境界線を追加することができます (図 17 を参照)。


図 17. ナビゲータ内の境界線

そのためには Lotus Domino Designer を開き、以下の手順に従って実行します。

  1. 「共有要素 (Shared Elements)」-「アウトライン (Outlines)」をクリックします。
  2. 「NotesMailOutline」をクリックします。
  3. 任意のラベルを右クリックして「アウトラインエントリのプロパティ (Outline Entry Properties)」を選択します。「このエントリの上に境界線を表示する (Display separator above this entry)」オプションを選択し、ナビゲータに境界線を追加します。



上に戻る


右クリックで表示されるコンテキストメニューをビューの中に作成する

デフォルトで、右クリックで表示されるコンテキストメニューには文書のプロパティなどのデフォルト項目が含まれています。これらのデフォルトをオフにし、画像やサブメニューを持つ独自のメニュー項目を選択することができます。

まず、デフォルトの項目をオフにします。

  1. Lotus Domino Designer を開きます。
  2. コンテキストメニューを設定したいビューを開き、右ペインのアクションからコンテキストメニューに設定したいアクションを右クリックして「アクションバーのプロパティ (Action Bar Properties)」を選択し、「アクションバー (Action Bar)」プロパティボックスを開きます。
  3. 一番左の「アクションバーの情報 (Action Bar Info)」タブを選択し、「右マウスボタンのメニューでデフォルト項目を表示 (Show default items in right-mouse menu)」オプションのチェックを外します。

次に、プロパティボックスのタイトルバーをクリックして「アクションのプロパティ (Action Properties)」を選択します。一番左の「アクション情報 (Action Info)」タブを表示し、「右クリックメニューに含む (Include in right mouse button menu)」オプションにチェックを付けます。

Lotus Notes のアクションバーメニューを作成するのと同じ方法で、アイコンとサブメニューを作成することができます。複雑なメニューの場合には、別途アクションバーに右クリックのエントリーを作成した方が簡単かもしれません (そうすれば特定のアイコンと境界線を使うことができます)。

また、「アクション (Action)」プロパティボックスの「ラベル (Label)」フィールドで、ラベルとショートカットとの間に @Char(9) を含めることでキーボードショートカット用の文字列を右揃えすることもできます (図 18 を参照)。図 19 は最終的なコンテキストメニューを示しています。


図 18. コンテキストメニューの中のショートカットを右揃えにする


図 19. 右クリックで表示される最終的なコンテキストメニュー




上に戻る


まとめ

この記事ではアプリケーションをカスタマイズして最先端の表示にするための、個々のステップの概要を説明しました。この記事を読むことで多くのツールを利用できるようになり、また皆さんのカスタムアプリケーションが Lotus Notes 8 ネイティブの PIM アプリケーション (メール、カレンダー、連絡先、タスク、ノートブックなど) と同じように見えるようになるはずです。



参考文献



著者について

Steve Castledine は IBM の Advisory Software Engineer です。彼は Software Group のメンバーであり、IBM Lotus Notes クライアント用の PIM アプリケーションや、Web アプリケーションやソーシャル・ソフトウェア (特にブログとウィキ) の開発を行っています。彼はユーザー・インターフェース・デザイナーの Margo Ezekiel と協力しながら「個人ジャーナル (Personal Journal)」を新しい「ノートブック (Notebook)」アプリケーションへと更新しました。


Margo Ezekiel は IBM Lotus Notes クライアントと iNotes Mail クライアントの業務を担当するユーザー・インターフェース・デザイナーです。彼女はこの記事で概要を説明した Java ビュー機能を使って Lotus Notes 8.0 Mail Client を設計しました。また彼女は Steve Castledine と協力して Lotus Notes 8.5 の「個人ジャーナル (Personal Journal)」アプリケーション (別名「ノートブック (Notebook)」アプリケーション) を更新しました。




記事の評価


サイト改善のため、ご意見をお寄せください。こちらのフォームからお願いいたします。



 


 


不充分・不完全である大変素晴らしい
 


この記事を共有する

del.icio.us del.icio.us newsing newsing FC2ブックマーク FC2ブックマーク
Choix! Choix! ニフティクリップ ニフティクリップ Yahoo!ブックマーク Yahoo!ブックマーク
MM/memo MM/memo CZブックマーク CZブックマーク livedoorクリップ livedoorクリップ
はてなブックマーク はてなブックマーク Buzzurl(バザール) Buzzurl(バザール)




上に戻る


    日本IBMについて プライバシー お問い合わせ