ページビューの合計

2018年10月27日土曜日

#ノーツコンソーシアム ( #notescons ) #ユーザー情報交換会 に参加させて頂きました。

I report on the User Information Exchange Meeting of the Notes Consortium held yesterday.
This time, Mizkan gave us a venue, it was a fulfilling day in the fact that the first half is an application boast meeting and the second half is a tour of Mizkan Museum.

みなさま、こんにちは!!
今回は10月26日(金)にMizkan様本社およびミツカンミュージアムにて開催されました「ノーツコンソーシアム ユーザー情報交換会」に参加させて頂きましたので、そのレポートとさせて頂きます。

まずユーザー情報交換会の位置付けなのですが、ノーツコンソーシアム参加企業の中で、ユーザー企業同士の交流と情報共有を行う目的で年3回開催されており、今年で5年目。つまり15回目の開催だそうです。
運営や管理など全てをユーザー企業にて実施しております。
基本的にはユーザー企業以外の参加は認められていないのですが、時には今回のようにIBM様やパートナー企業様にも参加頂き、ユーザー企業の悩みの相談にのっていただくような開催もあります。

今回はMizkan様のご協力により、会場としてMizkan様本社をお貸し頂きました。
参加企業は12社。

テーマは、「ノーツアプリ自慢大会」です。

●13:15 Mizkan様本社集合
●13:30 ユーザー情報交換会(ノーツアプリ自慢大会)
●16:00 ミツカンミュージアム見学
●18:00 懇親会


本社会議室をお借りし、まずは受付。
なんとお酢のドリンクを準備して頂けておりました。


さっぱりしておいしかったです。ごちそうさまでした!!

さてアプリ自慢大会ですが、便宜上50音順でスタート。

●D社様
Cachattoを採用した経緯とインフラ図を中心に説明頂きました。
やはりモバイル対応は必須ですね。

●T社様
ポータルの改修が印象的でした。緊急速報をメールDBに受信し、受信次第ポータルトップに表示するという素晴らしい案はマネさせて頂く価値がありますね。
ユーザー管理関連のアプリケーションの工夫も参考になりました。

●N社様
「ひとり業務改善」というto do管理アプリケーションを構築され、RDBを介してBIで分析されるという事例でした。たまたま弊社と同じBIであり、弊社はcsv経由でノーツ連携しているため、RDB接続も試してみる価値を感じました。

●N社様
e-メールの添付ファイルを自動でzip暗号化されるという興味深いものでした。弊社ではユーザー任せになっており、来年にConnectionsのFilesでの運用も考慮していたのですが、比較する必要がありそうです。

●N社様(・・・N社様が多いですねw)
大量にあるアプリをXPagesにてWEB化推進中だそうです。
LDAP連携や、IBMiとのリアルタイム連携、エラーログの自動取得など、弊社でもやりたいことを実現済のため、機会あればもうひとつ深堀させて頂きたいと感じました。

●弊社
先日のNotes/Domino Day Autumnの基調講演にて触れておりましたが、単純なアプリなのですが、法的な報告義務のある取引を記録するアプリケーションを紹介させて頂きました。

●M社様
2012年より全面WEB化(XPages)されたという、かなり進んだ会社様です。
従来は拠点ごとに管理していた記録をノーツ化することで情報共有が進んだという素晴らしい事例でした。
さらにノーツのみでBIチックなグラフ機能を構築されたとの事で、動画デモを準備頂けていたのですが・・・残念ながらこちらはうまく動かず。
・・・ぜひまたの機会に見せてくださいね。非常に興味あります!!
今後はIEに最適化してしまったコンテンツをマルチブラウザ化されるそうで、こちらも興味あります。

さて長くなりましたが、いくつかキーワードがありました。
【WEB化】【モバイル対応】【各種連携】【自動化】

まだまだ情報収集する必要はありますが、各社にとってV10は後押ししてくれるのではないかと強く感じた1日でした。

終了後はミツカンミュージアムを見学させて頂きました。
入ってビックリ!!
お酢の奥深さとミツカン様の歴史、またプロジェクションマッピングや動画コンテンツなど。とても90分では足りないほどの内容でした。
ぜひお近くに行かれることがございましたら、一度見学されることをオススメします!!
せっかくなので、写真を数枚。




終了後は懇親会も準備頂きました。
各社のお悩みや工夫をそれぞれやり取りできました。

ちなみにお店にはこのように書かれておりました(笑


最後になりましたが、ノーツコンソーシアム事務局様、担当理事様、そして日本IBM様、ご参加の皆様、本当にありがとうございました。
特に今回の会場をご提供頂きましたMizkan様につきましては、至れり尽くせりのご対応、心より感謝致します!!

非常に勉強になり、またやりたい事、やるべきことが大量にできてしまいました!!
はやく今のBI作業を片付けて、とっかかりたいです。

また何か実現できましたら、こちらに書かせて頂きますね。

2018年10月11日木曜日

#ずっとノーツ #dominoforever

Finally announced IBM Notes / Domino V 10!
Notes Domino Day Autumn Tokyo has been very exciting!
Although it is extremely powerful, could I also help you?

みなさま、こんにちは!!
昨日、ついに発表されましたね、IBM Notes/Domino V10 !!

スタートは電飾をふんだんに取り入れたドラムパフォーマンス!
"Domino"と"V10"の文字が踊ります😍

その後、Notes /Domino V10 新機能とデモンストレーションを経て、私ごときで恐縮なのですが、基調講演のユーザー座談会へ、他2社のユーザー様と共に登壇させて頂きました。


内容についてはV10の新機能に対する期待と、導入後の姿などを話したつもりなのですが、少しでもお伝え出来たら幸いです。

以降、Notes/Domino V10へのアップグレードに向けての説明で基調講演を終えました。

1時間の長い休憩時間があったのですが、これは20台のiPadが用意されており、IBM Domino Mobile Apps(iPad版ノーツクライアント)のデモが行われ、多くの方がその機能に驚かれたのではと感じました。

その後は2トラックに別れ、ひとつはIBM様によるNotesの新機能、Dominoの新機能説明。
私はもう片方の「ノーツコンソーシアム ザ・ノーツ研によるV10ベータ評価報告」と「IBMチャンピオンによる 開発者が語る 最新Dominoアプリケーション事例」へ参加しました。

チャンピオンセッションは一部動画が公開されておりますので、ご覧ください。



終了後、有志の方によるV10歓迎パーティが開催され、非常に熱い時間を過ごさせていただくことが出来ました。

本ブログではなかなかお伝えしきれないと思いますので、ぜひソーシャルメディアにて以下ハッシュタグを検索して見てください。

#ずっとノーツ
#dominoforever

さて来週16日には大阪でもIBM Domino Day Autumnが開催されます。
この日は1トラックで、今回参加出来ませんでしたIBM社員様のセッションを聞くことが出来ます!!

終了後はこちらも有志で歓迎パーティが計画されております。
当日、数名看板を持ってお待ちしておりますので、お声掛けください。

皆様と一緒にお祝いできる日を楽しみにしております。

※東京の協賛社様よりプレゼントをお預かりしておりますので、当日何らかのイベントでお持ち帰り頂けるよう準備を進ます。

2018年9月26日水曜日

新規文書作成手順のいろいろ

This time I will write a little about Notes's new document preparation though it is now.

みなさま、こんにちは!!
Domino10のカウントダウンが進み、ついに2週間となりました。
筆者もワクワクしながらその日を待っているのですが、きっと皆様も同じことでしょう!!

改めていくつか告知です。

IBM Notes/Domino Day 2018 Autumn Tokyo
Domino V10 歓迎パーティー @Tokyo
【10月16日大阪、10月19日名古屋】IBM Notes/Domino Day 2018 Autumn
Domino V10 歓迎パーティー @Osaka

また現在日程調整中ですが、先日初めて東京以外で開催されました【新任担当者向けワークショップ】ですが、大阪でも11月に開催できるよう準備中です。決定までもう暫くお待ちください!!

さてそんな中ですので、本来はベータ版の新機能等を紹介すべきかとは思いますが、弊社のアプリで少し気になっていた点がありましたので、記事にしてみました。

内容としては、新規文書作成コマンドについてです。
・・・すいません、今さらなんて言わないでください(汗

ちなみに弊社ではユーザー側がわかり易いようにとの視点から、アクションバーのボタンのみを使用しております。

こんな感じですね。


複数フォームがある場合は、以下のようにサブアクションとしています。


まず今回制御したかったのが、作成メニュー内のコマンドになります。

例としてわかりやすいように[メインフォーム|main]と[返答フォーム|reply]というふたつのフォームを持つアプリケーションを準備しました。

一覧ビューにはアクションバーに[新規作成]ボタンを配置し、[メインフォーム]だけを作成できるような設定を行います。


もちろんユーザーが見る画面では、「新規作成」ボタンがひとつあるだけで、違和感はないと思われるのですが、


フォームをデフォルト設定のままで作ってしまうと、[作成]メニューに含まれてしまいます。
今回の例ですと、以下のように[メインフォーム]と[返答フォーム]が表示されてしまい、いきなり[返答フォーム]を作成できるようなメニューになっています。


実際クリックすると、以下のように親文書が選択されていない警告が表示されますので、アプリケーションそのものに影響はないのですが、そのようなメニューを存在させたままにしておくことは避けるべきです。


このようなことを回避するために、フォームのプロパティにあります[メニューに含む]のチェックを外しておきます。


これだけで先のメニューから[返答フォーム]を消すことができます。


もちろん[メインフォーム]にも同じ設定を行うことで、[作成]メニューから新規フォームの作成はできなくなります。
たとえばアクションバーの新規作成ボタンに、composeだけでなく、別の式を実行させようとする場合などでは有効な方法になります。


ごく簡単な設定ではありますが、アプリケーションを正しく利用させる(予期せぬユーザーの作業を避ける)ためにも重要な設定になります。

参考までに、LotusScriptでの処理を行いたい場合は、御代チャンピオンのブログ

文書の作成

をご覧ください。

また別アプリケーションの文書を新規で作成することも可能です。
こちらも御代チャンプの

別のデータベースに文書を作成する

が参考になります。

なお保存時に処理を行わせたい場合もあるかと思います。
例えばフィールドの値をnotes.iniに書き込むなど。

保存の場合は、アクションバーには出てこないのですが、ノーツクライアント特有の[esc]キーによりウィンドウを閉じる操作が行われ、文書を保存することができてしまいます。
そのために[esc]キーでのウィンドウクローズを制御する必要があります。

こちらも御代チャンプのブログに記述されております。

ESCで文書をクローズさせない

いやー、御代様ありがとうございます・・・なんて、自分の手間を省くような記事になってしまいましたが、ちょっとした工夫で何をするか分からないユーザーの制御を行い、データベースを正しい状態で蓄積させるのも設計者の責任ですので、ぜひ細かなことでも手を抜かずに設定してください。

それではまずは10月10日、東京でお会いしましょう!!


2018年8月30日木曜日

【告知】 9月からはノーツ関連イベントが続々!!

For this time, I have compiled Notes-related events that are scheduled to be held soon. Not only listening, but also many participatory events are scheduled so please expect !!

みなさま、こんにちは!!
早いもので8月も今日を含め、あと2日を残すのみになりました。
お子様にとっては一番憂鬱な時期になるのでしょうか。
とは言っても、運動会(体育祭)や音楽会(文化祭)と子供たちにとってもイベントが続くシーズン到来ですね。

さてイベントといえば、ノーツ界隈もかなり賑わいを見せております。
私もいくつか参加を予定しているのですが、あまりに多くあるようですので、一度整理しておこうかと記事に致しました。

2018/09/04(火)・05(水) XPagesワークショップ 2018 名古屋会場
2018/09/06(木)or07(金) IBM Notes/Domino とIBM Watson, IoT 連携ハンズオン
2018/09/06(木) Notes/Domino Solution 2018(東京)
2018/09/07(金) Notes/Domino Solution 2018(大阪)
2018/09/13(木) 九州地区研究会 第3回 & 新任担当者向けワークショップ
2018/09/20(木) チームも成果も変わる!「グループウェア活用術」 × 「取り組み方」セミナー
2018/09/21(金) Domino ログを利用した Notes メール利用状況の見える化セミナー
2018/09/21(金) ノーツコンソーシアム主催 IBM Notes/Domino V10 Beta 2 体験会(大阪)
2018/09/21(金) 2018年 大阪地区研究会 第3回
2018/09/21(金) テクてくLotus技術者夜会
2018/09/26(水) ノーツコンソーシアム主催 IBM Notes/Domino V10 Beta 2 体験会(東京)
2018/09/28(金) ノーツコンソーシアム主催 IBM Notes/Domino V10 Beta 2 体験会(名古屋)
2018/10/10(水) The World Premiere of Domino V10
2018/10/23(火) 新任担当者向けワークショップ 東京秋開催(10月23・24日)

いや~、たくさんありますね。
見ていただければわかると思いますが、特にハンズオン等、参加者が手を動かせる機会が目立つことがわかると思います。このあたりもノーツの活性化の現われではないかと喜んでおります。

実はこれ以外にも公開されていないイベントもまだまだたくさんあるのですが、本日時点では控えさせて頂きます。
特に大阪での新任担当者向けワークショップ開催については、なんとか実現すべく、関係者一同準備を進めておりますので、ご期待ください!!

ちなみに私は、現時点で以下の参加がほぼ決定しています。

2018/09/07(金) Notes/Domino Solution 2018(大阪)
2018/09/21(金) Domino ログを利用した Notes メール利用状況の見える化セミナー
2018/09/21(金) ノーツコンソーシアム主催 IBM Notes/Domino V10 Beta 2 体験会(大阪)
2018/09/21(金) 2018年 大阪地区研究会 第3回
2018/09/21(金) テクてくLotus技術者夜会(大阪PV)
2018/10/10(水) The World Premiere of Domino V10

以下に参加したいのですが、どうしてもスケジュールが・・・(泣
2018/09/06(木)or07(金) IBM Notes/Domino とIBM Watson, IoT 連携ハンズオン

ぜひ皆様とお会いできることを楽しみにしております。

さて最後にもうひとつ告知です。
既にご存知の方も多いかと思いますが、IBM様では自然災害の防止や自然災害への対応、回復に関する問題を解決しようという「Call for Code Global Initiative」を発表しております。
詳しくはサイトを見て頂くとして、実際に先週の台風で未だ被害の全容がつかめていない弊社としても非常に気になる内容であり、今後の活動におおいに期待しております。

2018年8月20日月曜日

#Notes 文書からファイルサーバーの特定ファイルを開く

This time I will get the value of the field in the NotesForm and set up to open the PDF file stored in the file server that matches that value.

みなさま、こんにちは!!
さて最近は別の作業でなかなかブログを書くことができず、申し訳ありません。
当ブログも2016年7月の開設から2年が経過しました。
振り返ると、今回の記事がちょうど100本目になります。
・・・まだまだですね(汗

今回は以前から実現したいと思いつつ、実際の切り替えが年度末である必要があり、のんびりしていたのですが、気付くと今年も半分過ぎようとしており、あわてて手がけた内容になります。

まず最終目的としては、Notesの文書内にあるフィールド(今回は「受注NO」というフィールド)の値を取得して、ファイルサーバーにある"受注NO".pdfを開きたいというものになります。
現在運用しているアプリケーションでは、リッチテキストフィールドに"受注NO".pdfを添付ファイルとして扱っています。
画面としては、下記のようなものになります。


ふたつ添付ファイルがありますが、今回は右側の「受領書」欄のみを対象とします。

もちろんこの状態でも問題ないのですが、Notesのアプリケーションサイズを抑えたいのもひとつなのですが、いちいち添付ファイルを貼り付ける手間を省きたいという点が一番の目的になります。

なお少し余談になりますが、スキャンした伝票の名前を"受注NO".pdfに変更する過程については、伝票のバーコードを複合機でスキャンする際に処理させており、自動で所定のフォルダ内に保存するという処理で完結しております。

まずは受領書欄にボタンを追加し、ファイル名を指定してpdfを開くことができるか、ためしてみます。


ボタンには直接ファイルパスを指定して以下の式を設定しました(テストデータとして、受注NO、"49396550"というものを指定しています)。
※半角¥マークはバックスラッシュに変換されますので、意図的に全角で記載しております。
※弊社ではファイルサーバーをクライアントのXドライブにマッピングしておりますので、このような式になりますが、直接サーバーを指定する場合は、"¥¥¥サーバー名¥¥ファイルパス"で指定してください。
※"¥"は""でエスケープする必要がありますので、ご注意ください。
・・・恥ずかしながら、今回も私はつまづいておりました(大汗



@Command([Execute];"X:¥¥globalscan¥¥test¥¥49396550.pdf")



それではNotesクライアントからPDFが起動できるか、確認してみましょう。


!!

しばらく確認して気付きました。
デザイナーをインストールしている端末を作り直したため、AdobeReaderがインストールされてませんでした(汗

ということで、インストールして無事指定したPDFが開くことを確認しております。

このままではすべての文書から同じPDFを読み込んでしまいますので、フォーム内の"受注NO"を取得して、それぞれ特定のPDFファイルを開くことができるように変更します。

それでは先ほど設定したボタンの式を、以下に書き換えます。


NO:=juno;
@Command([Execute];"X:¥¥globalscan¥¥test¥¥"+NO+".pdf)"


フォームの受注NOフィールドである"juno"を変数"NO"に取得して、呼び出すファイルパスに組み込んだだけのものになります。


それではテストとして、先ほどの文書をコピーして、受注NOを49396550からダミーである"12345678"に変更してみます。


あわせてファイルサーバー側にもダミーのPDFを準備して、ファイル名を"12345678.pdf"にしておきます。


それではボタンを押して、正しく指定したPDFファイルが開くか確認します。


少しわかりにくいかと思いますが、AdobeReaderが起動し、"12345678.pdf"が開いたことが確認できました。


@関数のみで解決する、実に簡単な改善ではありますが、実務担当者の負担は大きく下がることになるようです。

引き続き、ユーザー視点での思いつきや閃きがあれば、記事にさせて頂きます。

2018年7月30日月曜日

#Notes #Form を個人ごとに切り替えたい

This time I try to change the Form to be displayed for each user by using Subform and notes.ini.

みなさま、こんにちは!!
神戸は日曜早朝に逆走台風が真上を通過して行きました。
幸いにも治水対策がそれなりに施されているため、先日以上に大きな影響はありませんでしたが、被害を受けられた皆様の1日も早く日常生活に戻ることができますようお祈り申し上げます。

さて今回はWEBではよくある画面表示を個人ごとに切り替えるという機能をNotesのFormでできるか試してみましたので、報告致します。
あらかじめお断りなのですが、もっと簡単に組み込むことができるような気がするのですが、まずは私なりのやり方としてご承知ください。

そもそもWEBではCSSを利用することでテーマカラーの変更は簡単に行うことが可能です。
残念ながらNotes Formにはそのような機能が実装されておりません。
・・・もちろんXPagesなら適用できるのですが・・・

ということで、今回はサブフォームと環境設定文書の組み合わせで挑戦しようと思います。

それでは早速、サブフォームAを作成します。
今回は以下のような表を作成してみました。


続いてサブフォームBです。
わかりやすいように、表のセルの色を変更してあります。


続いてフォームを作成します。

フォームにサブフォームを埋め込むのですが、その際に「式の定義によりサブフォームを挿入」にチェックし、[OK]します。


※このオプションを選択すると、サブフォームそのものは選べなくなります。

以下のように、<サブフォームの計算結果>がフォームに貼り付きました。


それではサブフォームを表示させる式を記述します。
今回はnotes.iniにフォームの設定を行いますが、初期時にはnotes.iniにパラメーターがありませんので、その場合はサブフォームAを呼び出すように設定します。

以下の式を設定してみました。

SUBF:=@Environment("TEST_SUB");  
@If(SUBF="";"subA";SUBF)                

notes.iniに「TEST_SUB」という環境変数がない場合は、サブフォームAを。それ以外は環境変数の値で設定されたサブフォームを呼び出すというものです。


続いてビューに環境変数を切り替えるアクションボタンを作ります。
今回はアクションボタンとして「テーマカラー変更」とし、サブアクションとして「青」「赤」を選べるように設定します。


式ですが、"青"・・・サブフォームBを設定

@SetEnvironment("TEST_SUB"; "subB")  

"赤"・・・サブフォームAを設定

@SetEnvironment("TEST_SUB"; "subA")  


まずはnotes.iniに正しく書かれるか、試してみます。

初期時はもちろんnotes.iniには [TEST_SUB]は存在していません。

まずはその状態で新規作成を開いてみます。
最初に設定したように、notes.iniに[TEST_SUB]が存在しない場合は、サブフォームAを表示させておりますので、以下のようにサブフォームAが表示されました。


それではビューに戻り、「青」(サブフォームB)をクリックしてみます。
まずはnotes.iniを確認してみますと、最下行に以下設定が登録されておりました。


正しく"subB"が設定されたことが確認できました。

この状態でフォームを新規作成で開くと、以下の画面が表示されました。


正しくサブフォームBが呼び出されました。

念のためビューに戻り、「赤」(サブフォームA)に戻し、notes.iniを確認してみます。


notes.iniは正しく"subA"に変更されました。

フォームを開くと、当然サブフォームAが呼び出されます。


以上、甚だ簡単ではありますが、例えばこの機能を用いることで、多言語対応のアプリケーションに発展させることができます。

例)
 サブフォームA・・・英語
 サブフォームB・・・日本語
 サブフォームC・・・フランス語
  ・・・

初期ビューに[Language]というアクションボタンを配置し、サブアクションで各言語を並べることで、利用者のnotes.iniに言語設定が行われることになります。
次回以降、利用者は常に自分の言語でフォームが利用できるというものです。

これだけの機能が@関数だけで実現できるというNotesの素晴らしさ。
今後、Domino10や11でNotesフォームやビューがCSS対応されることに期待です!!

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を使用せず、ソースだけを直接編集して、ページを実現されている方もいらっしゃると聞きます。

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