ページビューの合計

2018年7月17日火曜日

#XPages のソースについて

This time, I describe a little about XPages source.

みなさま、こんにちは!!
まずは先般の西日本豪雨で被災されました皆様に、心よりお見舞い申し上げます。
神戸もかなりの雨量で、未だ市内でも道路が封鎖されている場所が残っております。
氾濫すらしませんでしたが、自宅前の川が1週間を経過したにもかかわらず、普段の3倍ほどの水量が続いており、油断できない状況です。

さてそんな中ではありますが、以前より少し気になっていたXPagesのソースについて、自分の学習用に調べてみたいことがありましたので、せっかくならと記事にさせて頂きます。
ぜひ今さらと言わず、お付き合い頂けましたら幸いです。

さて過去にいくつか記事にしましたが、XPagesはGUIにてコントロールを配置し、プロパティを設定して組み上げていくことで、できるだけ簡単にプログラミングされたWEBページを生成することが目的であるNotesの設計要素であることは周知かと思います。


[設計]タブから[ソース]タブに切り替えてみますと、空白のページであっても、以下のようなソースが記述されたXMLであることがわかります。


まずはデータソースをバインドした場合の変化を見てみます。


今回は同じアプリケーション内の"planning"というDomino文書をバインドしてみました。
このように<xp:this.data>のタグ内にデータソースの定義が組み込まれることを宣言し、<xp:dominoDocument>タグでDomino文書である"planning"フォームを呼び出しています。
参考までにビューをバインドした場合、

<xp:dominoView var="view1" viewName="test"></xp:dominoView>

となります。

なおこのとき、アウトラインには以下のように表示されます。


先の文書をバインドした状態で、[編集ボックス]を追加してみましょう。
すると以下の1行追加されたことがわかります。

<xp:inputText id="inputText1"></xp:inputText>


続いて、"date"というフィールドをバインドしてみます。
以下のようにinputTextにvalueが追加されることがわかります。

次にボタンを追加してみますと、以下の一行が追加されました。

<xp:button value="ラベル" id="button1"></xp:button>


それではそのボタンに「文書の保存」を設定してみます。
以下のように"onclick"のイベントが追加され、"action"として<xp:saveDocument>が追加されました。


ここまでで[設計]画面は以下のようになっています。


それではボタン部分のソース(以下の部分)をコピーして、ソースの続きに貼り付けてみます。


すると、以下のようにボタンが追加されることが確認できます。


なおソースを確認すると、以下のように自動で"id"がユニークな番号に変化していることがわかります。


このようにコントロールを複製するような場合、もちろん[設計]画面で対象コントロールをコピーすることも可能ですが、ソース側でも同じことが可能であることがわかるかと思います。


次にカスタムコントロールを見てみます。
まずは初期作成時のソースです。


このようにカスタムコントロールのソースもXPagesのソースとまったく同一になります。

それでは編集ボックスとボタンを追加したソースもみてみましょう。

今回、値のバインドやボタンアクションの設定は省きましたが、XPagesと同一のソースであることがわかるはずです。

つまりXPageで作成したものをカスタムコントロール作り変えたり、その逆についてもいちいちコントロールの配置から行う必要はなく、ソースをコピーして貼り付けることで、同一内容でありながら、別の設計要素を作成することが可能になります。

最後にカスタムコントロールをXPagesに埋め込んでみますと、

<xc:xctest></xc:xctest>

この一行のみでカスタムコントロール"test"を呼び出すことができます。



以上、表面的なことばかりではありますが、ソースを知ることで、作業の簡素化ができる場合があるということはご理解いただけましたでしょうか。

XPages開発者はGUIを使用せず、ソースだけを直接編集して、ページを実現されている方もいらっしゃると聞きます。

個々のコントロールの記述や、値設定などを確認されても面白いかと思います。

2018年7月2日月曜日

#ノーツコンソーシアム ( #notescons )新任担当者向けワークショップ へ参加させて頂きました。

I studied to help you as a lecturer at the workshop for Notes new manager in Osaka.

みなさま、こんにちは!!
今回もまずは告知させてください。
明日、IBM Notes/Domino Day 2018 Summerが開催されます。
年内に発売予定のV10に関する情報を中心とした情報が得られる貴重なイベントです。

また翌7/4には、IBM Notes/Domino v10 意見交換ラウンドテーブル も予定されております。
こちらはコンソーシアム会員優先ではありますが、会員外の方でも参加可能ですので、こちらもご検討ください。

両日ともウェビナー or リモートの開催が予定されております。
私は今回東京まで行くことができませんので、両日自席から参加の予定です。
遠方の方、当日参加できない方も、ぜひリモート参加もご考慮ください!!

さて本日は先週東京で開催されましたノーツコンソーシアム新任担当者向けワークショップへ参加させて頂きましたので、簡単にレポート致します。

両日とも30名定員の募集でしたが、キャンセル待ちが出るほどの盛況ぶり。
また当日の参加率についてもほぼ全員と、まずはその人気ぶりに驚かされました。

1日目は午後から「管理者編」が実施されました。用語編+ワークショップの2本立てになります。
ワークショップでは隣り合った2台のPCをクロスケーブルで繋ぎ、それぞれにインストールされたサーバー同士での複製など、貴重な体験をすることができたようです。
終了後は、懇親会も行われ、お店を貸しきっていただくほどの参加者で盛り上がりました。

2日目は終日、開発者編の開催です。
管理者編同様、用語編+ワークショップ。加えてデザインTipsの講義もあり、実際に利用する立場の方に直接的なメリットが提供頂ける内容であったと感じました。

テキストの内容ですが、IBM様や他社様の教育プログラムほどの内容ではありませんが、両日受講することでノーツサーバーの簡単な管理、ユーザー追加や、初歩的なアプリケーションの作成までできるようになります。

流れとしては、まずはこのワークショップを受講されてから、有償の教育プログラムを受講されることで、理解度が格段に上がるのではと感じました。

ぜひノーツの管理やアプリ開発を行われる方は、次回以降のワークショップをお見逃しなく。

今回までは東京開催のみでしたが、コンソーシアムでは東京以外の開催も計画されているようですので、ぜひ遠方の方もお待ち頂ければと考えます。

なお参加者の方と少しお話ししてみたのですが、まずは初歩的なステップを理解したいという方が多いように感じました。
このことを受けて、私なりにやりたい事が出て参りましたので、少し準備してみたいと思います。

たいへん申し訳ありませんが、私のほうでは写真を撮っておりませんので、その場の雰囲気などはノーツコンソーシアムのフェイスブックページをご覧ください。


さて、そもそも私の参加目的は・・・

●弊社内ではDominoサーバーは二重化していないため、「管理者編」に興味があった。
●最新の用語集を聞きたかった
●開発手順は様々ですので、「開発者編」でどのように説明されるか聞きたかった。
●自らが講師として立てるようになる!!

です。

はじめの3点は、非常に満足できる内容で、改めて自分及び弊社でやっていることの確認が行えました。

講師としては・・・
正直なところテキストが立派に仕上がっているため、なんとかなるだろうと簡単に考えていたのですが、やはり人に教えることの難しさを実感することになってしまいました。

とはいえ、先にも少し触れました東京以外開催。特に大阪開催を実現しなければなりませんので、他の大阪研究会メンバーと強力して準備を開始致します。
開催決定次第、いろいろと案内が行われるかと思いますので、関西の皆様、もう少しお待ちください!!

皆様にお会いできる日を、心待ちに致しております。