投稿

1月, 2015の投稿を表示しています

クロージングセッションにて・・・

イメージ
みなさん、こんにちは。
ついに最終日を迎えてしまいました。
この記事を書き始めている時点で、残るはクロージングセッションのみです。
毎年、サボっていたので、今回はしっかりと参加してきます。
IBM Championの集合写真もあるらしいので、なおさらです。
 →無事に参加できて、集合写真に加わることができました!!

さて、本日はセッション数が少なくなっており、また参加者も1/4くらい?帰ってしまったようです(もっと残ってるかな???)

私はといえば、疲れがたまってきており、少々辛い状態になっています。
んー、帰国日が金曜日で良かったです。週末のうちに治してしまわないと。


参加したセッションは、「App Throwdown Winner's Circle」と「IBM Verse Partner Enablement Session」と「Ask the Developper」です。

最初のセッションは、Business Partnetのアプリケーション紹介で、rivaという会社のCRMとNotes/Domino連携、Trilog GroupのDarwinoというモバイル連携のレプリカインフォメーションソフト、S2Kという会社のConnections拡張等が紹介されました。

個人的に気になったのは、Darwinoですね(Notes/Domino関連にしか興味がないとか言わないでください・・・)。
下図に示したようにモバイルデバイスにノーツDBのレプリカのようなものを作って、自動連携ができるような感じでした。
まさか、モバイル端末にノーツDBは作れないでしょうから、どのようにデータを格納しているのか気になるところです。
想像としては、RESTやDXL等を使って、XML形式でデータを作成して格納しているのではないか?という話をしていました。

ちなみに、デモでは、モバイルアプリでPlane Mode(機内モード)にした状態でメッセージをPOSTして相手にはまだ届いてないよ。として、Plane Modeを解除したら、即時に連携して、相手にメッセージが届くというものをやっていました。

モバイルにXML形式で格納するというのは、盲点だったので、今後のアプリ開発の参考になるかな?と思っています。

その後の、IBM VerseのセッションはBP向けということでコンフィデンシャル…

折り返し地点まで来ました!

イメージ
日本のみなさん、こんにちは。本日もオーランドからお届けします。
オーランドの天気は晴れ!ただ、今日は風がとても強いため、外でのんびりとはいかないのが残念です。

さて、IBM ConnectED 2015も2日目にして、すでに折り返し地点です。
やはり、1日少ないと、あっという間に終わってしまいそうで、切ないですね。

本日、最初のセッションは、「IBM Domino App Dev Futures」ということでアプリケーション開発の今後の新機能についての話でした。

アプリ開発の新機能ということで、ノーツの新しい機能とかの話もあるかなぁ?と思っていたのですが、さすがにこれ以上、Notesに新しい機能を追加するのは難しいようで、すべてXPages関連の話でした。


最初は恒例の過去1年の振り返りです。IE11のサポートやCKEditorのバージョンアップ等、セッションを聴いている最中は「いや、そういうの、ほんといいから。新しいことを教えてよ!」という感じになるのですが、こうしてブログ記事にすると、「あぁ、そういえば、そんなことあったなぁ」と振り返ることができるので、やっぱり必要ですね(笑)
どんな内容でもいつ役に立つかわかりませんから、セッション内容および講師に文句を言ってはいけません♪


そして、今後の予定の話になりました。
私が聞き取れたものは、
XPagesでのjQueryの正式サポートXPagesでのレスポンシブデザイン用のコントロールの追加リレーショナルデータソースのサポート(JDBCのことかな?)フィールドの暗号化と署名用のクラスおよび関数の追加
です。他にもあったようですが、理解力不足は否めません。

jQueryはもともとXPagesに組み込むことができていましたが、正式サポートするというには驚きました。そんなに簡単にサポートできるものなのかしら???
レスポンシブデザインはウィザードが用意されていて、 それに従っていけば、簡単にレスポンシブデザインのページが作れるというものでした。

デモをしていましたが、アプリケーションレイアウトコントロールのウィザードよりもわかりやすかった感じがします(個人の感想ですので、全員にその効果を保証するものではありません(笑))

JDBCはもともとXPages Extension Libraryにもあったはずなので、それがNo…

OGSなのかなぁ・・・

イメージ
こんにちは、オーランド時刻で22:10です。
さすがに滞在三日目ともなると、みんなグロッキーになってきています。

私もかなりグロッキーなので(実際、昨夜はほぼ寝ていません・・・初めてだよ、こんなこと)、内容はあまり頭に入っていません。

さて、本日のオーランドは雨で始まりました。割と激しく降ったので、今日は一日雨かなぁ・・・と落ち込んでいたのですが、オーランドには強烈な晴れ男/女がいたようで、10:00過ぎにはすっかり止んで澄んだ青空になっていました。
素晴らしい!

本日はオープニングゼネラルセッション、いわゆるOGSが開催されるということで、いよいよIBM ConnectED 2015が始まるぜ!と、そして、聴講場所も日本IBMの臼井様が特等席を日本メンバーのために確保していただき、これはテンション上がるぜ!!

と思っていたのですが・・・
突然、始まってしまいました。
例年であれば、アーティストが数曲、演奏してくれて、さらに盛り上げてくれるのですが、なんとそれがありませんでした。
私は、普段洋楽は聴かないのですが、生演奏はさすがに胸に響くものがあるので、結構楽しみにしていただけにちょっとげんなりしました。

ともあれ、Jeff Schick氏の登場で基調講演は始まりました。
最初にアジェンダを発表した後、ノーツ25周年おめでとー!となったのですが、
私は日本で有志とすでにノーツ25周年パーティを終わらせていたので、ここでも「え?今更?昨年の12月に終わらせたよ!」と、さらにげんなりしてしまいました(笑)

そして、IBM Verseのデモが始まりました。
昨年のIBM Connect 2014では一枚の写真だけ。そして、7月のweb castでは数枚のスライドだけ。という状態で、果たして、本当に動くのかしら???とドキドキしながら見ていました。

結果は・・・
素晴らしい!普通に動いているじゃないですか!しかも、Webブラウザだけではなく、携帯端末(たぶん、iPhoneでしょう)でも、デモをしてくれました。
まさか、こんな短い期間でこれだけのものが出来上がったのは本当に感動しました。

顔写真アイコンにマウスカーソルをあてると、その人に対してのアクションアイコンや簡易ビジネスカードのようなものが表示されます。リリース時にもこの形なのか、もっと詳細情報を出せるようになるのか…

今日はプレセッションなので・・・

イメージ
みなさん、こんにちは。
オーランド滞在二日目が終了しました。現地時刻で0:25です。
もう寝ないといけないのに(明日は8:00からOGSです。起きれるかなぁ・・・)、まだブログを書いていませんでした。

敬愛している某チャンピオンが「飲まずにはいられない!付き合ってください!」と懇願していたので、さすがに断るわけにはいきませんでしたので、こんな時間になってしまった次第です。
という言い訳は、みなさんには関係ないですね(笑)


さて、滞在二日目の話についてです。
チャンピオンであるチームスタジオの加藤さんがすでにIBM ConnectED 前哨戦始まる でも書かれているように、本日は「Leadership Alliance」というものに参加してきました。
こちらのセッション内容については、非公開にするようにとのお達しがありましたので、私も書くことはできませんので、ご了承ください。
IBM Championになると、こういう特別なセッションにも呼んでもらえるんですね。なかなかない機会ですので、これを一つの目標としてIBM Championを目指していただくのもよいでしょう。

KeyNote Sessionに参加した後、IBM Championの義務(???)として「IBM Champions “Meet & Greet”」というセッションに参加することになっていたので、参加してきました。
"Meet & Greet"ということなので、各国のチャンピオンたちと話ができるかなぁ?と期待していたのですが(昨年も同様の集まりがあり、そこではしっかりと恥をかいてきたので、少しは挽回せねば!と力んでいました(笑))・・・
IBM Championたちがチーム分けされて、そこであらかじめ決められていたテーマに従って、簡易ディスカッションをさせられました。と言っても、思ったことを付箋紙に書いて、ボードに貼るだけという
なんかどっかでやったなぁ・・・そうそう、テクてく 2014年10月度コミュニティー編でやったワールドカフェ形式のディスカッションをさらに簡易的にしたものに近かったです。
これをIBM Championたちでやるのは勿体なくないか???と思ったのですが、まだそれ程喋れない私にとっては、なんとなく参加した感は得られました(笑)
加藤さんは田付…

ホリデーインに気を付けて!

イメージ
日本のみなさん、こんにちは。
この書き出しで始まるということは・・・
はい。3年連続でやってきました、アメリカ合衆国はフロリダ州オーランドです。

IBM Champion for ICSでいられることができたので、今年も渡米許可を上司に頂き、IBM ConnectED 2015にやってこれたということです。

今年は残念ながら、日本IBM様のツアーはありませんでしたので、IBM Championの加藤さん、田付さん、阿部さん、そして日本IBM様の鴨志田さんと一緒に成田空港からこちらへとやってきました。

今回は成田空港 -> テキサス州ダラス/フォート・ワース国際空港 -> オーランド国際空港
という形での旅でした(オーランドまでの直行便がないため、このような形にしています)。
成田からの飛行機の出発時刻が11:30で、そこから11時間(!)かけて、ダラスまでたどり着きました。ダラスでは飛行機の乗り継ぎがなんと1.5時間しかありません。
しかも、到着ロビーと出発ロビーの間は15分くらいかかります。

さらに、米国への入国手続き(ダラス空港はとても大きい空港で、入国審査に時間がかかることが予想されていました。事実、一昨年はこれだけで1時間以上かかっていたのです(汗))や、荷物の受け渡しがあるため、実は「間に合わないのではないか!?」という微妙な焦りがメンバーにはありました。

ところが、降りてみたら、思っていたよりも待っている人が少ない・・・あれ?これはラッキーだぞ!
と勢いよく進んでいったら、入国審査の場所に係員がいません。???
受付の方がいて、「ESTAで登録している人は、先に進んでいーよー」と(いうようなことを)言っています。
みんな、???という顔をしながら先に進むと、入国審査用の端末があるじゃないですか。
それも、10台以上!!!

そうです。端末を使って、パスポートを読み取り、さらに指紋採取、顔写真の撮影をしたらそれで終わり!という。
えーっ・・・すごいなぁ。世の中進んだなぁ。というのが実感できました(笑)

しかし・・・その先へ進み、機内に預けた荷物を受け取ると(乗り継ぎの飛行機には自分で預けます)、そこで簡易的な入国審査が・・・
んー・・・意味あるのか???
とにもかくにも、ダラスでの乗り継ぎはスムーズに進み、1時間ちょっと過ぎたところで出発ロビー…

Erl関数の戻り値に注意

イメージ
こんにちは。4日連続での更新のために記事を書いてます(なんか、違う・・・)。
でも、さすがに疲れたので、連続更新は今日でおしまいです。

とりあえず、このボタンをクリックしてから始めましょう。



さて・・・
今日はErl関数についてです。
デザイナヘルプには「カレントスクリプトプロシージャ内でカレントエラーが発生した箇所の行番号を返します。」と出ています。
LotusScriptのプログラムでエラーが発生したところの行数を返してくれるというものですね。

例えば、下のようなプログラムを作成したとします。
Sub Click(Source As Button) On Error Goto ErrProc Dim inp As String Dim ret As Integer inp = "aaa" ret = Cint( inp ) Msgbox ret Exit Sub ErrProc: Msgbox _ "エラー行数:" & Cstr(Erl) & Chr$(10) & _ "エラー番号:" & Cstr(Err) & Chr$(10) & _ "エラー内容:" & Error, _ 0 + 16, "エラー処理" Exit Sub End Sub
このプログラムを実行すると、エラーになり、下図のようなダイアログが表示されます。


ここで、エラー行数は「8」と出ています。
つまり、
ret = Cint( inp )
がエラーになっているという事ですが、ソースコードを見ても、まさにその通りだという事が分かります("aaa"という文字列を数値に直しなさいという命令ですから、エラーになります)。


この8というのは、1行目の「Sub Click(Source As Button)」から数えて8行目としているのですが、
Notes/Domino 8.5以降のデザイナの場合、注意が必要になってきます。
LotusScriptをEclipseベースにしている場合です。

変数のデータ型を調べる

イメージ
こんにちは。今朝(2015/01/21)は東京でもちょっとだけ雪が舞ってました。
私は寒いのが(暑いのも)苦手なので、雪は辛いです。ホント勘弁してほしいです。

そうは言っても天候ばかりはどうしようもありません。ここはおとなしく、「早く春が来ますように・・・」とお祈りするばかりです。

では、お祈りしつつ、今日も

をクリックしてください。



さて、今日の話題です。
昨日、Variant型の変数について記事を書いた(「Variant型データの初期値って?」参照)ので、それに関連したものです。

Variant型変数の初期値はEMPTYという特殊な値であるということは分かったことです。また、色々なデータ型になりうるというのも分かったかと思います。

では、実際にどんなデータ型になっているのかを調べる方法はあるのでしょうか?
それにはDatatype関数もしくはTypename関数で調べることはできます。
2つの関数の違いは戻り値が数値か文字列かどうかということです。

サンプルコードを載せるので具体的にみていきましょう。
Sub Click(Source As Button) Dim a As Integer Dim b As Double Dim c As String Dim d As Variant Msgbox _ "変数aの値=[" & a & "] Datatype=[" & Datatype(a) & "] Typename=[" & Typename(a) & "]" & Chr$(10) & _ "変数bの値=[" & b & "] Datatype=[" & Datatype(b) & "] Typename=[" & Typename(b) & "]" & Chr$(10) & _ "変数cの値=[" & c & "] Datatype=[" &am…

Variant型データの初期値って?

イメージ
こんにちは。毎年1月は簡単な内容のものを記事にしています。
正月ボケ対策ですね。
読んでる皆さんは、検索エンジンから来ることが多いと思うので関係ないかもしれませんが、記事を書く立場からすると、やはり休み明けは簡単な記事の方が楽なのです。
ブログを長く続けるための自分なりの秘訣だと思っています。

では今日も記事に移る前に

をクリックしましょう。


さて、今日は冒頭でも書いたように簡単な話です。
LotusScriptでプログラムを書く際、データ型にVariant型を使うことは珍しくないでしょう。
便利ですからね。
ところで、このVariant型の初期値ってなんでしょうか?
String型なら""、Integer型なら0とかでしょうが、Variant型の場合って???
Null、Nothing、""、0、etc・・・いろいろ考えられますが。
実際にはEMPTYというデータだそうです。

本当にそうなのかどうかを確認するために、こんなプログラムを書いてみました。
Sub Click(Source As Button) On Error Goto ErrProc Dim ret As Variant 'チェック1----- 変数定義直後で何もしていない If Isnull(ret) Then Msgbox "変数retは、Nullです", 0, "チェック1" End If If Isempty(ret) Then Msgbox "変数retは、EMPTYです", 0, "チェック1" End If 'チェック1----- 'チェック2----- Nullを代入してみる ret = Null If Isnull(ret) Then Msgbox "変数retは、Nullです", 0, "チェック2" End If If Isempty(ret) Then Msgbox "変数retは、EMPTYで…

ハッピーマンデーの計算をしてみる

イメージ
みなさん、こんにちは。
2015年もすでに1月半ばを過ぎてしまいました。来週はIBM ConnectED 2015ですね。

今年はどんな情報が得られるのでしょうか?

さて、今年最初の話題はConnectEDと行きたいところですが・・・違う話です(笑)
では、話題に入る前に

をクリックしてくださいね。


それでは、本題へと。
ハッピーマンデーについて考えてみます。
先日、イケヤマくんもつぶやいていましたが、Notes/Dominoでは休日文書というものがドミノディレクトリにあり、それを更新することでクライアントの休日文書に反映させることができます。
昔は休日は特定の日付が設定されていましたが、最近では「ハッピーマンデー制度」が出来上がったことにより、休日が第n月曜日に設定されるものがあり、特定の日付ではなくなったものがあります。
2015年1月現在で制定されているのは次の4つです。

これらの日付は毎年変わるので、都度実際のカレンダーを見ながら設定しているという人も少なくないのではないでしょうか。
これが自動計算できればとても楽になりますね。ということで、LotusScriptで実現してみましょう。

では第n月曜日というのは何日になるのかを考えてみます。
考えるよりも実際のカレンダーを見てみましょう。こんなものを作成してみました。

このカレンダー表から
第2月曜日は 9~14日
第3月曜日は15~21日

を推移していることがわかります。

ただし、カレンダー表を見ても分かるように
第2月曜日の場合
1日が日曜日の場合、 9日
1日が月曜日の場合、 8日
1日が火曜日の場合、14日
1日が水曜日の場合、13日
1日が木曜日の場合、12日
1日が金曜日の場合、11日
1日が土曜日の場合、10日
といった形になり、単純に9~14日ではなく、+1すれば良いという訳にはなっていません。

では、どのように算出すれば良いのかを見ていきましょう。
まず、第n月曜日を算出するのにはどんな情報が必要かを考えます。
1日の曜日が分かれば算出できそうですので、Weekday()関数が使えそうです。
また、各年月の1日を算出する必要があるので、Year関数、Month関数、DateNumber関数も使います。

ここで、@Weekday()関数の戻り値に注目してみます。
日曜日が1、月曜日が2、・・…