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

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

2010年2月26日金曜日

Lotus夜Day 2010

昨日は、「Lotusphere Comes to You 2010」の後に、Lotus夜Day2010が開催されました。

今回は、N-1グランプリと称して、Notes/Dominoをどれだけ知っているか、にどれだけ浸かっているかを決める大会がありました。

集まったのは、いつものメンバー(ごめんなさい^^;)でしたね。この人達は本当にLotus Notesが好きなんだろうなぁ。という感じの良い人たちです。

素顔をさらすのが嫌なので、ブログのプロフィールでは似顔絵にしていたら、見事にばれました(笑)→(【Notes】Lotus夜Dayおつかれさまでしたーっ )。
自分で言うのもなんですが、あの似顔絵は秀逸みたいです。なので、Lotus関連のセミナーで似顔絵そっくりの奴を見かけたら、お気軽に声をかけてくださいね。

さて、大会はNotes DBを使って、HTTP経由で行われました。なんとiPhoneでも動くように作られているんですね。筆者はそんな高尚なものは持ち合わせていないので、ノートPCで参加しました。
下の画面は、IEから見たときのトップ画面です(Copyright Chabozuさん)。


大会は、予選と決勝の2回行われました。問題はすべて4択形式で、予選は10問、決勝は予選の上位3名で3問という形でした。
問題は、幹事さんやIBMの方が作成したという選りすぐりの問題。
ちょっとNotes/Dominoに詳しいからと言って、解ける問題ではありません。
っていうか解ける方がおかしい問題ばかりでした。

ちなみに、iPhone を含む携帯端末からのアクセスということで、無線LANを構築しましたが、無線LANルータがなかなか言うことを聞いてくれなくて大変でした。
インフラ整備というのは大事なんだなぁ。ということを参加者皆さんが改めて知った時間でした。

さてさて・・・
大会はと言いますと、筆者は無事に?予選を通過しました。なんと7問も正解してしまいました。どんだけNotes/Dominoに浸かってるんだろう?と首をかしげた瞬間でした。
その他、Sさん、Oさんが決勝進出でした。さらに特別参加としてPonさんが決勝に進みました。

決勝の問題は以下の3問です。
  1. サーバコンソールで、入力したコマンドを画面上に表示しないようにするためには、最初にどの文字を入力するのか?
  2. iPhoneでLotus Travelerを使って「リモートワイプ」を実行するとどうなるか?
  3. ODSバージョンの数値に置き換えて、以下の計算式を解いてください。 ND8.5-ND7+R4-R3


どうですか?分かりますか?
正解は・・・また別の機会に(笑)


ということで、優勝したのは・・・


筆者でした(汗)。ホント、済みません。空気読めなくて・・・
でも、トロフィー持って帰りたかったんです。人生初ですよ、トロフィーもらうなんて。
決勝に残った皆さん、ごめんなさい。応援してくれた皆さん、ありがとう(^^


そして副賞です。
2GBのUSBメモリ付きボールペンとPartnerWorld for Developersのマグカップです。
ボールペンはどうやってUSBメモリを取り出すんだ?と皆さん分からなかったので、
「筆者が責任を持って、報告しまぁす」とチャレンジしたところ・・・
なんのことはありません。ただ引っ張れば良かったのでした(笑)。

中には、LotusKnows関連の資料やスクリーンセーバが入ってました。資料は全部英語なので、頑張って読みます。


その後、参加者でお食事会(っていうか夕飯?)をしました。
Notes/Domino以外の話でも盛り上がれる楽しい時間でしたね。


N-1グランプリは、今後も定期的に開催されますので、我こそは!と思う方がいたら参加してくださいね。
特に、20代の若い貴方!周りは高齢者ばかりだから、優勝できる可能性は高いですよ!!(笑)
開催が決まったら、筆者のブログでも宣伝しますので、是非是非参加してください。


それでは・・・

Lotusphere Comes to You 2010

昨日の2/25は、IBMさんの箱崎事業所で「Lotusphere Comes to You 2010」と題して、セッションが開かれました。
昨年は確か「Lotus Spring Forum」という名前で開催されていたと思います。
毎年恒例のイベントなんだから、名前は変えないで欲しいなぁ。と思いつつ、セッションを聞いていました。

セッションの内容については、資料がダウンロード可能になっているので、そちらを読んでください。
ダウンロードは、ibm.com/lctym90からできます。


あ。そういえば、このブログ、総アクセス数が80,000を突破してますね。記事が書けていないのに・・・
とりあえずの目標を10万アクセスに定めて頑張ります!

2010年2月19日金曜日

0:00:00の1時間後は0:00:00?

約3週間ぶりの投稿です。ネタがないのが原因です。スミマセン。

今日は、またもや日付関係のネタです。Lotus Notes/Dominoはなんで、こんなに日付の取扱が難しいんでしょう。他の言語でも同じだとは思いますが、やはり骨が折れます。

久しぶりの投稿にもかかわらず、今日もお願いボタンです。
にほんブログ村 IT技術ブログへ
クリックすると、筆者が救われます(笑)。でも、1人1回で十分です。

今日は、日付フィールドを元にNotesDateTimeオブジェクトを生成したときのトラブルについてです。
日付フィールドを使う事は多々あるかと思います。
ノーツでは、日付フィールドは「日付のみ」「時刻のみ」「日付と時刻」という形の3種類作成する事ができます(そもそもこんな仕様が憎いんですけどね・・・)。
この中で、「日付と時刻」という形で作成すると、データは
2010/02/19 11:48:33 ZE9
というように格納されます。

実際に「testDateTime」というフィールドを作成して、その値を表示するサンプルプログラムとその結果です。念のため、文書を保存して、文書のプロパティでも確認してみました。
Sub Click(Source As Button)
 Dim uiws As New NotesUIWorkspace
 Dim uidoc As NotesUIDocument
 Dim udoc As NotesDocument
 
 Set uidoc = uiws.CurrentDocument
 Set udoc = uidoc.Document
 
 Msgbox _
 "日時: " & udoc.testDateTime(0), _
 MB_OK, "日時フィールドの値"
End Sub





文書のプロパティでは、タイムゾーンが付いていますが、NotesDocument#GetItemValueメソッドでは、省かれていますね。どうも、GetItemValueは、タイムゾーンを自動で計算して表示するようです。


ここで、testDateTimeフィールドの値が2010/02/20 0:00:00だったとしましょう。
さて、NotesDocument#GetItemValueはどのような値を返すでしょう?

上の画面を見ていただくと分かるように、なんと、時刻を返してくれないのです。

この値を元に、NotesDateTimeを生成すると、時刻(TimeOnly)は空白になってしまうのです。
さらにこの状態で、AdjustHourメソッドを使っても当然、時間は進みません。


では、どうしたら、正しく「0:00:00」を取得してくれるのでしょうか?
以下に修正したサンプルを書きます。
Sub Click(Source As Button)
 Dim uiws As New NotesUIWorkspace
 Dim uidoc As NotesUIDocument
 Dim udoc As NotesDocument
 Dim item1 As NotesItem
 Dim dtv1 As NotesDateTime
 
 Set uidoc = uiws.CurrentDocument
 Set udoc = uidoc.Document
 Set item1 = udoc.GetFirstItem( "testDateTime" )
 Set dtv1 = item1.DateTimeValue
 
 Msgbox _
 "日時: " & dtv1.LocalTime & Chr$(10) & _
 "TimeOnly: " & dtv1.TimeOnly,_
 MB_OK, "各フィールドの値"
End Sub



どうでしょう?
日時ともに表示されていて、さらにTimeOnlyが空白ではなく、"00:00:00"となっているのが分かりますでしょうか?
一度、NotesItemとして取得して、その中のDateTimeValueというプロパティを使って、NotesDateTimeを生成するのです。
こうすると、正しく日付が生成されるという事です。

日付を取り扱う際は、注意しましょう。
筆者は危うく、不具合を出すところでした(汗)


【PR】ノーツ/ドミノに関するお問い合わせは下記まで【PR】
Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ