XPagesでフィールドに"年月日のみ"、"時刻のみ"の値を設定する方法

XPagesでの日付の保存では常に年月日、時刻の両方が保存される

"年月日のみ"もしくは、"時刻のみ"と設定されているフィールドを持つ文書をNotesクライアントで保存をした場合と、XPagesで保存をした場合で保持されるデータの持ち方が変わってくるということが今回のブログのトピックになります。

例を上げると、以下のようなフィールド、日付の表示(年月日のみ)

年月日のみをもつフィールド

もしくは、時刻の表示(時分)

時刻の表示のみをもつフィールド

といったケースです。

これを試しにNotesクライアント(Ver 9.0.1 FP3)で保存してたところ、以下が通常のNotesクライアントでのデータの保存結果になります。

Notesクライアントで日付フィールドを保存

Notesクライアントで日付フィールドを保存

Dateフィールドでは「2015/03/02」、Timeフィールドでは「14:35:00」というようにそれぞれ年月日、時刻のみが格納されます。

では、このフォームを元にXPagesから文書作成をした場合どうなるか、簡単なXPagesを作成して試してみました。

XPagesで日付フィールドの保存

DateフィールドとTimeフィールドのXPagesソースコードは以下のとおりです。

Dateフィールド

Timeフィールド

それぞれ、フィールドのTypeをdate, timeと指定しています。

このXPagesで保存した後、フィールドに格納されたデータを見てみると、

XPagesから保存された文書のDateフィールド

XPagesから保存された文書のTimeフィールド

両方が「yyyy/MM/dd hh:mm:dd ZZ」のフォーマットで保存されていることが確認できます。

なぜ"年月日のみ"、"時刻のみ"が必要か?

上記の比較からどちらのデータの持ち方が正しいということが今回の主旨ではありません。

実際には、Notesクライアントで使ってきたNSFをXPagesを使ってWEB化したい、というケースが多いと思います。そしてNotesクライアントとXPagesの両方でNSFを使い続けるといった場合、やはりXPagesがNotesクライアントの仕様に合わせる必要が出てきます。

前置きが長くなりましたが、今回はXPagesでも"年月日のみ"、”時刻のみ”のフィールドを設定する簡単な方法をご紹介します。

NotesDateTimeを使って整形しよう

やり方は幾つかあるとおもいますが、

SSJSのNotesDateTimeクラスを使って整形してやることが出来ます。

このコードではXPagesで一旦文書保存した後のPostSaveDocumentイベント内でNotesDateTimeクラスのsetAnyTime()、setAnyDate() を使うことで、思った通りのフォーマットに整形しています。

 

いかがでしたでしょうか?

今回は既存NSFをWEB化する際に躓きがちなDateTimeフィールドの情報でした。


IBM Domino Application on Bluemix について、ConnectED 2015にて

今回、もっとも興味があるセッションであった「IBM Domino Application on bluemix」セッションに参加してきました。

xpages on bluemix

通常、Bluemixで開発を行う場合、EclipseにCloudFoundryのプラグインをインストールしたり、DevOps サービスなどの開発管理システムと連携する形で行うため、開発環境の設定段階で以外と敷居が高くなってしまいます。
この点、IBM Domino Application on bluemixではどのように提供されるのかが自分の持つ関心の一つでした。

予想として、おそらくDesigner内のJavaパースペクティブ等を使ってデプロイをすることになるのかと考えていたのですが、今回のセッションで、その予想はいい意味で裏切ってくれました。

IBM Domino Designer上で専用のBluemixへのデプロイツールを使い直接デプロイを行えるようになります。

bluemix deployment tool
また、IBM Domino Designerの設定画面にBluemixのアカウントID、Passwordを入力する項目が用意されるため、デプロイ時に毎回ログイン情報を提供する必要がなくなります。

 

もう一つの関心として、オンプレミスのDominoとどのように連携できるのか、ということです。
Server IDが提供されたり、サーバー間の相互認証などを行ったり出来るのか?

この点に関して、セッションを行っていた開発者に"Meet the developer"にて直接質問をしてみたところ以下のような回答を聞くことが出来ました。

  • Bluemix上のDominoは特別に仕立て上げられたサーバーのためServer IDを開発者ごとに提供するという予定はない。
  • サーバー間の相互認証を行いオンプレミスのDominoとの連携を行えるようにすることはプランとしてある。

どちらも出来ないのかもしれないと想像していたため、相互認証等でオンプレミスDominoとの連携が行える可能性について聞き出せたのは大きな収穫でした。
ただ、"IBM Domino Application on bluemix"自体がまだ始まったばかりのため、今の時点ではあくまでプランとして挙がっているということみたいです。

IBM ConnectedED で得た情報まとめ

domino-bluemix-model

その他、"IBM Domino Application on bluemix"に関して得た情報として纏めると以下のような感じです。

  • XPages Bluemixランタイム(ビルドパック)が用意される。lightweight Domino Web Containerが用意されていてXPagesが実行されるイメージ。
  • ローカルレプリカはない。 サーバーへ同期をとるのではなく、専用のBluemixへのデプロイツール(Addonのようなもので提供?)から直接デプロイを行う。
  • Designerの設定画面にBluemixのアカウントID、Passwordを入力する項目が用意される。それによりデプロイ時に毎回ログイン情報を提供する必要がなくなる。
  • BluemixでXPagesのインスタンスを作成することで、NSFファイルをダウンロードすることができ、そのNSFを使い開発を進める。
  • BluemixでXPagesのインスタンスを作成することで、開発用のUser IDも同時に作成される
  • 複数の開発者で開発も可能
  • オンプレミスのサーバーとの相互認証をさせる等で連携をプランしている。
  • IBM Sametimes on bluemixはまだ開発に至っていないが、IBM内でサービスとして提供したいという話はある。
  • IBM Connections Cloud との連携として IBM Connections Cloud FileがBluemixで提供されるため、その連携は可能になる(予定)。

「IBM Domino Application on bluemix AD201」 デモ

「IBM Domino Application on bluemix AD201」セッションでは以下のようなデモが行われました。

  • XPagesとRDBMSサービスを使いNotesデータベース以外のデータソースと連携。
  • XPagesで作ったWebアプリケーションからWatsonと連携。
  • Bluemix上のインスタンスを2つにしたロードバランスにも対応出来ていることをデモ。(例)片方のインスタンスを落として、もう一つのインスタンスでで文書を更新、その後にインスタンスを立ち上げると、更新された文章が同期されていることが確認できる。

ロードマップ

最後に、「IBM Domino Application on bluemix」の今後のロードマップが発表されました。
2015年の下半期でようやくベータになることから、まだまだ開発が始まったばかりのサービスであることが伺えます。

domino-xpages-bluemix-loadmap


IBM Verseに関して in ConnectED 2015

IBM ConnectED 2015 が始まりました。

 Connected 2015 OGS

IBM Verse

今回のカンファレンスの一番の目玉、IBM VerseがOGSで大々的にデモも交えて紹介されました。

connected-2015-ibm-barse

IBM Verseに関して、事前情報から次世代のWEBメールクライアントというようなおぼろげなイメージを持っていましたが、どうやらメール、スケジュールを中核にコラボレーション、コミュニケーションを促進させるソリューションという具合です。

そのためのキーワードはアナリティックス、Watson。

今回のデモで紹介されたIBM Verseの機能はかなり盛りだくさんでとても一回のブログでお伝えできるような内容ではないのですが、自分が一番興味を持った機能を挙げると、検索機能の強化アナリティックス機能です。

検索機能ではメールを"一週間前まで"や"添付ファイルがあるメール"というような具合で絞り込みができます。

また、AnalyticsやWatsonの機能では、それぞれのメールの重要度や優先順位を算出してくれます。例えば、返信するまでにかかった時間なども統計データとして解析する要素として考えているようです。

connected-2015-ibm-verse

その他にも、ざっと思い出せるだけでも、以下のような機能が紹介されていました。

  • コミュニケーションツールの実装。ブログする機能やフォーラムに投稿する機能
  • 上段のコンタクトリストから重要な人をあらかじめ登録
  • Team Analyticsボタンがコネクション(ソーシャル)をビジュアル化
  • ドラッグ&ドロップ で簡単にファイルを添付
  • メールをミュートする機能
  • TO,CCが多いメールスレッドの中で「だれがこのメールスレッドに積極的に貢献しているか」を明確にし、Reply、ReplyAllが簡単に切り替え可能。
  • IBM Docとの連携でExcelや文書等の添付ファイルの立ち上げをインラインで行える
  • 動画、画像もインラインで表示
  • 下部にカレンダーが実装されていて、スケジュール作成、タスク作成も画面遷移なく行える。
  • 期限等を指定し簡単に他の同僚とタスクの共有、コミュニケーションができる。
  • ファイル添付ではIBM ConnectionsのFilesから選択できる。
  • Watsonとの連携
  • IBM Connections Next とデザインが統一されている
  • 検索機能の強化。添付ファイルで検索、時間の期間、等

デモではIBMConnections NextとIntegratedしたものを発表していました。 この画像はIBM Connections NextのHomeページです。 今までのActivity StreamのTOPがレイアウトデザインを変えてこのような形になったと思われます。

IBM Connections NEXT Home
IBM Connections NEXT Home

OGSで紹介されたIBM Verseはクラウド上で動くデモでしたが、2015年の下半期には オンプレミス版もお披露目される予定のようです。

一緒に参加しているTeamstudio 加藤さんと御代さんのブログでも触れられていますので合わせて確認してみてください。

IBM ConnectED 基調講演より (notes/domino liaison)

OGSなのかなぁ・・・ (のおつ -Notes/Dominoに関すること-)

 


ConnectED 2015 セッション アジェンダ

以下のようなセッションアジェンダを組んでみました。

やはり目玉はIBM Verseですね。Deep Diveと謳ったIBM Verseのセッションがありますから、今まで発信されなかったより深い情報が発表されるのだとおもいます。 また個人的に興味があるキーワードとして、Connectins  API, Domino API, Bluemix などインテグレーションのための情報です。外せないセッションとしては

  • IBM Verse: Deep Dive and Futures (R1) - ID114
  • IBM Domino Applications in Bluemix - AD201
  • Be Open - Use WebServices And REST In XPages Applications - BP108
  • There's an API for That! Why and How To Build on the IBM Connections Platform - BP205

ここらへんです。

ConnectED開催中もホットな情報があればこちらのブログで発信していきたいと思います。(セッション疲れがなく、酒で酔いつぶれていなければですが、笑)


 

2015.01.25(Sun)

IBM Domino Applications on Cloud - MAS104

03:45 午後 - 04:45 午後 - Walt Disney World Swan, Swan 7-10

Pete Janzen (IBM), Christian Guedemann (WebGate Consulting AG)


2015.01.26(Mon)

IBM ConnectED - A New Way to Engage - OGS101

08:00 午前 - 09:30 午前 - Walt Disney World Swan, Swan 1-10

IBM Verse: Deep Dive and Futures (R1) - ID114

10:45 午前 - 11:45 午前 - Walt Disney World Swan, Swan 5-6

Andrew Davis (IBM)

IBM Domino - 2015 and Beyond (R1) - ID107

01:00 午後 - 02:00 午後 - Walt Disney World Swan, Swan 5-6

Scott Vrusho (IBM)

IBM Domino Applications in Bluemix - AD201

02:15 午後 - 03:15 午後 - Walt Disney World Dolphin, S. Hem 2

Martin Donnelly (IBM)

The Future of Web Development - Write Once, Run Everywhere with AngularJS and Domino - BTE102

03:45 午後 - 04:45 午後 - Walt Disney World Swan, Toucan 1-2

Mark Roden (PSC Group LLC)

IBM Verse AppDev and Extensibility - AD104

05:00 午後 - 06:00 午後 - Walt Disney World Swan, Swan 7-10

Andrew Davis (IBM)


2015.01.27(Tue)

ConnectED 2015 IBM Business Partner Kickoff Session - BPO101

08:00 午前 - 10:15 午前 - Walt Disney World Swan, Swan 5-6

Lou Sassano (IBM)

IBM Domino App Dev Futures - AD101

08:00 午前 - 09:00 午前 - Walt Disney World Swan, Swan 7-10

Eamon Muldoon (IBM)

There's an API for That! Why and How To Build on the IBM Connections Platform - BP205

09:15 午前 - 10:15 午前 - Walt Disney World Dolphin, S. Hem 2

Mikkel Flindt Heisterberg (OnTime by Intravision)

Take to the Cloud! Extend Your Applications with IBM Sametime APIs from IBM Connections Cloud - AD204

11:15 午前 - 12:15 午後 - Walt Disney World Swan, Swan 1-2

Brendan Arthurs (IBM)

IBM Notes Applications to the Web: IBM Notes Browser Plug-in - ID106

01:00 午後 - 02:00 午後 - Walt Disney World Dolphin, S. Hem 1

Rajesh Patil (IBM)

Adding Two Factor Authentication to IBM Connections Cloud - BTE202

02:30 午後 - 03:30 午後 - Walt Disney World Swan, Swan 7-10

Stephen McDonagh (AVX Limited)

Practical IBM Notes and Domino Internet Security - BP102

03:45 午後 - 04:45 午後 - Walt Disney World Swan, Swan 1-2

Daniel Nashed (Nash!Com)

Be Open - Use WebServices And REST In XPages Applications - BP108

05:00 午後 - 06:00 午後 - Walt Disney World Swan, Toucan 1-2

Bernd Hort (assono GmbH)

OpenNTF Domino API: The Community API - CHALK102

06:15 午後 - 07:00 午後 - Walt Disney World Swan, Swan 1-2

Paul Withers (Intec Systems Ltd)


2015.01.28(Wed)

XPages and Java: Share your Experience - CHALK405

07:15 午前 - 08:15 午前 - Walt Disney World Dolphin, S. Hem 2

Bernd Hort (assono GmbH)

From XPages Hero To OSGi Guru: Taking The Scary Out Of Building Extension Libraries - BP106

08:30 午前 - 09:30 午前 - Walt Disney World Swan, Swan 3-4

Paul Withers (Intec Systems Ltd), Christian Guedemann (Webgate)

Responsive Application Development for XPages - AD302

11:45 午前 - 12:45 午後 - Walt Disney World Swan, Mockingbird 1-2

Brian Gleeson

Build Your Own Apps in Minutes Leveraging IBM Bluemix and IBM Connections - AD202

01:30 午後 - 02:30 午後 - Walt Disney World Dolphin, S. Hem 2

Miguel Estrada (IBM)

ConnectED Closing Session: A New Way to Engage - CGS102

03:15 午後 - 04:00 午後 - Walt Disney World Swan, Swan 1-10


Expand Specific View in XPages

XPages ビューの特定のカテゴリーのみを展開して表示する方法

カテゴリービューの展開・省略を制御

カテゴリービューの展開・省略を制御するには、ビューデータソースで[ExpandLevel]属性を使います。
展開表示であれば「0」,省略表示であれば「1」です。

では、基本は省略表示であるけれど、特定のカテゴリーだけデフォルトで展開させたい、という場合にはどうしたらいいでしょうか?

Expand Specific View in XPages
特定のカテゴリーを最初から展開させたレイアウトイメージ

SSJSで特定のカテゴリーのみを展開表示の制御を行う

Serverside Javascriptを用いて以下のコードをafterPageLoadイベントに追加することで制御を行うことが出来ます。


上記の例では最後の行(L4)でcontainer.expand("1"); としているため1番目のカテゴリーが展開された状態で表示されます。

このように、DominoViewDataModelより直接プログラムによって操作をしていますが、こちらのオブジェクトを詳しく知りたい方はこちらを参照してみてください。

他にも色々とViewを操作する方法が発見出来るかもしれません。


IBM Champion

2015 IBM Champions for ICSに初めて任命されました

ibm champion

2014年12月3日にIBMより「IBM welcomes you as a 2015 IBM Champion!」というメールが届き、2015 IBM Champions for ICSに初めて任命されたことを知りました。

大変名誉なことであり、嬉しいと共にIBM Championとしてこれからもっとコミュニティの発展に寄与していけるようにと、改めて気が引き締まる思いです。

なお、日本から選出されたIBM Championは以下の6名です。

阿部 覚 様 (ネオアクシス株式会社)
海老原 賢次 様 (リコーITソリューションズ株式会社)
加藤 満 様 (チームスタジオジャパン株式会社)
田付 和慶 (KTrick 合同会社)
御代 政彦 様 (株式会社エフ)
吉田 武司 様 (株式会社ソルクシーズ)

おめでとうございます!

2014年は沢山の素晴らしい方々に出会い、お仕事をする機会に恵まれた年であったと思っています。

近いところでは、XPagesDay 2014 でセッション講師を勤めさせて頂いたり、その他 IBM XCITE Autumn 2014 を初めノーツコンソーシアム 等でもセッションを持つ機会を頂きました。

IBM Championとして来年からの抱負・・・

IBM側でIBM Champion を選出するにあたり以下の様なことを基準にされているようです。

  • IBM Collaboration Solutionsを広める
  • 知識と専門技術の共有
  • コニュニティへの貢献と成長の支援
  • IBM ポートフォリオ全体に範囲を拡大
  • ネガティブ、ポジティブ両方のフィードバックを建設的かつ専門的な方法で提供する

自分としては、今までIBMでの開発を全くしたことがないような人に対しても、IBM ICSソフトウェアに興味を持ってもらえるような活動をしていきたいと考えています。

仕事など関係なく「面白いから」という理由でNotes/Dominoを初めICS製品を使ってくれるようになっていければ理想ですね。

また、今年一年、国内のユーザー様、パートナー様の開発現場に触れる機会が何度かありましたが、実は高い技術力で開発を行っている会社様が多数ありました。 さすが日本は技術大国だなと関心させられました。

日本とアメリカでICSに触れていた経験を活かし、日本初の情報を世界に少しずつ発信することで、「日本もまだまだ世界に負けてませんよ!」という印象を世界に持ってもらいたいと思っています。

 どうぞよろしくお願いします!


XCITE Autumn 2014

IBM XCITE 2014 AutumnのXPagesセッション スライドの公開

IBM XCITE 2014 Autumn (2014/9/12)にIBM Japan 佐藤淳さんと行ったXPagesセッション 【K-2】「XPagesで革 新!こ れからのNotes/Domino アプリケーションの新常識」で使用したスライドが公開されました。

XPagesのセッションとして、とても高い評価を頂いたセッションのスライドになりますので、まだ見たことのない方は是非ご確認ください!


XPagesDay 2014 イベントの申込開始!

XPagesDay 2014

XPagesDayの熱い二日間が今年もやってきます!

2013年も大成功に終わったXPagesDayが今年もやってきました。

今回は全てオンラインセッションとなっているので日本全国どこからでも参加できるイベントになっています。

当日は、自分も若輩ながらセッションを一つ講演させていただきます。

【A-3】「SSJSでも使える!Javascriptでオブジェクト指向プログラミング入門」

皆様、是非ご参加ください。

日時: 
    11 月 18 日(火)、19 日(水)の2日間

場所:
    すべてオンラインのセッション

主催:
    チームスタジオジャパン株式会社

参加費:
    無料 / 事前登録制

詳細、申込みはこちらから » http://www.xpagesday.com/xpagesday.nsf/sessions.xsp

 


2014/10/3、ノーツコンソーシアム 大阪地区研究会にてXPages事例紹介をさせて頂きます。

弊社のソリューションよりNotes/DominoとXPagesを用いたBtoC、BtoB 事例を開発者の方向けにご紹介致します。

当日はご来場の皆様に弊社作成のXPagesサンプルアプリケーションの無料配布を予定しております。

日時: 10月3日(金) 13:00-17:30
場所: IBM大阪事業所

13:00-15:00 研究会メンバーの話 (困っていること、SKILLなど)
15:30-16:30 事例 XPages事例(ケートリック 田付氏)
16:30-17:00 EXCITE Autumn のフィードバック(IBM)
17:00-17:30 次回開催について討議(全員)