投稿

6月, 2011の投稿を表示しています

Domino Designer の JavaScript エディターをあなた用に

イメージ
今回はちょっとした小ネタといったところでしょうか。

DDE (Domino Designer on Eclipse) で JavaScript を書くときに、あると便利なのが、エディターで行番号を表示させること。
デフォルトのままでは、行番号が表示されず、DDE の環境になって間もないという方の中には、エディターのカスタマイズができることを知らなかったという方も多いのでは。

行番号を表示するには、
Domino Designer のプリファレンスで、
[一般] - [エディター] - [テキストエディター]を選択します。

「行番号の表示」にチェックすると、下図のような感じで行番号が表示されます。
行番号だけでなく、前景色、背景色などなど自分の好みに合わせることもできますので、一度確認してください。

XPages と読者名フィールド

先日、社内で少々議論になったことがありました。
それは XPages は「読者名」フィールドを完全にサポートしているのかといった話題です。

既存のワークフローアプリを XPages アプリとして利用したい場合、読者名フィールドでのセキュリティを使用している場合が多いと思いますので、皆さんもご自分の環境でテストしてみるといいでしょう。

この件に関して、ある人は、サポートしていると言い、またある人は完全にサポートしていないという主張に分かれました。

ビュー表示
サポートしているという人の主張はこうです。
読者名でセキュリティがかかっているノーツビューをバインディングして XPage 上に表示すれば、クライアントで見たそのとおりの内容で出てくるので、読者名フィールドは効いているというものです。
したがって、セキュリティの観点から XPages で見れる文書とノーツクライアントで見れる文書には違いはなく、読者名フィールドを XPages はサポートしているというものです。

XPage 上で使用できるコントロール
逆に、完全にサポートしていないという人の主張は、Notes 特有といってよい「読者名」フィールドなるものが、JSF 準拠の XPages にはあるはずがなく、「読者名」フィールドとして扱える XPage 上のコントロールがないことから由来します。
読者名をデータバインディングして使用できるコントロールは、たとえば、編集ボックスなどのテキストです。

XPages でのミステリー
ノーツクライアントアプリを考えてみてください。フォーム上には読者名アイテムがあります。この読者名フィールド設計をテキストの属性に変更して保存すると、読者名フィールドだったフィールドは、テキストフィールドに置き換わってしまいます。
フィールド属性を設計で変えなくても、LotusScript で読者名アイテムに値をテキストで代入すると読者名の属性が消えてテキストの形式に置き換わってしまいます。


さて、XPages ではどうなるでしょう。XPage 上で読者名フィールドを「編集テキストコントロール」にデータバインディングして、値を修正後保存し、ノーツ文書上の読者名フィールドがどう変わったを確認しました。すると、ノーツ文書上のこの読者名フィールドは、テキストに置き換わることなく、読者名の属性を持ったまま保…

Domino Designer 8.5.3 プリビュー

イメージ
まもなく、Notes/Domino 8.5.3 のリリースが間近に迫ってきました。先週 Code Drop 5 というベータ版がリリースされています。フォーラムの中で Code Drop 5 からブログなどに機能の紹介をしてもよいというスレッドがあり、いま海外でも最近頻繁にこれが話題にのぼっているようです。

遡って、Lotusphere 2011 のセッションの中でも 8.5.3 の機能がどんなものになるかが話に出てきていたそうで、かなり早い段階でその機能概要があちらこちらのブログで紹介されていました。たとえば、この記事は 3 月に出されたものですが、ベータ版 Code Drop 5 を見る限り、機能に関してはその時点と比べて大きな追加も削除もなく、順調に予定通り仕上がってきている感があります。

今回は Domino Designer 8.5.3 を中心に新機能をご紹介します。
初めにお断りしておきますが、ここでの記載の内容に関して以下のDisclaimerが付きますのでご了承ください。

DISCLAIMER :
"This is beta software from IBM and does not represent a commitment, promise or legal obligation by IBM to deliver, in a future release of Notes/Domino or Lotus Notes Traveler, any material, code or functionality described/shown in this presentation."
加えて、ベータソフトに出てくるユーザーインターフェースは正式な製品版と異なる可能性があり、機能の日本語訳も正式なものではありません。

Java設計要素の追加
Domino アプリとりわけ XPages で Java が利用できるように追加されました。データベースの中のスコープ範囲で、XPages から呼び出すことができます。

@GetMMachinInfo() 関数の追加

ソースコントロールの利用
Subversionなどのオープンソースのソースコントロールと可能な限りシームレスな統合ができるようにする目的でDomino Designerにプラグイ…

Ytria databaseEZ 機能紹介デモ

イメージ
Ytria から最近リリースされた databaseEZ の機能紹介デモを作成しました。

皆さんは、サーバー上の全データベースに対して、アプリケーション(データベース)プロパティを調査しなければならないことはありませんか?

データベースプロパティの設定の中には非常にシステム管理上、重要な項目が数多くあります。
サーバー・ワイドでデータベースプロパティの確認を databaseEZ ではほんの数秒で欲しい情報が手に入り、複数のデータベースに対してプロパティの一括変更も行えます。

ドミノシステム管理者には、お薦めのツールです!!





Notes 開発者のための XPages SSJS 解説 (4)

今回はグローバルオブジェクトの最後として「session」を取り上げます。

前回同様、ヘルプのグローバルオブジェクトと関数の「session」を見ると「現在の Lotus Domino セッションを表す lotus.domino.local.Session オブジェクト。」と説明されています。

この「session」で使用できるメソッド、プロパティは JavaScript のDomino ライブラリにある「NotesSession」となります。

LotusScript でバックエンドプロセスを書くときに、
Dim session As New NotesSession Dim db As NotesDatabase Set db = session.CurrentDatabase
よく上記のようなコードでスタートすると思いますが、3 行目で現在のデータベースを取得するには、すでに SSJS では「database」というグローバルオブジェクトが用意されているのでこの「session」を使う必要はありません。

ただ、SSJS で他のデータベースを使用する場合は、この「session」がエントリーポイントになります。
var db:NotesDatabase = session.getDatabase("Japan/Teamstudio", "Sales\\sales", false); var dc:NotesDocumentCollection = db.getAllDocuments();
バックエンドで処理するようなケースがあった場合、現在のデータベースを取得には、LotusScript と SSJS ではエントリーポイントが違う点が混乱しやすいので再確認してください。

特別な処理が必要なければ、データベースオブジェクト取得後には、さほど LotusScript で使用できるクラスと SSJS での Domino ライブラリ内のクラスとの違いがありませんのでコーディングに違和感を覚えることはないと思いますが、一度確認しておくとよいでしょう。

一般的に文書を操作するのに必要な LotusScript でよく使用するクラスを SSJS で見ると下記のものになるでしょうか。リンクはヘルプに飛びます。

NotesViewNotes…