ページビューの合計

2018年2月19日月曜日

チョー #初心者 向け、 #XPages 開発手順~メインフォーム

みなさま、こんにちは!
いよいよ今週ですね、ノーツコンソーシアム FESTA 2018
私は5分お時間を頂きましたので、大阪研究会の報告を行わせて頂きます。
その他、個人的には会員ユーザー向けの「ユーザー情報交換会」は非常に期待しています。
少し私も持ち合わせたものがありますので、理事の方と相談をと予定しています。

さて先日に続き、今回はフォームを表示するページを作りたいと思います。

早速ですが、新規XPageを作成してください。名称は以下としました。


ページが開きましたら、カスタムコントロール[titleBar]を先頭にドラッグ&ドロップします。
続いてその後ろに改行をふたつ入れておきます。

次にXPageにデータとして[mainForm]を定義します(デフォルトアクションは「文書を開く」にしてあります)。


データパレットにフィールドが表示されますので、すべて選択して先の2行目の改行の後ろにドラッグ&ドロップします。


データバインドコントロールが表示されますので、以下のような設定として[OK]してください。


※この選択ダイアログが開かない場合は、下記切り替えボタンをクリックし、[コントロールの選択]ダイアログボックス(使用可能)にしてください。



それでは一度、ブラウザでプリビューしてみましょう。


少し気になるところはありますが、無事ブラウザで表示させることができました。

それでは体裁は後で整えるとして、一旦前回のビューから今回のフォームを開く設定を行います。
XPageのxp_byDateを開いてください。

タイトルをクリックするとフォームページを開くようにしますので、ビューの列[Title]を選択し、表示タブ内[列の値をリンクとして表示する]にチェックし、開くモードは[読み取り専用]を選択します。


続いてイベントタブに移動し、onclick時のイベントを以下のように追加します。


以上でビューページからフォームベー時を開くことができるようになりましたので、一度ビューページをブラウザでプリビューしてみます。


タイトルがリンクになって表示されることが確認できます。
続いていずれかのタイトルをクリックすると、以下のようにxp_mainFormが表示されることを確認しておいてください。


xp_mainFormについては体裁が整えられておりませんので、先のxp_byDateに準じるようにデザイン等を修正してください。

取り急ぎ私の設定は以下のように致しました。



本日は以上とさせて頂きます。

次回はフォームの選択項目であるClass及びTagについて、ビューの値を参照する設定を行います。
またアプリケーションとして必要なボタンを配置し、完成させる予定ですので、引き続きよろしくお願い致します。

2018年2月13日火曜日

チョー #初心者 向け、 #XPages 開発手順~日付順ビュー

みなさま、こんにちは!

早速ですが、告知です!!
来週金曜はノーツコンソーシアム FESTA 2018が開催されます。
どなたでもご参加いただけるイベントです。ぜひ懇親会も含め、ご参加ください。
私もなんとか参加できることになりました。
皆様とお会いできることを楽しみにしております!


さて先日に続き、今回は日付順ビューをXPagesで実現してみます。
XPages開発に関するプロパティ設定については、お手数ですが

【第3回】タイムレコーダーアプリ作成~XPages作成の準備とトップページの作成~

をご覧ください。

まずは共通であるタイトル部分をカスタムコントロールで作成します。

[新規カスタムコントロール]をクリックして、カスタムコントロールを作成してください。名称等は自由ですが、私は以下のように作成しました。


作成し、画面が開きましたら、先頭にコンテナコントロール内より1行1列/幅に合わせる(100%幅)の[表]を追加します。


表の中にコアコントロールより[ラベル]を追加し、アプリケーションタイトル(今回はLink)とします。
表の背景やラベルの文字列については自由にデザインください。
私のほうでは以下としました。

以上で保存して閉じます。

続いて[新規XPage]をクリックし、XPageを作成します。
名前は[xp_byDate]としてください。


開きましたら、まずは先頭に先ほど作成しましたカスタムコントロールを配置します。


配置できましたら、カスタムコントロールの後ろに二つ、改行を入れておきます。


続いて二つ目の改行へコンテナコントロールから[表示]をドラッグ&ドロップします。


ビューのデータソースの選択ダイアログが開きますので、[日付順]を選択し、ビュー列はそのままで[OK]します。
できあがった[表示]の幅を100%に設定します。


続いて体裁を整えます。
内容としては、文字フォントやサイズ、余白、列幅など。
特に指定ありませんので、このあたりはお好みで変更してください。
但し枠線を設定しない場合、余白(内側)を大きめに設定されたほうが見易いかと思います。
以上で一度、ブラウザでプリビューしてみましょう。

サンプルデータが登録されていれば、以下のように表示されるかと思います。
私の画面では以下のようになりました。


少し短いですが、今回は以上とさせて頂きます。
次回はフォームのXPageを作成し、ビューとの接続を実施致します。

改めて #お礼 2018 #IBMChampion for Collaboration Solutions 日本祝賀パーティー


みなさま、こんにちは!

早速ですが、本日は2月8日に行われました2018 IBM Champions for Collaboration Solutions 日本祝賀パーティーに関して、この場をお借りしてお礼を申し上げたく書いております。

まずはこの場を設定頂けました幹事の皆様、そしてたくさんのご出席頂きました皆様に、心よりお礼申し上げます。

またご協賛いただきましたスポンサー

●ノーツコンソーシアム様
●OnTime Group Calendar様
●株式会社ブルーゲートウェイ様
●のの会 (notes knows community)様

につきましても、本当にありがとうございました。

加えてノーツコンソーシアム大阪研究会の皆様、暖かいメッセージや質問、そして黄色いバラ。

思わず涙してしまいそうになってしまいました・・・。
残念ながらバラを持って帰ることができず、同じ大阪研のI様に託させて頂きました。
が・・・たぶんそのほうがバラも喜んだかと思います。

さて冒頭に画像を貼りました、発表冒頭のスライドが本音になります。

実際あの場に座らせていただき、感じたのは


・・・なんでこっちに座ってるんやろ!?


です。

まだまだ実感もありませんし、何をしていけばいいのかすら気付いていません。
そんな不束者ではありますが、他5名のチャンピオンの皆様にご指導頂きながら、何かひとつでもこの一年で残すことができればと考えております。

もちろんチャンピオンの方限定ではありませんので、何か私でできることがあれば、遠慮なくお申し付けください。

みなさま、ほんとうにありがとうございました!!

2018年2月7日水曜日

ちょっといっぷく・・・

みなさま、こんにちは!
明日の2018 IBM Champions for Collaboration Solutions 日本祝賀パーティーにうかれているわけではないのですが、たまには息抜きもいいかなぁと思った次第です。

みなさま、アイロンビーズってご存知ですか?
1個5mmくらいのプラスチックの円筒形のビーズを並べてデザインを作り、アイロンで接着するというものなのです。


こどもが好きで、いろいろと作って遊んでいたのですが、このレイアウトの使うプレートを見ていてふと思いつくものがありました。


どこか見覚えありませんか?
そう、Notesのアイコンエディターなんです!!


Notesのアイコンエディターは32x32。
つまり普通のアイロンビーズで作るとなると・・・16cm角の作品になってしまいます。
これではあまりに大きすぎる・・・と思っていたところ、ナノビーズなる商品があることを知りました。
ということで一式注文を・・・

早速届きました。


商品概要はネットを見ていただくとして・・・

ちっちゃい

1個2mmはなさそうです。
もちろん指では摘むことが限界で、盤に配置するなんてとんでもない。
専用ピンセットを買っててよかったと胸をなでおろしました。

さて、どのアイコンを作ろうか・・・

もちろんコレですね。


なお専用のレイアウト盤は残念ながら32x32ではなく28x28でしたので、赤枠内で作ることにします。
と簡単に書きましたが、28x28=784!

ちまちまちまちまちまちまちまちまちまちまちまちまちまちまちまちま

できました!


裏面はしっかり固定するため、粒感はなくなってしまっていますが、なんかいい感じです。

早速ケースに・・・と思ったのですが。

なんと!
専用ケースは円形のため、入らない(泣

致し方なく、そのまま放置です。

ただ・・・どうもしっくりこない。

ということで、再チャレンジ・・・


ちまちまちまちまち町まちまちまちまちまちまちまちまちまちまちまちま

って書きましたが、実は今回は次女が戻ってきており、興味半分に作ってくれました。
なんと!
私が作った時間の1/4ほどの時間で・・・(汗


やはりこちらの色のほうがしっくりくるのは私だけでしょうか。

と、ここまできて「しまった!!」
ひとつ目でサイズが大きくてケースに入らないことを忘れて、同じサイズで作ってしまいました(号泣

すいません、悪ふざけが過ぎました。

今後は32x32を小さくして、いろいろと作ってみるつもりです。

2018年2月5日月曜日

チョー #初心者 向け、#XPages 開発手順~準備編

みなさま、こんにちは。
先週に引き続き、インフルエンザが猛威をふるっておりますが、皆様体調くずされていませんか?
私は・・・多少風邪気味な山を乗り越え、至って元気です。
先週末はR様主催のNotes Festa 2018へ参加させて頂きました。
ここで詳しく書くことは控えさせて頂きますが、なかなかな内容で面白いものでした。
終了後、弊社2014年の更新に本当にご尽力頂けました方と確か2年ぶり?くらいの再会に、貴重な時間をすごさせていただくことができました。
M様、I様、ほんとうにありがとうございます。


さて今回からは新しいシリーズを書かせて頂きます。内容としては、とにかく簡単なアプリケーションを元に、XPages化する手順を数回に分けて記載したいと思います。
というのも、弊社内ではNotesアプリケーションをXPages化してWEBで閲覧可能にしてあるのですが、単に「閲覧」できるだけのものばかりで、実際にWEBアプリケーションと言えるものがありません。

そこでWEBブラウザだけで利用できるアプリケーションに挑戦したいと思います。
具体的には、ホームページリンクを集めるだけの簡単なデータベースを使ってXPages化し、編集や新規作成という機能を盛り込むことが目的になります。

早速ですが、新規のアプリケーションを作成します。
タイトルやファイル名は自由ですが、私は以下のように設定しました。
テンプレートは【-未入力-】のまま【OK】します。



続いてフォームです。
こちらも名前・別名とも指定はありませんが、私は以下のように作成しました。


フォームに作成するフィールドですが、以下5つとなります。


 タイトル: Title(テキスト・編集可能)
 分類: Class(ダイアログリスト・編集可能)
 日付: Date(日付/時刻・編集可能)
 URL: URL(リッチテキスト・編集可能)
 タグ: Tags(ダイアログリスト・編集可能)


WEBでの操作を前提とするため、レイアウト等については割愛させて頂きます。

続いてビューを作成します。
今回はリッチテキストフィールドである[URL]を除くすべてのフィールドを使用してビューを3つ作成します。(うち2つはダイアログリストでも利用します)

①日付順(byDate)

 日付(降順・列のヘッダーをクリック時のソート[両方])
 タイトル
 分類
 タグ


②分類別(byClass)

 分類(昇順・カテゴリ別)
 日付(降順・列のヘッダーをクリック時のソート[両方])
 タイトル
 タグ


③タグ別(byTags)

 タグ(昇順・カテゴリ別)
 日付(降順・列のヘッダーをクリック時のソート[両方])
 タイトル
 分類


以上でビューが完成しましたので、一旦【mainForm】に戻り、ダイアログリストの値を設定します。
分類、タグのいずれも「式で選択肢を設定」とし、

分類

 @DbColumn("":"NoCache";"";"byClass";1)


タグ

 @DbColumn("":"NoCache";"";"byTags";1)


として保存します。

以上で準備が完了しました。
サンプルデータを1つ以上、登録しておいてください。

次回はまずはXPagesで日付順のビューを作成したいと思います。


2018年1月29日月曜日

#感謝! #IBMChampion に認定いただきました

みなさま、こんにちは!
インフルエンザが猛威をふるっているようです。
弊社内でもかわるがわる休みが発生しております。皆様、くれぐれもご自愛ください。

さて既にフェイスブック等でご存知の方も多いかと思いますが、改めて報告させて頂きます。
というのも、プレスリリースを待っていたのですが、どうやら公開が遅れそうでして・・・。
昨日の御代様の発表に習い、本日報告させて頂くことにしました。


私こと、この度 IBM Champion for 2018 に認定頂くことができました。
これもひとえに皆様方のご協力のお陰です。感謝しております。ありがとうございます!!

DominoJam2025が本格稼動し、Domino10がリリースされるまさにその年に、チャンピオンとして活動できることにひときわやりがいを感じております。
先輩方にご指導を頂きながら、チャンピオンとしての役目を果たしていければと考えております。

本日は、今回のノミネーションについての経緯から書かせて頂こうと思います。

以前より申し上げていた通り、IBMチャンピオンに認定頂くことは私の目標ではなく、また私ごときが認定されるとは思っておりませんでした。

それなのにどうしてセルフノミネーションに至ったのか。

転機は天城拡大理事会でした。
大きく分けて4つの理由があります。


  1. ノーツコンソーシアム事務局のY様のご勇退を知ったこと
  2. 懇親会時にM様より私の目的(Notesをもっと知ってもらうこと。利用してもらうこと。)を達成するにはチャンピオンになる必要があるとご提言頂いたこと
  3. ノミネーション数を増やしたいという話を伺ったこと
  4. 既に間に合わないと思っていた締切が延長されていたこと

まず 3. については少なくとも私で寄与することができます。

4. については「運命」としか思えませんでした。

2. についてはやはり国内への影響力は、チャンピオンにならなければ意味がないと教えて頂きました。私自身、ブログのPV等はあまり意識なく書いているのですが、IBM様でのイベント等で「ブログ読んでます」と言って頂ける方にも複数名お会いしたことがあり、書いててよかったと自己満足程度でしかありませんでした。ただユーザー視点のブログというものがあまりないことから、その価値を認めて頂き、ノミネートすべきとご提案頂いたものです。

1. についてですが、そもそもノーツコンソーシアムとの接点となったのがY様からの1本のメールでした。あのメールがなければ、コンソーシアムにも参加しておらず、ひとり悶々とNotesと悪戦苦闘していたかと思います。もしかしたらK・・・やO・・・に乗り換えを検討していたかもしれません。
それが今では上層より、可能な限りすべてをNotesに集約するよう指示が出ております。
現在の弊社のNotesの発展は、Y様無くしては有り得ないものなのです。

Y様からは以前よりチャンピオンへのノミネーションをご提案頂いておりました。そこでY様のご勇退に際し、私がノミネーションするという意思表示が、ひとつの恩返しになればと考えた次第です。


天城の夜、解散後の夜の長いこと・・・。
正しくはすぐに眠れたのですが、4時には目が覚めて眠れなくなってしまいました。

結局どなたにも相談できないまま帰りの新幹線。
ここでようやく気持ちが固まりました。
その場でY様にメールにて相談し、ぜひとプッシュ頂けたことがきっかけになります。


さて実際のノミネーションですが・・・苦労しました。
過去の自分を振り返り、何ができたのかを洗い出し、日本語の文面を作成し、英訳し・・・。

ちなみに・・・
私は文学部英米語学文学科卒(汗

なのに英会話は全くなのです(恥

と言いますのも学んだのは英語学という分野で、動詞を中心として文章の構成について探求したのです。
・・・なので、どちらかと言うと文系っぽくない分野なのかもしれません。


さてこのような私でもなんとか認めていただくことができました。
少なくとも私はプログラマーではありませんが、認定頂けたのです。
関連される皆様のご尽力は並大抵のものではなかったと思います。
本当にありがとうございました。

ただ始めにも書きましたが、私の目的はチャンピオンになることではありません。
「Notesをもっと知ってもらうこと。利用してもらうこと。」
まさにこの第一歩を踏み出したに過ぎません。

まだ何ができるかわかりませんが、今週金曜に開催されますR様主催のNotes Festa 2018がありますので、今から楽しみです!

最後に・・・
この文を読んだ方もチャンピオンに認定頂くチャンスはおおいにあるのです。
評価は自分が行うのではなく、IBM様が行うものなのです。
申し訳ありません、これは私がノミネーションする際にS様から頂いたお言葉です。

まずは今年1年。そう!
まさにDomino10が発売となる今年です!
私も努力しなければなりませんが、一緒に活動して来年のチャンピオンをめざしましょう!!

2018年1月22日月曜日

1DBで簡潔する【業務 #日報 】part2

みなさま、こんにちは!
昨日までの陽気が一転、かなり冷えて参りましたね。
神戸は今のところ小雨なのですが、どうやら東京はかなりの雪が予想されているようで、弊社の折と引き裂き様も多くが15時で営業を終了されるとの報告を頂いております。
特に明日の朝など、皆様十分にご注意ください。

さて先日のフォームに続き、今回はビューを作成して参ります。
私は基本的にフォームを作ってからビューに取り掛かることが多いのですが、どのようなビューが必要かを確認するため、必ずDesignerでフォームを開いたものを印刷します。
印刷されたものでキーとなる項目(今回ですと、所属部署や氏名・日付)にマーカーします。
またユーザーがビューに表示して欲しいだろうと思われる項目についても、別の色でマーカーしてから作り始めます。

今回のキーとしては所属部署と氏名(この2項目は基本的に対になっているかと思います)で【部署別氏名別】というビュー、日付をキーとした【日付順】ビューのふたつが適当かと思われます。
表示項目ですが、先のキー3項目を除くと、予定と活動は複数登録できるようになっているため、すべてを出すことは適当ではありません。もし出すとしても1項目目だけ等が適当かと思われます。
今回はそうではなく、「今日の反省点・所感」と「明日のやるべきこと」を表示させ、ビューからでも何かしらアクションを生みやすい設計とします。

それでは日付順ビューです。


アクションとしては、
終了・新規作成・編集・印刷・削除・転送 くらいでしょうか。

ここまでできましたら、念のため文書を登録し、表示を確認してください。
私の環境では以下のようになりました。


続いて所属部署別担当別ビューです。


以上でビューは完成です。
お気づきの方もいらっしゃるかと思いますが、実はフォームの【所属部署】が「編集可能」フィールドのままになります。
今回、所属部署別のビューが完成しましたので、先日記載しましたDbLookupを用いるのもひとつなのですが、あまり部署変更がないことを想定し、且つ基本的にしばらく同一部署に所属することを前提と考え、所属部署についてはダイアログリストとして設計内で準備し、且つ保存時にnotes.iniに値を格納し、一度保存すれば次回以降はデフォルトで所属が登録されるようにしたいと思います。

ちなみにDbLookupを利用する場合は、ダイアログの選択で「式で選択肢を設定」として、[@DbColumn("":"NoCache";"";"bydep_name";1)]とすれば利用可能です。

それではフォームを開き、【department】を選択してください。
種類を「テキスト」から「ダイアログボックス」に変更し、選択には必要に応じて部署名を追加してください。
下記は一例です。


続いてフィールドの式に以下を設定します。

PART:=@Environment("SAR_DEP");
@If(PART!="";PART;"")


【SAR_DEP】という環境変数(notes.ini)があれば、その値を所属部署に呼び出してくるというものです。

次に【保存】ボタンを以下のように修正します。

@SetEnvironment("SAR_DEP"; department);
@Command([FileSave]);
@Command([FileCloseWindow])


環境変数【SAR_DEP】にフィールド【department】の値をセットし、保存して閉じるという形となります。

つまり日報の初回記入時には【department】フィールドはブランクですが、初回に所属を選択し、「保存」ボタンをクリックすることで、次回から所属は同じものが呼び出されることになります。

もちろん所属が変更になった場合、一度選択しなおすことで次回からは新部署が呼び出されてきます。

但し、【esc】キーを押し、保存してしまうとこちらは有効になりませんので、ご注意ください。

それでは実際に動きを見てみましょう

アプリケーションを開き、新規作成ボタンをクリックします。
初回は以下のように所属部署はブランクで表示されます。


それでは適当に入力して、以下状態で[保存]ボタンをクリックします。


続いて、再度新規作成ボタンをクリックすると、以下のように初期値として「購買部」が入力されたダイアログが表示されました。


あとはアプリケーションとしての仕上げを行うことで完成です。
ちなみに私は、ナビゲーションの作成・フレームセットの作成・起動時の設定・アイコン設定を行いました。


さて、以上でNotesクライアントですぐに使える業務日報が完成しました。
WEB化等については、今後検討を行いますが、まずはNotesの初歩アプリケーションとしてご了解ください。

なお出来上がりましたアプリはこちらよりダウンロード可能ですので、ぜひご利用ください。