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

      調子に乗ってVideoカスタムコントロールを作る-応用編

      調子に乗ってVideoカスタムコントロールを作る-下ごしらえ編調子に乗ってVideoカスタムコントロールを作る-実装編こんばんは最近、引篭もりのサッカー馬鹿です3年半ほど前にXPagesで「Videoカスタムコントロール」を作ってアプリを作成しました。ここ最近になって、社内で「動画マニュアル」といったキーワードで業務内容の説明やオンライン講習のプレイバックなど紹介するのが多くなってきたんです当時Videoカスタムコントロールを作成したときは、動画ファイルをオンプレサーバーに配置して運用していたのですが最近は再生時間が長く、高画質のものも多いせいかオンプレサーバーの容量が大変なことになってきましたそこで注目したのが「Microsoft Stream」というYoutube的な便利なツールがあるのですが筆者には管理が難しすぎてどうしても主管部署に渡せない事情が出てきました(主管部署も以前のNotesの時のように簡単に出来ないのという感じ)何気にNotes好きな利用者のために、アップロードの方法は以前と異なっても、使い方や管理方法はNotesらしい管理方法が出来ないかなという事で在宅勤務中に考えてみました早速検証・・・今回使用したのは以下の動画です。(それなりに大きなものがこれしかなかった)OneDrive for Businessを使ってみるOneDrive for Businessの機能の共有を使えば動画のURLを取れるのではと考えました。(お仕事用だし)ということで動画ファイルをアップロードしてみました。何とかURLを奪い取って試すものの・・・(参照先はSharePointなのね)OneDrive(個人向け)には準備されている「<埋め込み>」がないし・・・サインインが出ちゃいました(筆者環境の場合です)サインしたものの「無効なコンテンツ」となってうまく動画が表示されなかったり、共有されたURLを開いてからなら動画が再生出来たりとAzureADの権限だったり、OAuth認証だったりが必要な感じ------この辺は以前、クラウド研究会で行ったことを実装したりhttps://www.notescons.gr.jp/home.nsf/blog.xsp?action=openDocument&documentId=2B14486D503DD0CC4925834900286155ADとの連携強化を実施すると改善されるのかな365に詳しくないので、誰か教えてください------OneDriveを使ってみる1.OneDriveに動画ファイルをアップロードします。2.アップロードした動画ファイルを再生>右クリック>動画のURLをコピーします。3.「mp4」の後にある文字を削除したものを指定先URLとしますのでクリップボードもしくはエディターツールに控えておきます。4.DBのページを作成し、<video>タグを入力し、srcの値を4でコピーした(控えた)URLにします。タグ全体をパススルーHTMLにして保存し確認してみます。動くかな動いたいい感じですね以前作ったvideoカスタムコントロールにURLを指定して動作確認おお、動いてるよでもNotesクライアントでmp4が再生できなったちょっとブラウザの力を借りたいと思いますビューにアクションを作成。ここでは「Movie」と「Movie2」を作成、@関数式は全く同じものを記述しました。「Movie2」はモバイルアクションボタンにアクションを含めるにチェックを付けました。Notesクライアントで確認「Movie」ボタンをクリックすると・・・当たり前ですがブラウザで表示されましたHCL Nomadで試してみる右下の黒のメニューをタップすると「Movie2」が表示されるのでタップしてみます。Safariが立ち上がり、動画が再生されることを確認できました今回、OneDrive(個人向け)で成功しました。仕事で使うというより、動画再生プログラムやシステムを構築した際に検証用で使われるのがいいのかもしれません。試してみたいというときはダウンロード等されても支障のないものを用意してください。(筆者は責任取れませんので)業務で使用するには「OneDrive for Business」でこの実装が出来ないとダメですね今日はこの辺で・・・あでゅー

  • 29Apr
    • 全角英数字は半角英数字に、半角カタカナは全角カタカナにの画像

      全角英数字は半角英数字に、半角カタカナは全角カタカナに

      こんばんは新型コロナウィルス感染防止のため、筆者の会社では今月からテレワーク推奨になりました。その為、自宅からほぼ外出せず巣ごもりしている状態です。その中、毎日お勤めしている皆様のお陰で、筆者は体調を崩すことなく仕事が出来ています。この場を借りてお礼申し上げます。このような環境になったのと期末期初という時期だったのでNotesの開発にほとんど注力できずにいましたブログのネタも探すもののイマイチなものが多かったので・・・前置きが長くなりましたが本題です日本特有(?)の問題なのかもしれませんが、カタカナに半角/全角があり数字にも半角/全角があり英字にも半角/全角がありますよね。今とあるプログラムを作っていて、人事系のデータをNotesのデータに取り込み、Notesのワークフローやその他情報を付加したのち人事系のシステムに返すといった仕組みがあります。人事系システムでは、振り仮名が半角だったり部署名の英字が全角、カタカナが半角だったりと個人的にしっくりこないんですね例)情報システム部 RD企画課  研究開発センター HD研究室上記のような表記を以下のように変更して管理したいんです情報システム部 RD企画課研究開発センター HD研究室こんな個人的気持ちの理由で作った例が以下のサンプルです。仕組みはとても簡単でinTypeフィールドに入力された文字を全角英数字は半角英数字に、半角カタカナは全角カタカナに変換してoutTypeフィールドに返すというものです。変換ボタンの中身(今回実験用に作成したのでFunctionにしていません)Option Compare Binary DimuiwsAsNewNotesUIWorkspaceDimuidocAsNotesUIDocumentDimStrStocMsgAsStringDimtxtAsStringDimiAsIntegerSetuidoc=uiws.CurrentDocumentStrStocMsg=Strconv(uidoc.FieldGetText("inType"),8)Fori=1ToLen(StrStocMsg)IfMid$(StrStocMsg,i,1)Like"*[a-z,A-Z,0-9]*"Thentxt=txt&Mid$(StrStocMsg,i,1)Elsetxt=txt&Strconv(Mid$(StrStocMsg,i,1),4)EndIfNextCalluidoc.FieldSetText("outType",Fulltrim(txt))MsgboxFulltrim(txt)Calluidoc.Refresh思い通りになったかを確認してみました。パターン1パターン2いい感じですねでは実際にありそうな言葉で変換してみましょうパターン3んん何か変ですね赤線の場所を見てください。「パ」が「ハ」と「゜」になっていたり「ズ」が「ス」と「゛」になってますね・・・StrConvだけではダメなのかな。。。LotusScriptを少し変更してみました。(変換対象を一度@Wideで変換して、Likeを全角の数字と英字を対象に)Option Compare Binary DimuiwsAsNewNotesUIWorkspaceDimuidocAsNotesUIDocumentDimStrStocMsgAsStringDimevalAsVariantDimtxtAsStringDimiAsIntegerSetuidoc=uiws.CurrentDocument'//全角にして渡してみると?'StrStocMsg=uidoc.FieldGetText("inType")Eval=Evaluate(|@Wide("|&uidoc.FieldGetText("inType")&|")|)StrStocMsg=Eval(0)Fori=1ToLen(StrStocMsg)'//全角英数字の場合は半角英数字にするIfMid$(StrStocMsg,i,1)Like"*[a-z,A-Z,0-9]*"Thentxt=txt&Strconv(Mid$(StrStocMsg,i,1),8)Elsetxt=txt&Strconv(Mid$(StrStocMsg,i,1),4)EndIfNextCalluidoc.FieldSetText("outType",Fulltrim(txt))MsgboxFulltrim(txt)Calluidoc.Refreshさて次はどうでしょうかパターン4今度は濁点等もちゃんと変更されました今回、筆者の要件的にはこれでいいのですが、まだ次の問題が解決していませんでしたパターン5赤線部分を見ていただくと半角記号が全角記号になってしまっているんですこれも出来れば半角にしたいので、次回この研究をしてみたいと思いますこんなことしなくてもこれでやりたいこと出来るよという情報お持ちの方是非筆者に教えてください今日はこの辺で・・・あでゅー

  • 14Mar
    • パスワードの変更をプログラムで行ってみようをNomadでやってみよう!の画像

      パスワードの変更をプログラムで行ってみようをNomadでやってみよう!

      こんばんはHCL Master御代さまのブログ「のおつ」を読んでますか最新の記事で何とuser.idのパスワードを変更できるDBを無償でいただけるという事で早速応募してみましたぐへへへ、もらっちゃったここでふと疑問が「Nomadでも使えるのかな?」試してみましたので共有しますAndroid編1)パスワード変更DBを開きます(日本語が化けてる)※何かDBを開いて閉じると文字化けが直っているという不思議2)パスワード変更をクリックします3)あれれidファイル格納場所までたどり着けない・・・Androidの中を探してみましたが、idファイルが探せる場所にはありませんでした気を取り直して・・・iPhone1)パスワード変更DBを開き、パスワード変更をクリックします2)撮影してもだめだと思うので、ファイルから選択を選んでみました。3)一番可能性がありそうな「HCL Nomad」内も全部探しましたがuser.idの格納先まで探せませんでした。結局こうなりました今回の検証でiPhoneにはダウンロードというものがあったので、Nomad経由でダウンロードしたIDファイルは実行できるかなと淡い期待を持ちましたがその後どうしてあげればいいのかわからないので未検証ですまとめパスワード変更は正規ルートで行いましょうw今日はこの辺で・・・あでゅー※パスワード変更DBを使用させていただいた御代さま、ありがとうございました

  • 12Mar
    • NotesクライアントDBを iPhoneでカッコよく見せたい(HCL Nomad)の画像

      NotesクライアントDBを iPhoneでカッコよく見せたい(HCL Nomad)

      こんばんは年度末の忙しさで、Notes開発をしばらくお休みしていたサッカー馬鹿ですHCLジャパンブログで紹介されているNomad 用ディスカッション・テンプレート (Beta) の公開は皆さん既にダウンロードして試してみましたかそんな筆者も実は今年初めのテクてくLotus技術者夜会でNomad用フレームセットの発表させていただきましたせっかくなのでブログに残しておこうと思います。1)まずはDBの準備今回当たり障りのないDBがなかったので、スクラッチでよくありそうな構成のDBをイメージして作成してみました。メニューとビューアウトラインでビューの切り替えが可能なシンプルなDBです。フォームタイトルはテキストフィールド、カテゴリはダイアログリスト、本文はリッチテキストです。このぐらいの設計であれば、大きな改修はないのでHCL Nomadで表示してみたいと思います。2)iPadのHCL Nomadで確認してみる縦向き、横向き共に見づらい、使いづらいは感じませんでした。3)iPhoneのHCL Nomadで確認してみる開いてこれが表示されると「表示が変です!」って問い合わせきそうです赤枠の矢印アイコンでビューとメニューの切り替えは可能ですが、なんかしっくりきません。このままではダメだと思い考えてみました。そんなある日、HCLMasterの御代さまのブログにヒントがありましたそうか、フレームセットを使えばいいのか普段使っているから簡単に実装できるという事で、モノは試しに改修を加えてみました。このDBは上下2フレームで構成されています。このフレームセットを呼び出す外枠のフレームセットを追加します。理想としては、「iPhone」だったら専用フレームセットを呼び出し、それ以外は今まで通りのフレームセットを呼び出せば完成だ!iPhoneとそれ以外を知るには「@Platform」関数を使うようです。という事で、名前付き要素の名前についての式に以下の式を記述し保存しました。iPhoneFrameはiPhone用に作ったフレームセット(iPhoneサイズに幅を調整したもの)、MainFrameは今まで使用していたフレームセットです。最後に起動プロパティで作成した上記のフレームセットを選びます。出来たでは動かしてみましょうNotesクライアントイメージ通りですiPhone予定通り・・・ではありませんでした・矢印アイコンが機能しない・仮にメニューを表示させてもアウトラインも効かないよくよく考えると1フレームから呼び出されている要素なので矢印とか効くわけない(そうなのか)折角の矢印アイコンを使いたいので使える方法を考えてみました。1)ダミーページを作成しPostOpenに「Call Source.Close」と書いて保存します。2)起動時に開くフレームセットの内容をダミーページに変更して保存します。3)データベーススクリプトのPostOpenに以下のLotusScriptを記述します。4)DBを開いてみます。NotesクライアントHCL Nomad for iPadHCL Nomad for iPhone矢印アイコンも問題なく使えますきっと他に正しい設定方法があると思うのでどなたかご存知な方は教えてください今日はこの辺で・・・あでゅー

  • 01Feb
    • HCL Nomadでもリッチテキストらしさを!の画像

      HCL Nomadでもリッチテキストらしさを!

      こんばんは来週は年明け初のテクてくLotus技術者夜会ですね筆者も個人的に勉強しているNomad用のアプリの設計について(特にiPhone)を紹介させていただこうと思っています申し込みはこちらのリンクから出来ます。https://support.hcltechsw.com/csm?id=kb_article&sysparm_article=KB0069193さて、来週の発表用にアプリを作成して(個人的に便利な)機能を試しているんですがNotesのリッチテキストって本当に便利だなーNomadからも便利に使えるなーと思ったので簡単に紹介します以前、「リッチテキストライト」を使うと写真の添付やカメラ起動できるよと教えてもらいました。その時は便利に感じていました。でも既存のアプリには既にリッチテキストが配置されているのにそれとは別にフィールドを設けるのは・・・って思っていましたPCで使うNotesのリッチテキストみたいに文字も写真も添付したいな・・・と思っていたらな、何と既に実装されていました(ベータ版の時に全く気付いてなかった)簡単ですが、確認していきましょう以下のようなフォームを準備しました。タイトル:テキストカテゴリ:ダイアログボックス(複数可)本文:リッチテキストそして本文に普段ありがちな言葉を打ち込み、この場所にファイルを添付したいなってあると思います。そこにカーソルを置いたまま、画面上記の赤枠のメニューをタップすると・・・何とメニューの中に「添付」があるじゃないですかカメラロールもしくはカメラを起動して写真を決定すると・・・(あと、ファイルっていうのもあった)添付されてる保存しても問題ありませんでした再度文書を開きなおして、画像ファイルを長押ししていると・・・iPhoneの標準メニューでしょうか、「表示」があります。タップしてみましょう。すごい表示されたw既にご存じだった人には、あまりいいトピックではないですが個人的にはすごく感動して、これならiPhoneでも文書の登録や編集も可能だなーと感じました本題とはズレますが、このボールペンを使うととても便利にメニューを触ることが出来ました他のNomad用のネタはまた来週簡単ですが、今日はこの辺で・・・Notes client on PC Like "Rich Text".あでゅー

  • 10Jan
    • @関数はとても便利!の画像

      @関数はとても便利!

      あけましておめでとうございます本年もよろしくお願いいたしますHCLジャパンブログで紹介していただいてますが、今年も無事、マスターとして活動させていただきますユーザー企業目線でこんなことにNotesは使えるのではという観点で皆様に開発のヒントやアイデアを提供できたらいいなと思っていますさて、本題ですが@関数といえば、HCL Masterの阿部さまはもうご存知な機能なんでしょうけど改めて賢いなと思ったのでメモ。最近開発していたDBで、ほかの文書(複数)から金額を参照し合計値を出すというよくありそうなことをやっていました。頭の固かった筆者は、複数だから@Forを使って@DBLookupのキーを変えながらとか、変数にどんどん加算していったりとか、LotusScriptでガンガン書いた方がいいのかなと思っていました。簡単に実装するにはどうすればいいのだろう・・・回答はとても簡単で関数はそのままで、フィールドを「複数値も可」にすればいいだけでした合計値を求めるボタンには@Sum関数を使うだけ・・・動作確認です。単一の動き→問題なし複数の動き→問題なし@関数でこんなに簡単に合計値出せるならHCLNomadでも活躍できそうなDBが作れそうですね簡単ですが、本日はこの編で・・・あでゅー@Functions are very useful!

  • 27Nov
    • Domino V11の新機能~DAOS tier 2 storage~の画像

      Domino V11の新機能~DAOS tier 2 storage~

      こんばんは皆さん、Domino V11いじりまくってますか本日もノーツコンソーシアムの研究会でDominoしてきましたNotes/Domino V11はHCLに移管されて初のリリース(になるのかな)にワクワクしている方のサッカー馬鹿ですV11の新機能に(やたらと)詳しいHCLマスターの中野様に「DAOS tier2 storage」なるものを教えてもらい、サッカー馬鹿でも出来るレベルと言われたので試してみました(研究会でも調べていたのですが・・・)What's NewをGoogle先生でなんとなく翻訳すると以下のような感じでした。ここからはWhat's Newを和訳(風)にした記事に、ちょいちょい割り込んでと言った感じで進めていきます(緑字が筆者の声です)なお、注意点ですが筆者は英語は苦手ですので表現等も正しくないところが多々あります。あたたかい心で見ていただくと大変うれしいですDAOS tier2 StorageDomino Attachment Object Service(DAOS)tier 2 storageにより、S3互換ストレージサービスを使用して、指定された日数以内にアクセスされなかった古い添付オブジェクトを保存します。この機能により、DAOSを使用するDominoサーバーに保存されるデータ量を削減します。また、任意のパフォーマンスを向上させることもでき、DAOS用に行うファイルの増分バックアップが可能となります。S3互換のストレージサービスは、Amazon Web Services(AWS)Simple Storage Service(S3)APIを使用します。次のS3互換ストレージサービスがテストおよびサポートされています。・AWS S3・MinIODAOSタスクは、古い添付オブジェクトをDominoサーバーからストレージサービスの指定された場所に移動します。オブジェクトは、バックグラウンドスレッドによってS3オブジェクトストアにプッシュされます。今のDAOSのNLOファイルをクラウド上に逃がせるのであれば、DominoサーバーのNLOファイルのディレクトリのダイエットも出来そうですねDAOStier 2 storageの資格情報ストアの構成ストレージサービスへの接続に使用される資格情報を保存するようにDomino資格情報ストアを構成します。1.ストレージサービスベンダーのドキュメントを参照してください。ストレージサービスの接続に使用するDominoの資格情報を作成します。2.ストレージサービスベンダーのドキュメントを参照してください。Dominoが使用するバケットを作成します。複数のDominoサーバーは同じバケットを使用できます。バケットには任意の名前を使用できます。次のAWSコマンドの例エンドポイントus-east-1にaws-hcl-dominocosという名前のバケットを作成します。aws s3api create-bucket --bucket aws-hcl-dominocos --region us-east-1「DAOSティア2ストレージを有効にする」の手順を完了するときに、この情報を提供します。3.Dominoで、次の手順を実行してDomino資格情報ストアを作成し、資格情報を安全に保存します。ストレージサービスへの接続に使用されます。既存の資格情報ストア(通常はIBM_CredStore\credstore.nsf)がある場合は、それを使用できますが、Domino11で提供されているwebsecuritystore.ntfで設計を置き換える必要があります。Domino資格情報ストアのセットアップの詳細については、資格情報ストアの使用を参照してください。Dominoのドキュメントで資格情報を共有します。AWSのアカウントを作成しなければならないのか・・・筆者は以下のブログを参考にさせていただきましたhttps://go-journey.club/archives/9653DominoサーバーでDomino資格情報ストアを作成するには:a)サーバーコンソールから、次のコマンドを使用して、サーバーIDファイルに追加される名前付き暗号化キー(NEK)を作成します。Dominoは、キーを使用して、資格情報ストアに保存されている資格情報を暗号化します。KEYMGMT CREATE NEK <名前付きキー><named key>は、キーに付ける名前です。例えば:KEYMGMT CREATE NEK credstorenekサーバーコンソールログに次のようなメッセージが表示されていることを確認します。b)サーバーコンソールから、次のコマンドを使用して、作成したNEKを使用して資格情報ストアを作成します。KEYMGMT CREATE CREDSTORE <nek>例えば:KEYMGMT CREATE CREDSTORE credstorenek確認するには:指紋は、前の手順でメモした指紋と一致します。(多分羅列に表示されるキーだと思う)データベースcredstore.nsfは、Domino\data\IBM_CredStoreディレクトリに作成されます。(IBMなんですね・・・)※追加のDominoサーバーがストレージサービスで同じバケットを使用する場合は今回割愛します。5.次の手順を実行して、Domino資格情報ストアにストレージサービスの資格情報を追加します。a)手順1で作成したサービス資格情報を含むテキストファイル(dominocred.txtなど)を作成します。例えば:[dominocos]aws_access_key_id = ABCDEFGHIJH1234567890aws_secret_access_key = AbCdEfGhIjKlMnOpQrStUvWxYz0123456789012括弧内の名前[dominocos]は、資格情報ストア内の資格情報の名前として使用されます。指定するこの名前は、「DAOS tier2 storageを有効にする」の手順を完了するときに使用します。筆者は「domino-daos.txt」にしました。aws_access_key_idと、aws_secret_access_keyはAWSのコンソールから確認してください。b)DAOSサーバーのサーバーコンソールから、次のコマンドを使用して資格情報をDominoクレデンシャルストアに追加します。tell daosmgr S3 storecred <ファイル名>ここで、<filename>は資格情報を含むテキストファイルの名前です。例えば:tell daosmgr S3 storecred dominocred.txt資格情報は、指定された資格情報(たとえば、dominocos)を使用して資格情報ストアに追加されます。コマンドが完了すると、テキストファイルは削除されます。コンソールまたはログファイルに資格情報は表示されません。結構やる事たくさんありますね・・・次の手順を実行して、DominoサーバーでDAOS tier2 storageを有効にします。a)編集モードでDominoディレクトリのサーバー文書を開きます。注意:・Domino管理サーバーでDominoディレクトリを管理する場合は、管理サーバーを設定します。管理サーバーでの資格情報ストアのレプリカの作成など、資格情報ストアを使用します。詳細については、「DAOS tier2 storage用の認証情報ストアの設定」を参照してください。・Domino管理サーバーでDominoディレクトリを管理しない場合は、次のことを確認してください。この手順で行った変更は、管理サーバーに複製されます。b)[DAOS]タブをクリックし、ドキュメントの[Tier 2 Storage]セクションを参照します。c)[DAOS Tier 2]フィールドで、[有効にする]を選択します。d)[S3資格情報名]フィールドで、使用するDomino資格情報ストアから資格情報名を選択します。手順のステップ5で指定されたストレージサービスに接続します。DAOS層の資格情報ストアの構成。(筆者ならdomino-daos)e)[S3 Bucket]フィールドに、手順2で作成したバケットの名前を入力します。aws-hcl-dominocosなど、DAOS tier2 storageの資格情報ストア。(AWS S3に作ったバケット名ですね)f)[S3 Endpoint]フィールドに、ステップで指定されたオブジェクトストレージサービスへの接続に使用するエンドポイントを入力します。「DAOS tier2 storage用のクレデンシャルストアの設定」の手順の2。エンドポイントまたはポート番号付きのURL。例:・AWS:us-east-1・HTTPS経由のローカルサーバー上のMinIOインスタンス:minio.myserver.com・HTTP経由のローカルサーバー上のMinIOインスタンス(ポート番号が必要):minio.myserver.com:9000。g)[アクセスされない場合に保存するプッシュオブジェクト]フィールドに、tier2 storageに配置するため添付ファイルにアクセスしない日数を入力します。デフォルトは1000日です。h)変更を保存します。3. Dominoサーバーを再起動します。サーバーは、DAOS tier2 storage構成をテストします。テストが成功すると、サーバーに次の出力が表示されます。(AWS:AWSSelfTest: Success. AWS connection for DAOS is up and running.)以上で、セットアップは完了のようです。(不足あったらごめんなさい・・・)What's Newを見るとDAOSMGRコマンドが追加され検証することが多々あります。筆者自身が使い方をまだよく理解していません・・・また、即時にS3に反映などのコマンドは用意されているのですが、What's Newには記載がありませんでしたので、製品版の充実したマニュアルに期待をしています。とは言っても・・・AWSにNLOが行くまでに1000日どころか1日も待てないという貴方中野様から小ネタがございますDominoコンソールにTell daosmgr help と打ちなさいとOBJECTPUSHを使えばAWSに即時反映できるよーと教えていただきました。早速発行したところ・・・出来てるーという事で、Google先生で翻訳したレベルでDAOS tier2出来ました製品版でもっと簡単になっているといいな・・・詳しい内容はきっと誰かが分かりやすくブログに書いてくれることを期待して今日はこの辺で・・・あでゅーP.S今回DAOS tier2 storageに関して色々と情報をいただいた中野様に心からお礼申し上げます。あざーす

  • 07Nov
    • インスタみたいな検索画面作ってよ!(その1)の画像

      インスタみたいな検索画面作ってよ!(その1)

      こんばんは最近、RPAの開発に追われているサッカー馬鹿ですこの間、社内で「インスタみたいな検索画面が欲しい」と言われて「[CSS]スクリプト無しで、高さがバラバラの画像を隙間無く配置するスタイルシートのテクニック」のCSSを参考にしてXPagesで作成しました。こちらのサイトのCSSを参考にさせていただいたお陰で、短期間でインスタっぽいページをサクっと作成できましたありがとうございます元ネタになるNotesDBはこちら特に特殊なことはしてませんが、1文書1画像にしています。こんな感じのDBになります。<改修手順>1)XPagesで以下のようにしました。ソースはこんな感じすごく簡単でした出来栄えはというと・・・何か良くない文字検索すると・・・ちゃんと検索もできましたこのネタを元に社内の投稿サイトも改修し、若者ウケ(?)するサイトに変わったはずもっと他にも素敵なネタを仕込んでいるのですが、機会があればまたその時にちなみにこのサンプルDBはV11 Beta2で開発、DominoもV11Betaで動いていますちょっと短いですが今日はこの辺で・・・あでゅー

  • 08Oct
    • NDS2019舞台裏-HCL Nomadアプリを作ろう編の画像

      NDS2019舞台裏-HCL Nomadアプリを作ろう編

      こんばんは9月から全国5拠点で行われた#NDS2019、ご参加いただきました皆さまありがとうございますまた、全イベントでにおいて運営に携わってきた関係者の方々もお疲れ様でした筆者も初の全出席でしたさて、今回はイベントの参加者へのプレゼント企画としてHCL Nomad用のアプリを作成しましたその舞台裏(自分の行ったパート)を少しだけ解説したいと思います主に行った場所はメニューです。普通のありきたりなメニューじゃなくて、今時のスマホアプリであるニュースのタブを切り替えるようなもの何か作れない?と言われたのがきっかけでした。最初の試作品はフォームで作成しました。5列2行の表を作り、1行目にはメニュー名を2行目は背景の計算式でフラグの値によって画像が表示されたりされなかったりを実装しました。しかし、動作検証時に問題が赤枠プレビューが表示されると、コントロールがそっちに持っていかれメニューの切り替えが出来なくなってしまいました・・・折角気に入ってもらえたのに、このまま諦めるわけにはいかないという事で、こんな姑息な技を使いましたメニューの数だけページを作るw作り方はとても簡単です。列5、行2の表を作りページを保存し、メニュー分コピーします。選択されているページの時は、文字色を黒に、2行目には背景を設置します。選択されていないメニューにホットスポットを追加し、関数を記述しています。たったこれだけ2行目の文字サイズを1にしてフォントをちょうどいいのに変えるだけで、シャープなバーが表示されているように見えます。あまり大したことはしていないのですが・・・アピールポイントに載せていただいちゃいましたこのNomad用アプリには他にも素敵な機能がありますので是非、ダウンロードしてみてくださいslack連携については中野様のブログにて掲載中ですhttps://harunakano.blogspot.com/2019/10/nds2019_7.html全体のまとめは萩原様と御代様がブログにまとめてくださっていますhttps://www.tanuchi.com/2019/10/nds2019-notes-domino-solution-2019.html御代様のブログ(グループカレンダーのところ気になるなー)https://guylocke.blogspot.com/2019/10/nds2019.htmlまた、NDS2019で話題になった2コマのフォローアップセミナーも開催されるそうですケートリック株式会社https://product.ktrick.com/events今年のNDS2019は5拠点に参加させていただき、またこのような開発に混ぜていただいてありがとうございます本当に楽しかったイベントでした(NDS2019広島にて)P.Sリッチテキストに添付されているファイルを一気に開く方法知りませんか?という質問がありましたので、筆者が考えた一例を載せておきます(あくまで例です)読み込み時のみ表示されるボタンを作って、以下の関数を書いてみました。tmp:=@AttachmentNames;@For(n :=1; n<=@Elements(tmp); n:= n + 1;path:="http://"+@Name([CN];@ServerName)+"/"+@ReplaceSubstring(@Subset(@DbName;-1);"\\";"/")+"/0/"+@Text(@DocumentUniqueID)+"/$FILE/"+tmp[n]+"?OpenElement";@Command([Execute];path));@True(これだとanonymousの権限いるのか…)何かの役に立てば幸いです・・・今日はこの辺で…あでゅー

  • 03Oct
    • LeapでFormを作ってみる-その1の画像

      LeapでFormを作ってみる-その1

      Leapについて調べてみるこんばんは前回、やっとDemo画面を作ることが出来るようになりましたのでどんなことが出来るのか試してみましたガッツリは作っていないので注意Demoのトップ画面、こちらもLeapで出来ているようです。作成画面を出すには以下赤枠の「Launch HCL Leap」をクリックし・・・In New Tabを選択します。HCL Leapのトップ画面(?)が表示されるのですが何とビックリ日本語表示左側にある[新規アプリケーション]をクリックします。以下の画面が表示されます。空白からは1からデザインするようです。スプレッドシートからはExcelから取り込めるようです。今回は「空白から」を使ってみたいと思います。アプリケーション名とテーマカラーを決めます。アプリケーション名はNotesでいうところのDBのタイトルですね。必要事項を入力して[作成]をクリックします。設計画面が表示されました。パレット/フォーム/アウトラインの3ペインですね。パレットには表示項目/フィールド/特殊の3つのグループにカテゴライズされています。例)テキストのプロパティテキストというかCKEditor風な入力が出来ます。例)イメージのプロパティイメージを選択してサイズ等を調整することが出来るようです。モノは試しで動くgifを選択してみましたというわけで、なんとなく勘であちこちに配置してフォームを作ってみました。プレビュー画面で見た目を確認して・・・(動いてるw)デプロイしてみましたこんな便利な機能もあるんですね・・・今回は自分しか使わないのでそのまま[開始]としました。デプロイが成功すると、以下の画面が表示されます。ビューも自動的に作成されるみたいで、自分で列の表示/非表示も設定できるみたいです。右側にフォームのプレビューも出せるようです。早速新規作成して登録してみます。登録されたようです。登録されてますねータブの切り替えでサマリーも見れるようです。簡単なフォームなら数分で作成できそうですが、ワークフローだったり、権限の設定やレイアウトを考えると数時間はかかるのかな?と感じました。あと、開発できない人も・・・という話でしたが多少のスキルはいるんじゃないかな?と感じました早くLeap on Dominoがリリースされることを待っています今日はこの辺で・・・あでゅー

  • 02Oct
    • Leapについて調べてみるの画像

      Leapについて調べてみる

      こんばんは10月ですねあっという間に1年が経とうとしています。。。去年の今頃は「Domino V10が間もなくリリース」ということでソワソワしていましたが、もうV11が準備されているんですもんねまた、現在NDS2019というイベントが開催中です。http://nds2019.jp/top.nsf/pages/NDS2019top残すは広島会場と福岡会場のみとなりました近隣にお勤めの方で参加できそうな場合は是非遊びに来てくださいさて、今回は自己学習のためV11に搭載される「Leap」についてどんなことが出来るのか(Google先生で)調べてみましたLeapを知った記事はこちら「IBM Forms」みたいなものらしいです。作成後の見た目こんなのが簡単に作れるらしいです。別製品の「HCL Leap」でどんな動きなのか試してみることが可能らしいです。(アカウント登録が必要)アカウント登録完了後にHCL社から登録終わったよというメールが来ますので、パスワードをリセット(?)して再ログインします。※筆者の場合、登録完了メールが迷惑メールに入っていました・・・Leap on Dominoで期待している以下3つ・Dominoのお客様は無料で利用可能・NSFで提供・V11で利用可能楽しみで仕方ありませんこちらのブログにも情報がありましたhttps://hcljapan.co.jp/software/blog/tag/leap(ライセンスに関して触れられていませんっていうのが引っかかるけど)どのようにFormを作成して展開していくのかは、現段階ではこちらの動画が参考になりそうです。という事で次回は、Leapを使って簡単なFormを(見よう見まねで)作ってみたいと思います今日はこの辺で・・・あでゅー

  • 23Aug
    • 【ブラウザNotes】SearchTemplate(ViewTemplate)で画像並べたいの画像

      【ブラウザNotes】SearchTemplate(ViewTemplate)で画像並べたい

      こんばんは久々の投稿です最近、事務集約などでNotesの改修が増えてきて、色々な知恵を絞りだしている方のサッカー馬鹿ですさて、今回は最近開発した「SearchTemplate」を使った改修のネタになります。実際のところ、XPagesすべて作り替えればいいのですが既存の一部分の改修でそんなに日数もかけられないのが事実なんデスケドネ。。。(問題なく動いているDBの改修はしたくない)依頼された内容は、「Webで検索された画像を並べて表示してほしいとの事」※社内の情報は見せられないので簡単作成して再現しています<現在>SearchViewで文字検索をして、SearchTemplateをカスタマイズして表示させています。(イメージ図)こちらのSearchTemplateは以前ブログに書いた「閑話休題:明日から22日までセミナーいっぱい!」を実装しています。こんな感じで列にタグを書き込み・・・ビューのプロパティで「ビューの内容をHTMLとして扱う」にチェックをし保存。$$SearchTemplate for <ビュー名>を作成し、タグを書いてパススルーHTMLと$$ViewBodyフィールドを配置。以上が出来たら、検索URLを叩いてあげれば表示先ほどのように表の中に画像が入ったWebページが出来ます。検索URLの例)http://www.lotus-10.com/products.nsf/ProductView?SearchView&Query=<検索文字>詳しくは文字を検索する URL コマンドを参考にしてください。さて、ここからが本番・・・並んで表示しているけどこれじゃないのか?と聞いたところ・・・こんな風に並べて表示させたいらしいです・・・そっちの並びね実現方法は2つあると思っています。1)?OpenFormを使ってパラメータに検索キーをつけて、フィールドもしくは計算結果テキストに式を書いて表示させる。こちらの方法は、@URLQueryString、@DbLookupを使って列の値(タグ)を取得。@Forでループさせて、ループ内で指定列数で割り切れる数値の時に"</tr><tr>"を追加して・・・とやっていくと実現できます。列が5つの表を作りたい時は@Forのnが5で割り切れる時に折り返しのタグを追加するみたいな感じですね問題点は、画像のファイル名がガッツリ日本語なので@DbLookupで持ってこれない事が多々ありました。その時は計算結果テキストで逃げたりもしました。(埋め込みビューは試していません)2)SearchTemplateを駆使して表示させる。こちらの方法は、URLのパラメータで持ってくる文書数を操れるので例えば「ヒット率の高い上位20件のみ」などと表記をすれば文字数制限の壁は越えられると思っています(多分)。問題点は・・・Tableタグの列対応が出来ない確か@DocNumberは文書の#という事で番号を振ってくれますが、Webでは使用できなかったと記憶しています。さて、どうしたものだろう数分ググったところ、見つけたのがこちらのサイトhttps://gist.github.com/pistatium/5963229#file-tablebuilder-jsなるほどJSONからJavaScriptでTableタグを上手に書いていけばいいのか$$ViewBodyの値が以下のようになればいいんですよね/* テーブルにしたいデータ */var data = [ {'id':1, 'created_at':'2013/05/01', 'updated_at':'2013/07/01','title':'記事1'}, {'id':2, 'created_at':'2013/06/01', 'updated_at':'2013/07/02','title':'記事2'}, {'id':3, 'created_at':'2013/07/01','title':'記事3'},];<やってみた>先ほどのタグを書いたViewを開き、例にならって列を書き込み保存します。Notesで見てみると・・・いい感じですSearchTemplateも書き換えてみます。1)先ほどのJavaScriptをSearchTemplateにコピペし、コードの前後に<script>タグを追加します。2)先頭に「<div id="output"></div>」を追加します。3)テーブルのヘッダーのラベルを変更します。4)return html; の箇所の変更を忘れずに・・・5)var data=[$$ViewBodyフィールド];とし、全コードを選択して「文字>パススルーHTML」として保存します。検索URLを叩いてみると・・・スゲーこれならSearchTemplateの中でJavaScriptを書きまくれば、素敵な表も出来上がりますねという事で、画像を並べてみたのがこちら(デザインはやってませんが)並んだ×2Notesの画像がどうせなので画像ダウンロードリンクも追加してみました。参考にしたサイト:https://qiita.com/gnk0096/items/0e2dfe5d76a7968e1e23XPagesが便利でついつい何でも頼ってしまいがちですが、以前からあるSearchTemplateやViewTemplate、パススルーHTMLでも自由度が高いと改めて感じた今日この頃でした今日はこの辺で・・・あでゅー

  • 10Jul
    • NotesとRPAと私の画像

      NotesとRPAと私

      こんばんは7月1日にIBM社からHCL Technologies社へNotes/Dominoを含む一部のソフトウェア製品群が業務移管されましたね。皆様はもう確認済みですかさて、今回は自分自身の備忘録的な内容です以前、ノーツコンソーシアムのオープンセミナーで紹介させていただいた「Photrawer(フォトロア)」と名前を付けた写真投稿DBについてhttps://www.ibm.com/downloads/cas/EBVPVDXKテクてくでも紹介していましたねhttps://www.ibm.com/developerworks/community/files/app#/file/541f694f-613d-4f17-b865-c9773ab0b328XPagesのおかげで案外簡単に作成できたのですが、便利すぎるが故に起きた問題も結構困りものでした・運用2年でDBサイズが64GBを迎える→スマホの画像設定が高解像度過ぎこれに関してはV10の新機能にある256GBにサイズアップすればどうにかなることは検証済です更に「Scan to Photrawer」機能がオープンセミナー後に追加され写真を撮らなくても、スキャナで読み込ませた紙がPhotrawerに画像登録できるという便利で危険な機能が追加されました常にPhotrawerは64GBを彷徨っていますそんなPhotrawerですが、1年前から困った話を聞いています「どのページと決まったわけではないが、枚数とかは関係なくブラウザ上で写真が表示されない時がある」と問い合わせいただいていましたそんな馬鹿な・・・と確認したところホントだ・・・詳しくはわかりませんが、ブラウザ上で画像イメージを表示する力が限界なんじゃなかろうか試行錯誤であれやこれやといじってはいたのですが利用者の理想には程遠い感じでしたいい報告が出来ないこんな状況ですが、今はどうやってるんですか?と利用者に聞いたところデスクトップにフォルダを作って文書1つ1つ開いて添付ファイルを保存し、全選択してコピー→PDFにしてるとのこと。何百カ所もそれやってたら嫌になりますな・・・そんなある日、とある番組を見ているときに急に思いついたんです。IBMチャンピオンの吉田様が面白いことやってたな・・・と。https://www.ibm.com/developerworks/community/blogs/YoshidaTakeshi/entry/RPA%E3%81%A7_%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E3%83%86%E3%82%B9%E3%83%88%E3%82%92%E3%82%84%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%9F?lang=enそっか、無理にNotesですべてを完結させようとするからうまくいかないんだそれに今更気付いてしまった自分が恥ずかしいということで、利用者の手間になっている「デスクトップにフォルダを作って文書1つ1つ開いて添付ファイルを保存し、全選択してコピー→PDFにしてる」って作業をRPAでやってしまおうと思いついたのですイメージ図①Photrawerから添付ファイルとその文書情報(Text)をRPA専用PCに保存②RPA専用PCはTextを参考に保存された画像からPDFを作成③PhotrawerがPDFを回収これなら画像落ちはないだろうと思い、早速構築してみました※今回UiPathを使用していますhttps://www.uipath.com/ja/一部ですがこんな感じそして無事・・・完成しました\(^o^)/依頼者の反応が楽しみですねwまた、面白いものが出来たら紹介しますその前にICAAの検証終わらせないと本日はこの辺で・・・あでゅー

  • 16Jun
    • Domino Mobile Apps(DMA)向けのDBを考える-「ステッププログレスバー」編の画像

      Domino Mobile Apps(DMA)向けのDBを考える-「ステッププログレスバー」編

      こんばんは随分と期間が空いてしまいました最近は自社内の開発やV10の検証等に時間を追われやっとICAAの日本語版を手に入れ検証を始めたところです急なんですけど・・・Domino Mobile Apps(以下DMA)で今時なDBを作りたいと思いまして。。。DMAって何詳しくはこちらのブログからたくさん勉強できます。https://www.xpages.jp/xpagesjp.nsf/blog.xsp?action=openDocument&documentId=4126031EB0F7BA304925838B001A632B上記リンクをみてたら作りたくなりませんiPadで自身が作ったNotesDBが動くんですもの完全に影響受けて「自作のDB」も試してみたいと感じました結果・・・確かに、ほぼカスタマイズなしで動くのですが、ブログのようにiPad向けにデザインを合わせてあげないとただ動かせるだけであって本当に使いやすいDBなのか?という疑問が残りましたクライアントのデザインを工夫して、より素晴らしいDBにしたいですよねさて、本題に戻りまして・・・せっかくなのでベースとなるDBを作成してみました。どんなDBかというと、巷によくある「お客様アンケート」をベースに今時風なデザインで作成してみました見た目でも「Notesっぽくない」と言われるんですがこのフォームをDMAでどんな感じで見えるんだろうその時ふと気づいたんですこのフォーム、スクロール面倒じゃね??これは使いづらい分類になるのではなかろうか??…ということで、DMAで使いやすい(もしかするとNotesでも使いやすくなるかも?な)インターフェースに変えていきたいと思います<フォームの全体構成を見直す>準備したDBの構成ですが・アンケート・お客様について・ご意見、ご要望、個人情報の取り扱い・確認画面(まだ綺麗にデザインできてません)・受付完了(こちらもどんなメッセージを書くかまだ決まっていない)orzと5つに分けることが出来ましたこの5部構成をiPadで見やすくするには・・・・・ステッププログレスバー(こんなやつ)を使うといいかもと思いつきましたNotesクライアントで比較的簡単にステッププログレスバー(っぽいもの)を作れるんだよーというのを紹介したいと思います。(どこかで既にブログで紹介されている方いましたらごめんなさい)1.画像を作る筆者はよくペイントかパワーポイントで作成しますそして以下のように命名しました(arrowから)。ar1.pngar2.pngar3.pngar4.png2.画像をDBにインポートするリソース>イメージイメージリソースのインポートから作成した画像を取り込みます。画像こだわりすぎて重くならないように注意ですね。3.フォームを作成し、ラジオボタンを配置します。設定は以下のようにしています。デフォルト値は1を設定しておきます。4.Statusフィールドの下に表を配置します。1行5列の20cmの固定幅にしておきましょうか。こんな感じになります。5.表のプロパティを変更します。線を非表示にして、行の間隔を0.2cm(0.199cmになっちゃうけど)にして中央揃えに変更します。6.表セルを全選択して文字を中央揃えにします。7.表の一番左のセルにカーソルを合わせ表のプロパティからイメージの設定を行います。イメージ>ソースにある[@]をクリックして以下の@関数式を入力します。@If(Status="1";"ar1.png";"ar2.png")左から順番に設定をしていきます。(色が薄いほうの画像が表示されるかと)最後のセル(一番右)は以下のように設定します。@If(Status="5";"ar3.png";"ar4.png")8.最後に全セルに計算結果テキストを配置しておきます。中身は用途に合わせて書き換えてください。今回は便宜上「Status」を入れておきます。フォームを保存してプレビューしてみましょう(ちょっと間延びしてますが)いい感じでステッププログレスバー(っぽいもの)ですねラジオボタンの値を2に変更してみましょう。何か動いた気がしますよね一通り動作確認できたら、iPad用フォームに組み込んでみます。そして出来たのがこちら↓なんか、クライアントで見ててもカッコよく見えるあとはボタンを配置したり(細かい設定等がたくさんありますが)して出来上がったフォームをDMAで確認してみました見てもらうとわかるように充電はいまいちですが見た目はいい感じじゃないですかというわけで、DMAで今時っぽいフォームに仕上がりました次回もこのDBからネタを見つけて改良していきたいと思います今日はこの辺で・・・あでゅー

  • 30Apr
    • Domino Admin/Designer/Client/ICAAをインストールしてみたの画像

      Domino Admin/Designer/Client/ICAAをインストールしてみた

      こんばんは本日で、平成最後ですね皆さんどんな平成だったでしょうかそしてどんな平成最後を迎えますか筆者、平成最後のやりたかったのですが、あいにくの天気でどうも実施できそうにないです本題へ・・・今回はタイトルの通り「Domino Admin/Designer/Client/ICAAをインストールしてみた」ので簡単に紹介していきます<Domino Administrator/Designer/Client>スタンダードのフルパック(と言えばいいのか?)をインストール・セットアップしてみました。1)[次へ]をクリック2)特記事項をよく読んで「使用条件の条項に同意します」にチェックをつけて[次へ]をクリック。3)プログラムファイルとデータファイルのパスの指定を変更される方はこの画面で変更します。※Windows用だと32bitのインストーラしかないんですね・・・4)IBM Client、Domino Designer、 IBM Domino Administratorを追加にします。※何故AdminだけIBMがついたままなのかは突っ込まないでくださいw追加出来たら[次へ]をクリック。5)必要に応じてチェックをつけます。※筆者はメール/スケジュールは利用できない環境ですのでチェックを外しました。準備が整いましたら[インストール]をクリックします。6)インストールが始まりますので、しばらく待ちます。7)無事、インストールが完了しました。[完了]をクリックします。デスクトップのアイコンです。黄色くないっすねwIBM Notesのアイコンを起動してセットアップを行います。1)[次へ]をクリック。2)ユーザー名・Dominoサーバーを入力し[次へ]をクリック。3)IBM Valutが設定されているせいか、以下のプロンプトが表示されました。パスワードを入力します。逆にIDファイルを選択する画面になりましたら、IDファイルを指定します。パスワードの入力が終わりましたら[ログイン]をクリックします。4)パスワードが正しく入力されていた場合、以下の画面になります。必要に応じて設定してください。設定が終わったら[次へ]をクリックします。5)こちらも必要に応じて行ってください。6)クライアントが立ち上がりましたワークスペースに切り替えてみました。V10ですねーDomino Designerを起動してDomino Designerについてを開いてみました。確かにV10になっていますこちらはAdministratorを開いた画面。ベータ版の時は「Domino Administrator 9」となっていましたが問題なく修正されていましたDomino Admin/Designer/Clientのインストール、セットアップに関しては以上です続いてICAAのインストール、セットアップについてです。(メールはNotes以外だけど、アプリはNotes使ってますというときに必要なクライアントソフトになります。)(注意)本日時点でまだ日本語版がないので英語版になります1)CLIENT_APP_ACCESS_V2.0_WIN_EN.exeを実行します。以下の画面になりますので[次へ]をクリック。2)ライセンス情報をよく読み「使用条件の条項に同意します」にチェックをつけて[次へ]をクリックします。3)特に設定することはありません。インストールする覚悟が出来ましたら[インストール]をクリックします。4)インストールが終わるまでしばらく待ちます。5)インストールが完了したら[完了]をクリックします。アイコンを確認します。やっぱり黄色くないっすねwアイコンを起動してセットアップを行います。1)さすが英語版。。。IBM SmartCloud userにチェックが入っていますが、もしIBM SmartCloudを使用していない場合はチェックを外します。筆者の環境は使用していないのでチェックを外しました。チェックを外すと以下の画面になります。ユーザー名、Dominoサーバー名を入力して[Next]をクリックします。2)IBM Valutが設定されているせいか、以下のプロンプトが表示されました。パスワードを入力します。逆にIDファイルを選択する画面になりましたら、IDファイルを指定します。パスワードの入力が終わりましたら[Log In]をクリックします。ICAAが起動されました(おまけ)ICAAでV10の新機能使えるの?と質問をもらったので筆者の大好きなHTTPRequestを動かしてみます。ネタは、昨年のノーツコンソーシアムのクラウド研で行った以下のサンプルを使用しました。https://www.notescons.gr.jp/home.nsf/blog.xsp?action=openDocument&documentId=B06F9BDD98D59F9A4925832B001F4208翻訳したい日本語を入力し[翻訳]ボタンをクリックします。IBM Cloud上のNode-REDを経由して問題なく翻訳された結果を取り込むことが出来ましたDomino Admin/Designer/Client/ICAAをインストールしてみましたが特に今までと変わりなくインストール/セットアップが出来ました。筆者に待っている次の作業は「令和対応」でしょうかね。。。ICAAの日本語版が1日でも早く出ることを期待しつつ、今日はこの辺で・・・あでゅー

  • 05Apr
    • サッカー馬鹿、Domino V10を構築するの画像

      サッカー馬鹿、Domino V10を構築する

      お久しぶりです期末/期初の仕事に追われて、ブログ全然書いてませんでした2019年4月を迎え、新元号も「令和」に決定しましたその発表が気になりすぎてしまい、エイプリルフールネタを探すのをすっかり忘れてました今年のホワイトデーに突如PAサイトから消えたV10日本語版気が付いたらダウンロードできるようになっていましたhttps://www-01.ibm.com/support/docview.wss?uid=ibm10737609これで2つの問題が解消すれば(自社内での問題)、一気に導入・・・と行きたいところですが(目指せ「平成」のうちに)やはり検証して、こんなことが素晴らしいんだよというアピールをしないと導入できません(どの製品もそうだと思いますが)やはり体感して、みんなに見てもらうのがいいと思うので検証サーバーをたててDomino V10の素晴らしさを仲間と分かち合いたいと思います本日はDominoのインストール→セットアップ→起動までを書きたいと思います<Domino V10.0.1をインストール(EN)>間違いなくDomino10ですね~途中省略~(サーバー名とか)インストール開始・・・終わったいつやっても簡単ですねそして・・・<Language Packを実行し日本語化>うんうん、ちゃんとDomino V10のロゴだー[次へ]をクリック「同意します。」を選択して[次へ]インストールされているDominoを確認してくれます。[次へ]をクリック~省略(日本語にチェック入れたりとか)~あっという間にインストール開始・・・正常にインストールされました\(^o^)/<Dominoセットアップ>~細かい設定は省略~(パスワードとか)サービスを選択時の1枚、何か違和感を感じますが、最低限の設定をして[OK]ポートなどの細かい設定を行い、セットアップ開始セットアップ終わったよ\(^o^)/そして、無事にDominoが起動できましたずっと前から思うのですが、インストールも簡単で、多機能のサーバーが短時間で出来上がる・・・どの製品もそうだと思っていたのですがDominoぐらい簡単なものはなかったんですね投稿している画像を見てもらえばわかると思いますが本当に簡単です次回は、DominoAdministrator / DominoDesigner / Notesクライアントのセットアップを書きたいと思います。今日はこの辺で・・・あでゅー

  • 10Mar
    • IBM NotesとNode-REDを使ってLINE BOT をいじってみたの画像

      IBM NotesとNode-REDを使ってLINE BOT をいじってみた

      Node-REDを使ってLINE BOT を作ってみたこんばんは最近LINEを使った集客投稿が多いと思います流行りに便乗してはじめてみる方も多いと思いますが、こんなことで困ったことありませんか・自分以外にも投稿を頼みたいが、内容は一度添削したい・決まった言葉を登録するだけと決めたものの、頼んだ相手のちょっとした気の緩みで炎上投稿になってしまう危険性・著作権等など大人の社会のルールを逸脱している内容になっていないか不安・そもそもやっていないキャンペーンを勝手にやりますとか告知されないか心配・個人アカウントと間違えて、プライベートな発信をしてしまうのではないかという恐れ他にもたくさんあると思いますそこで、思いついた案が以下になります1)店舗責任者がキャンペーン内容を上長に申請する2)上長の承認を経て、会社の法律やマーケティング等の専門家にも承認を募る3)最終承認者が承認後、初めてLINEに投稿される・・・ワークフローですねwじゃあそんな機能ってメンテナンスが簡単で準備できるかを考えたところ・・・手元にありましたwイメージ図V10使ってやろうぜと意気込んでいましたが、今回諸事情でNotes/Domino 9.0.1のブラウザ環境(XPages)で作成していきたいと思います改めてイメージ図[社内]IBM Notes/DominoでXPagesを作成する今回は検証用ということで、デザインは特にせず必要最低限な作りにしました。Node-RED側にPOSTするんですが、IBM Championの御代さまのブログやスライドが非常に参考になりましたので共有します。・POSTのやり方(ブログではGETですがほぼ同じ実装)Notes/Domino でREST APIを使ってみよう-後半-・Cross-Origin Resource Sharing(CORS)の制約についてXPagesでRESTを使ってみよう[IBM Cloud]みんな大好きNode-REDを使用しましたPOSTデータ受け取って、LINE APIでメッセージを流すだけなので作りは簡単です今回のNodeとは別ですが、フォローされた時のみCloudantに登録されるようにしてみました。※Cloudantの細かい使い方をどなたか教えてください。。。[LINE Developer]こちらは過去のブログを見ていただければわかりやすいかと・・・さて、準備が揃ったところで実験です[投稿する!]をクリックします。LINEにも通知が来て、Notesも1文書として登録できましたネットワーク等の設定など確認することはたくさんあると思いますが、Notesと絡めることで可能性が広がるのではないでしょうかまた別の案としてDACをかませるのも面白いかもしれませんね最後に、Notes/DominoやらIBM CloudやらDACをやたら紹介していますが、決してIBM社の社員ではなくごく普通の利用者ですのでお間違えなく・・・w今日はこの辺で・・・あでゅー

  • 02Mar
    • 最も黄色いイベントに参加してきました!の画像

      最も黄色いイベントに参加してきました!

      こんばんはー今更ですが、2019年2月22日(金)世の中はプレミアムフライデーで盛り上がる中、筆者は朝からNotes/Dominoな1日を迎えておりました午前中はノーツコンソーシアム主催の「ユーザー情報交換会」が行われました事前のアンケートを元にどのようなことを困っていたりしているかを意見交換してきました。(日本を代表する理事)どんな内容なの?!気になったら、IBM Championの萩原さまのブログをご覧ください。(他力本願w)午後は待ちに待った、「ノーツコンソーシアムFESTA」と「IBM Notes/Domino Day 2019 Spring」です(ちょーカッケーw)まず初めに、ノーツコンソーシアムFESTAから開始田中会長からノーツコンソーシアムの活動などが紹介されました。続いて、会長賞を受賞した浜松ホトニクス様のDAC(IBM Domino Application on Cloud)の導入事例発表の紹介。IBM Think2019、楽しそうでしたーwそしてここから、各研究会の発表です「ザ・ノーツ研究会」9.0.1FP10の検証結果、V10Bataの検証からV10リリースまでの機能検証の発表をしました。途中まで残り時間が表示されておらず、スライドの残り枚数を気にしながら話すことを決めておりました続いて、「XPages研究会」研究会を通して各人が投稿したスニペットを紹介してくださいました。どんなことを投稿したのか詳しくはコチラをご参照ください3番手は、「クラウド研究会」クラウドということもあり、どちらかというと今年は開発が多かった1年でしたが特にDomino V10で実現できた「Azure AD と IBM Notes/Domino との連携」は予想をはるかに超える感動的な一瞬だったのは今でも覚えています最後に、「元気研」普段の働く環境からみたNotes/Dominoの見え方を力説していただけました。ということで、4研究会が活動報告および今年度の予定をお話させていただきました。来期は参加してみたい/ちょっと面白そうだから研究してみたいと思ったあなたコチラからエントリーしてください人気の研究会はすぐに定員オーバーになってしまいますよさあ、メインイベントの「IBM Notes/Domino Day 2019 Spring」の始まりです会場が暗くなり突如現れたのは・・・美女(びじょ)この世にこんなかわいい人がいるんだと、スッカリ見とれてしまいました「美女 ヴァイオリン」ですぐに見つかりましたwAyasa さん、ロックバイオリニストだそうです。見た目に負けないパフォーマンスでした演奏後、中島事業部長の挨拶に始まり・・・HCLテクノロジーズのご紹介Notes/Domino V11 ロードマップ – Think 2019フィードバックNotes/Domino V10最新情報クラウド&モバイル活用アップデートと続いていきました。全セッションから得られた情報として・ADFS連携強化・テンプレート拡張・軽量版Notesクライアント・iPad 版に加え Android版 と Chrome OS 版の Domino Mobile Appsリリース(?)・AppStoreも検討中・UIの改善・ローコード開発上記の中には、日本から強い要望があったものがV11に搭載されようとしています採用されたら嬉しいですよねIBM Championの中野さまもブログに書いてくださっていますので参考にしてみてくださいクロージングとして・・・Ayasaさんがまた演奏をしてくださいました演奏に合わせ、とても印象的なスライドショーが映されNotes/Dominoここにあり!という強いメッセージを感じました本当にカッコよかった・・・今もその動画を聞きながらブログを書いてます大感謝祭では、多くのノーツ関係者で大賑わいの中、IBM Champions 紹介、ノーツコンソーシアムから感謝状授与式、ゲーム大会、色々な方からお声掛けいただいたりと、久々にはしゃいだ夜になりました大きなケーキこれ持って写真撮ったりしましたー今年もIBM Championとして全力でNotes/Dominoを応援します次は「HCL〇〇」になれるように頑張っていきますので、よろしくお願いいたしますまとまらなくてごめんなさいでは、今日はこの辺で・・・あでゅー

  • 24Jan
    • Dominoサーバー、引っ越すってよ!!-続編の画像

      Dominoサーバー、引っ越すってよ!!-続編

      Dominoサーバー、引っ越すってよ!!こんばんは前回に引き続き、Dominoサーバーの引っ越しネタを覚書として書いておきます。※正しいやり方、公認のやり方ではありませんので、こんなことしたんだー程度で読んでいただければと思います。移行予定日に移行できなかったDominoサーバーですが、残念ながら立ち退きのタイムリミットは待ってくれません。じゃあ、どうするか?そんなわけで切り戻し作業後、帰りの電車の中でこのような作戦を考えました。思いついた内容を図にするとこんな感じです。<今回やる事>1)V10側に作成されたODS52のDBはそのまま利用できる→逆にODS53になってしまったものはDomino9.0.1からレプリカで上書きできないので再作成する(OS上から削除しておくなど)2)64GB越えしたDBは記念にファイルサーバーにとっておくか削除しておく→記念になるかと思いましたが、カット&コピーに時間がかかるため断念3)上記終了したらDominoV10からDomino9.0.1にダウングレードする→現行DominoとバージョンもFPも合わせておく(どうせなら)4)どちらのサーバーにもDAOSの設定を行う→スゲー簡単w5)notes.iniに「CREATE_R9_Databases=1」と「DAOS_ENCRYPT_NLO=0」を設定→ODSは52になるようにしておき、DAOS作成時にserver.idで暗号化されてしまうので暗号化を無効化しておく。これは移行先のDomino側にだけ設定しました。6)試しに64GB越えDBのレプリカを作ってみる→64GBまでは最低限何とかなる(はず)7)差分のレプリカ作成→元々作ってあるエージェントで大半を作成。前回ODS52で移行されているものはそのまま使用できるのでほとんど移行済みだった。8)サーバーID切り替え→お引越しなので切り替えないとですよねー作業前の疑問点・現行サーバーも新サーバーもDAOS化しておけばうまくいくのか?いつもお世話になっているチャンピオンとリーダーに質問してみました。資料ではDAOS化されると記述がありました。ただ、誰も「64GB」を超えたDBのDAOSレプリカは作ったことがないとのことでした・・・(でしょうねw)予想を聞いてみると「レプリカの作成が終わり、DAOSmgrのタイミングでDAOS化されているようなので、64GBのDBの時の動きは全く見たことがないし回答できない」とのこと。(それしか言えないですよねw)いざとなったら、64GBのDB、compact -c daos-onしてやる気持ちでしたこんなに愛したNotes/Dominoが裏切るわけない(最悪失敗したら、OSコピーで泣きつこう)ということで、タイムリミット残り5日でこの作戦に踏み切りました移行前日の夜、70GBほどあるDBでお試しレプリカ作成をやってみました64GBを超えているDBは3DBだけだったので、手動にて(クライアント上)から複製→レプリカの作成を行いました。さて・・・出来るかな??Data直下を見てみると、384KBから全然進まないやっぱダメなのかな・・・でも、レプリケーターのゲージは進んでいたんですもしや?!と思い、DAOSフォルダを見てみると・・・・ふ、増えてるそうなんです期待を(いい意味で)裏切って、レプリカでDBを作成しながらDAOS機能も動いてるんです(あまりの感動で、動画取るの忘れちゃったw)ということで、そのまま数時間放置しレプリカが無事完了恐る恐るDBにアクセスしてみました何も問題ないすげー・・・すげーよ、DAOSということで、移行当日の開始時間まで64GB越えのDBを手動でレプリカ作成し、移行日の当日は文書数やアクセス権、不要なDBの洗い出しなどを行い、夜明けとともにサーバーPCのホスト名、IPアドレスを入れ替え、server.idなどの必要なファイルも入れ替えていざ起動・・・う、動いたそれから動作確認等を行い一部トラブルもありましたが1日止めることなく引っ越しが完了しました今も元気にDominoは稼働しています今回勉強になった事・時間があるならOSコピーの方が手堅い・レプリカでDominoを入れ替えると時間が有効に使える・DAOSも問題なく移行できた・アクセス権はちゃんと確認しておいた方がいい・一時トラブルに巻き込まれた1週間があった(これはまた後日)ということで、V10に移行することはできませんでしたが9.0.1でDAOSされているDB(64GB)を移行することが比較的簡単に出来ました次こそはV10にバージョンアップするぞ今日はこの辺で・・・あでゅー

  • 17Jan
    • Dominoサーバー、引っ越すってよ!!の画像

      Dominoサーバー、引っ越すってよ!!

      今更ですが・・・あけましておめでとうございます本年も気ままに更新したいと思いますのでよろしくお願いいたしますさて、早速ですが・・・以前、テクてくLotus技術者夜会で「Dominoサーバー、引っ越すってよ!!」こんなテーマでLTさせていただきました結果知りたいよねということで、大まかな流れとともに覚書として書いていきたいと思います1.プライベートクラウドの保守(?)が切れるらしいよくわからないですが、こんな内容でした。期日は2019年1月下旬ごろまでに引き渡しをしなければならないとの事。移行できるチャンスは1月の3連休の中日の日曜日と、その週の土曜の夜から日曜の夕方までとかなり限られた時間の中のお引越しでした。2.お引越し条件が厳しいDominoは1台運用なので1日以上停止すると業務的に問題が出てしまいます。移行するDBは4000DB近く、容量で500GB前後・・・以前のお引越しの時は、半分くらいだったので半日程度の停止でOSコピーで対応できていました。データはもちろん同期していなければダメです。11月の終わりに新サーバーの環境をもらい、1月下旬で引き渡し・・・無理ぽそこで思いついたのが、追加サーバーを立ててレプリカで作成すれば同期できるしServer.id差し替えれば簡単じゃねということです。(レプリカって確かDBID一緒だったはず)・新サーバーの構築依頼・現Dominoから追加サーバーを作成→server.idを新Dominoへ・新Dominoインストール、セットアップ(Directory構成同じにする)・新Dominoに移行ツールDBをスケジュールエージェントで実行・時折、Pullコマンドを発行しながら様子をみる・引っ越し当日、Server.idを入れ替えて引っ越し終了!これが結果レプリカがどんどん作られていき・・・順調に移行準備が進んでいました4.一番の強敵、64GB越えのDBそうです、これが一番の問題でした。実サイズ140GBが1DB、70GBが2DBと64GBを超えたDBが3つもありました。LZ1形式の圧縮とDAOSに助けられていたのです・・・むやみやたらとDAOSチェックが付いていたので、これを改めるために移行先DominoではDAOSの設定をやめました→必要なものだけに絞り込もうという考えでした。当たり前ですが・・・限界だバカヤロー!!って怒られちゃいました<対策案を考える>・DBを分けてしまおうということで、運よくこのDBは年度を持っていたので、年度別に分けてから考えようと思いました。4DBに割れてしまって、改修がとても困難になる事と、改修に時間がかかることでやはり断念。。。それで今回打ち出した裏技が「V10、英語版しかないけど・・・いっとく?」だったわけです。5.壁越えを実施まず、V10.0.1をインストール/セットアップ64GBの壁は無事に超えられたのか・・・?よっしゃー無事に3DBとも64GBの壁を越えたので、テスト環境にて動作確認をしていました。今のところ、問題ない!!表示も問題ない6.入れ替え日当日最後のPullコマンドも終わり、server.idを入れ替えていざ起動!!基本的な動作確認は終わったから細かい動きの検証をすれば終わりだー!そう思っていた時でした。・POIのライブラリがエラー表示していて開かない?→これはJVMの問題っぽいです・権限おかしくない?→DJXで日本語で設定している読者フィールド値が完全に無効?→DBの動き的には変な挙動はなかった・ポータルの一部分がちゃんと表示されない?→なんで??・自前で作成したBootstrap組み込みXPagesのレイアウトが大変なことに→これ、テーマとかだろうな・・・時間の許す限り、バグやエラーを出してもらいました。そして、筆者は皆さんにこう言いました。「切り戻しします」誰か筆者を慰めてくださいっということで、全作業を含んだ作業時間12時間でV10にする時の課題をたくさん得られた1日になったのは収穫ですが、アディショナルタイムに逆転ゴールを決められて負けたサッカーの試合後の気持ちになったのは言うまでもありませんでした。作業の帰り、やっぱり悔しくてどうにか簡単に引っ越し出来ないか考えてみました。V10を使わないで移行する方法・・・あっ次なる案を思いついたのですが、それはまた次回に紹介したいと思います。P.S上司に今回の作業報告したら筆者にやさしく「DBの移行は成功したんだから失敗じゃないよ」とやさしくフォローしていただきました。今回はV10にしないけど、決してあきらめたわけではありません今日はこの辺で・・・あでゅー