このサイトの掲載内容は私自身の見解です。
ここでの情報を元にメーカー等に問い合わせたりする事は避けてください。
また、サンプルコードを利用する場合は、利用者の責任の元で十分に利用者環境での動作確認や影響度などについて検討の上、ご利用ください。
このサイトに掲載されているソフトウェア、およびファイルの使用、または使用不具合等により生じたいかなる損害に関しましては作者は一切責任を負いません。
全て利用者の自己責任でお願いします。
  • 14 Nov
    • 荷受案内DBをクライアントで1から作ってみよう-その5

      荷受案内DBをクライアントで1から作ってみよう-その1荷受案内DBをクライアントで1から作ってみよう-その2荷受案内DBをクライアントで1から作ってみよう-その3荷受案内DBをクライアントで1から作ってみよう-その4こんばんは世の中、すっかり寒くなりましたね筆者は風邪が全然治らず、もうすぐ半月が流れようとしています馬鹿は風邪ひかないと言ったはずなのに・・・さてさて、前回の続きを書きたいと思います。荷受案内を受取人にメール通知したいと思います。と言っても、皆様は「そんなの読まんでもわかるわ」となると思います今回は、筆者はいつもこんなやり方していますよという紹介をさせていただきたいと思います。1)まずはメールのテンプレートフォームを作成します。件名:テキスト、編集可能 名前は「Subject」としました。本文:テキスト、編集可能 名前は「Body」としました。フォームはこれで終了です。必要に応じて、編集ボタンや保存ボタンを追加します。2)メールテンプレート用のビューを作成します。1列目:Form列 昇順ソート 「Form」を指定2列目:件名列 ソートなし  「Subject」を指定3列目:本文列 ソートなし  「Body」を指定ビューはこれで終了です。3)エージェントを作成します。17-18行目:ここで先ほど作成したビューを取得して、登録されている文書を取得しています。32行目:メールテンプレートのフォームにあるBodyフィールドを追記しています。例えば、毎回提携のドキュメントを添付して送りたい場合はメールテンプレートのフォームにあるBodyフィールドをリッチテキストにして、ここの記述を変更してあげると実現できます。※今回は簡素化して書いてあります。・送信先はボタンをクリックしたユーザーに指定しています(26行目、27行目)ので実際の送信先に書き換えてください。・同時に開いている文書を保存したりなどは必要に応じて書き足してください。以下の設定も忘れずに・・・これでエージェントの設定は終了です。4)アクションボタンの配置荷受案内DBではサブフォームを採用しています。編集可能用のサブフォームは、荷受人のみ表示されているように制御しています。編集用サブフォームにアクションボタンを配置します。非表示式もステータスに合わせて設定してください。アクションボタンは式でToolsRunMacroで先ほど作成したエージェントを指定します。これでサブフォームの編集は終了です。それでは、動作確認を行ってみましょう文書を開き、ボタンをクリックメールを確認すると・・・無事に届いているようですね今回、何故メールテンプレートフォームを使用したのか理由はいくつかあります。・頻繁に件名や本文の変更を依頼してくる。・部内に応じた提携に合わせられる。 例えば、件名に【】をつけるなど。・今回は実装していませんが、指定記号を受取人の名前に変える。・変更をDB設計者が行わなくていいので、メンテをお願いできる。などなど。毎回Domino Designerを立ち上げて修正する手間を省きたくてアイデアを振り絞りましたアイデアといえば・・・2017年11月15日(水曜日)ノーツコンソーシアムオープンセミナー 2017 が開催されます。https://www.notescons.gr.jp/home.nsf/event.xsp?action=openDocument&documentId=6BE341E1475DE2594925816E002FF2FCどのセッションも面白そうですね今回、同日にXPagesDayも開催されます。XPagesのさらなる効果的な活用方法について、アイデアソンを行いますので是非遊びに来てください筆者は前回のXPagesDayではキャベツの千切り動画流してましたwまた、2017年11月17日(金曜日)「ノーツ・しこく・フェスタ 2017 今日と未来のコラボレーション!」も開催されます!http://kokucheese.com/event/index/487433/筆者、はじめての参戦で皆様の興味を引くような話が出来ればと思っています高松に参戦できない方は、2017年11月17日(金曜日)同日に行われる「テクてくLotus技術者夜会」に参加してみませんか?https://www.ibm.com/developerworks/jp/offers/events/techtech/IBM Verse を拡張してみよう というテーマで貴重なお話が聞けるのでは?と思いますテクてくって?ご存知のない方は是非ノーツコンソーシアムオープンセミナーの出張テクてくに参加いただければと思います以上、告知盛りだくさんのブログになってしまいました・・・荷受案内DB・・・早くクライアント側を完成させて、ブラウザ対応とかやりたいですねー今日はこの辺で・・・あでゅー

      1
      テーマ:
  • 21 Oct
    • 【閑話休題】Watson WorkspaceとNotes/Dominoの連携

      こんばんはまずは、テクてくLotus技術者夜会2017年10月にお越しいただいた皆様ならびにパブリックビューイング(大阪) にご参加いただいた方々へ、ありがとうございました!!WWSでお弁当注文とかWWSでパートさんの勤務交代DemoとかWWSで出先から会議室予約してみたりとか・・・おもしろかったっしょーww詳しい資料はテクてくのサイトもしくはSlideShareにありますので、是非皆様もWWSとNotesのディープな繋がりを考えてみてくださいIBM Champion 吉田様のブログ次は、こちらで会いましょう本日はこの辺で・・・あでゅー

      2
      テーマ:
  • 15 Oct
    • Watson Workspaceとお話ししてみる(ChatBot)

      こんばんは早いもので10月も半分終わってしまいましたね休み中も雨が続いており、引きこもりな筆者はチャットでもしながら・・・と思ったんですが世の人たちは雨でもお出かけしているようでならば、話し相手は自分で作るしかない(大丈夫か、自分w)早速ググるとIBM ConversationとNode-REDを使ってSlackやFacebook MessangerなどでChatBotを作る方法がたくさん出てきました・・・・ちょっと待て何故、IBM Watson Workspaceがあるのに誰も使わないんだ!!ということで、作成してみました完成形はこちらになります(回答があると何故かうれしいですねw)必要なものは以下になります。・Watson Workspace(My App)・Watson Conversation(事前に作成しておいてください)・Node-RED※Watson ConversationとNode-REDはIBM Bluemix環境でそろいますね!Node-REDはこの様にしてみましたConversationは以前にお世話になったWatsonサミットのハンズオンのモノを使用させていただきましたw(サーセン)とても簡単に出来るので、皆さんも暇なときに作成してみたらいかがでしょうか筆者はこれからお好み焼きを注文してみたいと思いますw(リアルでは頼めないけど)簡単ですが、本日はこの辺で・・・あでゅー

      2
      テーマ:
  • 13 Oct
    • 荷受案内DBをクライアントで1から作ってみよう-その4

      荷受案内DBをクライアントで1から作ってみよう-その1荷受案内DBをクライアントで1から作ってみよう-その2荷受案内DBをクライアントで1から作ってみよう-その3こんばんは前回から時間が空いてしまい、なんと10月になってしまいました10月と言えば・・・このブログ書き出して2年じゃないかそして、今月筆者も1UPしました(見た目は大人、頭脳は子供w)1年前・・・初めてテクてくに登壇してたwwテクてくと言えば・・・今月20日はテクてくLotus技術者夜会がありますそこで、久々の登壇をすることになりました登壇と言っても、IBM Champion の吉田さまのお手伝いをさせていただくだけなのですがw他ではめったに聞けない「IBM Watson Workspace」の話もそうですが、どのようにIBM Notesと連携することが出来るのか?多分、どこよりも早い情報だと思います是非、吉田さまの素晴らしい技術を見に来てくださいそして、筆者の無茶ぶり案をシステム化した吉田さまを讃えてくださいさて、今回も荷受案内DBの制作の続きです荷受案内を作成しているときに「荷受番号」を用意していましたが、こちらの実装を紹介したいと思います。俗にいう連番ですね※連番の作成は色々なやり方がありますので、こんな方法もあるんだー程度で見ていただければと思います。今回のゴールは・保存時に最新番号を取得してNoをセットする・一度Noが振られたものは変更しない・仮に途中の番号が歯抜けになっても、最新のNoを振るこの様な条件になります。まずはビューを作成します。ビューの名前は以下の通りにしました。No別 | V_No選択式は以下の通りです。前回作成したフォーム名を指定してください。SELECT Form = "Main"カスタマイズしていきます。 列 列名 式 列オプション 1列目: No No 降順にソート 2列目: 荷受日 CDate - 3列目: 受取人宛先 @Name([CN];SendTo) - 4列目: 保管場所 Storage - 5列目: 重量 Weight - ※一列目が必ず荷受番号フィールドが指定されて、降順になっていること※2列目以降はどのフィールドが表示されていても問題ありません。ビューを保存します。続いて、前回作成したフォームを開きます。フォームの「Querysave」に以下のスクリプトを入力します。9~11行目:既に登録されている荷受案内文書を取得しています。13行目:Noフィールドが空の場合のみ採番処理をします。15行目、17行目:荷受案内文書が1つもない場合は、strNoに初期の番号をセットします。21行目:荷受案内文書を取得できたら、Noフィールドに1を足したものに頭0をつけて5桁にしています。26行目:今開いている文書のNoフィールドに値をセットしています。フォームを保存します。さて、新規に文書を作ってみましょうもちろんの事ながら、荷受番号には値がセットされていません。入力が終わったら「保存して閉じる」ボタンをクリックしてみましょうちゃんと荷受番号がセットされました対象の文書を開いてみると・・・問題なく荷受番号にNoがセットされています応用編として、・ある一定のステータスになったら採番することも出来ます。・yyyy-00001のような採番も出来ます。用途によって色々な採番が出来るので、是非試してみてください次回は、荷受の通知について書けたらと思います本日はこの辺で。。。。あでゅー

      テーマ:
  • 29 Sep
    • 【閑話休題】Slider ProをXPagesに取り込んでみたよ!-後半

      【閑話休題】Slider ProをXPagesに取り込んでみたよ!-前半こんばんは前回のSliderProをXPagesにの続きです早速行ってみましょうまずSliderProに必要なものですcssの定義JQueryとSliderProのコア部分SliderProを実行結果を行う場所<div class="slider-pro" id="slider1"> <div class="sp-slides"> <div class="sp-slide"> <img class="sp-image" src="image01.jpg"/> </div> </div></div>SliderProのエンジンとなるところ$(document).ready(function(){ $( '#slider1' ).sliderPro({ width: "80%", height: 500, aspectRatio: 2, arrows: true, buttons: true, autoplay: true, loop: true, visibleSize: '100%', forceSize: 'fullWidth' }); });全部で4つを組み込んでいきまーす1.カスタムコントロールを作成するカスタムコントロールを作成します。ここでは「ccHeader」と命名して作成します。リソースの追加でCSSとJSファイル2つを設定します。ソースで見るとこんな感じです。保存して閉じます。2つ目のカスタムコントロールを作成します。ここでは「ccSliderPro」としておきます。出力スクリプトコントロールを配置します。出力スクリプトコントロールを選択して、すべてのプロパティ>データ>valueを指定します。アイコンをクリックするとエディターが表示されます。JQueryを記述します。(先ほどのコードをコピペしてください)保存して閉じます。2.XPageを作成するXPageを新規作成します。ここでは「xpSliderPro」とします。先ほど作成したカスタムコントロール2つを配置します。ccHeader・ccSliderPro続けてパネルコントロールを配置します。パネルコントロールのプロパティからデータを選択し、前回作成したビューをバインドします。パネルコントロールの中に繰り返しコントロールを配置します。データバインディングは先ほどパネルコントロールで設定したviewを指定、コレクション名には「viewEntry」と設定しました。ソースタブに切り替えて青枠部分に計算結果フィールドコントロールを配置します。青枠のように配置されていることを確認し、プロパティでコンテンツタイプを「HTML」にします。値に切り替えてJavaScriptを選択し、以下を記述します。var img = viewEntry.getColumnValues().elementAt(1);'<img class="sp-image" src="'+img+'"/>';続いて、足りないタグを追加していきます。これもコピペできますね保存します。これで完成です簡単でしたよね文書を3つほど作成して・・・プレビューしてみましょう。表示されてカルーセルのようにスクロールされましたでしょうかタグやプログラム部分はコピペだけで出来たのではないでしょうかただ・・・こんなんじゃ物足りないってそこのアナタこちらも試してみませんか今回JQueryをカスタムコントロール化したのには理由がありますSliderProはオプションが豊富なので簡単に設定できた方が便利がいいですよねということでやったのがこちら全オプションをプロパティ定義したったーーwwこれが完成すると・・・XPageにカスタムコントロールを配置したときに以下のように設定できますありすぎて何が正解かわからないのは内緒でwというわけで、SliderProを取り込んだXPagesを作成しました。カルーセル同様、動きのある画像って・・・なんかカッコいいとしみじみ思うサッカー馬鹿でしたでは今回はこの辺で・・・あでゅー

      3
      テーマ:
  • 28 Sep
    • 【閑話休題】Slider ProをXPagesに取り込んでみたよ!-前編

      こんばんは無駄に文字をデカくしてみましたもうすぐで9月が終わりですね暑い夏もあまりないまま秋がやってきました・・・今年ももうすぐ終わってしまうと思うと何だか寂しいですね本日は、XPages研究会の「 フレームワークを適用したサンプルアプリケーションの作成 」というテーマの中で行った「Slider Proを使ったXPagesを作ろう」をご紹介します何でブログのネタにするかは理由が二つあります。1.難しいことを何もしていないのに、なんかカッコいいページが出来る2.半分以上はコピペで出来るのでプログラムが苦手な人にも簡単に出来る(多分Notesだからかも)こういうの、大好きですwXPages研究会のメンバーの方はdWからダウンロードできるようになっていますので、煮るなり焼くなりしてください早速本題へ・・・まずはSlider Proから紹介ですねー主な特徴としては、・ レスポンシブ対応・ フルウィンドウ(画面いっぱい!!)・ サムネイル・ 画像の読み込み遅延・ 動画対応(Youtube・Vimeo・HTML5・Video.js・SublimeVideo・JW Player)他にもクラスを与えてスタイル付けたりとかも出来るらしいです (スゲェー)では、作っていきましょう1.jsファイルなどを手に入れるSlider ProからDownloadしてきます。場所は、下へスクロールしていくとあります。(わかりずらい)zipファイルがダウンロードできるので、解凍します。こんな感じですね2.NotesDBに取り込む折角ダウンロードしても使わなければ動かないのでDB内に保存します。新規にDBを作成します。テンプレート等は不要です。いつでも捨てられるようにしておいてください。まずはcssファイルを取り込みましょう。***\slider-pro-master\dist\cssフォルダー内に「slider-pro.min.css」があるので、DBのスタイルシートにインポートします。***\slider-pro-master\dist\jsフォルダー内に「jquery.sliderPro.min.js」、***\slider-pro-master\libsフォルダー内に「jquery-1.11.0.min.js」をファイルリソースにインポートします。3.DBの設定を変えるDBのプロパティを一部変更しなければなりませんアプリケーションのテーマを変更します。適当に<blank>とかつけてみてください。「実行時最適化 JavaScript と CSS リソースの使用」のチェックを外します。外さないと動きません(多分)ページの生成プロパティでエンコードと HTML doctypeの値を変更します。保存して閉じてください。DBはあと開発のみですね次回、開発に入っていきたいと思います。近いうちに続きを書きますでは、今日はこの辺で・・・あでゅー

      テーマ:
  • 15 Sep
    • 荷受案内DBをクライアントで1から作ってみよう-その3

      荷受案内DBをクライアントで1から作ってみよう-その1荷受案内DBをクライアントで1から作ってみよう-その2こんばんは連休明けですが、大きなイベントが開催されますIBM Notes/Domino Day 2017日時:2017年9月19日(火)13時30分?17時45分場所:御茶ノ水ソラシティカンファレンスセンターhttps://www-01.ibm.com/software/jp/events/social/notes_domino_day.html今回はあのEdさんもいらっしゃるそうです見えないじゃあ、19日来てくださいw本題に行きましょー前回に引き続き、フォームの成型をしたいと思います大きく分けて3つの分類になります・荷受番号等の誰宛の情報なのか(赤枠)・荷物の詳細(青枠)・倉庫担当者の情報(黄色)荷受番号等の誰宛の情報なのか(赤枠)の調整・宛先・保管場所上記2つは作成時は編集出来て、申請後は編集できないようにしておかないといけません。ここは手っ取り早く、計算結果テキストを改行して追加します。SendToフィールドは 文字>非表示で以下のように設定します。Status!=""追加した計算結果テキストは 以下のように設定します。Status=""Statusフィールドが空の場合は新規としていたので、計算結果テキストは表示されません。逆にStatusフィールドに何かしら値が入っていたらSendToフィールドは表示されません。保管場所のフィールドにも同じ設定をしてあげます。荷物の詳細(青枠)の調整こちらも上記と同様の方法でも構いませんが、折角なので違う方法で実装してみたいと思います。青枠で囲んだ部分を表ごと切り取ります。サブフォームを作成します。分かりやすいようにSub_Editという名前にしました。切り取った表を貼り付けて保存します。Sub_Editサブフォームをコピーします。コピーSub_Editの名前をSub_Readに変更します。Sub_Readサブフォームを開き、全フィールドを計算結果に変更し、値を自身のフィールド名にします。保存して閉じます。先ほど、表を切り取られたフォームに戻ります。青枠部分にカーソルを置きます。メニューから 作成>リソース>サブフォームの挿入を選択します。すると先ほど作成されたサブフォームが表示されます。(アンダーバーが出ないのは相変わらず仕様なんですかね?)式の定義によりサブフォームを挿入にチェックをつけて[OK]をクリックします。<サブフォームの計算結果>というところにカーソルを置くと、計算結果(サブフォーム)のデフォルト値が記載できますので、以下の式を書きます。@If(Status="";"Sub_Edit";"Sub_Read")以上でフォームを保存します。Statusフィールドが空の場合はSub_Editサブフォームが表示されます。逆にStatusフィールドに何かしら値が入っていたらSub_Readサブフォームが表示されます。ここまでを一度確認してみましょう。新規作成時は編集できるようになっています。では、Statusが空じゃない時のフォームを見てみましょう。分かりづらいかもしれませんが、表示されているだけで、編集は出来ないようになっています。倉庫担当者の情報(黄色)の調整赤枠部分と青枠部分を調整しました。利用者にとって黄色の枠は邪魔ですし、担当者にとっては触ってほしくない場所です。ここは担当者だけ見える状態にしましょう。ワークスペースから アプリケーション>アクセス制御を選択します。ロールを選択し、追加をクリックします。ロールが作成できますのでいくつか追加しておきます。筆者は[ADMIN]と[KANRI]を追加してみました。基本を選択し、倉庫担当者にロールを割り当てます。割り当てが終了したら[OK]をクリックしてアクセス制御リストを閉じます。Designerでフォームを開き、黄色枠部分をハイライト(マウスでなぞる)させます。ハイライトさせたら右クリック>文字のプロパティを選択します。非表示式を設定するタブから、以下のように「式により段落を非表示」にチェックを入れて[式ウィンドウ]をクリックします。式には、@IsNotMember("[KANRI]";@UserRoles)と入れてあげて保存します。では確認してみます。管理者が文書を開いたとき、黄色枠が表示されています。一般利用者(ロールがない)を見てみましょう。黄色枠の部分が非表示になりましたやっと成型が整ってきましたがもう少しだけ続きます・・・本日はこの辺であでゅー

      テーマ:
  • 03 Sep
    • 荷受案内DBをクライアントで1から作ってみよう-その2

      荷受案内DBをクライアントで1から作ってみよう-その1こんにちわ前回、荷受案内DBのフォーム作成の続きです。開発を行っていると、仕様変更が頻繁に行われますこの荷受案内DBもありました。・代理人が受け取った場合に実際の受取人に告知できる方がいいと思う。・荷受棟に受付を設置するので、伝票番号・受取った人の情報とかが書き込める欄がほしい。・受取りに来ない人が多いので督促メール機能がほしい。Notesはこのような要望も比較的簡単に組み込めるのが大きな利点だと思います。さて、早速フィールドを追加したいと思います依頼を受けて追加したフィールド次に最低限使用するアクションボタンを作成します。では一度フォームを保存して、プレビューしてみましょう。保存後、プレビューをクリックします。フォームもフィールドもいい感じで動いてそうですね続いて荷受状態を表す「Status」フィールドを変更していきたいと思います。現在「Status」フィールドは右上に配置されていましたが、編集可能になっています。フォーム上段に非表示エリアを設けて、そこに「Status」フィールドを移動させます。元々「Status」フィールドがあった場所に計算結果テキストを代わりに配置します。計算結果テキストの式はこのようにしてみました。@If(Status="";"作成中";Status="10";"連絡中";Status="99";"受取済";"")フォームを保存して、プレビューしてみましょう。「Status」フィールドには値がないのでステータスは「作成中」になっていますね。「Status」フィールドに10と入れて文書の更新をしてみましょう。ステータスが「連絡中」に変わりましたね非表示エリアが見えているとよろしくないのでDesignerから文字のプロパティで非表示にします。いい感じになってきましたね本日はここまでにしたいと思います。次回もこのフォームの続きからやっていきたいと思いますあでゅー

      3
      テーマ:
    • 荷受案内DBをクライアントで1から作ってみよう-その1

      こんばんは随分と久々になってしまいました9月ですよ、9月でも安心してください、生きてますよ気が付けば、来年でNotesの開発経験が20年になろうとしていましたあの頃は若かった・・・20年前はとにかく勉強のためにDBをたくさん作っていた気がしますそんな過去の気持ちを思い出すために、初心に戻って20年前に作ったDBを再現したいと思います。また、この20年間にはNotesにも色々な機能が追加されたので、復刻版DBにも段階を踏んで改良していけたらと思います。---------過去のお話---------約20年前、当時勤めていた工場では以下のような問題が発生していました。付け加えて、似たようなものの受取人違いだったり、放置だったりという問題もあったようですこれらの問題を解消させるために「荷受案内」DBの作成を依頼されました1.荷物が届いたら「荷受案内」DBに記録→メール通知する2.通知されたメールにリンクがあり、開くと荷受Noを元に受取りに向かう3.保管場所で荷物を探して自席に持って帰る(代理人も可能)4.再度案内を開き、受取りボタンをクリックする5.一覧からでもどんな荷物が届いているか確認できるとうれしいそうです、今まで掲示板しか作ったことがなかったので当時はかなりドキドキでした早速作り方に行きましょう!当時のレベルで行きますのでそんなに難しくはないと思いますDBの作成1)テンプレートを適用していない空のDBを作成します。2)フォームを作成します。筆者は「荷受案内|Main」としてみました。3)フィールド等を配置します。ここで一度フォームを保存しておきます。まだまだフィールド等の追加はありますが、続きは次回にしましょう。本日はこの辺で・・・・あでゅー

      1
      テーマ:
  • 05 Aug
    • DominoのデータをCSVに書き出してBOXに保存する

      こんばんわーあっという間に8月ですね・・・夏なのにぐずついた天気で何だかスカッとしませんね・・・さて、今回はBluemixのNode-REDを使ってDominoのデータをCSVに書き出してBOXに保存してみたいと思います注意はじめにBOX APIを使用する(OAuth2.0を利用する )のでWatsonWorkServicesと同じようにMy Appを作成しなければなりません。boxアカウント持っている場合は、MyAppsからログインして持っていない場合はSignUpで無料の開発者用のアカウントを作成する必要があります。作成方法は以下のリンクからhttps://developer.box.com/docs/getting-started-box-integration#section-using-the-box-apiまた、Domino側もREST APIの設定が完了していないといけません。詳しい設定方法は、IBM Championの御代様のブログで紹介されています。Notes/Domino でREST APIを使ってみよう-前半-では、本題に・・・まずは完成形のNode-REDですこちらを使ってDominoにあるDB名とパス名(ファイル名)を取得したいと思います。今回、Dominoのデータを簡単に取得できるように「node-red-contrib-domino-rest」を使用しています。node-red-contrib-domino-rest については、作成者であるIBM Championの吉田様のブログで紹介されています。Node-RED から Domino へアクセスするためのノードを公開ポイントとなるノードだけ紹介します。まずはBOXノードです。こちらは自分で追加しなければいけません。追加方法を紹介します。1)Node-REDの右上のハンバーガーメニューから「設定」をクリックします。2)Paletteをクリックしてノードを追加タブをクリックします。3)虫眼鏡アイコンのところに「node-box」と入力すると、「node-red-node-box」が表示されますので、[ノードを追加]をクリックします。4)警告出ますが勇気を出して[追加]をクリックします。追加しているようです・・・5)追加されると画面の上からも通知されますが、以下のイメージのように[追加しました]と表記が変わっていることを確認できます。確認できたら[閉じる]をクリックします。※node-red-contrib-domino-restも同じ手順で追加しましたwパレットから探してみると・・・追加されていますねパレットからBOXノードを配置して設定を行いますマウスでつかんでドラッグ&ドロップするだけですので配置は簡単ですね追加したBOXノードの設定方法です。Node-REDのページは閉じずに開いたままにしておいてください。1)BOX My Appページを開きます。このページに記載のある「クライアントID」と「クライアント機密コード」を控えます。このまま開いたままにしておいてください。2)Node-REDに戻り、先ほど配置したBOXノードをダブルクリックして、下記イメージの場所にある鉛筆ボタンをクリックします。英語でよくわかりませんが、赤枠で囲んでいるURLをRedirect URIsに入れとけ的なことが書いてありますので、マウスでなぞってコピーします。3)BOX My AppページのOAuth 2.0リダイレクトURIに先ほどコピーしたURLを貼り付けます。右上の[変更を保存]ボタンをクリックして保存します。4)Node-REDのBOXノードの画面に戻り、1で控えた「クライアントID」と「クライアント機密コード」を「Client ID」と「Secret」に貼り付けます。[Authenticate with Box]ボタンをクリックします。5)認証の確認ページが開きます。問題ないはずなので[Boxへのアクセスを許可]をクリックします。6)認証しました-このページを閉じてNode-REDに戻れば?的なページが表示されます。以下の言葉が確認できたらこのページを閉じます。7)問題なく追加されていることが確認できたら[追加]をクリックします。8)Filename欄に保存先と保存するファイル名(拡張子付き)を入力します。筆者のBOXには「NotesDomino」というフォルダがありますので、その配下に保存したいと思います。以上でBOXノードの設定は完了です。次にポイントとなるノードは「CSV」ノードです。CSVノードはパレットにもともとあるので、設定だけですね。BOXノードと同じようにパレットからCSVノードを配置して配置したノードをダブルクリックします。1)列名にカラムのヘッダーを入力します。2)下にスクロールし、「オブジェクトからCSVへ変換」にある「1列目を列名とする」にチェックを入れて[完了]をクリックします。以上でCSVノードの設定は完了です。※FunctionノードでDominoから出たJSONをこねこねして、CSVノードに渡してくださいねさあ、動かしてみましょうtimestampノードを手動実行させます。BOXを確認しましょう筆者のNotesDominoフォルダには何もありませんでしたが以下のようなメッセージが・・・更新するとCSVファイルが追加されていました。中身を確認すると、ちゃんと書き出されていました。もちろんダウンロードも可能です。今回は、Domino→Node-RED(Bluemix)→BOXと繋げてみました最後までお読みいただきありがとうございました結構長かったと思います。(筆者も昼から書き始めて気が付いたら夜になってましたw)今日はこの辺で・・・あでゅー

      8
      テーマ:
  • 23 Jul
    • Watson WorkspaceでAction Fulfillmentを実装したい-続き

      Watson WorkspaceでAction Fulfillmentを実装したい-下ごしらえ編こんにちは前回長くなったしまったブログの続きですMy AppとConversationの準備 まで出来ていると思います(出来てますよね?)Watson Workspaceに戻って新しくスペースを作成します。スペース一覧の上に+があるのでここをクリックします。メンバーを選択できるページになりますが、今回はボッチでやりたいのでどなたも選択せずに「Name Your Space」をクリックします。スペースの名前を入力します。筆者は「Action Fulfillment Demo」とつけてみました。名前を付け終わりましたら「Create」をクリックします。新しくスペースが出来たことを確認します。MyAppを追加します。スペース名の右側をクリックするとメニューが表示されます。こんな感じですねーそのメニューの中から「Apps」をクリックします。追加できるApp一覧が表示されますので一覧をスクロールすると・・・ありました前回作成したAppをクリックします。Appの詳細が出てきますので「Add App」をクリックします。追加されると以下のようにチェックマークが表示されます。次はWatson Conversationの設定です。その前に設定方法を確認しておきましょうWatson Work Serveicesを開きます。ページ右上の「Doc」をクリックします。ドキュメントが開きますので左メニューを下へスクロールします。Action Fulfillmentの項目がありました何となく適当に読んでいくと、設定の方法が記述されているところにたどり着きました。Watson Conversationのスタートにこれに書き換えてって書いてあるように読み取れます。"output":{ "actions":[ "ACTION_NAME" ]}Watson Conversationを開きます。前回作成した「Car Dashboard -Sample」を開きます。Dialogタブをクリックし、「Start And Initialize Context」をクリックします。このCar Dashboard -SampleはスタートがJSONで記述されているので、以下のように表示されます。ドキュメントで確認したコードに書き換えます。こんな感じですね以上で設定は終わりですでは無事に反応するか確認してみましょうどんな単語に反応するかはWatson ConversationのIntentsにある単語が対象のようです。Watson Workspaceにメッセージを投稿してみます。ちょっとわかりづらいですが、your name?の下にアンダーバーが表示されたのがわかりますか?Watson ConversationのIntentsにある単語次第ですが、日本語でもうまくいきました長くなりましたが、以上で終了です。この先のリンクをクリック→ボタン表示→何らかのアクションについては、筆者もまだよくわかっていないので、わかり次第ブログにしていきたいと思います今日はこの辺で・・・あでゅー

      2
      テーマ:
  • 22 Jul
    • Watson WorkspaceでAction Fulfillmentを実装したい-下ごしらえ編

      こんにちは先日行なわれたテクてくLotus技術者夜会にて「 IBM Watson Workspace & IBM Watson Work Services 最新技術情報 」にてAction Fulfillment のデモがありました。Action Fulfillment説明は難しいので昨日のデモで紹介・・・特定のキーワードを含む言葉がスペースに投稿されるとリンク化されクリック出来るようになります。クリックすると、このスペースに追加されている自作アプリが反応していることが表示され、対象の自作アプリをクリックするとアンケート的なものが表示されました回答用のボタンをクリックすると・・・自作アプリからメッセージが投稿されましたねこういうのが作れると、業務でも色々なものが作れそうな気がします例えば・・・・ワークフローと連携して「承認」「差し戻し」アクション・タイムカード的な使い方?「入室」「退出」アクション・今日のランチの取り決め「和食」「洋食」「中華」アクション・会議室の空き状況アクション ex)今日の会議、部屋決まった? →空き会議室リスト表示・来客中にコーヒーのおかわり注文アクション・新人研修などのテストツールアクションとか・り〇なちゃんのように「しりとり」ゲームができるとか何だか夢広がりますねというわけで、このAction Fulfillment、リンクを作るところまでは比較的簡単に出来るということなので、紹介したいと思います。用意するもの・Watson Workspace(My App)・Watson Conversation・IBM Bluemixの環境※既にMy App、Conversationの準備がある方は、下ごしらえなので適当に読み飛ばしてください。1.My Appを作成する1)Watson Workspace左側に歯車アイコンがあるので、クリックすると下記のイメージのようにメニューが表示されます。その中から「Developer」をクリックします。2)Watson Work Servicesのページが開きますので、右上にある「Your Apps」をクリックします。3)左上にある「Create new app」をクリックします。4)Appの名前を決め、App Nameに入力します。(英語が望ましいかと)Short descriptionには自分がわかりやすい言葉を入力しておきます(日本語入れても問題なし)入力したら「Create」ボタンをクリックします。5)問題なく作成できると「Success!」と表示されます。App ID と App secretを必ずメモ帳等にコピーし大切に保管しておいてください!(App secretはこの時しか表示されなかったような気がしました)控えが終わりましたら「Got it」をクリックします。6)以下のページが表示されていると思います。左メニューから「Make it Cognitive」をクリックします。7)英語はよくわかりませんが、何か必要と書いてあります。・Watson Conversation ID・Watson Conversation Username・Watson Conversation Passwordこのページはあとで使いますので、続いてWatson Conversationを作成しましょう!2.Watson Conversationを作成1)IBM Bluemixにログインし、カタログ→サービスのWatsonをクリックします。Watsonの一覧からConversationをクリックします。2)サービス名等は特に変更ありません。料金体系を確認し右下の「作成」をクリックします。3)出来上がると以下のページが表示されますので右側にある「Launch tool」をクリックします。4)Conversationのトップページが開きました。ここからConversationを作成していると時間がかかってしまいます。今回は動作テストということで、Bluemixが準備しているサンプルを使用したいと思います。「Car Dashboard- Sample」というものがありますのでそこにある「Edit sample」をクリックします。5)素敵ですね!もうデモ環境が出来ちゃったwページ左のアイコンをクリックします。6)先ほど緑色だった「Car Dashboard- Sample」が白に変わっていますねw下記のイメージを参考に「View detalis」をクリックします。7)くるんと回って、詳細が表示されます。ここにある「Workspace ID」を控えてください。8)Bluemixの画面に戻り、先ほど「Launch tool」をクリックしたページの左側に「サービス資格情報」がありますのでここをクリックします。9)ページ左側にサービス資格情報があるので、その中の「資格情報の表示」をクリックします。展開されて下記のように表示されるのでusernameとpasswordを控えておきます。10)先ほど放置していた「Make it Cognitive」のページに戻ります。Watson Conversation ID(赤枠)には、7で控えたWorkspace IDを入力しWatson Conversation Username、Watson Conversation Password(青枠)には、9で控えたusernameとpasswordを入力します。入力が終わったら「Connect」ボタンをクリックします。Success!が表示されました。一度、登録されるとこんな感じになるんですね・・・これで、My AppとConversationの準備が出来ました。ちょっと長くなってしまったので、続きは次回にしたいと思いますm(_ _ )mそれではこの辺で・・・あでゅー

      テーマ:
  • 18 Jul
    • アプリケーションレイアウト-Bootstrapを使って簡単なページを作成する

      アプリケーションレイアウト-Bootstrapを勉強するこんばんは毎日毎日暑いですね梅雨明けしてないのにこの暑さ・・・こんな時は涼しい場所でXPagesの勉強をしましょう前回、アプリケーションレイアウトのBootstrap3についてどのような動きをするか?書きました。と言ってもとりあえず作成しないと検証できないと思いますので、簡単ですが書いていきたいと思います。ビュー用XPageとフォーム用のXPageを作成・現段階では何も設定しなくて問題ありません。カスタムコントロールを3つ作成する・カスタムコントロールA:一覧ビューをバインディングしたもの・カスタムコントロールB:Mainフォームをバインディングしたもの・カスタムコントロールC:アプリケーションレイアウトのBootstrapを追加したもの※カスタムコントロールA・Bに関してはあとで使いますので事前に作成しておいてください。ここでは、カスタムコントロールCについての作成方法を書きたいと思います1)カスタムコントロールを作成します。筆者はccLayoutとしました。拡張ライブラリから「アプリケーションレイアウト」を追加します。どのアプリケーションレイアウトにするか聞かれるので、Responsive Bootstrap Configuration」を選択します。オプションは後で設定するのでここは何もせずに終了します。2)各設定を行うアプリケーションレイアウトタブを選択し、ドロップターゲット「中央の列」にチェックを入れます。バナータブを選択し、好きなイメージを選択します(省略可)アプリケーションリンクタブを選択し、label・pageを設定します。pageはビュー用XPageを選択して下さい。タイトルバータブを選択して、タイトルテキストの右隣にある◇をクリックし、「@DbTitle()」を記述します。検索タブを選択して、ページ名はビュー用XPageを選択します。検索コントロールのチェックを忘れずにつけてください。※検索を使用する場合は、索引の作成が必要になりますので、事前に作成していてください。フレーズバータブを選択して、項目の追加→ページリンクノードを選択→label・pageを設定します。pageはフォーム用XPageを選択して下さい。フッタータブを選択して、項目の追加→基本ノードを選択しプロパティを選択します(省略可)リーガルタブを選択し、イメージを追加、テキストにコピーライト等を書き込みます(省略可)拡張ライブラリから「ナビゲータ」を選び、アプリケーションレイアウトの「LeftColumn」の●に配置します。ナビゲータのナビゲーション項目タブを選択し、項目の追加→ページリンクノードを選択→label・pageを設定します。pageはビュー用XPageを選択して下さい。以上で保存します。3)各XPageにLayoutカスタムコントロール配置するビュー用XPageにLayoutカスタムコントロールを配置します。カスタムコントロールAをfacetMiddleの右隣の●に配置します。保存します。次にフォーム用のXPageを開き、先ほどと同じようにLayoutカスタムコントロールを配置します。そしてカスタムコントロールBをfacetMiddleの右隣の●に配置します。保存して閉じます。4)動作確認を行うでは完成したビュー用XPageをブラウザから開きます。正しく表示されましたでしょうか?続いて、ビューから文書を1つ選んでリンクをクリックします。文書が問題なく開きましたでしょうか?レスポンシブにも対応しているか確認します。対応しているようですね、よかった今回追加されたアプリケーションレイアウトを使用することで比較的に簡単に実装することが出来ました。他にもBootstrapの機能はありますので、皆さまも是非試してみてくださいでは今日はこの辺で・・・あでゅー

      2
      テーマ:
  • 03 Jul
    • アプリケーションレイアウト-Bootstrapを勉強する

      こんばんは今年も半分終わってしまいました・・・時間の流れは早いですねさて、今回はアプリケーションレイアウトに追加された「Bootstrap」について色々検証してみたいと思います※あくまで一例ですので参考程度にしてください!早速、新規にDBを作成してください。1)XPageプロパティを開いて、アプリケーションのテーマを「Bootstrap3」に変更します。※Bootstrapはレスポンシブデザイン対応なので、モバイルテーマもすべて「Bootstrap3」にしてみました。保存して閉じます。2)新規XPageを作成してください。名前は何でもよいです。XPageが出来上がりましたら、拡張ライブラリからアプリケーションレイアウトを追加してください。3)追加すると、どのレイアウト選ぶ?的なことを聞かれます。そんな事急に言われてもわからないので、とりあえず「Responsive Bootstrap Configuration」を選択します。4)オプション何か設定しとく?的なことを聞かれますが、心の準備が出来ていないのでこのまま「終了」を選択します。5)出来上がったようです一度保存して、XPageを閉じます。6)やはりもう一つのBootstrapテーマも気になるので作成したいと思います。5で作成したXPageをコピーします。コピーしたXPageを開いてすべてのプロパティを選択します。基本>configurationに「bootstrapResponsiveConfiguration」が設定されているのでマイナスボタンで削除、プラスボタンをクリックすると上記イメージのように表示されますので「simpleResponsiveConfiguration」を選択します。変更出来たら保存しておきます。では早速、色々といじってみましょう<bootstrapResponsiveConfiguration>どこにどのように表示されるかということで色々設定をいじってみるとよいかもしれません。少し幅を狭めてみました。左にあったメニューバーも上に動き、レスポンシブ出来ています。ハンバーガーメニュー(右上)が表示されました。もう少し縮めてみました。ナビゲーションバーのテキスト「IBM Champion for ICS 2017」のエリアがリンクの邪魔してますね・・・もっと縮めてみました。もっと折り返されてリンクが見えなくなってしまいましたorzハンバーガーメニュー内は問題なく表示されました。<simpleResponsiveConfiguration>こちらはすべてのプロパティ以外にも各項目の設定箇所があるので便利です。oneUIの時と感覚は同じです。早速縮めてみました。問題なくレスポンシブされています。さらに縮めてみました。先ほどとは違い、テキストがあってもリンクは隠れていませんでした。ハンバーガーメニューも問題なく表示されました。bootstrapResponsiveConfigurationsimpleResponsiveConfigurationどちらのプロパティにも「invertedNavbar」があり、こちらの値をtrueにすると・・・ナビゲーションバーが黒に変わります他にも、アプリケーションテーマとの組み合わせで色々と出来るかもしれません。引き続き、アプリケーションレイアウトのBootstrapについて調べていきたいと思います今日はこの辺で・・・あでゅー

      2
      テーマ:
  • 20 Jun
    • インプレースフォームを作ってみた!

      まだまだ知らないことがたくさんあるもんだこんばんは前回「インプレースフォーム」について記事を書きました言葉で見ても実際に動く姿が見たいのが本音ですよね(筆者も同じです)ということで、今回はインプレースフォームを使用したXPagesを作成したいと思います1)DBを用意する。すいませんが、データがいくつか入っているDBを用意してください。テスト用に何か作成していただければ助かります。筆者はこのようなフォームとビューを持つDBを作成しました。Formフォーム($All)ビュー設計は以下のようになっています。2)XPageを作成します。お好きな名前を付けてください。3)みんな大好き「繰り返しコントロール」を配置しますデータソースは表示させたいビューを選択してください。4)コレクション名も任意でつけます。ここでは「rowData」としました。5)3で配置した繰り返しコントロール内に計算結果コントロールを配置します。配置したらプロパティ>値 タブをクリックし以下を選択します。データソース:rowData (4でつけたコレクション名)バインド先:<繰り返しコントロールで表示させたい列の値を選択>6)計算結果フィールドコントロールの右隣にスペースを入れてからリンクコントロールを配置します。7)リンクコントロールのプロパティ>リンク タブのラベルを以下のようにSSJSにします。※ソースをコピーしたい方はこちら8)リンクコントロールのイベント>マウス>onclickを選択し、サーバータブ内にあるサーバーオプションを「部分更新」にして「繰り返しコントロール」のIDを指定します。9)続いて8と同じタブ内で「スクリプトエディタ」を選択し、以下のようにSSJSコードを入力します。※ソースをコピーしたい方はこちら10)リンクコントロールの後に改行を入れたらその後にパネルコントロールを繰り返しコントロール内に配置します。11)パネルコントロールのプロパティ>データ タブにてデータソース「Domino文書」を追加し、以下のように設定します。アプリケーション:フォーム名:<1で準備したフォーム名>デフォルトアクション:文書の編集12)文書IDには以下のSSJSを入力します。※コピペしたい方はこちら13)さて、今回の主人公「インプレースフォーム」の出番がやってきました12で追加したパネルコントロールの中に配置します。14)編集ボックスコントロールをインプレースフォームの●に向かって配置します。15)編集ボックスコントロールのプロパティ>データ タブを選択し以下のように設定します。バインド先は実際に変更したいフィールド名を指定してください。16)上記で追加した編集ボックスコントロールの後にスペースを入れてボタンコントロールを配置します。(なかなか難しいと思いますが・・・)17)ボタンコントロールのプロパティ>ボタン タブのラベルに「OK」と入れておきます。「変更」とか「保存」とかでも構いません。18)ボタンコントロールのイベント>マウス>onclickを選択し、サーバータブ右側にあるサーバーオプションを「部分更新」にして繰り返しコントロールのIDを指定します19)同じタブ内にある「アクションの追加...」をクリックして文書を保存するシンプルアクションを作成します。20)続けて同じタブ内にある「アクションの追加...」をクリックしてシンプルアクションからスクリプトの実行を選択し、以下のように記述します。※コピペしたい方はこちらここまで出来たでしょうか??保存してWebプレビューしてみましょうそれとも・・・ちょっと休憩しますかそれなら保存だけでもしておきましょう・・・5分後・・・Webプレビューしてみましょう以下のように表示されたと思います早速「編集」リンクをクリックしてみます。あっ出てきましたねインプレースフォームがでは、値を書き換えてみましょうサンフランシスコ・ザビエルってかなりのパチモンですねw「OK」ボタンをクリックします。見事、パチモンに書き換わりましたページをたくさん開かずに限られた部分の編集が出来るので、タブレット等の小さな画面で簡単な編集等に向いているかもしれません。モバイル向け?と思いつつも、特定のフィールドだけ手軽に修正可能という機能は他にも流用が聞きそうです他にもラジオボタンコントロールやカスタムコントロール等をインプレースフォームに利用できると思いますので、是非やってみてください今日はこの辺で・・・・・あでゅー

      7
      テーマ:
  • 16 Jun
    • まだまだ知らないことがたくさんあるもんだ

      こんばんは6月も中旬になり、梅雨というものに入っているそうです気温の上がり下がりもすごいので体調を崩さないようにしてくださいさて、今回もFP8で追加された機能で筆者が気になったものを勝手にピックアップするという感じで書いていきたいと思います突然ですが質問です・・・インプレースフォームコントロールって知ってますかもしくは使ったことありますか私ですか当然の事ながら知りませんよこの間生まれて初めて聞いた単語でしたよそんな筆者と同じ方へ、簡単に説明しますね以下のように繰り返しコントロールに文書とEditリンクがあります。このEditリンクをクリックすると・・・フォームが現れじゃじゃじゃじゃーん!ということみたいです・・・・・他のコントロールのコンテナとして動的に使用できるみたいですね↑よくわかってないこんなインプレースフォームですが、今回のFP8の新機能に以下のことが書かれていました。https://www.ibm.com/support/knowledgecenter/ja/SSVRGU_9.0.1/user/wpd_whatsnew_fp8_jan_2017.html新しい inPlaceForm シンプルアクション。このアクションは、複数の文書を一覧表示する繰り返しコントロール内で、個々の文書を直接編集するためによく使用されるインプレースフォームコントロールの表示および非表示に使用されます。 へぇーーーー↑絶対にわかってないそもそもインプレースフォームっていつからいたんだろう??筆者のDesignerを見てみましたあ・・・いたwもしかして・・・相当前からイラッシャイマセンカそんなわけで、次回はインプレースフォームで今回の新機能がどのように便利になったのかを検証してみたいと思います本日はこの辺で・・・あでゅー

      2
      テーマ:
  • 02 Jun
    • Domino FP8の新機能を検証!

      Domino FP8の新機能を検証!こんばんは前回から少し時間が空いてしまいました気が付けばもう6月ですね。今年も半分が終わろうとしています。。。さて、前回のNIFった続きですnames.nsfがNIFれるのか?というところで終わっていましたね。ということで、NIFってみましたな、なんと・・・NIFれましたね・・・ユーザーが多い企業とかこれはうれしい機能ではないでしょうかここで、1つ疑問が出てきます。NIFったファイル(NDXファイル)をなくした(破損した)場合、どんな動きになってしまうのでしょうか??早速、壊れてもいいNDXファイルを作成されたディレクトリ以外に追いやってみましたdiscussion.nsfを作成しNIFったものを使用しています。さて、開こうかな・・・何と開かないじゃないですかでは元にあったディレクトリに戻してみます(マウスで)こんな単純なことで開くわけ・・・って開くんかーい※後にわかったことですが、Dominoサーバー起動後、DBを一度も開いていなければNDXファイルを移動することが出来るようです。クライアントで一度でも開くと移動できませんでした。続いて、NDXファイルをなくした(破損した)場合に復旧できるのか試してみましたDominoサーバーを再起動し、NDXファイルを元のディレクトリ以外に移動させます。updallを実行します。「ファイルがありません」updallがダメなら・・・fixupなら??「ファイルがありません」ならば・・・compactで・・・「ファイルがありません」-cのオマケ付きで実行!!!「ファイルがありません」NIFる呪文「 load compact -c -nifnsf on xxxxx.nsf 」は??「ファイルがありません」じゃあ、onがあるならoffもあるのでは??「 load compact -c -nifnsf off xxxxx.nsf 」ならどーだ!!「ファイルがありません」ことごとく「ファイルがありません」と言われたので・・・再起動してやりました「ファイルが見つからないか、IBM Notes のデータベースではありません」「ファイルがありません」結局復旧する手立てが見つかりませんでしたもし、皆様の中で「こうすればNDXファイルがなくなっても復旧できるよ」というネタをお持ちの方、是非ザ・ノーツ研究会で教えてください教訓:NIFったファイルも大切に今日はこの辺で・・・あでゅー

      5
      4
      テーマ:
  • 15 May
    • Domino FP8の新機能を検証!---NIFってみた

      こんばんは皆さん、DominoのFP8はインストール(?)してみましたか追加された機能について、ブログで一部紹介したいと思います(今更ですが)また紹介するだけでなく、普段できないちょっとしたイタズラもしてますので雰囲気だけでも楽しんでいってください。追加された新機能については以下をご参考ください。https://www.ibm.com/support/knowledgecenter/SSKTMJ_9.0.1/admin/over_whats_new_in_fp8.htmlそして、既に紹介されているブログもあるので合わせてご覧いただければと思いますのおつ-Notes/Dominoに関すること- <IBM Champion御代さまのブログ>ブログ【第1回 ザ・ノーツ研究会】 ~ IBM Notes/Domino 9.0.1 FP8 新機能評価 ①<ノーツコンソーシアム>1)NIFってみる意味:NIF(Viewの外だし)を試してみる日本語があった気がしたのは気のせい??何となくな翻訳をつけますが邪魔な方は読み飛ばしてくださいYou can move views out of databases into separate view index files (.NDX files).ビューを外に出すことが出来るようになりました。出した時のファイル名は***.NDXという拡張子ですわ。This feature is useful for large databases and provides the following benefits:ビューを外に出すといいことあるんだよ、特にサイズが大きいDBには効果てきめん!!(合ってる??)・ A smaller database file size, to avoid reaching the 64GB limitation.データベースのサイズが小さくなります、64GBの制限まで余裕が出来ます的な?・Faster database backup and restore.データベースのバックアップとリストアが素早くできますよー・Better performance by allowing concurrent access to database and views.データベースやビューにアクセスするときにパフォーマンスがいいですよ(要は速いってことかな)手順(英語しかなかったっけ??泣きそうなんですけど)1. Enable transactional logging in the Server document in the Domino directory.Dominoのトランザクションロギングを有効にします。2.Add the following notes.ini setting on the IBM Domino server, then restart the server:NIFNSFEnable=1Dominoサーバーのnotes.iniに「NIFNSFEnable=1」を追記して再起動しちゃう。3.Optional: The .NDX files are stored in the Domino data directory, by default. To specify a different location, add the following notes.ini setting:NIFBasePath=pathwhere path is an explicit or relative path. A relative path, for example, NIF, is relative to the Domino data directory. If the location is on a different computer, map the location to the local computer.もし、NDXファイルを他の場所に保存したい場合は「NIFBasePath=path」をnotes.iniに追記してね。pathの値を変えるんだけどさー、基本はdataディレクトリからのパスだから、他のPCに保存するときは絶対パス(?)で記述してね。4.To use this feature, databases must be ODS version 51 or higher. To upgrade all databases to at least this version, add one of the following notes.in settings:CREATE_R9_DATABASES=1 orCREATE_R85_DATABASES=1この機能が使えるのはODSのバージョンが51以上だから、51未満のバージョンだったら「CREATE_R9_DATABASES=1」か「CREATE_R85_DATABASES=1」をnotes.iniに追記しといてね。5.Enable the feature on specific databases有効にしてみよー♪To enable separate view indexes on an existing database, run the following compact command on the server:load compact -c -nifnsf on xxxxx.nsf有効にしちゃいたいDBを用意して、サーバーコンソールに「load compact -c -nifnsf on xxxxx.nsf 」を入力します。6. To enable separate view indexes on all databases created in the future, add the following notes.ini setting:CREATE_NIFNSF_DATABASES=1今後作るDBにも有効にしておくにはDominoサーバーのnotes.iniに「CREATE_NIFNSF_DATABASES=1」を追記しておくとオッケー。7.Restart the server.Domino再起動What to do next次は何する??Use the following server console command to show all databases, whether they use separate view indexes (NIFNSF state ON), and if so the .NDX file size:show dir -nifnsfサーバーコンソールに「show dir -nifnsf」を入力して発行すれば、NIFってるかどうか関わらず一覧で表示される。もしNIFってればNDXファイルのサイズも表示されちゃう。わーぉUse the following server console command to show only information about databases that use separate view indexes:show dir -nifnsfonlyNIFってるやつのみ表示したい場合は、サーバーコンソールに「show dir -nifnsfonly」を入力して発行してあげれば表示されまーす。以下、 show dir -nifnsf と show dir -nifnsfonly を発行したときのコンソール画面ですdiscussion.nsfのみNIFっていることがわかると思いますNIFっている証拠として、ndxファイルも出来ていますねここまで綺麗に分離出来ると試したくなるDBがありますよねそうです、DominoDirectory(names.nsf)テスト環境だから出来るあんな事やこんな事果たして無事に実行できるのでしょうか続きはまた次回P.S・NIFるとは、筆者が勝手に作った言葉です。多分筆者以外に発言しても冷たいまなざしで見られるのでお気を付けください・翻訳はアテにしないでください。やけどします今日はこの辺で・・・あでゅー

      2
      テーマ:
  • 05 May
    • XPages用iFrameカスタムコントロールを作ろう-実装編

      XPages用iFrameカスタムコントロールを作ろう-準備編こんにちは長いGWも折り返し地点を迎えましたね。皆様はいかがお過ごしでしたでしょうか早速ですが、前回の続きです1)XPageを新規に作成します。名前は何でもいいです(筆者はtestにしています)2)前回作成したカスタムコントロールを配置したい場所へドラッグ&ドロップします。※ 設定定義 を書いておいたので、どこに配置されたかわかりますね3)カスタムコントロールを選択して、すべてのプロパティを開きます。プロパティ定義をした内容が表示されていると思います。必要事項を入力して保存します。(下記赤枠を参考にしてください)4)プレビューしてみましょう!きれいに表示されましたとても便利なcciFrameカスタムコントロール是非作ってみてくださいねー...と、ここで終わりたいところですが、何が便利なのかイマイチ掴めない感があると思いますそんなわけで、簡単ではありますが実装例を載せたいと思います①以下のような簡単なフォームを作成します。②上記で作成した文書を表示するビューを作成します。1列目は「タブ順」の数字を3桁表示(1なら001となるように)し、昇順でソートしています。③次にXPageを作成します。先ほどのtestを使って修正してもよいかもしれません。コンテナコントロールから「繰り返し」をドラッグ&ドロップします。④繰り返しコントロールの設定例です。データソースはview1で②で作成したViewをバインドしています。データソースとコレクション名(下記赤枠を参考)を設定します。⑤繰り返しコントロールの中に、作成したcciFrameをセットします。セット出来ましたら、cciFrameのすべてのプロパティでプロパティをセットします。今回は簡単にsrcのみセットしています。以上で終了ですプレビューを見てみましょう繰り返し表示されるようになりましたこれのどこが便利なの?・メンテナンスを文書で行うことが出来る・Notesの文書ということは、文書ごとに読者設定が出来るのでiFrameを見せる見せないを自由に設定できる・Notesなのでエージェントを連携して文書を作成したり変更したりも出来るなどなど、業務や用途に合わせて色々な工夫が出来るはずNotesのメリットを有効活用できるiFrameカスタムコントロール、是非皆さんも使ってみてくださいそれでは、この辺で・・・あでゅー

      5
      テーマ:
  • 01 May
    • XPages用iFrameカスタムコントロールを作ろう-準備編

      こんにちは気が付けば今日は5月だったんですね・・・GWだって浮かれていたら4月の終わりに気づいていませんでしたさて、今回は久しぶりにXPagesネタを書きたいと思いますHTMLタグとCSSを使ったタブメニューの開発がありました。こんな感じです(ちょっと簡単すぎますけど)「Google」とか「Yahoo!」とか「コンソーシアム」とか「掲示板A」とか「システム」の場所をタブっぽくしており、クリックするとタブ下のエリアのページが切り替わるよくあるパーツですね。ページが切り替わる箇所はとても簡単でiFrameを使用しています。ということで、今回はiFrameカスタムコントロールを作成してみましょう!iFrameカスタムコントロールを使うと以下のメリットがあります。・プロパティ定義が利用できるので設定が簡単・XPageとバインディングした文書の値も指定できる・使いまわしが簡単では早速、作成していきましょう1)まずはこちらでネタを仕入れます。https://www.w3schools.com/tags/tag_iframe.aspiFrameの書き方設定する属性がたくさんありますね・・・2)カスタムコントロールを作りましょう。名前は何でも構いません。筆者は「cciFrame」としました。出来上がったカスタムコントロールをソース表示にしてサンプルのタグを<xp:view xmlns:xp="http://www.ibm.com/xsp/core">と</xp:view>の間に貼り付けます。このようなイメージです。3)属性を設定します。compositeDataで定義していきます。<iframealign="#{compositeData.align}"frameborder="#{compositeData.frameborder}"height="#{compositeData.height}"longdesc="#{compositeData.longdesc}"marginheight="#{compositeData.marginheight}"marginwidth="#{compositeData.marginwidth}"name="#{compositeData.name}"sandbox="#{compositeData.sandbox}"scrolling="#{compositeData.scrolling}"src="#{compositeData.src}"srcdoc="#{compositeData.srcdoc}"width="#{compositeData.width}">4)プロパティ定義を設定します。設定一覧を表にしました 名前 表示名 種類 エディタ パラメータ デフォルト値 align align String コンボボックス left|left right|right top|top middle|middle bottom|bottom frameborder frameborder String コンボボックス 1|1 0|0 height height String longdesc longdesc String marginheight marginheight String marginwidth marginwidth String name name String sandbox sandbox String コンボボックス allow-forms|allow-forms allow-pointer-lock|allow-pointer-lock allow-popups|allow-popups allow-same-origin|allow-same-origin allow-scripts|allow-scripts allow-top-navigation|allow-top-navigation scrolling scrolling String コンボボックス yes|yes no|no auto|auto src src String srcdoc srcdoc String width width String noiFrameMsg noiFrameMsg String iFrame対応ブラウザで開いてください ※説明には1)で添付している表の Description の値を記載しています。5)設定定義を開いて、カスタムXSPマークアップを入力します。<?xml version="1.0" encoding="UTF-8"?><xp:view xmlns:xp="http://www.ibm.com/xsp/core">iFrameカスタムコントロール</xp:view>出来ましたでしょうか次回は、XPageに組み込みキチンと表示されるか確認したいと思います。今日はこの辺であでゅー

      テーマ:

プロフィール

makoto

性別:
男の中の男
誕生日:
貴方と出会った日
血液型:
4-5-1の攻撃型
自己紹介:
NotesR4.5からずっと携わっています。 「えっ?!これNotes?」と言われるような、 ...

続きを見る >

読者になる

AD

カレンダー

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30

このブログの読者

読者数: 0

読者になる

このサイトの掲載内容は私自身の見解です。
ここでの情報を元にメーカー等に問い合わせたりする事は避けてください。
また、サンプルコードを利用する場合は、利用者の責任の元で十分に利用者環境での動作確認や影響度などについて検討の上、ご利用ください。
このサイトに掲載されているソフトウェア、およびファイルの使用、または使用不具合等により生じたいかなる損害に関しましては作者は一切責任を負いません。
全て利用者の自己責任でお願いします。
AD

ブログをはじめる

たくさんの芸能人・有名人が
書いているAmebaブログを
無料で簡単にはじめることができます。

公式トップブロガーへ応募

多くの方にご紹介したいブログを
執筆する方を「公式トップブロガー」
として認定しております。

芸能人・有名人ブログを開設

Amebaブログでは、芸能人・有名人ブログを
ご希望される著名人の方/事務所様を
随時募集しております。