40
A-2】ノーツスタンダードクライアントで、 XPagesを使ってみよう 株式会社ソルクシーズ 吉田武司

XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

Embed Size (px)

DESCRIPTION

XPagesDay 2014 【A-2】ノーツスタンダードクライアントで、XPagesを使ってみよう

Citation preview

Page 1: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

【A-2】ノーツスタンダードクライアントで、XPagesを使ってみよう

株式会社ソルクシーズ

吉田武司

Page 2: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

自己紹介株式会社ソルクシーズ吉田武司

– developerWorks:一週間で学ぶ XPages 開発入門 (初級編)

http://www.ibm.com/developerworks/jp/lotus/education/xpages-1week/

– その他• 簡易ワークフロー

http://goo.gl/EPqih5

• その他サンプルプログラム(掲示板など)https://www.ibm.com/developerworks/community/files/app?lang=ja#/person/270002CF31

– 弊社情報サイト「菜緒さんの企画ノート」でグループウェアについて執筆

http://naosan.info/

Page 3: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

XPages の活躍できるケース

Page 4: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

XPages の活躍できるケース

• ノーツのWeb化

–旧来の技術だけでは基本的に古いデザインとなる。

–今どきの新しいUI、インターフェースで開発できる。

• モバイル対応

–画面サイズの関係から旧来のデザインでは使いにくい。

–モバイル用のコントロールなどを活用することで開発効率が上がる。

Page 5: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

まだまだ知名度、普及率は低い?(1)

技術的な問題

・昔より情報は増えてきたがまだまだ少ない・技術者が少ない

コミュニティーの活用

・テクてく技術者夜会・qA9 for ICS(Lotus)

Developers

・XPagesDay などのイベント

Page 6: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

まだまだ知名度、普及率は低い?(2)

モバイル利用環境やポリシーの問題

ポリシーや費用の問題があり、なかなか進まない

・セキュリティーポリシーの改定

・インフラ整備

Page 7: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

XPages の活躍できるケース

他にはないの?

Page 8: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

あります!

XPages はブラウザだけではなく、ノーツスタンダードクライアントでも動きます

OK OKブラウザ ノーツスタンダードクライアント

Page 9: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

スタンダードクライアントのおさらい

• 基本的な機能は、ベーシック版と同じ。それにプラスαされています

• 利点– メールやカレンダーの UI、機能の違い– サイドバーやコンポジットアプリケーションが使える

• 欠点– 最近のPCであれば問題はないですが、要求スペック(特にメモリ)が高め– 重い

• スタンダードクライアントを利用しているユーザー様も多いと思います

Page 10: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

XPages が活躍できるケース

• ノーツクライアント上で、XPages標準の様々なコントロールに加えて、Dojo や jQuery、その他のライブラリも利用可能!

• 既存のノーツクライアントでは実現できなかった機能が開発できる。拡張的な意味あいで利用してみては?

• この技術(XPinC:XPages in Notes Client)のおかげでXPagesがスタンダードクライアントで使えるようになりました。(Notes 8.5.1 以降)

※読み方はエックスピンク?ナンカ、イイヒビキデスヨネ

Page 11: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

XPinC の利用イメージ

Page 12: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

XPinC を利用する利点(1)

• 従来のノーツアプリケーションでは実装が難しかった表現が可能

– グラフ

– 地図の表示などの社内/社外のWeb

サービスの利用

– タイムライン

– スライドバーやツリー構造などの UI

– 動きのあるデザイン

– タブレット対応(タッチ)?Dojo Chart の例

Page 13: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

XPinC を利用する利点(2)

• これらを組み合わせれば、Welcome ページよりもリッチなポータルも作成可能

Dojo ウィジェットの例

Page 14: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

クライアントでのイメージ

グラフ ポータル タイムライン風お知らせ

Page 15: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

Demo

Page 16: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

例:ポータル

Page 17: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

グラフ

Page 18: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

DataGrid

Page 19: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

表示する期間を動的に変更できるグラフ

Page 20: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

一定周期でグラフを描画

Page 21: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

• スモールスタート– 単体のアプリケーションから始められる

– すべてのアプリケーションを Web 化するところからはじめなくてもよいのでXPages を小さく始めるには最適

XPinC を利用する利点(2)

XPages 最初は1DBからでもOK!

こんなにたくさんは大変だ!

助けて〜

1DBならなんとかなりそう

Page 22: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

XPinC を利用する際の注意点

• UI が Web ベース。ノーツクライアントとは違うのでユーザーが混乱しないような UI を意識する必要があり。

• 開発対象とするアプリケーションの選定も重要

–ボタンのデザインや配置がノーツクライアントと違い過ぎないように注意

–編集した文書を保存せずに閉じようとした時に警告が通知されない

–右ダブルクリックで閉じられない

Page 23: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

XPinC の技術的な話

Page 24: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

Web ブラウザからアクセスする場合

ブラウザ

Web Container

Xpages Runtime

NSF

設計要素

Domino Server

Page 25: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

XPages in the Notes Client の場合

ブラウザ

Web Container

Xpages Runtime

NSF

設計要素

Domino Server

Notes Client

ローカルNSF

設計要素

オフラインでもローカルで利用可能

内部的にはローカルで動作

Page 26: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

XPages in the Notes Client の場合(補足)

• Domino 9 ではデータベースプロパティの「起動」タブにサーバー上で動かすオプションがつきました。

「サーバーベースの Xpages アプリケーションをサーバー上で直接…」

Page 27: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

XPinC で動かすために必要なことは?

• 面倒な設定が必要なの?

簡単です!ノーツDBのアプリケーションプロパティの「起動」タブで「指定された XPages を開く(標準クライアント)」を設定するだけ!!

Page 28: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

開発の注意点

• 内部で動いているブラウザの違いを意識する必要あり

• Firefox 系の XURunner で動いている

• ブラウザでプレビューしている時とは、違うブラウザで動いている

• 私は Firefox を基本に動作確認して、最終的に XPinC での動作を確認する手順で開発しています

Page 29: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

認証の違い

• 認証/セキュリティ

– Web ブラウザからアクセスする場合

• 通常の Domino Web アプリケーションと同様に認証画面が表示される

– XPinC でアクセスする場合

• ノーツクライアントにログインしているユーザーIDで Xpages にアクセスする

• 操作制御リスト(ECL)も働く

• セッションタイムアウトなどを特に意識する必要がないので楽?

Page 30: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

XPinC の小ネタ

Page 31: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

Web と XPinC の違いを判定したい場合

• @ClientType を使う方法

• <xp:XXXXX.rcp> タグを使う方法

if (@ClientType() == “Notes”) {

// Notes クライアントの場合の処理} else if ( @ClientType() == “Web”) {

// Web クライアントの場合の処理}

<xp:label value="Web ブラウザ" id="label1" rendered="true">

<xp:label.rcp value="Notes クライアント" rendered="true"></xp:label.rcp>

</xp:label>

Page 32: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

編集した文書を保存せずに閉じようとした時にダイアログで通知する

• XPagesのすべてのプロパティ

– enableModifiedFlag• True をセットしておくと、ページを閉じたり、遷

移する時に入力値が変更されていれば、ダイアログで通知してくれる

– modifiedControl• 保存する時に実行されるように関連付けるコントロールを指定(例:保存ボタン)

– modifiedMessage• ダイアログに表示するメッセージ

• 但し、ノーツクライアントではデフォルトのメッセージが表示される?ようだ

Page 33: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

編集した文書を保存せずに閉じようとした時にダイアログで通知する

• enableModifiedFlag プロパティを有効にしておくと画面を閉じたり、遷移しようとするとダイアログで通知される

• 編集したフィールドから一度”移動しないと”働かないので注意

• シンプルアクションのページを開くでは働かない

Page 34: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

Esc キーで閉じるのを防ぎたい

• onClientLoad イベントで Esc キーを検知してブロックする

– DontPanic - a blog about Lotus Notes / Domino

http://goo.gl/Rikd2Z

dojo.addOnLoad( function(){

dojo.connect( document, 'keydown', function(e){

// 27 -> Key code for ESC -> stop event

if(e.keyCode === 27){

alert("ESC キーは無効です。");

dojo.stopEvent(e);

}

});

});

Page 35: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

ノーツアプリケーションを開きたい場合

• Notes:// で始まる URL を利用

例:

Notes://domino1/49257D150019584C/BorderFrame?OpenFrameset&view=B8639AE93C74170B482572DD002BD737

[アドレス] ツールバーを表示 リンクしたいノーツアプリケーションを開いて、表示されるアドレスをコピー

Page 36: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

まとめ

Page 37: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

• ノーツクライアントの表現方法を広げる技術です。アイデア次第でいろいろできます。面白いアイデアがあったら教えてください!!

• スタンダードクライアントを利用している方はもし機会があれば利用の検討をしてみてはどうでしょうか?

• ベーシッククライアントのユーザー様はスタンダートクライアントにする利点の一つとしてみてください。XPages 以外にもサイドバーなど便利な機能が増えます。個人的にはカレンダーのオーバーレイが便利です。私はノーツのスケジュールと google のカレンダーを同時に表示して使っています。

Page 38: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

参考文献

• developerWorks– IBM Lotus Notes/Domino 8.5.1 における XPages 新機能

http://www.ibm.com/developerworks/jp/ysl/library/lotus/y-lot-xpages851newfunction/

• IBM Notes and Domino Application Development wiki– XPages in the Notes Client - Security

http://www-10.lotus.com/ldd/ddwiki.nsf/dx/XPages_in_the_Notes_Client-Security

• CodeZine– 「Dojo道場」~実用アプリ構築のためのベストプラクティス

http://codezine.jp/article/corner/397

Page 39: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

Q&A

Page 40: XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう

ご清聴ありがとうございました!