IBM Notes/Domino
で
Embedded Experience
を実現する
テクてく Lotus 技術者夜会 開発者編
2013/09/20 ICS Technical Sales & Solutions
Embedded Experience
新たな「通知」のためのテクノロジー • より便便利利かつ対話的な「通知」を実現 • Activity Stream とメールに対応
• IBM Connections (AS)
• IBM Connections Mail (メール) • IBM Notes (AS, メール)
• IBM iNotes (メール)
• IBM SmarterCloud for Social
Business (AS)
• データフォーマット • XML + JSON
Embedded Experience
の例例
Activity Stream +
Embedded Experience
Embedded Experience
の例例
Activity Stream +
Activity Stream + Embedded Experience
仕組み
アプリケーション イベント アプリケーション・ガジェット ActivityStreams OpenSocial ガジェット Activity Stream Embedded Experience IBM ConnectionsActivity Stream
のデータフォーマット
{
"actor": {"id": "123"}, "verb": "post",
"title": "${Actor} has shared some wisdom with you !",
"updated": "2012-‐‑‒01-‐‑‒01T12:00:00.000Z", "object": {
"summary": "Daily pearls of wisdom", "objectType": "note", "id": "wisdom1", "displayName": "Wisdom", } "opensocial": { "embed": { "gadget": "http:// inspirationalgadget.googlecode.com/svn/ trunk/wisdom.xml", "context": {"id":"12345"} 主要素の役割 Actor: • IBM Connections や 外部アプリケーションの識識別⼦子 Verb: • 動詞、IBM Connections の場合 投稿を表す”post”が使⽤用される Title: • イベントの題名 Updated: • イベントの発⽣生時間 Object: • 対象物(アプリケーション)の詳細 Opensocial: • Embedded Experience で利利⽤用する
Embedded Experience
の例例
Activity Stream +
Embedded Experience
Embedded Experience
メールの仕組み
アプリケーション メールボックス アプリケーション・ガジェット メールデータ OpenSocial ガジェット または URL Inbox Embedded Experience IBM DominoEmbedded Experience
メール
Embedded Experience のデータモデルを メールのデータモデル内に埋め込むことで実現 Embedded Experience で表現するアプリケーションの情報を MIME マルチパートを利利⽤用して埋め込む事で実現 • Content-‐‑‒Type: application/embed+json アプリケーションの情報は JSON で記述 • OpenSocial ガジェットを利利⽤用した場合 • URL を利利⽤用した場合 { “gadget” : “http://acme.com/gagdet.xml”, “context” : { “id” : 123 } }Embedded Experience
メールのソース例例
……… Content-‐‑‒Type: multipart/alternative; boundary="-‐‑‒-‐‑‒-‐‑‒-‐‑‒=_̲Part_̲1178_̲1446913533.1346048125267" -‐‑‒-‐‑‒-‐‑‒-‐‑‒-‐‑‒-‐‑‒=_̲Part_̲1178_̲1446913533.1346048125267 Content-‐‑‒Transfer-‐‑‒Encoding: 7bitContent-‐‑‒Type: text/html; charset=us-‐‑‒ascii Here is your context:
-‐‑‒-‐‑‒-‐‑‒-‐‑‒-‐‑‒-‐‑‒=_̲Part_̲1178_̲1446913533.1346048125267 Content-‐‑‒Transfer-‐‑‒Encoding: 7bit
Content-‐‑‒Type: application/embed+json
{ "gadget": "http://eedemos.opensocial2.org/tutorials/ helloEE.xml", "context": { "message": "Hello World" } }
Embedded Experience
メールのソース例例
From: notifications@socialnetwork.com To: johndoe@example.com
Subject: Social Network: Mary Has Commented On Your Status MIME-‐‑‒Version: 1.0
Content-‐‑‒Type: multipart/alternative; boundary="XXXXboundary text" Mary has commented on your status.
-‐‑‒-‐‑‒XXXXboundary text Content-‐‑‒Type: text/plain
Mary has commeneted on your status. -‐‑‒-‐‑‒XXXXboundary text Content-‐‑‒Type: text/html <html> <!-‐‑‒-‐‑‒ HTML representation here -‐‑‒-‐‑‒> </html> -‐‑‒-‐‑‒XXXXboundary text Content-‐‑‒Type: application/embed+json { "url" : "http://domino.com/myxpage.xsp"
Embedded Experience
を利利⽤用した「通知」
Your App OpenSocial Gadget Activity Stream メールEmbedded Experience
に必要なモジュール
IBM Domino • OpenSocial ⽤用のコンポーネント • 別インストーラーで導⼊入 • http://www.ibm.com/support/docview.wss? uid=swg21627468 • ウィジェットカタログや OAuth トークンストア • NSF アプリケーション IBM Notes • OpenSocial ⽤用のコンポーネント • IBM Notes のインストーラーで選択 IBM iNotes • notes.ini の設定IBM Domino
の設定
• OpenSocial ⽤用のコンポーネントの導⼊入 • NEK (Named Encryption Key) の作成
• OAuth トークンストア (資格情報ストア) の作成 • ウィジェットカタログの作成および設定 • 管理理アカウントの作成 • ポリシーの作成 • デスクトップポリシー • セキュリティポリシー • メールポリシー (IBM iNotes の場合のみ必須) • その他 • SSO の設定 • notes.ini パラメータの設定 • Locked/Unlocked ドメインの設定
Embedded Experience
メール実現のステップ
• Embedded Experience メール⽤用の OpenSocial ガジェットの準備 • OpenSocial ガジェットの登録 • OpenSocial ガジェットの承認 • Embedded Experience メールの作成 • XPages のシンプルアクション• Notes Java API • etc…
OpenSocial
ガジェットの登録
(1/3)
• Embedded Experience で利利⽤用する OpenSocial
ガジェットは事前に IBM Notes に登録する必要がある
• URL を利利⽤用する場合も同様に事前登録が必要 • Notes ウィジェットを利利⽤用して登録を⾏行行う
OpenSocial
ガジェットの登録
(2/3)
• Notes ウィジェット作成ウィザードを⽤用いて
OpenSocial ガジェットを取り込む
OpenSocial
ガジェットの登録
(3/3)
• Embedded Experience を実現するための
フィーチャーを有効にする
OpenSocial
ガジェットの承認
(1/2)
• OpenSocial ガジェットを実⾏行行するためには管理理者の 承認が必要 • セキュリティ上の理理由 • 承認にはウィジェットカタログを利利⽤用 • 登録した OpenSocial ガジェットを ウィジェットカタログに登録 • サーバー上のウィジェットカタログで作業するOpenSocial
ガジェットの承認
(2/2)
• 管理理権限(Admins ロール)を持つユーザーが ウィジェットカタログに登録された⽂文書にアクセス • ⽂文書を編集モードにする • 「レビュー」ボタンをクリック • セキュリティセクション内の「承認」ボタンを クリックOpenSocial
ガジェットの動作確認
• 承認された OpenSocial ガジェットの動作を確認 • マイ・ウィジェットサイドバーから実⾏行行
• 承認後に複製タスクを実施し、ローカルの
(
参考
) OpenSocial
ガジェットソース
<?xml version="1.0" encoding="UTF-‐‑‒8"?> <Module>
<ModulePrefs title="Hello EE World">
<Require feature="embedded-‐‑‒experiences" /> </ModulePrefs> <Content type="html"> <![CDATA[ <script type="text/javascript"> function setUrl(){
var ctUrl = "http://ja.collaborationtoday.info/"; document.getElementById("loadPage").src = ctUrl; } window.onload = setUrl; </script> <div id="hello">
<h3>Hello Embedded Experiences World</h3> </div>
Embedded Experience
メールの作成
Embedded Experience
メールの作成
(
おまけ
)
Embedded Experience
メールを開く
Embedded Experience
メールを開く
(
おまけ
)
(
参考
) EE
メールでパラメータを扱う
<script type="text/javascript"> var context; function init(){ opensocial.data.getDataContext().registerListener('org.opensocial.ee.context', function(key) { context = opensocial.data.getDataContext().getDataSet(key); document.getElementById('eeContext').innerHTML = JSON.stringify(context); }); } gadgets.util.registerOnLoadHandler(init); </script> <div id="hello"><h3>Hello Embedded Experiences World</h3> I am an EE gadget.<br>
My context is: <span id="eeContext">[Context will go here]</span> </div>
XPages
の
EE
メール対応
XPages アプリ メールボックス XPages アプリのページ メールデータ 埋め込み画⾯面⽤用の URL Inbox Embedded Experience IBM DominoXPages
を
EE
メール対応させる際のガジェット
• Embedded Experience メールで表⽰示したい Xpages アプリの URL を利利⽤用するのが⼀一般的 • OpenSocial ガジェット化しての対応も可能 • ガジェット登録時に Embedded Experience メールで 利利⽤用するための設定が必要 • その際の URL 指定にワイルドカードを利利⽤用可能XPages
を
EE
メール対応させる際のメール設定
• XPages のシンプルアクションである 「メールの送信」を利利⽤用 • 埋め込みたいアプリケーションの URL を 「HTML URL」に⼊入⼒力力 • 計算結果を指定することも可能認証情報の引き継ぎ
• IBM Notes のユーザー権限で Embedded Experience
で表⽰示される XPages アプリを開くことが可能
認証情報の引き継ぎ – 設定⽅方法
• IBM Notes のプリファレンスでアカウントを作成 • サーバーに IBM Domino を指定
参考資料料
• IBM Domino 9.0 Social Edition OpenSocial
Component Deployment Cookbook (英語)
• http://ibm.co/15eLpVV
• IBM Notes で OpenSocial Gadgets を利利⽤用する
• http://ibm.co/11zOXLn
• IBM iNotes で OpenSocial Gadgets を利利⽤用する
• http://ibm.co/164AgnM
• Embedded Experience メールを試す
• http://ibm.co/17QTopV
• XPages アプリケーションで Embedded Experience
特記事項
• 本資料料の記載内容は、できる限り正確を期すよう努めてはおりますが、 いかなる明⽰示または暗黙の保証も責任も負いかねます。 • 本資料料の情報は、使⽤用先の責任において使⽤用されるべきものであること を、あらかじめご了了承ください。 • 掲載情報は不不定期に変更更されることもあります。他のメディア等に無断 で転載する事はご遠慮ください。 • 当資料料をコピー等で複製することは、執筆者の承諾諾なしではできません。 • また、当資料料に記載された製品名または会社名はそれぞれの各社の商標 または登録商標です。IBM、IBMロゴ、DB2、Lotus、Lotus Notes、Lotus Domino、Quickr、Sametime、Workplace、WebSphereは、International Business Machines Corporationの⽶米国およびその他の国における商標。 JavaおよびすべてのJava関連の商標およびロゴは Sun Microsystems, Inc.の⽶米国およびその他の国における商標。
Microsoft, Windowsは Microsoft Corporationの⽶米国およびその他の国における商標。 Linuxは、Linus Torvaldsの⽶米国およびその他の国における商標。 他の会社名、製品名およびサービス名等は、それぞれ各社の商標。