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

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

2017年3月8日水曜日

Notes/Domino 9.0.1 Feature Pack 8をインストールしてみました

皆さん、こんにちは。
春が近づき(暦の上ではもう春?)、花粉が目にしみて痛いです。
でもお花見はしたいですね。

さて、IBM Connect 2017でも告知されていたIBM Notes/Domino 9.0.1 Feature Pack 8がついにリリースされました!!!
長かった・・・
IBM Connect 2017での発表からすればすぐじゃないか!と思われそうですが、
今回のリリースの一部の機能については約2年待っていたのです(笑)
長いですよねぇ。

こちらの内容については、検証ができたらブログ記事にまとめようと思います。

今日は、単純にNotes/Dominoのバージョンアップ手順についてまとめます。


まずは、Notesクライアントから。
Feature Packそのものは、IBMのFix Centralというサイト(https://www-945.ibm.com/support/fixcentral)からダウンロードできました(要IBM ID)。

私は普段、Notes 9.0.1のスタンダード版を利用しているので、「Notes_901FP8_Standard_W32」を選択してダウンロードしました。

ファイル名は「notes901FP8_win.exe」です。
これを実行するだけです。
もちろん、実行前にNotesクライアントは終了しておきます。念のために、関連サービス(IBM Notes Single Logon、IBM Notes Diagnostics等)も終了しておいた方がよいでしょう。

インストーラを起動したら、画面の指示に従うだけです。英語表記ですが、悩むような場所はありません。ひたすら「Next」をクリックしていればOKです。

インストールが完了して、Notesクライアントを起動すればOKです。
バージョン情報画面にも9.0.1 FP8と表示されています。
IBM Notesのバージョン情報

ただ、Notesクライアントの画面を見ても何が変わったのかはわかりません(当たり前といえばそうなんですが・・・)。
何が変わったのかについてもおいおい調べていこうと思います。



つぎにDominoサーバ。
こちらはWindowsの64bit版をつかっているので、「DominoServer_901FP8_W64」を選択してダウンロードしました。
ファイル名は「domino901FP8_w64.exe」です。
これも実行するだけですが、やはりDominoサーバ及び関連サービスを終了しておきます。
特に「IBM Domino Diagnostics」は終了しておかないと、バージョンアップに失敗しますので注意しましょう!(途中でエラーになります)。

こちらのファイルを実行して気が付いたことがあります。
ライセンス情報の確認ダイアログが表示されるようになりました。
ソフトウェア・ライセンス情報画面

私の記憶が確かなら、9.0.1 FP7まではこのようなダイアログは表示されなかったと思います。
Feature Packでの提供になり、新バージョン(9.0.2とか・・・)がリリースされなくなったからでしょうか?
※新バージョンがリリースされないかどうかは不明です。あくまで2017年3月時点での話ということです。

ここでは[同意する]をチェックして、次に進みました。
ここから先は従来通りでした。
まずは、IBM Dominoのプログラムディレクトリとデータディレクトリを指定。
Select Program Folder & Data Folder

次に現在のバージョンとアップデート後のバージョンが表示されて、本当にいいのか?という確認の意思を問われる画面。
9.0.1 FP7から9.0.1 FP8にアップデートする?

ここで[Next]をクリックすると、アップデートが始まります。
あとはしばらく待ちます。
正常に終了すると「Congratulations」のメッセージが表示されます。
アップデート完了!

ここでDominoを起動したいところですが、今回からテンプレートは別提供になっているので、そちらをダウンロードして置換する必要があります。
私の環境は日本語版なので、「Multilingual_Templates_901FP8」をダウンロードします。
zipファイルがダウンロードされるので展開します。
すると、中は言語ごとのフォルダに分かれています。
zipファイルを展開してみた
日本語なので「ja」フォルダの中にあるファイルをDominoサーバのDataディレクトリのものと置換しました。
今回アップデートされたテンプレートはドミノディレクトリとメールテンプレートでした。
ドミノディレクトリとメールテンプレート
図のうち、上2つはDJX対応のものですね。


では、アップデートが完了したので、Domino を起動します。
DominoコンソールはまだFP7のまま

サービスとして起動したので、サーバの稼働状況は「IBM Domino Console」で行います。
すると、サーバのログ自体はRelease 9.0.1 FP8となっていますが、IBM Domino ConsoleはまだFP7のままです。起動したばかりだからと思われます。プロセスが完了すれば、そのうち変わるでしょう。
ということで、起動プロセスが完了するのを待っていたら、無事にIBM Domino Consoleの方も9.0.1 FP8に変更されました。よかったよかった
FP8に切り替わった

ここでNotesクライアントに切り替えて、テンプレートの置換を行います。
※私の環境では、ドミノディレクトリはテンプレートから設計を引き継ぐ設定にしていません。

ということで、設計の置換を行います。
ここで問題発生!
DBタイトルが同じまま・・・

上の図を見ていただければわかる通り、Dominoディレクトリのテンプレートのタイトルが通常のものとDJX対応のものとで同じなんですね。
以前から指摘はしていたのですが、まだ直ってないだなんて・・・
こういうところ「も」嫌われますよね。ちゃんとして!

ファイル名も表示されるので、「djxdd.ntf」の方を選択して置換を実行!

といっても、パッと見、何が変わったのかわかりません(笑)
こちらも確認できれば、別途ご報告ということにします。


9.0.1 FP8にアップデートしたIBM Dominoサーバを起動して、およそ2時間が経過しましたが、特にエラーは発生していません。
このまま何もなければ大丈夫でしょう。



次回はNotes/Domino 9.0.1 FP8で変わった個所を解説できればと考えています。
(いつになるかはわかりませんが・・・)



それでは今日はこの辺で・・・

2017年2月24日金曜日

IBM Connect 2017閉幕

サンフランシスコ、最後の夜にボーっとしている御代です。
っていうか、ボーっとしている暇はないのですが(笑)

さて、ついにIBM Connect 2017が閉幕しました。
最終日は、特にクロージングセッションがメインとなるため、人も少なくなっています。
そのせいもあってか、今年もあっという間に終わった感じがします。



本日は、いくつか聞きたいセッションがあったのですが、IBM Championの集まりがあったのでそちらを優先させました。
ところが、Executive Meetingというものを日本IBMの方がセッティングしてくれたので、IBM Championの集まりまで、そちらに参加することにしました。

Executiveの話はさすがに面白かった(上手かったというべきかな?)のですが、なにぶん、長いこと長いこと。(次の予定があるんだけどなぁ・・・)と思いつつ、リチャードさんとインヒさんの話は聴きました。
そこで退席するつもりだったのですが、QAの時間で、一緒に参加していたお隣の大陸の国の方が質問をされて、さらに時間が長引きまして・・・(質問も要領を得ないんですよね。よく言えば自己アピールがうまいんです!ここだけは日本人も見習った方がいいと思ってしまった自分が悔しい)

結果・・・
IBM Championの集まりに遅れてしまい、肝心のイベントを一つ逃すという失態を犯してしまいました。
残念。


そこで、もともとの予定に切り替えてセッションに参加しました。

「Refresh and extend your Domino apps」というものです(セッションタイトルが予定と変わっていて、入ってから、あれ???あってる?」と困惑しました。
こちらはアプリケーションのモダナイゼーションについての話でした。
まず、古いアプリケーションをどうするか?という話に始まり、次にNotes/Dominoの強みは何か?ということでこんなスライドを表示していました。
Notes/Dominoの強み

 一番目につくのが「セキュリティ」ですね。こちらはACLやユーザIDの暗号強度を差していると思われます。そのほか、ワークフローやカスタマイズの自由さ、複製、コラボレーションといった単語を挙げて説明していました。
メールとか連絡先はすごく小さく書かれていて、強みではないといっているような気がするのは気のせいでしょうか・・・

そのあと、古いアプリケーションを刷新するにあたっての注意点(何が必要なのか?だけではなく、なぜ大事なのか(必要なのか)?といった指針、アプリケーションを刷新するための方策についての種類を考えることの大事さなどを説明していました(と思う・・・)。

そういった説明の後、上記を実現するためのソリューションとして「Panagenda」と「IBM」が紹介する「ApplicationInsights」という成否についての紹介をしていました。
既存のNotes DBを実利用者のデータを分析して、どのような使われ方をしているのかを視覚的に表してくれる製品でした。
IBMが絡んでいるので、単なる製品紹介ではないと思うのですが、提供方法については細かく説明がなく、まだ情報収集が必要かな?と感じました。



午後からは、「Ask the Technical Team」(例年でいうAsk the Developer)とクロージングセッションの2つのみです。
クロージングセッションは全体の締めなので、裏セッションは存在しないのですが、例年であれば、「Ask the Technical Team」には同時開催の別セッションがありましたが、今年はそれがありませんでした。
ここにも縮小傾向が表れたような気がしています。

肝心のQAですが、・・・すみません。そのあとのクロージングセッションではじけすぎたせいか、すべてを忘れました。参加者間でどんなQAがあった?という話をしていたはずなので、そのうち思い出すかもしれませんが、この場は許してください。


さて、そんなはじけたクロージングセッションですが・・・
会場はOGSと同じ場所でした。
中央のステージと左右の大きなスクリーン。
ここには、IBM Championの紹介ではなく、会期中に会場をまわっていたカメラマンが撮影した参加者の写真が次々と映し出されていました。
私もハッカソンチームの他のメンバーと撮影してもらった写真が写されましたので、ここに残しておきます。
吹き出しの看板には「We are Hackathon 2nd winner!」と書いてあります




クロージングセッションでは、3人目のLifetime Championの表彰がありました。
3人目の紹介自体はOGSで行われていたのですが、ちゃんとした表彰はこのクロージングセッションで行うのを恒例としたいようで、このような形になったと思われます。
julian robichauxという方です(Twitterアカウントは@jrobichaux)。
私を含めた日本のIBM Championも情報発信は行っているつもりですが、やはり海外のIBM Championが発する情報は良くチェックしておくべきだと思いますので、フォローするようにしておきましょう。

そのあとは、 YouTubeで有名になったという「エリック・ウィテカー」という作曲家の方が話をしてくださいました。
YouTubeで公開した楽曲を歌ってくれた人たちの動画をあつめてバーチャル合唱団?というものをつくって、それをまた公開していて、その動画をスクリーンで紹介してくれました。
なかなか不思議な雰囲気を出していました。
気になったので、FacebookのLive撮影してやろうかとおもったのですが、著作権とかが気になったので、単なる撮影にとどめました。
今、自分で聴いてみたのですが、雑音がひどいので公開はしません。YouTubeにたくさん動画が公開されていますので、そちらを聴いてください(エリック・ウィテカー もしくはEric Whitacreで検索すればOK)。


氏が退出した後、再度インヒさんが締めの言葉を話していましたが、今年も来年(2018年)の開催については一切話をしていませんでした。
昨年は「来年も会いましょう!」といって終わったのに、それすらなくなったのは残念で仕方ありません。


IBM Connect 2017が終了して会場を去る前に唯一グッズを獲得できました。
これは、すべてのサーベイ(アンケート)に答えるともらえる水筒でした。
オフィシャルグッズではないところが・・・

嬉しいは嬉しいのですが、こいうったグッズは似たようなものがIBM Champion になった時の特典でもらうことができたりするので、すでに持っているのですよね。
まぁ、お宝として大事に保管しておきます♪


このあとは、ハッカソンでいただいた賞金をもとに、ハッカソンメンバー+αで祝勝会を行いました。
その様子はSNS上にアップされていますので、そちらをご覧ください。
その場で、来年も祝勝会ができるように(笑)、またIBM Championになってハッカソンに来て、今度こそ優勝しよう!と誓い合ったのは言うまでもありません。



ということで、今年のIBM Connectの珍道中記は終了となります。
来年は、(あればですが・・・)このブログ記事を読んでいるあなたがぜひ現地に来てリポートしてみてください。


それでは今日はこの辺で・・・


2017年2月23日木曜日

Notes/Domino のロードマップが示されました!

みなさん、こんにちは。
サンフランシスコ滞在4日目にして、やっと晴れました\(^o^)/

今日はIBM Connect 2017の2日目でした。

私の予定は、
  • IBM Verse のロードマップの確認
  • IBM Notes/Dominoのロードマップの確認
  • IBM Champions Lunch Sessionへの参加
そしてSpecial Eventでの楽しいひと時を過ごす!でした。

では一つずつ・・・といいたいところですが、諸事情により、わたくしからはIBM Notes/Dominoのロードマップの発表だけといたします。


昨年までは、Notes/Domino NEXTという形で次期バージョンのアップデート内容を発表していましたが、2016年9月に発表があったように、IBM Notes/Dominoは9.0.1のFix PackをFeature Packと名前を改めることにして、不具合の修正および追加機能をこのFPの中で行うことになりました。

したがって、今回のIBM Connect 2017のセッションでは、2017年にリリースするFeature Packのバージョンとその更新内容についての説明でした。

まずは、お約束のように、2016年に達成したことを説明していました。
こちらについては、事実の確認だけですので、説明は省きます。
製品を使って実際に試してください。

次に、Feature Packのリリースの方法について説明がありました。
私の聞き取りに間違いがなければ、インストーラとテンプレートは別々に提供します
という話でした。
古いテンプレートのバックアップし忘れの対策か何かでしょうか?
ここは要注意だと思います!

そして、次に2017年にリリースするFPのバージョン及び更新内容のスライドが表示されました。
こちらです!
まずは、IBM Notesクライアント(Windows版)です。
IBM Notesのロードマップ

・・・あれ?どこかでみたことがあるような図だな。
えーっと一番左が2016年のFP7で達成したことね。ふむふむ。
左から2番目がFeature Pack8ね。そこだけを拡大してみてみましょう。
IBM Notes Feature Pack 8

  • Java 8のランタイムのサポート
  • メール、カレンダー、連絡先、ToDo にインターネットアドレスを表示する
  • 転送されたMIMEメールを読み取り専用で表示
  • メールテンプレートをアップデート
  • グループ化された日付とメッセージの先頭のポリシーサポート
となっています(訳は適当です)。

すべて既存の情報ですね。

次にFP9のスライドを見てみましょう。こちらも拡大したものをご覧ください。
IBM Notes Feature Pack 9

  • OSGi、Eclipse、SWTをアップグレードしてJava 8の開発環境をサポート
  • 既存メールに対してのルールの適用
  • ローミングおよびSAML構成用の永続VDIのサポート
  • ノーツクライアントでの姓名メールアドレスのサポート
  • 委任されたメールファイルの自動更新をサポート

となっています(こちらも訳は適当です)。

昨年に比べたらいくつか新しいものもありますが、ほぼ既存の情報ですね。

それでは一番右を・・・あれ?FP10ではなくて、優先度の高いもの???


はい、どうやら、2017年はFP9までをリリースするということで終わりそうです。
確か、2016年9月の発表では、1年に3-4つのFPをリリースすると言っていた気がするのですが・・・

残念ではありますが、できない約束をするよりはできることを約束したと前向きにとらえましょう。
でも、これでFP9出なかったら、いくら私でも怒りますよ!


続いてIBM Dominoのロードマップです。
IBM Dominoのロードマップ

パッと見、IBM Notesと同じように見えますが、デザインを統一しているのでいいのです。
そう考えると、左から2016年度の実績、FP8、FP9、優先順位の高いものとなっているのがすぐにわかりますね。

では、FP8を見てみましょう。
Domino FP8

  • Java 1.8 ランタイム対応
  • NSFのビューを移動してNSFのデータストアを増やす
  • XPagesでの文書の暗号化
  • Lous Script、SSJS、JavaでのID Vaultアクセス
  • サマリデータの上限を64KBから16MBに拡張
  • Domino DesignerでSwiperが利用可能に
  • ドミノディレクトリのテンプレート更新
  • ADFS 3.0のサポート
  • @ModifiedInThisFile、@AddedToThisFile関数を実装

となってます。
こちらでは最後の新関数が目新しいと思いましたが、説明はありませんでした(聞き逃した?)

次にFP9です。
Domino FP9

  • Domino Designerでの開発環境への対応のためにJava 1.8へアップデート
  • Domino サーバ上のOSGiのアップデート
  • ビューのNIFの外だし
  • メールをインターネットアドレスに転送することを制限するDominoポリシーの追加
  • RFC2231のサポート
こちらで聞き覚えがないのは、メールの転送制限のポリシーの追加です(もしかして、皆さん知ってました?)。
他は、以前から言われていたものばかりです。



なお、Feature Pack は1Q中に出るという話でしたが、3月が確定しています(2月中にはでない)。
3月のいつ頃という話はしていませんでしたので、3月末になるかもしれませんが、いくつか新機能のデモをやっていたことを考えると。そこまで遅くはならないでしょう。


いずれにしても、Feature Pack制度になって初のリリースであるFP8がもうすぐです。
本番環境への適用方法も若干変更になりますので(テンプレートが別提供のため)、そこも踏まえて検証するようにしてください。



ということで、Notes/Dominoの新機能追加は3年越しにしてようやく叶いそうです。
私も楽しみにしています。リリースされたらいくつかはこのブログでも検証結果を発表しようと思っていますのでお待ちください。



最後に、昨日の夜(2/21)に行われたパーティでお会いしたIBMコラボレーション・ソリューションのゼネラル・マネージャーであるインヒさんとツーショットを撮影していただくことができた(撮影は日本IBM 松浦様です。ありがとうございました!)ので、そちらを掲載して終わります。
実物は可愛いインヒさんとの記念ショット♪




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


2017年2月22日水曜日

IBM Connect Hackathonの結果発表!

皆さん、こんにちは。

サンフランシスコに滞在中の御代です。
本日もIBM Connect2017の情報をお届けします。
と言っても、執筆中の今現在、時刻は2/22の1:10です。あと、7時間もすれば、次のセッションが開始されるという過酷な状況に置かれていますので、簡単に済ませようと思いますので、ご了承ください。


まず、何度も書いているように実は本日(2/21)が初日でした。
初日と言えば、Opening General Session、通称OGSがある日です。
今年はBusiness Partner Dayがなく、同日に開催されています。

スケジュールとしては、
8:00 - 9:30 Business Partner OGS
10:00 - 11:15 OGS 第1部
13:00 - 14:15 OGS 第2部
という変則的なものでした。

Business Partner OGSは文字通りビジネスパートナー及びIBM社員だけが参加できるセッションで、エンドユーザ様は別のジャンプスタートのセッションに参加していただくことになっています(ビジネスパートナーでも参加は強制ではないんですけどね)。

今回もアワードの紹介がありました。
日本からはコムチュアさまが表彰されていました。おめでとうございます。
壇上でトロフィーを受けとっていただくのですが、進行をスムーズにするために、トロフィーは使いまわしでした(笑)
 →あとで、ちゃんと受け取ったと思います(知りませんが)。
なので、どんなふうにトロフィーを受け取ればいいのかはわかっていたはずです(写真撮影があったので)。
ですが・・・
やってしまいました。何が起きたのかはご本人の名誉のために伏せますが、会場からは大きな笑いが起こっていました。


そして、OGSです。
内容についてはIBMGOに動画が出ていますので、そちらで直接確認してください。

なお、今年もIBM Championsがスクリーンにでかでかと紹介されていました。
IBM Championがスクリーンに紹介されています

オーランドのときと違う点としては、中央がステージで、その両脇に大きなスクリーンが用意されているところです。
スクリーンを見ていると、ステージで何が起きたのかを見落とすことがあったり、ステージを見ているとデモや製品紹介の画面が小さくて、何が書いてあるのかわかりにくい!というところが難点でした。
そういった意味でも、動画を見てもらった方が確実という訳です。



OGSの第二部も同様です。動画を見てください。
ただ、特筆すべきは、昨日のブログで予告したようにIBM Connect 2017 Hackathonの結果発表があったことです。
さらっと流されましたが、われわれJapanチームは強豪相手をものともせず、第2位にランクインしました!\(^o^)/

実は、ハッカソンの終わりにその場で表彰されていたのですが、OGSで発表するからいうなよ!と口止めされていたのです。
へへへ。すごいですよね!
ちなみに、そのハッカソンのダイジェスト動画がYoutubeにアップされていましたので、シェアしておきます。4分程度の動画なのでぜひご覧ください。




そして、すでに何名かのチャンピオンがSNSで発表していましたが、第1位から第3位までは賞金がでていました(OpenNTFからの賞金です)。

我々は第2位ということで、500ドルが手渡しされました(笑)
封筒に入っているのではなく、はだかで渡されました!アメリカ、すげー!!!
動画にはその時の様子もばっちり映っています!


まぁ、もともと優勝を目指していったので、2位はちょっと残念(どうやら、1位とは1票差だったらしい)ですが、世界中のIBM Championといった猛者を相手に第2位は十分な結果ではないでしょうか?


さて、そのあとは、IBM Watson Workspaceのロードマップ及びIBM Watson Work ServiceのAPIの基礎技術であるGraphQLのセッションに参加してきました。

当ブログでも、つい先日までこのことについて記事を書いていたので、私としてはタイミングが良かったです。
こちらは、ロードマップだけ紹介しておきます。
IBM Watson Workspaceのロードマップ

このうち、画面左側の部分のいくつかはすでにアップデートされているようですので、アカウントを持っている方は確認してみてはいかがでしょうか。

GraphQLについては、ヘルプでよくわからなかった部分のデモがあったので、より理解が深まりました。
こちらについてはIBM Watson Workspaceの関連記事として後日まとめたうえでしっかりとご紹介します。


ということで、2日目に備えて寝ようと思います。


-----2017年2月22日1:59分追記-----

そうそう。もう一つ事件がありました。
遅れてチームスタジオの加藤さまも現地に来られました。
やっぱりこの方が来られると我々IBM Championも気が引き締まります!
加藤さまも私を含めたIBM Championsと同じホテルに宿泊しています。
このホテルは料金にかかわらず、部屋の格差があることは初日の記事にて報告いたしました。
さて、加藤さまの部屋はどうだったのでしょうか・・・
結果の表を更新しましたのでご覧ください。
負け組が一人増えた(笑)

なんと、加藤さまは私の部屋の上の部屋に泊まることになったのです。
すなわち、部屋のつくりはほぼ一緒。
ということで色々と残念なことになりました。

今年は加藤さまからの報告記事もあまり期待しないようにしてあげましょう・・・



それでは今日はこの辺で・・・



2017年2月21日火曜日

IBM Connect 2017 Hackthonに参加してきました!

みなさん、こんにちは。
サンフランシスコに滞在中の御代です。
今日は朝からずっと一日中雨降りというあいにくな天気でした。
結構な量が降っているはずなのに、こちらの方は傘を差さない人が多かったです。
かくいう私もさしませんでしたが(笑)

(現地時間の)明日の昼からは晴れる(だろう)との予報なので、頑張りました!



さて、本日はまだIBM Connect 2017は受付開始とWelcome Reception(立食パーティーですね)だけで、まだ始まったわけではありません。
しかし、昨日の記事(今年はサンフランシスコにやってきました!)で書いたように、別のイベントがあり、それに参加してきました。

その名も「IBM Connect 2017 Hackathon」です。
OpenNTFというコミュニティグループが主催するハッカソンのイベントで、各国のIBM Championたちも参加して、テーマに従ってプログラムを作成、発表するというものです。
場所はサンフランシスコにあるIBMの事業所です。
IBM Connect 2017の会場からは歩いて15-20分くらいの距離でした。
私(を含めた日本人チャンピオンズ)の宿泊しているホテルからも10-15分程度の距離ということで雨の中、向かっていくのはちょっと疲れました。

会場に着いたら、すでに他のメンバーは到着していて、われわれ日本人チームが最後でした。
それを知ってか知らずか、一番前の座席が空いており、われわれはそこに強引に座らされました(^^;

そして、開催時刻の8:45になったので、今回のハッカソンの説明が始まりました。
行う工程は
  • UIデザイン
  • プログラミング
  • テスト
  • ドキュメント作成
です。
出来上がったら、最後に各チーム10分間のプレゼンテーションの時間が与えられます。
その中で、プログラムの説明やデモを行うというもので、とてもハードでした。
プレゼン時間があるため、実際のタイムリミットは16:00でした。
通常では、考えられない時間ですが・・・やってのけました。
話が前後しますが、チーム構成は、各チーム5人以上でしたが、日本人はコミュニケーションの問題?から
全員同一チームを組ませてもらいました(笑)
ちなみに、全部で8チームです。

ということで、参加メンバーは
日本IBM 佐藤さま
ケートリック 田付さま
ソルクシーズ 吉田さま
エームサービス 小野さま
エフ 御代
と、もう一人、どうしても現地のハッカソンを見てみたいということで、日本からのエンドユーザ様がおひとりチームに加わっていただきました。

日本人チームは、IoT、Node-RED、XPages on Bluemix、IBM Watson Wokspace、IBM Watson WOrk Serviceをつかった、トラブルチケットアプリケーションを作成することにしました。
Japanチームの資料の表紙

Japanチームのプロジェクトの概念図

最初にこういったプログラムの全体像を決めます。
そのあと、どの部分をどのようにプログラミングするのかを決めます(言語や実装範囲等)。
その次に、誰がどの部分を担当するのかを決めます。
そして、各自テストを行った後、結合して、結合テストをするという形にしました。

この方式は、今回は、IBM Bluemix上にアプリケーションを構築することにた(全部配置できるので)ためというのがあります。

Node-REDは各自で作成しても、JSON形式のファイルにエクスポートすれば簡単にプログラムをコピーすることができるのでよいのですし、ブラウザ上で開発もできるので、URLを共有してしまえば、誰でもソースを修正可能なのでよいのですが、
XPages on Bluemixはローカルクライアント上でアプリケーションを開発して、IBM Bluemix上にアップロードをしなければいけないというのが大きいのです。

不具合が発生した際、再度IBM Bluemixにアップロードしないということを考えるとあらかじめローカル上でテストをしっかりと行って、問題がないことを確認してからIBM Bluemixにアップロードするというのが結果として工数削減につながるのです。


その結果・・・
お昼休憩もとらずに、自席で食事を採りつつ(食事は提供していただけました♪)、制限時間ぎりぎりまで作業して、なんとかプログラムを完成させることができました。

プログラムは
IoTセンサーデバイスでイベントを発生させて、それをMQTTプロトコルでNode-RED経由でBluemix上のNotes DB(No SQL Database)に格納します。
それをXPages on Bluemixで作った画面に表示させます。
その画面で文書の横にインシデント発行ボタンをクリックすると、IBM Watson Workspaceに詳細画面のURL付きで、インシデントが発行されたという通知メッセージを送るようになっています。
その際、おまけ動作として、田付さんが持っているIoTデバイスのBB-8が赤く光るようになっています(笑)


これでIBM Watson Workspace上で会話をしながら解決策を決めます。
決まったら、インシデントをクローズするということで、XPages上のインシデントクローズボタンをクリックします。
すると、インシデントがクローズされましたというメッセージがIBM Watson Workspaceに投稿されるという形になります(当然、BB-8は光ります(笑))。


プログラムや資料はGithubにアップすることになっていますので、後日皆さんでも確認できるようになると思います。
詳細はその資料を見てください。


そして、このハッカソン、ただ単にチームを組んでプログラミングするというだけでなく、ちゃんと順位をつけるとのことです。
順位は現地時間の明日のOGS内で発表されるとのことで、私も結果を楽しみに待っています。
(ここで不甲斐ない順位だと、「やっぱり日本人はダメだな・・・」と烙印を押されてしまいますからね。チームのメンバーはかなり気合を入れて頑張ってましたよ!もちろん私もですが)



そして、ハッカソンが終わった後は、
Moscone Westという会場に向かい、IBM Connect 2017の登録です。
今回も無人受付で、受付場所にはタブレットが置いてありました。
そこにQRコードをかざして、登録時の質問事項にこたえると、バッジが発行されるというものです。
つまり・・・
昨年同様、バッグはもらえませんでした。残念・・・
受付をしたら発行されるバッジ



といういうことで、今日までが前哨戦で、明日からが本番・・・
なのですが、すでに疲れ果てています(笑)
おそらくちゃんとしたレポートはあげられないと思いますので、こちらに来ているIBMの方などの情報を取得するようにしてください。
OGSは中継もされると思いますので、ネットで見るのも一つの手だと思いますよ。


それでは今日はこの辺で・・・

2017年2月20日月曜日

今年はサンフランシスコにやってきました!

皆さん、こんにちは。と言っても、私がいる場所は、現在夜の10時をまわったところです。
はい、今年も例のイベントに参加すべく、アメリカ合衆国までやってまいりました。

例のイベントとはもちろん、IBM Connect 2017のことです。

昨年までは20年の間、フロリダ州オーランドで開催されていましたが、今年はカリフォルニア州サンフランシスコで開催されることになっています。
すなわち、私は今、サンフランシスコのホテルの自室でこの記事を執筆しているのです。

IBM Connect 2017自体は2017年2月21日(火)~2017年2月23日(木)に行われます。
※HP上では、2/20 - 2/23となっていますが、2/20はWelcome Receptionだけで、何も行われません。

今現在の日付は、サンフランシスコ時刻で2/19 22:16です。
つまり、まだ明日1日は何も行われない(はずな)のです。
にもかかわらず、なぜ私はここにきているのでしょうか?

遊びに来てる?
いえいえ、とんでもありません。
実は2/20にあるイベントが行われることになっており、他のIBM Championsと一緒に参加するために1日早く渡米したのです。
イベントの内容については、明日のブログ記事で書こうと思っていますので、今しばらくお待ちください。

すでにtwitterやfacebook等で、サンフランシスコの様子をアップしていますが、一緒に来ているのは、
IBM Championの田付さん、吉田さん、小野さんと私の4人です。
明日のイベントには日本IBMから佐藤さんが一緒に参加していただけることになっているため、本日より現地で合流して、親睦を深めています(誰ですか、今更?とか言っている人は?明日はチームの連携力が試されるので、親睦を深めるのは大事なことなんですよ!)
IBM Champions(よく見ると、まとめ役がいない・・・)

さて、そんなIBM Championsですが、毎年現地では誰かが何かを巻き起こしてくれます。
今年はサンフランシスコになって、近くなったので、そんな事件は起きないだろう・・・と楽観視をしていたのが良くなかったようで、初日から色々と起こりました。

簡単に表にまとめてみました。
初日にわかったこと

圧巻だったのは、O氏です。入国審査で、相手が何を言っているのか聞き取れなかったらしく、仕方なしに?IBM Connect 2017の資料を見せて、自分はIBM Championだ!と言ったら、担当者が「Oh! You are Champion! OKOK!」と言って通してくれたとのことです。

未だかつて、そんなことはありませんでした。IBM Championは本当にワールドワイドで活躍できるんだ!というところを見せつけてくれました!
これだけでも、IBM Championを目指そう!という気になったのではないでしょうかw

打って変わって、M氏こと私。
ホテルのチェックインでの躓きに始まり、部屋に入ってみれば、他の人との落差に衝撃を受け、そのあとも各地で色々と残念なことを起こすという・・・
安定した残念力を見せつけていますwww


という感じで、本日はこちらはまだ日曜日のため、sns上でははじけた姿をさらしていましたが、すべては明日からの4日間のためですので、どうかご容赦ください。

今年もできるだけ情報をお届けできればと考えておりますので、過剰な期待はせずにお楽しみください。



ちなみに、サンフランシスコは急な坂道が多い場所です。
どこまでが坂道でしょうか?

こちらは、IBMの皆さまやIBM Championsと一緒に食べた蟹さんです。



それでは今日はこの辺で・・・


2017年2月9日木曜日

IBM Watson Workspaceのイベントを取得してみよう

皆さん、こんにちは。
寒い日が続いています。(自戒を込めて)体調管理には十分気を付けましょう。

さて、今日もIBM Watson Work Serviceについての話題です。

前回は、Node-RED上でプログラムを実行してIBM Watson Workspaceのスペースにメッセージを投稿するということをやってみました。

今回は逆に、「IBM Watson Workspaceのスペースにメッセージが投稿されたら、それを取得してTwitterにその内容をカスタマイズしてツイートしてみる」ということをやってみます。


流れは以下のようになります。
※IBM Watson Workspaceに行ったり、Node-REDに行ったりとするので間違えないようにしてください(アプリの設定をする関係上、このような順番になります)。

  1. IBM Watson Workspaceにスペースを作成する
  2. Node-REDアプリケーションを作成する
  3. IBM Watson Work Serviceでアプリを作成する
  4. webhook を設定したアプリケーションを作成する
  5. IBM Watson Work Serviceのアプリのwebhookを有効にする
  6. スペースにアプリを設定する
  7. IBM Watson Workspaceにメッセージを投稿する
  8. Twitterで投稿されたかどうかを確認する

1.IBM Watson Workspaceにスペースを作成する

前回の記事を参考にして、新しくスペースを作成します。
※面倒であれば、同じスペースを使ってもよいです。

2.Node-REDアプリケーションを作成する

今回もIBM BluemixにNode-REDのアプリを作成します。
wwsNodes - Waton Work Services Nodes for NodeRedを導入するのを忘れないようにしてください。
※面倒であれば、同じスペースを使ってもよいです。

3.IBM Watson Work Serviceでアプリを作成する

前回の記事を参考にして、新しくアプリを作成します。
※App IDとApp secretを控えておくのを忘れないように!
アプリが作成できたら、作成完了画面で「Listen to events」のリンクをクリックします。画面が変わるので、[Add an outbound webhook]ボタンをクリックします。
webhookイベントを生成する
Edit event Listenerのダイアログが表示されるので必要事項を入力/選択して[Save]をクリックします。
Webhook name:webhookの名前を入力します。任意の値で良いですが必須です!
Callback URL:「2.」で作成したNode-REDアプリケーションのURL(https://xxxxxxxx.mybluemix.net/になるはず)に、コールバックURLの値を入力します。
例)https://xxxxxxxx.mybluemix.net/webhook_callback
Events:「message-created」と「message-annotation-added」の2つにチェックを付けます。
イベントリスナの設定画面
すると、アプリにwebhookの設定が行われて、「Success! Your app has been updated.」というダイアログが表示されます。
ここで「webhook secret」が表示されるので必ず控えておきます!
webhookが設定された
また、Webhook nameとcallback URLも後で使うので覚えておきます(こちらは確認可能なので、メモしなくても大丈夫です)。
[Close]をクリックするとアプリの画面に戻ります。
追加したwebhookが表示されていることが分かります。
Webhookが追加された

4.webhook を設定したアプリケーションを作成する

「2.」で作成したNode-REDアプリケーションののフローエディタを開きます。
ここで、IBM Watson Work Serviceのアプリのwebhookイベントに対応するNode-REDのフローを作成します。
1つ目はwwsInのノードを追加します。
wwsInのノードを配置する
追加したらノードをダブルクリックして、設定します。
WWS Appのところにある鉛筆アイコンをクリックします。
wwsInノードの設定画面
アプリの情報を入力する画面に切り替わるので、先ほど作成したIBM Watson Work Serviceのアプリ情報を入力して[追加]をクリックします。
アプリの情報を入力
入力したら[追加]をクリックします。
先ほどの画面に戻るので、「Webhook ID」「Callback URL」「Webhook secret」を入力して[完了]をクリックします。
※Webhook IDはIBM Watson Work Serviceのアプリでは「Webhook Name」と表示されているものを入力します。
※Callback URLはIBM Watson Work Serviceで設定したURLのうち、最後の「/」より後ろを入力します(今回の場合、"/webhook_callback"です)。
Webhookの設定を入力する

2つ目はswitchノードを追加します。これは、IBM Watson Workspaceに投稿されたメッセージを条件分岐するのに使用します(何でもかんでもツイートするのが嫌なので)。
分岐判定用のノードを追加
追加したら、functionノードをダブルクリックして設定を行います。
switchノードの設定
Propertyは「msg.payload.content」にします。 これはスペースに投稿されたメッセージの内容を表しています。
分岐条件は、containsにして、その値はtestにします。
これはメッセージに"test"という文字が含まれていたら。ということを表します。
※ここの値に日本語文字列を設定しても反映されませんので、必ず英文字(シングルバイト)を設定してください(原因はわかってません、悪しからず・・・)

設定できたら[完了]ボタンをクリックします。

3つ目はfunctionノードです。ツイートする前に、このメッセージはIBM Watson Workspaceに書かれたものをツイートしてますよ。ということを追加します。
functionノードを追加
functionノードをダブルクリックして式を記述します。
functionノードの式

式の内容は以下の通りです。
msg.payload = msg.payload.content + "\nこのメッセージはIBM Watson Workspaceに投稿されたものです。";
return msg;


msg.payloadが実際にわたる値です。
そこにスペースに投稿された値(msg.payload.content)とオリジナルの値("\n・・・以降)を連結して代入しています。

4つ目がtwitterノードの追加です。
twitterノードは入力用と出力用の2つがあるので、出力用のノードを追加します。
ツイートするためのノード
追加したらノードをダブルクリックしてアカウントの定義を行います。
TwitterアカウントをNode-REDと連携する

設定できたら、[追加]、[完了]をクリックしてフローの画面に戻ります。
後は、各ノード同士を線でつなげていきます。
つなげたら画面右上の[デプロイ]をクリックしてアプリケーションをデプロイします。
アプリケーションをデプロイする

5.IBM Watson Work Serviceのアプリのwebhookを有効にする

IBM Watson Work Serviceのアプリの画面に戻ります。
wbhookのところにある[Enable]をクリックします。
Enableをクリックする
成功すると、[Enable]の表示が[Disable]に代わるだけで何も起きません。
逆に失敗した場合は、赤文字でメッセージが表示されます。その場合、コールバックURLのURLにアクセスできないなどの原因が考えられます。

6.スペースにアプリを設定する

最後にアプリをスペースに設定します(前回の記事の「3.スペースにアプリを設定する」を参考にしながら設定してください)。
これでアプリケーションが完成しました。


7.IBM Watson Workspaceにメッセージを投稿する

では、実際にスペースにメッセージを投稿してみましょう。
まずは、本当にツイートされるか、"test"を含む英文のメッセージを投稿します(日本語文字が含まれていると動作しません!)
スペースにメッセージを投稿

8.Twitterで投稿されたかどうかを確認する

さぁ、Twitterの方を見てみましょう。
確かにツイートされました。
ツイートされてる!

ちなみに、"test"が含まれないメッセージを投稿しても何もツイートされません。

どうでしょうか?
Node-REDはJSONデータを扱っているので、IBM Notes/DominoのREST APIも利用できます。
これを応用すれば、IBM Watson Workspaceに投稿されたメッセージをNotes DBに格納するなんてこともできるようになります。

ここから先は、みなさん各自でどのように応用するのかを考えてみてください。




それでは今日はこの辺で・・・




Notes/Dominoで困ったことがあれば、弊社にお問い合わせください。
IBM Championの私が承ります!
お問い合わせはこちらから→Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ