Comments
Description
Transcript
XPages 8.5.2 新機能について Lotusphere
® IBM Software Group Software Service Lotusphere Comes to You 2011 IBM ソフトウェア アクセラレイテッド・バリュー・プログラム 活動事例紹介 XPages 8.5.2新機能について 日本アイ・ビー・エム 株式会社 ソフトウェア アクセラレイテッド・バリュー・プログラム 池部 敦巳 IBM Software Group Software Service 特記事項 本資料の記載内容は、できる限り正確を期すよう努めてはおりますが、いかなる明 示または暗黙の保証も責任も負いかねます。 本資料の情報は、使用先の責任において使用されるべきものであることを、あらかじ めご了承ください。 掲載情報は不定期に変更されることもあります。他のメディア等に無断で転載する 事はご遠慮ください。 当資料をコピー等で複製することは、執筆者の承諾なしではできません。 また、当資料に記載された製品名または会社名はそれぞれの各社の商標または登 録商標です。 IBM、IBMロゴ、Lotus、Lotus Notes、Lotus Domino、WebSphereは、International Business Machines Corporationの米国およびその他の国における商標。 Microsoft, Windows, Windows NT および Windowsロゴは Microsoft Corporationの米国およびその他の国における商標。 -2All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service はじめに 当資料は、Lotus Domino をご利用頂いている環境で、XPages 8.5.2での新機能のご紹介を 目的としています。 以下の点にご留意ください。 当資料は Lotus Domino 8.5.2 日本語版ベースに作成しております。 一部機能やNotesクライアントからXPagesを利用する機能(XPiNC)については省略して あります -3All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service Source に直接ドラッグ&ドロップ データやコントロールパレットから、XPages の Source に直接ドラッグ&ドロップできるようになりました。 -4All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service チェックボックスグループとラジオボタングループ リソースの種類追加 チェックボックスグループ と ラジオボタングループコント ロールをサポートするようになりました スタイルシートを含む様々なリソースをサポートす るようになりました -5All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service コントロール宣言スニペット Dojo属性 コントロール宣言スニペットが追加されたことにより、 Xpage コントロールをJavaScriptオブジェクトで 素早く作成できるようになりました。 Dojoタイプ及び属性をXpageのコントロールに使 用できるようになりました -6All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service 署名とバージョン 全ての設計要素に署名が行えるようになりました 設計要素の保存に使用したDesignerの バージョンが表示されるようになりました。 -7All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service 開くダイアログと作業セット アプリケーションを開くダイアログが変更になり、作 業セットがに追加することが可能になりました アプリケーションを開く・作成時の、作業セットへの 追加方法の設定及び、特定のWork Setからア プリケーションを削除する方法が追加されました -8All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service Accessibility ARIA WC3 の アクセシブル・リッチ・インターネット・アプリケーション (WAI-ARIA) 1.0 をインプリメント JAWA のようなスクリーンリーダーが HTML ページに関するコンテキスト情報を取得するのに利用 XPages で用意されているコントロールについては [Properties] タブ - [All Properties] タブに [role] プロパ ティが追加 ARIA のロールを入力 menuitem, menuitemcheckbox listbox 等 -9All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service ARIA とは WAI-ARIA(ウェイ-アリア) とは、Web Accessibility Initiative-Accessible Rich Internet Applications の 略で、W3C が現在、勧告に向けて策定作業を進めているリッチなインターネットアプリケーションのアクセシビ リティに関する仕様書のことです。 JavaScript や Ajax などを使用した動的なコンテンツは、スクリーンリーダーやキーボード操作では利用でき ないことがあります。WAI-ARIA は、そういった問題を解決すべく、W3C の Protocols and Formats ワーキン ググループ (PFWG) において策定されています。 - 10 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service Extensibility APIs XPages の機能を拡張するための API XPages の標準コントロールにはない独自のコントロールをプラグインとして開発してDomino Designer や Domino サーバー上にライブラリとしてデプロイできる <参考> XPages Extensibility API Developers Guide http://www10.lotus.com/ldd/ddwiki.nsf/dx/Master_Table_of_Contents_for_XPages_Extensibility_APIs_Developer _Guide - 11 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service CKEditor rich text editing :CKEditor のサポート Notes/Domino 8.5.2 からリッチテキストコントロールが変更になり、CKEditor (http://ckeditor.com)というモ ジュールが Xpage のデフォルトのリッチテキストコントロールになりました。 このモジュールは、イメージの埋め込み、表、リンク、エモティコンをサポートします。 Domino 8.5.1 までの表示 Designer 8.5.2 での表示 - 12 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service CKEditor rich text editing:ツールバーの表示の調整 ツールバーの表示を調整することができます リッチテキストコントロールを選択して、[Dojo] タブをクリックし、dojoAttributes プロパティ で、 toolbarType という名前の属性を追加します。 デフォルトは Medium で、Slim と Large に変更できます。 9 Slim 9 Medium 9 Large 元の Dojo rich text editor に戻すこともできます リッチテキストコントロールを選択して、 [Dojo] タブをクリックし、Dojo type プロパティで、 ibm.xsp.widget.layout.RichText という名前の属性を追加します。 もしくは、以下のようなテーマをアプリケーションに割り当てます。 <!-- Rich Text --> <control> <name>InputField.RichText</name> <property> <name>dojoType</name> <value>ibm.xsp.widget.layout.RichText</value> </property> </control> - 13 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service 複数指定可能なビューのカテゴリフィルター Notes/Domino 8.5.1 のXpages では、ビューパネルは、一つのカテゴリフィルタでしか動 作しませんでした 8.5.2 では、複数のビューカテゴリフィルターが使用可能になりました バックスラッシュにより区切られたリストとして、それらを扱うことができるようになりました ビューのカテゴリフィルターは、Xpages のビューコントロールプロパティタブのデータセク ション内で設定可能 また、以下のように URL からも、指定する ことが可能 http://myserver.ibm.com/xpages.nsf/ ViewCategoryDemo.xsp? categoryFilter=Burlington, MA¥Ewing - 14 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service ビューのスタートキーを指定 Xpages 開発者は、ビューのデータソースのスタートキープロパティを使用してセットす るデータ集合の中で、ビューのコンテンツを特定の行からはじめることを指定可能。 - 15 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service ビューの最後のページへ移動 Xpages 開発者は、ビューのラストページを計算可能なページャーコントロール内のオプ ションを指定できる。そのため、ユーザーは、1 ページずつスクロールする必要なく、最 後のページに直接移動する事ができる。 ラストページを計算することは、パフォーマンス的に望ましくない点に注意する必要があ る。 移動するページが5ページぐら いだと、ラストページへの矢印 は表示される(これは 8.5.1 で も表示可能であった)。 あくまで、移動するページが 10、 20 と大きい場合に、ラストペー ジへの矢印が表示されるという プロパティ - 16 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service メモリ内の文書に対する処理 概要 呼び出し元で作成されたメモリ内の文書を Java エージェントに渡す強力な関数が追加されました。 Agent.runWithDocumentContext() は、エージェントを実行し、メモリ内の文書を渡します。 エージェントの中でメモリ内の文書をアップデートできます。そして、制御が XPage 側に戻るとき、文書からアップデー トされた値を取得することができます。 メモ: Domino サーバーで実行されるエージェントコードは、エージェントのプロパティのセキュリティタブで [Run as Web User] を選択する必要があります。 メモリ内の文書の取得 エージェント側では既存の API を経由してメモリ内の文書にアクセスすることができます。 例 Java: public Document AgentContext.getDocumentContext() LotusScript: Dim doc As NotesDocument Set doc = NotesSession.DocumentContext - 17 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service Agent.runWithDocumentContext() が実行できる条件 新しい Agent.runWithDocumentContext() API の実行が許可されるシナリオとしては、以下の表の ようになります。 - 18 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service Agent.runWithDocumentContext()の例 Xpage 側の Server Side Script のサンプル var cominput = getComponent("inputText1"); var comoutput = getComponent("inputText2"); var paramin = cominput.getValue(); print (paramin); var doc = database.createDocument(); doc.appendItemValue("Input",paramin); Java エージェント側のサンプル import lotus.domino.*; public class JavaAgent extends AgentBase { public void NotesMain() { try { System.out.println("agent start"); Session session = getSession(); AgentContext agentContext = session.getAgentContext(); var agent:NotesAgent = database.getAgent("testagnt"); agent.runWithDocumentContext(doc); comoutput.setValue(doc.getItemValueString("Rating")); Document doc = agentContext.getDocumentContext(); String input1 = doc.getItemValueString("Input"); System.out.println(input1); //String rating = "Not Found"; doc.replaceItemValue("Rating", input1); } catch(Exception e) { e.printStackTrace(); } } } - 19 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service Agent.runWithDocumentContext()の例 input で値を入力し、[run] を押すと、input の値がエージェントに渡され、その input の値が xpage に渡され、output に入力されます。 - 20 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service Shared design elements:8.5.1 以前の動作 9 Xpages は、各 NSF を 別々の J2EE モジュールとして扱う。 9 そして各環境で実行され、各オブジェクトがロードされる。 9 これにより、各 NSF が完全に独立している。 NSF が同じ XPages を共有する場合の問題点 9 一つの NSF モジュールは、同じテンプレートから要素を引き継いだデータベースにより動作しているが、 それはサーバーリソースの観点から、同じオブジェクト(設計要素、Java クラス...)が各 NSF、メモリ内 の保持データから独立して読まれるのは最適な方法ではない。 9 また、ブラウザの観点からも、同じリソース(.js、.css...)が異なる URL から読み出され、非効率にブラ ウザにキャッシュされるのは最適ではない。 - 21 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service Shared design elements: 8.5.2 からの動作 9 ひとつの NSF 内に、Xpages 設計要素(Xpages、カスタムコントロール、CSS、JSライブラリ、テー マ)を保持しておく方法がある。 9 このとき、各データベースインスタンスは、Designer 内で新たに利用可能なデータベースとして、共 通の“テンプレート” データベース を参照することができる。 方法 9 Designer のアプリケーションを右クリックして、アプリケーションを選択 ->プロパティ->Xpages タブか ら、パフォーマンスセクションに移動する。 9 [シングルコピー Xpages 設計] が有効になっていれば、実行時に現在の DB の代わりに、"テンプ レート"データベースから関係する設計要素を使用する事ができる。 - 22 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず IBM Software Group Software Service Shared design elements:制限事項 9 “テンプレート”データベースは、NSF として存在する。NTF ではない。 9 いくつかの旧設計要素(ビュー、フォーム、エージェント...)は、これまでと同様、各NSF内に存在する。あくまで、 Xpages 設計要素が共有できる。 9 Xpages 設計要素は、インスタンス毎にオーバーライドできない このような機能を実装することは、技術的には可能ではあるが、パフォーマンスに悪い効果が現れる。 9 [シングルコピー Xpages 設計]を変更して、反映させるためには、HTTP タスクを再起動させる必要がある。 注意:共有データベースが存在しない場合には警告が出力され、設定が無視される。しかし動作する。ただし メモリの最適化は行われない。 例:サーバー上の XPages を使ったデータベースがクライアントローカルにレプリカされた場合。 - 23 All Rights Reserved, Copyright(c) IBM Software Group 無断複製、転載を禁ず