当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。
記事そのもののリンクについてはご自由に行っていただいてよいです。

テクてく Lotus 技術者 Slack に参加しよう!

2012年3月8日木曜日

タグクラウドを使ってみよう

今日(3/8)は、XPages モバイルアプリケーション開発のセミナーがありました。

Lotus Notes/Domino 8.5.3 Upgrade Pack 1で追加されたモバイルコントロールを使って、モバイル端末用にXPages アプリケーションをカスタマイズしてみよう!というものでした。
従来のやり方でXPages アプリケーションをモバイル対応させるのは、実は結構大変でしたが、このモバイルコントロールを使うと、いとも簡単に作れてしまうのには驚きでした。

さて、そんな便利なモバイルコントロールが追加されたupgrade pack 1ですが、
OpenNTF にあった「Extension Library」も追加されています。
この中には、「タグクラウド」コントロールもあり、これをXPages アプリケーションで利用できるようになっています。

このタグクラウド、設定方法にちょっとしたコツがいるようなので、今日はその説明を書いてみます(読んだら、試した結果を教えてくださいね)。


ということで、本題に入る前に、にほんブログ村 IT技術ブログへボタンをクリックしましょう。



一つ目のポイント!
「カテゴリ別」のビューを作成すること。
「タグクラウド」コントロールを使うには、「カテゴリ別」で作成されたビューが必要です。
ビュー名は何でも構わないはずですが、隠しビューはダメなようです。今回は、「byCategory」という名前で作成しています。
※2012/03/18 訂正: ビュー名は隠しビューでも動作します。つまり、(ByCategory)という名前でも大丈夫です。
ビューの1列目は、「ソート」をしていて、なおかつ「カテゴリ別」で設定されている事です。
ビューの1列目はカテゴリ別にすること

ちなみに、下図はノーツアプリケーションに文書をいくつか追加してビューを表示した状態です。
カテゴリ別ビュー


次に、XPage を作成します。
ページ名は何でも構いません。ここでは、「tagTest」として作成しました。
「コントロール」ビューに「Extension Library」というカテゴリが追加されていますので、その中にある「Tag Cloud」というコントロールをドラッグ&ドロップします。
Tag Cloudコントロールを追加

次に、追加したTag Cloudコントロールを選択して、プロパティビューを開きます。
「すべてのプロパティ」タブを開いて、「データ」セクションにある「cloudData」の値にある[+]をクリックします。
Tag Cloudにデータを追加する

すると、xe:dominoViewCloudDataというデータが作成されるので、その中の各プロパティを設定します。
linkRequestParam 「Tag Cloud」に表示されるタグをクリックしたときにURLパラメータの名前を指定します。今回は、CategoryFilterとします。
linkTargetPage   「Tag Cloud」に表示されるタグをクリックしたときに表示するページ名を指定します。今回は、自分自身ということで、tagTestとします。
viewName      「Tag Cloud」コントロールに結びつけるビュー名(最初に作成したカテゴリ別のビュー名)を指定します。今回は、byCategoryとします。



また、「基本」セクションの中に「sliderVisible」という項目があるので、trueにしておきます。
Tag Cloudコントロールのプロパティ設定

これでtagTestページを保存すれば、設定は完了です。
下図はtagTestページをFireFoxでプレビューしたものです。
Tag Cloudのプレビュー

確かにタグが表示されているのが分かるでしょう。
さらに、タグにマウスカーソルを当ててみます。すると、画面下にURLが表示されます。
そこには、さきほど指定したURLパラメータが付いた状態になっています。
URLパラメータの確認


ビューコントロールを配置したときに、「カテゴリ名によるフィルタリング」の設定で、
context.getUrlParameter("CategoryFilter")
とすれば、選択したタグの文書だけが表示されるようになります。
これは、皆さんがご自分の目で確かめてみてください。


8.5.3 upgrade pack 1を使えば、今までのXPages アプリケーションもグレードアップしますね。

では、今日はこの辺で・・・



2012/03/27 追記
タグクラウドの設定方法をLotus Domino Wikiに記述しましたので、そちらも参照願います。



Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

5 件のコメント:

高橋 望 さんのコメント...

昨日のWorkshopでは、お世話になりました。早速リクエストにお答えくださりありがとうございます!実は本日も出張で広島に帰れないので...戻り次第すぐに実装してみます!そしたらまた結果ご報告させていただきますね。ありがとうございました。

Guy Locke さんのコメント...

高橋さん、コメントありがとうございます。
コツさえ掴んでしまえば、簡単に実装できます。
今回の記事ではさわりしか書いていませんので、他のプロパティも設定してみて色々試してみてください。

高橋 望 さんのコメント...

こんにちは。おかげさまで、あんなに悩んでたタグクラウド、実装できました!ありがとうございます。
今、いろいろとプロパティ変更等してみているのですが…カテゴリのエントリ数を一緒に表示するような方法はありますでしょうか?マウスオーバーでエントリ数を表示する方法はできたのですが、実際に画面に表示する方法に悩んでいます…。セパレータの指定まではわかったのですが、エントリ数をうまく取得できなくて…

Guy Locke さんのコメント...

ちょっとしか調べていませんが、そういったプロパティはなさそうですね。お力になれず申し訳ないです。

高橋 望 さんのコメント...

お返事ありがとうございます!
やっぱりそういったプロパティはなさそうですよね…
こちらこそ頼ってしまいすみませんでした。
今後ともよろしくお願いいたします。