ページビューの合計

2019年2月13日水曜日

ノーツでログオン管理

This time I created an application to record the logon and logoff records in Notes, so I will introduce it.

みなさま、こんにちは!!
USではThink2019が盛り上がっているようですね。
参加されている皆様、ぜひ満喫してきてください。
また戻られましたら、いろいろと情報発信もお願いしますね!!
来週のIBM Notes/Domino Day 2019 Springでのフィードバックも期待してます!

さて今回はログオン・ログオフ時間をノーツアプリに収集することに成功しましたので、記事とさせて頂きます。
※弊社ではクライアントは全員VDIを使用しておりますが、こちらの環境でも使用できることは確認済です。

そもそも弊社では事務所入り口に置いた共有パソコンのブラウザでXPagesで作成したノーツアプリを使ってタイムレコーダー

【第1回】タイムレコーダーアプリ作成~アプリケーションの準備~
以降でご紹介

を打刻していたのですが、労働基準法改正に伴い、さらに管理を強化する必要があることから、何かしらシステムで受けこむよう指示が出ておりました。
もちろんクライアント管理サービスなども考慮したのですが、性能が良すぎて価格的には安価ではないというところがあり、それならばノーツで何かできないかと考えた次第です。

早速ですが、アプリのイメージです。
ノーツアプリそのものは至って簡単です。
フィールドとして、creator,stamp,timeの3項目のみのアプリになります。
timeのみ「作成時の計算結果」として@createdとしています。
残り2項目は「編集可能」になっています。


ビューは単純に日時順と氏名別を作成しています。
以下は日時順のイメージです。



今回のノーツアプリは単純にデータを受けこむだけのものを想定してあります。
文書の作成は curl コマンドから REST を利用してアプリに書き込むこととしてあります。
従いまして、ノーツアプリ側でRESTからアクセスを受け付ける設定が必要です。
こちらについては、御代チャンピオンのブログがたいへん参考になりますので、ご覧ください。

Notes/Domino でREST APIを使ってみよう-前半

curlについては、以下サイトが参考になりました。

IBM Domino REST API 利用ガイド

まずはwindowsでcurlを使えるように設定を行います。

こちらのサイトからcurlがダウンロード可能です。
筆者はWindows 32bit 版をダウンロードして使っています。

ダウンロードしたzipファイルを解凍し、フォルダを【curl】にリネームします。
このフォルダをどこでもいいのですが、今回はCドライブ直下に移動させました。

curlを利用するには、コマンドプロンプトからcurl.exeのあるディレクトリに移動させるだけで使用できます。

今回の場合ですと、


  cd C:¥curl¥bin


となります。


正しく稼動するかは、以下コマンドでHelpが表示されればOKです。


  cd C:¥curl¥help


それではバッチファイルを作成します。
私は以下[logon.bat]と[logoff.bat]を作成し、対象クライアントのC:¥BATCHフォルダに保存しました。

logon.bat

  ECOH OFF
  cd c:¥curl¥bin
  curl -i -H "Content-type: application/json" -X POST -d "{¥"creator¥":¥"%USERNAME%¥",¥"stamp¥":¥"ログオン¥"}" -u "管理者名":パスワード http://サーバーパス/アプリ名.nsf/api/data/documents?form=フォーム別名


curlのオプションについては、私自身理解しきれておりませんので、割愛させて頂きます。
要はcreatorフィールドに %USERNAME% を用いて、ログオンユーザーの名前をセット。stampフィールドに固定値としてログオンをセットするようなイメージです。
timeフィールドは作成時の計算結果フィールドですので、こちらでは操作していません。

logoff.batについては、先の「ログオン」を「ログオフ」にしただけのものを準備します。

バッチファイルの準備ができましたら、弊社ではADのグループポリシーに設定を行いました。
ログオンする全社員を対象にデータを取得することが目的であり、且つログオフ時にバッチを実行させるにはポリシーを使う必要があるためです。

新規でグループポリシーオブジェクトを作成(場所は各企業様で必要な場所へ作成してください)し、グループポリシー管理エディターにてスクリプトを割り当てます。
割り当てる場所は
[ユーザーの構成] - [ポリシー] - [Windowsの設定] - [スクリプト(ログオン/ログオフ)]です。


こちらのログオンにlogon.bat、ログオフにlogoff.batを割り当てます。


続いて、グループポリシーを即時有効にするため、コマンドプロンプトにて以下を実行します。


  geupdate /force


それでは試しにログオンしてみましょう。
ノーツアプリで日時順ビューを開いた画面です。



うーん、ふたつ問題がありますね。
ひとつはスタンプ。「ログオン」と表示して欲しかったのですが、やはり2バイト文字は制限があるようです。
さらに問題は日時。
単純にアプリから新規作成時には作成時の計算結果としてtimeの値が保存、表示されたのですが、RESTから送り込んだため計算が行われず、以下のように文書にtimeの値すらありません。


ということで、まずは簡単なstampフィールドからです。
先のバッチファイルの「ログオン」「ログオフ」を半角で「LogON」「LogOFF」にしてみました。
先のログインした端末をログオフすると、


当たり前ですが、うまく取得できました。

次に日時です。
エージェントでとも考えたのですが、もっと簡単にtimeフィールドもバッチ側から送り込む方法に変更することにしてみました。

先のバッチファイルを以下のように変更します。


  ECOH OFF
  cd c:¥curl¥bin
  curl -i -H "Content-type: application/json" -X POST -d "{¥"creator¥":¥"%USERNAME%¥",¥"stamp¥":¥"ログオン¥",¥"time¥":¥"%date% %time%¥"}" -u "管理者名":パスワード http://サーバーパス/アプリ名.nsf/api/data/documents?form=フォーム別名


念のため、ノーツアプリのtimeフィールドも作成時の計算結果から「編集可能」に変更し、ログオン/ログオフしてみました。


値が取得できました。

使わないですが、フォームです。


こちらもOKですね。
念のため、編集して保存してみたとろ、少しだけ違和感のある動きが・・・


そう、ノーツアプリ側の時刻の表示設定がフォームでは「時分」、ビューでは「一般」になっていたため、保存することで秒が切り捨てられたようです。
ですので、「時分秒」に設定しなおし、正しく得られるようになりました。

ちなみにノーツビューで「表形式でコピー」してエクセルに貼り付けたものがこちらになります。


日時の書式設定は「ユーザー定義 yyyy/m/d h:mm」と認識されているため、集計にも利用できるはずです。



いかがですか?
ログオン/ログオフスクリプトとノーツアプリだけで、ユーザーのログオン/ログオフが記録できるようになりました。

まずは今回の案件がパソコン使用時間の収集という目的であるため、弊社では本アプリを使うこととします。
弊社のような1人SEや専任者がいない会社様などですと、それなりに使えるのではないかと思います。

※¥マークは"/"に変換されるため、全角文字を使用しておりますので、ご注意ください。

2019年1月23日水曜日

#raspberrypi の #node-red にnode-red-contrib-domino-restを組み込む

Today I will describe the procedure to install "node-red-contrib-domino-rest"  Yoshida champion was created in raspberry pi.

みなさま、こんにちは!!
いよいよあさっては【2019 IBM Champions for Collaboration Solutions日本祝賀パーティー】ですね。
今見たら、なんと"満員御礼!!"じゃないですか!
先日の停電作業に伴うトラブルも、"仮"ではありますが、最悪の状況は脱することができたようで、なんとか参加できそうです。

本題に入る前に、まさに今日、【IBM DOMINO MOBILE APPS の検証結果(UI・操作編)】なるブログ記事の掲載がありましたので、リンク致します。
非常に興味深い記事になりますので、ぜひご覧ください。

さて既に玄人な皆様はNode-REDを利用して、Notesと様々なサービスを接続して利用されていることと思います。

私も以前に

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

という記事は書かせて頂いたのですが、その後放置状態でした。
そろそろ何かできないかと考え、まずは吉田チャンピオンが配布頂いております【node-red-contrib-domino-rest】を組み込もうと考えた次第です。

吉田チャンプのブログはこちら。

Node-RED から Domino へアクセスするためのノードを公開

記事内ではBluemix(現 IBM Cloud)のNode-REDへのインストール手順が書かれているのですが、ラズパイにはどうやってインストールするのか・・・。

試行錯誤し、ようやく実現できましたので、備忘録として書き留めておきます。

ラズベリーパイでは、npmというツールを使用してインストールを行います。
既にインストールされている場合もあるかと思いますが、以下手順にてnpmをインストール、あるいはアップグレードを行います。


  sudo apt-get install npm
  sudo npm install -g npm
  hash -r



続いて【node-red-contrib-domino-rest】をインストールします。


  cd ~/.node-red
  npm install node-red-contrib-domino-rest


よくよく見ると、吉田チャンプの書かれているコマンド1行を正しく順序立てて実行しているだけなんですね(汗

私は直接コンソールで


  sudo npm install node-red-contrib-domino-rest


と実行してしまっていたため、node-redディレクトリ内には【node-red-contrib-domino-rest】のフォルダとその中身がダウンロードされていたのですが、Node-REDの画面にnodeとして表示されず、苦労してしまいました。

ちなみにインストールされた結果画面は下記になります。


きれいにdomino関連のノードが並んでますね。

まずはこれにて準備が完了しました。

せっかくですので、Noteのデータにアクセスできるかだけテストしてみました。
作成したのは以下の3パターン("document collection"、"view collection"、"vie entries")


それぞれテストしたところ、問題なくNotesのデータが取得できるところまで確認しました。
以下は"view entries"の結果ですが、正しく値が取得されていました。



まだ何を作ろうか考えていませんが、いろいろと情報を探して試してみたいと思います。
また何か簡単なものができれば、公開させて頂きますので、よろしくお願い致します。

2019年1月17日木曜日

2019年 #IBMChampion for ICS に再任頂けました

I was re-elected to IBM Champion for ICS in 2019.
This is thanks to everyone's support. I appreciate it from the bottom of my heart and I promise my success this year.

みなさま、こんにちは!
すっかりインフルエンザも克服し、元気いっぱい働いております。
が・・・!! まだまだインフルエンザは大流行の兆しですので、皆様ぜひご自愛ください。
ことしのA型はしんどいと、かかった方みなさまおっしゃっておられます。

さて本日1月17日、我々神戸に住んでいる者にとっては特別な日。
そう、阪神大震災から24年が経過しました。
既に爪あとを見つけることのほうが難しくなってしまいましたが、気持ちを新たに今年も過ごしたいと思います。

そんな日に!!


タイトルにも書きましたが、昨年に引き続きまして2019年のIBM Champion for ICSに任命頂くことができました。

2019 年度の IBM Champions for ICS

昨年の活動を振り返ってみたのですが、個人的には満足できるものでないなぁと反省しております。
幸いV10のリリースという大きなイベントがあり、東京・大阪で活動できたことや、大阪での新任担当者向けWSの開催は大きなポイントであったかもしれませんが、本来の目的である「中小企業でも簡単に扱えるNotesの利便性」の啓蒙はまだまだでした。
とりわけ8,9月の2回の台風以降は本業の片付けや、今後の対策などに右往左往してしまい、活動に制限がかかった状態となってしまったのは言い訳でしかありません。

ということで、年頭にあたり何かしら目標を立てておくべきと思い、備忘録・・・正しくは自戒・・・として書かせて頂きます。


  • 1/25のIBM Champion祝賀パーティに出席する
  • 大阪研究会+悪巧みの会に皆勤
  • テクてく大阪の成功
  • 新任者向けワークショップ 第二回大阪開催
  • 今年以上のブログ記事更新

結構大きなことを書いてますね・・・。

とりわけブログ記事については、思うところがありますので、さらに詳細を・・・。

  • Mobile Apps関連(VMware App Volumesとの比較も)
  • V10マイグレーション
  • ハイブリット化
  • Verse関連
  • Connections関連
  • VDIとの兼ね合いなど
以上、少しでも皆様のお役に立てるよう努力して参りますので、引き続きよろしくお願い致します。

2019年1月9日水曜日

#メイリオ フォントのススメ

Happy New Year!
I tried a little research about Meiryo font this time, so I will report it.

みなさま、こんにちは!
出遅れましたが、昨年は本当にさまざまな皆様のお世話になり、ありがとうございました。
本年もよろしくお願い致します。

それはそうと風邪などひかれてないですか?
なんて書きながら、私は12/25の夕方に悪寒を感じ、あわてて病院に行ったところ、見事「A型インフルエンザです。最低5日間は出勤停止です」と・・・😭

会社は12/28PMから1/6まで休みでしたので、過去に経験したとこのない12連休という長期のお休みになってしまいました。
・・・もっともいきなりはコワかったので、12/31の早朝にこっそり出社して残務は済ませたのですが(汗

さて、前置きが長くなりましたが、本題です。
今回は見た目、特にフォントにフォーカスしてみたいと思います。

以前より林様の「Coolで使いやすいNotesアプリデザイン講座」


や、吉田チャンピオンの「ノーツアプリケーションのデザインを変更してみよう!」

でも取り上げられておりますが、【メイリオ】を利用する点について考察してみたいと思います。
なお以下内容については、私個人の視点による感想が含まれておりますことをご了承願います。

まずNotesのデフォルトフォントである【Default Sans Serif】について確認しておきます。
【Sans Serif】とは、「文字の線の端につけられる線・飾りのない書体の総称」だそうです。
日本語フォントで聞きなれたものとしては、「ゴシック体」がSans Serifのひとつに当てはまるようです。

・・・Wikipedia記事・・・

つづいて【メイリオ】です。
メイリオは和文のゴシック体フォントのひとつになります。
この和文というところがキーかもしれませんね。

Wikipediaによりますと、「欧文部はプロポーショナルフォント、和文部は等幅フォントで、全体としてプロポーショナルフォントになっている。」そうです。
また「直線部分と曲線部分がはっきりした若干膨らんだ印象の字形は横組みの可読性を重視した。」とも書かれていることから、WEBサイト等の横書きの和文を読みやすく表示することができるフォントであると言えます。
加えて注意点として、「全角文字はすべて固定幅で、行間も従来フォントに比べて広い。」とあり、この影響による余白がとくにNotesビューでは有効ではないかと個人的には考えております。

それでは実際の違いを見てみましょう。
サンプルアプリは9.0のディスカッションテンプレートを使用しております。
比較しやすいビューで確認します。

以下は左上が【Default Sans Serif】、右と下の赤く囲った部分が【メイリオ】になります。
 

右と比較すると明らかに1行の幅が広くなっていることがわかります。
また下と比較すると、文字列の長さが長くなっています。
フォントサイズはいずれも「9」なのですが、メイリオのほうが大きく、全体の余白との兼ね合いもあり、見易く表示されていると感じることができるはずです。

なおMobile Appについて確認してみたところ、面白い結果が得られました。


上段が【Default Sans Serif】、下の赤く囲った部分が【メイリオ】になります。
違いがわかりますでしょうか。
少なくとも私はわかりませんでした。
つまりMobileApp側のデフォルトフォント側で何かしら制御されているのではないかと推測されます。

それであればデフォルト設定で【メイリオ】を選択することができないかと少し探してみました。
Dominoデザイナーのプリファレンスに「IBM Notes クライアントの基本設定」内に「デフォルトフォント」が選択できるようになっております。


こちらをクリックしますと、以下のように4種類のデフォルトフォントに何を設定するのかを選択できるようです。


こちらの「Default Sans Serif」を「メイリオ」に変更してみましたが、うまく適用することはできませんでした。
こちらは各Notesクライアントごとの設定のため、サーバー側から配信することはできませんでした。
ちなみに設定されたクライアントのワークスペースはこんな感じになりました(笑


また同じくDesignerのプリファレンスを見ていくと、「フォントと色」という項目がありました。


しかしながらこちらには「メール表示のフォント」とフォントサイズは変更できるようですが、デフォルトフォントには影響しそうにありませんでした。
(何かコツがありそうな気もしますので、ご存知の方フォローくださいませ)

以上、今回はフォントについて少し触れてみました。

2018年12月4日火曜日

IBM Notes #Traveler データベースのデフラグについて

Let's regularly defragment the Traveler server !!

みなさま、こんにちは!!
いよいよ今年もあと1ヶ月を切ってしまいました。
クリスマスやお正月が楽しみな反面、年末の繁忙期を乗り越えなければなりません。

さて本日はタイトルの通り、Travelerサーバーのデフラグについて書かせて頂きます。

まず弊社の環境ですが、社内にDominoサーバーがあり、DMZ上にTravelerサーバーがあるというごく単純な構成になっています。
Travelerサーバーは定期的に再起動を行っております。

さて今回の背景です。
数ヶ月前までは、社内で使用しているノーツクライアントにメールが着信するのが早いか、Travelerを経由してiPhoneに通知が出るのが早いかというほどでした。
ところが最近になりiPhoneへの通知が遅れたり、場合によっては通知がない(正しくは通知前にクライアント側で閲覧したため、通知されない?)という状況になってしまいました。

一番にTravelerサーバーの再起動やサーバーそのものの再起動を試してみたのですが、改善されませんでした。
そこで弊社のパートナー様へ情報提供を依頼したところ、以下記事のリンクを送っていただけたのです。

(参考) IBM Notes Traveler データベースのデフラグによるパフォーマンスの改善について

詳細はリンク先を見て頂きたいのですが、要は

「IBM Notes Traveler のインストールサイズが大きくなり、稼働時間が延びるにともない、IBM Notes Traveler の内部データベースのサイズが増加してシステムのパフォーマンスに影響を及ぼしうるケースが見られる」ようになるそうです。
この対策として、データベースを圧縮・最適化するデフラグコマンドを追加頂けたました。
またシステムを良好な状態に維持するため、1ヶ月に1回程度はこのコマンドを実行することが推奨されているとも記載されております。
恥ずかしながらこの情報は全く知らずに使い続けていたことが原因のようです。
ということで、早速Travelerサーバーのデフラグを行い、また今後のために30日に1回実行するように設定してみたいと思います。

手順もすべて先のURLに書かれているのですが、実に簡単です。


サーバーの notes.ini に以下の1行を追加するだけ・・・。

    NTS_DEFRAG_INTERVAL_DAYS=30
保存して、Travelerサーバーを再起動すると、前回のデフラグより30日が経過されている場合(弊社では1回も実行していないため、もちろん該当)、起動時にデフラグが実行されます。

デフラグの時間を計り忘れたのですが、1~2分程度ではなかったかと思います。
恐らく次回以降はこの時間も短縮されるのではないかと推測します。


なお手動で実行する場合は、Traveler タスクと HTTP タスクをシャットダウン

  tell traveler quit
       tell http quit


した上で、以下コマンドを実行します。

load traveler -defrag


デフラグが完了すると、自動でTravelerサーバーが起動し(httpタスクも含む)、完了です。


以上、本来ユーザーが知っておかなければいけない情報かと思いますので、掘り起こさせて頂きました。


2018年11月5日月曜日

IBM Domino Mobile Apps とメールの連携について

Since IBM Domino Mobile Apps which was released the other day said that mail is not supported, I tried to verify whether it works as expected from Traveler and iNotes.

みなさま、こんにちは!!
先日リリースされました IBM Domino Mobile Apps ベータ版なのですが、現在メールは利用できないと明記されております。
業務での運用ではメールとの連携は必須のため、Traveler及びiNotesからの動きを確認してみました。

まずはTravelerからです。
TravelerのメールはiPadのデフォルトメーラーに届き、下記のような文書リンクの含まれたメールからテストしてみます。


ノーツクライアントからですと、メールリンクのアイコンが表示されるのですが、Travelerでは上記のように表示されています。
また従来はWebブラウザで開いておりますので、設定によりリンクアイコンの右にはLinkの文字と文書URLのリンクが表示されております。

当たり前ですが、このURLをタップするとブラウザが起動し、XPagesで作成したページが表示されます。

それではリンクアイコンをタップしてみます。
すると一瞬IBM Domino Mobile Appsで開くというメッセージが表示され(画面ショット撮れませんでした・・・)、パスワード入力画面が表示されました。
もちろん先日記載しましたが、弊社ではIDVaultを設定していないため、iPadに登録したIDファイルに対するパスワードを求められるものになります。


パスワードを入力すると、無事 IBM Domino Mobile Apps で対象文書を開くことができました。


もちろん上部のアクションボタン(ワークフローを含む)も問題なく動いてくれます。
期待した通り、満足な結果が得られました。

アプリのタブを閉じ、Homeタブを表示したところ、


Recent Applications の画面が表示されるのですが、こちらに今回開いたアプリケーションは追加されませんでした。
個人的にはこちらに追加されるものと期待していたのですが、考えようによってはメールからしか開くことのないアプリケーションがこちらに並ばない仕様も考えられたものかもしれません。

上部左の「メール」に戻ろうとすると、少し気になる画面が表示されました。


恐らく先のメールリンクをタップした際に、アイコンのgifファイルを開き、同時にIBM Domino Mobile Appsが開かれたような動きになっているようです。
できればこの画面は表示されないよう改善頂きたいところです。

こちらも左上の「完了」をタップしますと、もともと想定していたメール画面に戻ります。


つづいてiNotesです。


iNotesの画面はリンクアイコンのみが表示されており、こちらをタップするとこのように

"Domino Apps"で開きますか?

というダイアログが表示されます。
「開く」をタップしますと、左記のTravelerと同じようにアプリが開きます。


ということで、メール機能を持たずともTraveler や iNotesを利用することで、問題なく業務が行えることがわかるかと思います。

先にも書きましたが、少しチューニングが必要な部分は感じますが、ベータ版というところを考えると、製品版では一部は改良されたものがリリースされるのではと期待しております。


簡単ではありますが、ほぼ期待通りの結果が得られましたことを報告致します。

2018年11月1日木曜日

IBM Domino Mobile Apps ベータ版を使ってみました。

Finally released IBM Domino Mobile Apps beta version.
Since IDVault has not been set up, I write the setup procedure using the ID file.

みなさま、こんにちは!!
先週はMizkan様にお世話になり、その余熱も覚めやらぬ昨日、ついにリリースされました。

IBM Domino Mobile Apps ベータ版

アプリの導入や詳細については、こちらのブログをご覧ください。

アプリのインストールまではほんの数分でした。すぐにiPadに以下のようなアイコンが現れてくれます。


アプリを起動するとDominoサーバーの設定画面が表示されます。
・・・申し訳ありません、画面ショット撮り忘れました・・・

※※※本ブログを読んで頂いたN様より「クライアント構成」画面ショットを頂戴致しましたので、添付致します。
N様、ありがとうございます!!



パソコンでセットアップしたことがある方でしたら見たことのある「Dominoサーバー名」と「ユーザー名」を入力し、次に進めます。
弊社ではIDVaultを設定していないため、この時にIDファイルを求められます。

IDファイルのアップロード方法は至って簡単で、iPadをiTunesに接続して、デバイス画面を開くと、「ファイル共有」というメニューがありますので、こちらをクリックします。


すると右側にファイル共有の設定が表示され、App欄に「Domino Apps」があることがわかります。



さらに右側に「Domino Appsの書類」という欄があり、こちらにIDファイルをドラッグ&ドロップします。


最後に下にある「同期」ボタンをクリックするだけで転送完了です。


それでは再度 IBM Domino Mobile Apps を起動します。
パスワードを求められますので、入力すると無事アプリを起動することができました。

ちなみに弊社Dominoサーバーのバージョンは9.0.1ですが、問題なく接続することが可能です。

左上のハンバーガーメニューから「オープン・アプリケーション」をタップすると、パソコンのノーツクライアントと同様、アプリケーションを開くことができます。


こんな感じですね。サーバーを選択して、開きたいアプリケーションを選びます。


あとは自由に使っていただければいいのですが、かなり使えるというのがわかると思います。
ぜひ何のカスタマイズもせずにそのまま使ってみてください。

なおIDファイルを使っている証拠として、下記は弊社のSFAの画面になります。
担当者欄には [@Name([CN];@Username)] が式として入っているのですが、正しく私の名前が入っていることが分かります。


恐らくたくさんの方から情報発信されてくるものと思いますので、皆様もさわりながらお試しください。

少し余談になるのですが、弊社のアプリデザインは以前にも書きましたが、下記デザインを採用しております。
こちらを利用しますと、ビューの行幅などもiPadで違和感なく利用することができますので、ほぼカスタマイズなしで運用できそうです。



ぜひ参考になさってください!!

※注意事項
本記事なのですが、メモ等を取らずにセットアップしてしまったため、記憶の範囲での記事になります。誤り等ございましたら、ご指摘頂ければ修正させて頂きます。