ページビューの合計

2017年12月25日月曜日

親文書全体を引き継いだセクションについて

みなさま、こんにちは!
いよいよ年の瀬ですね。なんとか本業のピークは明日で越えられそうですが、自宅の掃除等まったく手付かずですので、まだまだこれからです。

さて今回はつい先日、私が遭遇した問題について記載致します。

現在、社内の日報を改築しているのですが、コメントフォームに親文書を引き継ぐリッチテキストフィールドをセクション(省略可)にセットしました。


Notesクライアントでコメントをテストしてみたのですが、セクションが開いた状態になり、なおかつフォーカスが最後尾に移動してしまったため、コメント入力のため、いちいち先頭までスクロールしなければならなくなってしまいました。
もちろん親文書を見なければコメントできないことのほうが少ないため、開いた画面を親文書が占有することは良い作りとは言えません。

そこでデフォルトでセクションを閉じてしまえばと考えたのですが、普通に作成したセクションと違い、プロパティを変更する場所がないのです!
以下が先の引用するフィールドである[quote]のプロパティなのですが、


フィールドはセクションに囲まれておりませんので、セクションそのもののプロパティを直接触ることはできません。
もちろんリッチテキストフィールド単体になりますので、セクションに関するプロパティが追加される訳でもありません。

実際に開いた画面は、下記のように[quote]フィールド内にセクションに囲まれた親文書が表示されております。


何か方法がないかとヘルプ文書で@Commandを探っていたところ・・・見つけました!

@Command( [SectionCollapse] )

文字通り、セクションを折り畳むというコマンドです。

これを親文書フォームにある[コメント]アクションに埋め込めば・・・

@Command([Compose];"comment");
@Command( [SectionCollapseAll] )

試してみると・・・


・・・怒られてしまいました(泣

よくよくヘルプを読むと、以下の記述がありました。


そう、対象となるセクションが指定されていないため、実行できないのです。

さてどうするかと今一度ヘルプを見ると、すぐ下にあるではないですか!!


早速先のコマンドを以下のように修正したところ、

@Command([Compose];"comment");
@Command( [SectionCollapseAll] )


完璧です!

イメージした通りの仕上がりになりました。

なんてことない@コマンドひとつなのですが、ユーザーの使い勝手に直接影響を与える重要な要素になるかと思います。

また日々の業務の気付きがありましたら、都度記載させて頂きます。

さて今年も皆様にはたいへんお世話になりました。
お世話になってばかりで、何もできずでほんとうに申し訳ありません。

来年はDomino10発売という大イベントが控えております。Domino Jam2025も含め、さらに積極的にNotes/Dominoに関わることができればと考えております。
ぜひ引き続き、よろしくお願い致します。

1年間、ありがとうございました!!

2017年12月18日月曜日

[Form]がない!!

みなさま、こんにちは。
この寒さで鼻水が止まらず、集中力を欠いております(汗
今年も残すところ2週間。まだまだやり残していることは多いのですが、そろそろキリのいいものは切り捨てはじめてしまっております。

さて今回は私が遭遇しましたトラブルについて報告致します。
とは言っても、本当に単純なミスが原因だったのですが、解決までのスピードが非常に早かったという点をお知らせしたく、記載させて頂きます。

発端は現在の日報を来年度に向けて設計変更を実施している最中に発生しました。

変更内容は、従来日報のコメントは日報本体のフォーム内に記載する方式としており、都度未読文書が生じてしまうため、返答文書に移行するという作業になります。

フォームの修正と追加が完了し、テスト用の文書も作成したのですが、過去に作成した文書は問題ないのですが、本日作成した文書と修正した文書がビューからどんどん消えていくのです(大汗

ビューには[使用フォームにより検索]にて必要なフォームのみを対象としておりましたので、一度こちらを解除し、[Select @All]としてみたところ、もちろん全文書が表示されました。

ちなみに以下がビューの選択式でフォームを絞ったもの。


以下が[Select @All]のビュー


日付降順に並んでいるのですが、明らかに12/5の文書が表示されていないことはわかるかと思います。

最初に疑ったのは、ビューの選択式やビューの項目。
かなりいろいろと見て廻り、いろいろと試してみたのですが、原因らしき点に至ることができませんでした。
2~3時間ほど悩んだ挙句、実際の文書のプロパティを比較してみようと気付き、確認したところ、すぐに判明しました。

表示される文書には、以下のように[Form]プロパティがあり、値がセットされているのですが、


消える文書には[Form]プロパティがないのです!


つまりビューの選択式の評価の対象である[Form]プロパティがないため、ビューから消えるということが判明致しました。


では!?
なぜ[Form]がないのか。
また[Form]がないのに、文書や返答文書が予定した通りのフォームで開くのか。

全く経験のない私は、ツイッターでつぶやいてみました。

するとすぐにIBMチャンピオンであるM様よりコメントがあり、QAサイトの利用を教えて頂きました。
QAサイトは以下になります。

http://qa.xpages.jp/QA/qa.nsf/

私は勘違いしており、XPagesに関することのQAだと勝手に判断しておりました。
結論としては、Notes/Dominoに関する質問はOKなサイトになります。

実際こちらは何度か利用し、助けて頂いた経験がありました。

ということで早速書き込んだところ・・・。
30分もしないうちにふたつも回答が!!

まさに書かれている通りでした。

消える文書には[$Title]というプロパティが存在し、こちらにフォームの設定が格納されておりました。


つまりこの値により、予定したフォームで文書が開くということになります。

ではなぜ[Form]でなく[$Title]に移動してしまったのか。

これが完全に私のミスだったのです。
フォームのプロパティの[フォームに文書を格納]という項目にチェックが入ってしまっておりました。


恐らく何かの作業時に誤ってチェックが入ってしまったのでしょう。
この設定は大昔にR4.6の教育を受けた際、文書のサイズが大きくなるため、基本的に設定しないプロパティと教えて頂いたため、今まで使ったことがありませんでした。

まさかこんな影響が出るとは・・・。


ということでチェックを外し、文書を修正保存することで解決致しました。
もちろん新規文書も問題ありません。


なお[フォームに文書を格納]した場合でも、式でビューの選択式に書くことは可能ですので、勘違いなきようお願い致します。


以上、長々と私の汚点をさらけ出すだけの投稿となりましたが、今まで使用していなかった機能のプロパティを学ぶことができたのは大きな収穫でした。

さらに先のQAサイトの有効性を改めて教えて頂く機会にもなりました。
引き続きこちらのサイトはどんどん?使用させて頂くつもりですので、よろしくお願い致します。
ぜひ皆様もちょっとした疑問などもお気楽に書き込んでください。
・・・もちろん私ができる回答があれば、対応も致しますので。

2017年12月11日月曜日

みんなだいすき!? Apple Watch

みなさま、こんにちは!!
いよいよ今年もあと僅か。仕事でも自宅でも、少しずつ片付けなければと思いながら、何もできずに・・・やはり切羽詰らないとやらないですね。
今週末はテクてく Lotus 技術者夜会があり、大阪でもPVが開催されるのですが。
ちょうど会社の全社忘年会と重なっており、恐らくリモートも難しい状況です。
Notes/Domino Jamも動きが始まるようですので、期待大です。
ぜひ皆様もJamへ登録・参加しましょう!!

さて今回は現在私が使用しておりますAppleWatchについて、Notes/Dominoやその他アプリについて、ご案内させて頂きます。

まずは弊社導入の経緯ですが、さまざまなシステム監視を実施しておりますが、導入後3年を経過し、少しこれらの頻度が増えてきました。
例えばサーバー障害であったり、ストレージの電源障害など、かなり緊急を要するものから、UPSからの発報など、多岐にわたります。

これらの一部は休日であろうが、夜間であろうが、リアルタイムで処理する必要があるものもあります。
弊社ではTravelerサーバーを構築しておりますので、もちろんプッシュにてNotesに届いたメールはリアルタイムにiPhoneにも同期されますが、24-365でiPhoneを持ち歩くことはできません。(水泳時や、ちょっとした運動時など)

また外部セミナー時など、iPhoneを使わずとも届いたメールの要件が確認できるため、すぐに対応すべきものかの判断材料としては十分な機能になります。

ということで会社に申請し、承認が得られたというものです。
ちなみにLTEが欲しかったのですが、弊社が契約しているキャリアでは、法人レンタル契約のiPhoneにはつけることができないということで、回線なしのモデルになります。


前置きが長くなりましたが、まずはメールです。
先にも記載しましたが、Traveler経由でiPhoneにメールが届くと同時にAppleWatchにも通知が行われます。
まずは受信した画面です。


メール本文は小さいながらも十分読み取ることができます。

続いて添付ファイルの状態です。


このように表示されますが、このPDFをタップしても開くことはできません。
もしかしたらビューワーをインストールすると見ることができるのかもしれませんが、現時点では確認できておりません。
ちなみにバイト数の記載がありますが、実際にAppleWatchにはダウンロードされていないのではないかと推測されます。

続いてNotesならではの文書リンクです。


リンクアイコンは表示が消えてしまっているようです。
URLも表示するよう設定しておりますので、「Link」の文字列は確認できますが、こちらも開くことはできません。
先と同様、ブラウザをインストールすれば開くことができるのかもしれませんが、こちらについてはセキュリティの関係がどう影響するのか検証は必要と思われます。

それでは届いたメールにAppleWatchで返信しようとした場合の画面もご覧ください。
数画面にわたりますので、上から順番に貼り付けておきます。


まず先頭に[Siri]のコマンドボタンとスタンプボタンがあります。
スタンプだけや、Siriを使用した音声入力で返答が可能になります。
またそれ以下には使われるであろう文言が、タップ操作のみで返信できるように列記されております。

結構使えるのではないかと感じております。

なお私は社内フローの承認等を含め、毎日200本~300本程度のメールが届きます。
そのメールすべてが転送されますとさすがに処理しきれませんし、誤って見逃してしまう原因にもなります。
それを防ぐため、メールルールをかなり細かく設定し、自動でフォルダ振り分けを行っております。
Travelerの通知は「受信ボックス」に届いたもののみが届きますので、急ぎのものとその他メールのみが通知対象になるようにチューニングしております。
もろちん受信ボックス以外も、Travelerは手動で同期してくれますので、必要な際に必要なメールは閲覧可能です。

以上、メールについて記載しましたが、実際に使用しているとWatchアプリはないものの、通知が届くものはいくつかあります。

私が使用している業務アプリでは、IBM Verse、Watson Workspaceは非常に便利でした。

まずはVerseでメールを受信した通知です。


さすがにTravelerはiPhoneのネイティブメーラーに届いているため、本文まで読むことができたのですが、Verseはこのように通知のみになります。
もちろん返信や転送はできません。

ちなみに以下は、たまたま記事を書いている最中に、他の方にフォローされた際の通知になります。


次にWatsonWorkspaceです。
ちょうどメール通知と重なってしまったので、合わせて参考になさってください。
短い文面ですと、すべて表示してくれそうです。


さて今回は私の職務に関わるAppleWatchの紹介をさせて頂きましたが、正直なところまだまだかなという感じは否めません。

例えばVerseアプリが対応し、タスクやカレンダーなどと連携してくれると結構な効果は現れるような気がします。
(スケジュールに合わせて「ブルッ」と通知してくれたり・・・)

特に無償ブラウザがないという点が個人的には足かせになっているようにも感じます。
Chromeなどが対応してくれれば、XPagesで作ったサイトの表示や、さらなる利用方法なども検討できればと考えております。


以上、さいごまでありがとうございました。

2017年12月4日月曜日

私でもできた!! Node-REDとNotesの連携

みなさま、こんにちは!
昨日はこどもの行事で餅つきがありました。
50kgのもち米を蒸して、つくというノルマを与えられ、数人でかわるがわるなんとかクリアできました。おかげで筋肉痛が・・・。
ひとつ気付いたのですが、最近のこどもたちはあまり臼や杵に興味がないみたいです。
以前ですと、我先にと順番に並んで、杵を振り回していたのですが・・・。
ちなみに配布には長蛇の列でした。ちょっと残念。

さて本題です。
以前よりやってみたかったNode-REDとNotesの連携について、ついに私でも作り上げることができましたので、報告させて頂きます。

本来ですとBluemix上のNode-REDを使いたかったのですが、社内Dominoサーバーとのやり取りとなるとセキュリティの観点から現時点ではハードルが高く進めることができませんでした。

そんな中、準備した環境は以前購入したRaspberry Piを使用するというものです。
もともとVDIのシンクライアントにならないかと試験的に購入したものですが、やはり時期尚早だったようで、社内で眠っていたものを起こして利用しています。

Raspberry Piの構築については今回は触れませんが、弊社で導入したOS「Raspbian」にはデフォルトでNode-REDがインストールされておりました。

社内のサーバーとして使用するため、IPアドレスのみ固定して、サービスを起動させております。

今回はもともと社内で取得したかったTwitterの情報をDominoに取り込むというものを作成しますが、手順そのものはIBMチャンピオンである吉田様のブログ「Domino REST API と Node-RED を使って、Twitter のデータを登録する」を参考にさせて頂きました。

それではまず手順通りに、データを受信するためのNotesアプリケーションを新規作成し、フォームとビューを作成します。

フォーム(メイン|main)にはフィールドはふたつ。

●日付
 名前: date
 種類: 日付/時刻
 式: @Now

●Tweet
 名前: body
 種類: テキスト



ビュー(一覧|all)には列として日付(降順)とTweetを設定します。
※Tweet列は「詳細」タブの「利用可能なウィンドウ幅まで拡張して使用する」にチェックしておきます。



なおDominoサーバー及び、アプリケーションでREST APIを使うにあたり、設定が必要となります。こちらについては、吉田様の記事にも記載ありますが、同じくIBMチャンピオンの御代様のブログ「Notes/Domino でREST APIを使ってみよう-前半-」が非常にわかりやすいので、ご参考になさってください。

さてNode-REDが社内ネットワーク内で利用可能となり、Dominoサーバー及びアプリケーションの準備ができましたので、いよいよノードを作成して参ります。

まずはSocial内のTwiiterを配置します。



配置したTwitterノードをダブルクリックし、設定を行います。
今回は全tweetから「#notesdomino」がセットされたのもを対象としています。


Twitterにログインした状態ですと、IDの右側のエンピツマークをクリックすると簡単にID連携が可能です。

続いてfunctionノードを配置し、先のTwitterノードと接続します。



配置されたfunctionノードをダブルクリックし、以下の式を設定します。

msg.payload={
    "body":msg.payload
}
return msg;



意味合いとしては、吉田様のブログに記載の通りです。

続いてNotesアプリケーションにデータを渡すため、functionより「http request」を配置し、先のfunctionノードと繋ぎます。


配置したノードをダブルクリックし、以下のような設定を行います。


こちらの詳細も吉田様ブログに記載されていますが、URLには先に作成したアプリケーションのフォームを設定し、dateフィールドを計算させるための設定(赤字部分)も追加されております。

http:// [Domino サーバー名] / [パス&DBファイル名] /api/data/documents?form=[フォーム名(別名)]&computewithform=true


以上で設定は完了しましたので、右上の「Deploy」をクリックしてNodeを稼動させます。

さて、テストでつぶやいてもいいのですが、お楽しみは後で・・・ということで、しばらくおいてからワークスペースをF9で更新してみると・・・


しめしめ・・・23通も届いているではないですか!!

ワクワクしながらアプリを開くと・・・


いい感じに集まってきております。

それではひとつ、文書を開いてみましょう。

先日のオープンセミナーの1コマですね。

いい感じです。

まずは私のような文系人間でも、このようなことができるという証明として今回は終了させて頂きます。

ただここまでできると欲が出てくるもので、例えばこのツィートのリンクを利用したいとか、NotesアプリケーションのデータをBIへRESTで接続したいとか・・・。

まだまだ精進が必要なようです。


末筆となりますが、引用させて頂きました吉田様、御代様、ありがとうございます。