投稿

3月, 2012の投稿を表示しています

曜日の割り出し(XPages編)

イメージ
なんと、気がついたら、ブログ開設から丸4年を過ぎました。ということで5年目突入です!
やっと5年目なのか、もう5年目なのかは分かりませんが、今後ともよろしくお願いします。


お祝いしてくれるという方は、是非このボタンをクリックしてやってください。



さて、今日はXPagesネタです。
ノーツで日付から曜日を割り出すというのはよくやっています(このブログでも紹介していますネ)が、XPages での方法を紹介します。

分かりやすくするために、あらかじめ
「Schedule」と言う名前でフォームを作成しておきます。
そこに「StartDate」という日付/時刻フィールドを用意しておきます。

次に、適当なXPageを作成します。
そうしたら、先ほど作成したフォームを「データソース」として定義します。

定義できたら、データソースをXPage上にドラッグ&ドロップします。

すると、「startDate1」という名前で日時ピッカーが作成されますので、これのデフォルト値を設定します。
「startDate1」コントロールを選択して、プロパティビューを開きます。
「データ」タブを開き、デフォルト値の横にある◇をクリックして、「値の計算...」を選択します。
スクリプトエディタが開くので、
@Today()
と記述します。
ちなみにこれは、サーバサイドJavaScript上で使える@関数です。
従来の@関数と違うのは、()が付くかどうかです。
どのように書けばよいのか不安な場合は、
スクリプトエディタの左側部分にある[参照]タブを開き、そこから「@Functions」を選びましょう。
利用できる@関数とその構文が表示されます。
その関数をダブルクリックすれば、右側のエディタ欄に転記されるのでとても便利です。

これで、startDate1 には今日の日付が表示されるようになります。

次に、曜日を表示させるための「計算結果フィールド」コントロールをドラッグ&ドロップします。
表示させるだけなので、場所はどこでも良いです。

そのコントロールを選択した状態で、プロパティビューを開きます。
「値」タブを開き、「使用するバインドデータ」をJavaScriptに変更します。
すると、エディタが表示されるので、そこに以下の式を入力します。
var wday = @Text( @Weekday( ge…

デフォルトのスクリプトライブラリタイプを変更する

イメージ
XPagesDay の講師をやると宣言したものの、果たして何を話せばよいのか、困りまくってる筆者です。
なんとなく題材は決めたのですが、50分持たないよなぁ・・・


という状況はさておき、今日もLotus Domino Designerの使い方についてです。




今回は、スクリプトライブラリで 、プログラムを作るときの方法についてです。
8.5(だったかな?)から、スクリプトライブラリでのライブラリを作る画面が変わりました。

画面をよく見ると分かるのですが、別のアプリケーションに対して作成できたり、あらかじめライブラリの種類を選択する必要があったりします。
アプリケーションは、デフォルト値が現在開いているアプリケーションなので、ほぼ問題はないでしょう(わざわざ別のアプリケーションにライブラリを作る事はないでしょうから)。
しかし、「タイプ」は問題です。

一度作成してしまうと、ライブラリタイプは変更できません。間違えてしまうと、削除してから作成し直しという事になります。
以前のように、ESCキーを押して、作成を取りやめるという事が出来ないのです(上の画面で[OK]をクリックした時点で作成されます)。

XPages アプリケーションを作成している場合、ほとんど「サーバサイドJavaScript」しか作りません(その次に、「JavaScript」かな?)。
ですが、画面では、「LotusScript」が選択されています。
そうです!
LotusScript がデフォルト値なのです。

このために、何度LotusScriptで作成してしまった事か・・・そのたびにライブラリを削除して再作成と。
これでは効率が悪すぎます!なんとかならないのか?


あるんです。方法が!

前回紹介した、Lotus Domino Designerのプリファレンスに。
ということで、Lotus Domino Designerのプリファレンスを開きましょう。
Lotus Domino Designerを起動した状態で、[ファイル][プリファレンス]メニューを実行します。
「設定」ダイアログが表示されるので、「Lotus Domino Designer」タブを開きます。
一番下までスクロールすると、「デフォルトの言語タイプ」というセクションがあります。

ここには、4種類の設定項目があります。
この中に「スクリプ…

nhttpタスクのポートを変更する

イメージ
最近、ブログをサボりがちですね。すみません。とあるところからも、「ちゃんと書け!」とお叱りをいただいてしまいました。ホント、すみません。

今回も、たいしたネタではありません。


ですが、まずはボタンをクリックしてから読んでください。最近、めっきり押してくれないもんだから順位が上がらずにへこんでいます。どうぞ、クリックしてやってください。




さて、それでは本題。

みなさんは、ノーツアプリケーション(ノーツDB)を開発するときの環境はどうなっていますか?
開発用のサーバがあるでしょうか?それとも、自分のPCに開発用のLotus Dominoを構築しているでしょうか?それとも、Lotus Domino Designer単体で動かしているでしょうか?
筆者の場合は、「自分のPCの開発用のLotus Dominoを構築している」と「Lotus Domino Designer単体で動かしている」の2種類です。
開発環境が複数あるんですね。

XPages アプリケーションもそうですが、Web対応のノーツアプリケーションを作成する際、どうしてもプレビューをする必要があるかと思います。
XPages アプリケーションの場合、Lotus Notes クライアントで確認するという手法もあるわけですが、どうしてもWeb ブラウザイメージでの確認が必要な場合もあります。

ローカルPCで開発をしている場合、ウィルス対策ソフトが邪魔をする。という話が良く聞かれます(ました?)。
インターネットで検索すると、大抵、ファイヤーウォールを解除するとか、ウィルス対策ソフトを停止する等、後ろ向きなことしか出てきません。

一時的には良いかもしれませんが、プレビューするたびに設定変更したりするのは面倒ですね。

ということで、Lotus Domino Designer 側でhttpタスクのポートを変更してしまうという事をやってみましょう。

え?そんな事出来るの?と言う方、出来るんです!
手順は、次の通り。

1.Lotus Domino Designer を起動します。
2.[ファイル][プリファレンス]メニューを実行します。
3.「設定」ダイアログが表示されるので、左側のツリーから「Lotus Domino Designer」を開きます。
4.「Web プリビューポート」の値を適当な数値(使われていないポート番…

マルチリンガル対応してみよう(2)

イメージ
昨日の続きです。さすがに、夜中の1:00過ぎてまで、記事を書き続けられませんでした。

ということで、ボタンをクリックして、とっとと先へ進みましょう。



今度は、ビューを作成します。
基本的には、フォームと同様な形で作っていきます。
つまり、同じ名前(及び別名)で作成して、言語を「日本語」と「英語」にするのです。

筆者は、「すべての文書」「AllDocuments」という名前でビューを作成しました。
ビューの列は以下のようにしました。
列番号列タイトル列の値1件名Subject2分類Category3作成日@Created4作成者@Author
また、アクションとして、次の2つを作成しました。
アクション名閉じる新規作成
ここまで出来たら、保存して閉じます。

ビューの一覧画面に戻ったら、設計のプロパティを表示します。
[設計]タブを開いて、「言語」の欄を"日本語"にします。


そうしたら、このビューをコピーします。
コピーしたビューの設計のプロパティを開きます。
こちらは、[設計]タブを開いて、「言語」の欄を"英語"にします。

名前が「コピー すべての文書」になっているはずなので、「すべての文書」に修正します。
ビューを選択した状態で、F2キーを押すと、ビュー名の変更ダイアログが表示されるので、そこで変更すると簡単です。

さらに、ビューの設計を開いて、日本語の名前をつけていた箇所を英語に変更します。
列番号列タイトル列の値1SubjectSubject2CategoryCategory3Created Date@Created4Author@Author
アクションはこんな感じに修正します。
アクション名CloseNew Topic
筆者の場合、こんな感じになりました。

これで、出来ました。
ノーツクライアントから、このノーツアプリケーションを開いてみましょう。

確かに日本語表示です。ビューも2つ作成したのに(日本語用と英語用)、1つしか表示されていません。

次に、「新規作成」をクリックして、文書を作成してみます。

日本語で作成したフォームが開いています。
折角なので、適当に値を入れて文書を作成してみます。

では、本当にマルチリンガル対応できているのかどうかを確認するために、ノーツクライアントを英語環境に変えてみます。
[ファイル]…

マルチリンガル対応してみよう(1)

イメージ
今週の金曜日は、テクてくロータス技術者夜会がありますね。スペシャルゲストがいらっしゃるとの事なので、出来る限り時間を作って参加しましょう。
もちろん、筆者も行きます!


毎度の事ですが、ボタンをクリックしてから先へ進んでください。




さてさて、先日、いつものように?XPages アプリケーションを作成していて、気になる事がありました。
「アプリケーション のプロパティ」の「XPage」タブに"ローカリゼーション"という項目があるではないですか!

XPages アプリケーションを作る場合、簡単に多国語対応できるのかな?と思ったのですが、
そもそも多国語対応のノーツアプリケーションを作った事がないな?ということで、どのように作るのかを検証してみました。

作り方は、「IBM Lotus Domino 8.5.1 Designer ヘルプ」の「マルチリンガルアプリケーションを作成する」という文書に出ていますので、詳細はそちらを参照してください。


まずは、普通にノーツアプリケーションを作成します。
筆者は、ローカルPCに「multilingual.nsf」というファイル名で作成しました。
タイトルは、「マルチリンガル対応DB」としました(え?すでにカタカナを使っているのがダメじゃないか!?って・・・アハハ)。


次に、作成したノーツアプリケーションのデータベースプロパティを開きます。
その中の「設計」タブを開きます。
一番下に「マルチリンガルオプション」があるので、「マルチリンガルデータベース」にチェックをつけます。さらに、デフォルトの言語を設定します。筆者は日本語が(それなりに)達者なので、日本語を選択しました。

今度は、ノーツアプリケーションの中身を作ります。
Lotus Domino Designer で、ノーツアプリケーションを開きます。
フォームを作ります。
フォーム名/別名は「メイントピック/MainTopic」とします。
そうしたら、普通にデフォルトの言語(筆者の場合は、日本語)でフォームを作ります。
簡単にするために、以下のようにしました。


項目名フィールド名種類件名Subjectテキスト分類Categoryテキスト本文Bodyリッチテキスト
この他、アクションも作成しました。
アクション名保存して閉じるキャンセル閉じる編集する
アクションの中身…

【告知】Xpages アプリケーションで作成する図書管理

イメージ
今回は、告知です。
2011年9月から2012年1月まで、このブログで、「おじさんSEが学ぶXPages」と題して連載していた記事が、日本IBM殿のご厚意により、developerworks に掲載されました。

本ブログでできあがったXPages アプリケーションにさらに機能を追加して、また抱えていた不具合も改修したものが掲載されています。
本ブログの連載と同様に、チュートリアル形式になっていますので、「おじさんSEシリーズ」を知らない方はもちろんのこと、前回作った方も、改めて挑戦してみてください!

記事はこちらから。
Xpages アプリケーションで作成する図書管理

ちなみにタイトルは上にもあるように、「Xpages アプリケーションで作成する図書管理」としてあります。
 「おじさんSE・・・」で検索しても出てきません(笑)ので、悪しからず・・・







Lotus Notes/Dominoの事なら、何でも!!もちろん、XPagesについても承ります!

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

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

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

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

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


ということで、本題に入る前に、ボタンをクリックしましょう。



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

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


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

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