SlideShare a Scribd company logo
1 of 33
御代政彦
株式会社エフ
のの会 第28回(2020年11月12日)
CollabSphere 2020 講演資料_改
--- CollabSphere 2020 materials in Japanese ---
自己紹介
• 自己紹介
– 株式会社エフの代表取締役
– 主に、Notes/Domino関連の受託開発を行っています。
• SNS
– https://twitter.com/guylocke
– https://www.facebook.com/guylocke34
• ブログ
– https://guylocke.blogspot.com
- 2 -
2019 - 2020
2011 - 2019
2020
今日紹介するアプリケーション
特に力を入れたアプリを2つ紹介!
- 3 -
• ファイル転送サービス
– 匿名ユーザーによるアクセス
• スケジュール登録
– カレンダービューを実装
今日紹介するアプリケーション
- 4 -
* 赤文字は1.0.1で追加された機能
ファイル転送サービス
アプリケーションのデモと解説
- 5 -
• ファイルを外部のユーザーに送る際のサービスとして考え
てみた
– メールアドレスとパスワードを入力すると、ファイルのダウンロー
ドページが開くようにした
– 期限が切れたらファイルのダウンロードが出来ないようにしてある
– 匿名ユーザーがアクセス出来るようにしてある
ファイル転送サービス
- 6 -
E-mail アドレス
パスワード
タイトル
About CollabSphere 2020
ダウンロードファイル
CollabSphere-2020.pdf
このファイルはダウンロードの有効期限が切
れています。
• パスワードは自動で生成するようにした
– 同一Voltアプリケーション内の別のフォームでパスワー
ドパターンを設定できるようにした
– パスワードはXPagesアプリのREST APIを使って生成して
いる
ファイル転送サービス
- 7 -
• 匿名ユーザーによるアクセス
– Domino Volt 1.0.1ではログインユーザーが作成した文書
は匿名ユーザーにはアクセス出来ない
• 不具合で、1.0.2以降で修正される予定(SPR#MNIABT3FTK)
• ある裏技を使うことで可能にした!
ファイル転送サービス
- 8 -
参考 – Domino Volt フォーラム
https://bit.ly/3j2NKvk
• 匿名ユーザーに文書をアクセスさせる方法
– Voltで作成した文書に「createdBy」というアイテムの値
を”Anonymous”にするとアクセスできる!
• Domino Voltでデータを作成するとNotes DBに文書が作成される
• “createdBy”というアイテムがあるので、その値を “Anonymous ”
に変更する
裏技解説
- 9 -
* “createdBy”はシステム変数のため、Domino Voltアプリでは制御できません
• Notes DB側の設定 -1-
– 新規にNotes DBを作成する
• Notes DBはDomino Voltと同じサーバーに作成すること
• AnonymousのACLは “作成者”にしておくこと
設定方法
- 10 -
• Notes DB側の設定 -2-
– “createdBy”アイテムを更新するエージェントを作成する
• Domino VoltアプリケーションのビューをユーザーIDで検索する
– このビューは後で作成する
• エージェントのセキュリティは以下のように設定する
– “Webユーザーとして実行”にチェックをつける
– “代理で実行”は「制限なしで実行」に設定してあるNotesユーザー名をセットす
る
– “フルアドミニストレーター権限で制限された操作を許可する”を選択する
設定方法
- 11 -
• Notes DB側の設定 -3-
– エージェントを起動するRESTサービスを作成する
• SSJSで作成する
• XPagesのRESTサービスコントロールを使うと良い
• REST APIのパラメータにアプリケ
ーションIDとユーザーIDが必要
設定方法
- 12 -
• Domino Volt アプリケーション側の設定 -1-
– “createdBy”をキーにしたビューを作成する
• 選択式に(createdBy!=“Anonymous”)を追加すること
• Domino Designerで作業する
How to 設定方法
- 13 -
• Domino Volt アプリケーション側の設定-2-
– “afterSave ”イベントの”Call a Service”に、作成したDomino REST
サービスを設定する
• Assigned InputsにはアプリケーションIDとユーザーIDを設定する
– アプリケーションIDは自動で取得できないため、定数を使って手動で
セットすること
How to settings
- 14 -
• システム構成図
Diagram
- 15 -
Domino サーバー
Domino Voltアプリ
ケーション
Domino Volt
ファイル転送サービス
サービス専用Notes DB
Save
xxxxのファイル
新規データ
REST Service
エージェント
xxxx@yyyy.com
XXXX.PDF
1.afterSave
2.文書の追加
3.RESTサービスの呼び出し 4.エージェントの実行
5.文書のアイテムの更新
スケジュール登録
頑張ればこんなのも作れる!
- 16 -
• Domino Voltにはフラットなビューしかない…orz
– FullCalendarを取り込んでカレンダービューを実現!
• ビューの切り替えも可能!
• そのほか豊富なカスタマイズ機能あり!
スケジュール登録
- 17 -
• データ入力はVoltのフォームで実現
– カレンダービューから新規作成
– 既存のデータをカレンダーに表示
– カレンダーからデータを開き編集も可能
スケジュール登録
- 18 -
1. FullCalendarのライブラリを登録
– 公式サイトからダウンロードしたファイルをVoltに添付
実装方法
- 19 -
2. フォームにHTMLを記述
– 特殊パレットの「HTML」をセット
– FullCalendarのマニュアル通りにdivタグを記述
実装方法
- 20 -
3. カスタムCSSの設定
– スタイルタブの「カスタムCSS」に添付したCSSをセット
実装方法
- 21 -
4. イベントにJavaScriptを記述(1)
– アプリケーションのonStartに外部JavaScriptを取り込むた
めの記述をする
実装方法
- 22 -
5. イベントにJavaScriptを記述(2)
– フォームのonLoadイベントにカレンダービューを表示さ
せるJavaScriptを記述
実装方法
- 23 -
var option = {}; の中身は公式サイトを参照して定義してね
6. REST APIを作成
– フォームとカレンダービューを関連付ける
実装方法
- 24 -
便利機能
これを知っていると楽ちん!?
- 25 -
• コードスニペット
– 万が一コードを書くことになったら、Ctrl + Spaceを2回
押そう!
便利機能
- 26 -
Ctrl+Space を2回押す
• サービス構成
– REST APIやJSONが分からなくても、他Webサービスとの
連携が簡単にできる
• 実行結果を画面で確認できます
便利機能
- 27 -
• 複製、エクスポート、アップグレード
– アプリケーションのファイルコピーする機能
• エクスポートの場合、データ付きも可能
– 元のアプリケーションに反映するにはアップグレードを
使います
便利機能
- 28 -
参考
アプリケーション開発時にお世話になったサイト
- 29 -
• Reference(1.0.1)
https://help.hcltechsw.com/domino_volt/1.0.1/reference_toc.html
– 特にJavaScript APIの箇所は構造を理解するのに役立つ
• What's new in 1.0.1?
https://help.hcltechsw.com/domino_volt/1.0.1/whats_new.html
– 1.0.1の新機能や使い方が紹介しされいる
• HCL Domino Volt Forum
https://support.hcltechsw.com/community?id=community_forum&sy
s_id=411628061b35489083cb86e9cd4bcb00
– 分からないことがあればここで質問しよう!
Reference
- 30 -
免責事項
- 31 -
• 本資料は、発表者のつたないスキルを元にした個人的
な見解によるものです。必ずしもHCLの見解と一致す
るものではありません。
• 本資料の情報は、使用先の責任において使用されるべ
きものであることを、あらかじめご了承ください。
• 発表者の承諾なしに、コピー、複製、他のメディアに
転載する事はご遠慮ください。
• 当資料に記載された製品名または会社名はそれぞれ、
各社の商標または登録商標です。
- 32 -
- 33 -

More Related Content

Similar to 私が作成したVoltアプリの紹介

Lt4 japansoftlayersummit2015 fbi_lt_20150212
Lt4 japansoftlayersummit2015 fbi_lt_20150212Lt4 japansoftlayersummit2015 fbi_lt_20150212
Lt4 japansoftlayersummit2015 fbi_lt_20150212chenree3
 
大容量ファイルを爆速で転送! 世界を飛び回る! AsperaとSoftLayerの最強コラボ!
大容量ファイルを爆速で転送! 世界を飛び回る! AsperaとSoftLayerの最強コラボ!大容量ファイルを爆速で転送! 世界を飛び回る! AsperaとSoftLayerの最強コラボ!
大容量ファイルを爆速で転送! 世界を飛び回る! AsperaとSoftLayerの最強コラボ!softlayerjp
 
Mobile Application Development by XPages
Mobile Application Development by XPagesMobile Application Development by XPages
Mobile Application Development by XPagesAtsushi Sato
 
IBM Connect2014 に参加して(テクてく技術者夜会)
IBM Connect2014 に参加して(テクてく技術者夜会)IBM Connect2014 に参加して(テクてく技術者夜会)
IBM Connect2014 に参加して(テクてく技術者夜会)Takeshi Yoshida
 
2022年の抱負とここ数年続けてきたインプット
2022年の抱負とここ数年続けてきたインプット2022年の抱負とここ数年続けてきたインプット
2022年の抱負とここ数年続けてきたインプットFumiya Sakai
 
カテゴリのサブプロジェクト継承対応機能追加
カテゴリのサブプロジェクト継承対応機能追加カテゴリのサブプロジェクト継承対応機能追加
カテゴリのサブプロジェクト継承対応機能追加Yuuki Nara
 
HTTP/2.0がもたらす Webサービスの進化(後半)
HTTP/2.0がもたらすWebサービスの進化(後半)HTTP/2.0がもたらすWebサービスの進化(後半)
HTTP/2.0がもたらす Webサービスの進化(後半)shigeki_ohtsu
 
ユーザ・デザイナーから見たPlone CMSのアピールポイント
ユーザ・デザイナーから見たPlone CMSのアピールポイントユーザ・デザイナーから見たPlone CMSのアピールポイント
ユーザ・デザイナーから見たPlone CMSのアピールポイントMasaki NIWA
 
OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介Daisuke Nishino
 
SharePoint Online まわりの直近と今後のアップデート
SharePoint Online まわりの直近と今後のアップデートSharePoint Online まわりの直近と今後のアップデート
SharePoint Online まわりの直近と今後のアップデートHirofumi Ota
 
第43回HTML5とか勉強会 SPDY/QUICデモ
第43回HTML5とか勉強会 SPDY/QUICデモ第43回HTML5とか勉強会 SPDY/QUICデモ
第43回HTML5とか勉強会 SPDY/QUICデモshigeki_ohtsu
 
SharePointとLyncの連携
SharePointとLyncの連携SharePointとLyncの連携
SharePointとLyncの連携adachiyosuke
 
Office アドイン ハンズオン
Office アドイン ハンズオンOffice アドイン ハンズオン
Office アドイン ハンズオンkinuasa
 
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたYasuharu Seki
 
unofficial redmine 紹介 RedmineJapan2020
unofficial redmine 紹介 RedmineJapan2020unofficial redmine 紹介 RedmineJapan2020
unofficial redmine 紹介 RedmineJapan2020Yuuki Nara
 
Contao Open Source CMS -- Contao 4.0に向けて
Contao Open Source CMS -- Contao 4.0に向けてContao Open Source CMS -- Contao 4.0に向けて
Contao Open Source CMS -- Contao 4.0に向けてTakahiro Kambe
 
Embedded Webで加速するWeb of Things
Embedded Webで加速するWeb of ThingsEmbedded Webで加速するWeb of Things
Embedded Webで加速するWeb of ThingsFutomi Hatano
 
社内ツールをサービス化する.pdf
社内ツールをサービス化する.pdf社内ツールをサービス化する.pdf
社内ツールをサービス化する.pdfKazukiMuta
 

Similar to 私が作成したVoltアプリの紹介 (20)

Lt4 japansoftlayersummit2015 fbi_lt_20150212
Lt4 japansoftlayersummit2015 fbi_lt_20150212Lt4 japansoftlayersummit2015 fbi_lt_20150212
Lt4 japansoftlayersummit2015 fbi_lt_20150212
 
大容量ファイルを爆速で転送! 世界を飛び回る! AsperaとSoftLayerの最強コラボ!
大容量ファイルを爆速で転送! 世界を飛び回る! AsperaとSoftLayerの最強コラボ!大容量ファイルを爆速で転送! 世界を飛び回る! AsperaとSoftLayerの最強コラボ!
大容量ファイルを爆速で転送! 世界を飛び回る! AsperaとSoftLayerの最強コラボ!
 
Mobile Application Development by XPages
Mobile Application Development by XPagesMobile Application Development by XPages
Mobile Application Development by XPages
 
IBM Connect2014 に参加して(テクてく技術者夜会)
IBM Connect2014 に参加して(テクてく技術者夜会)IBM Connect2014 に参加して(テクてく技術者夜会)
IBM Connect2014 に参加して(テクてく技術者夜会)
 
2022年の抱負とここ数年続けてきたインプット
2022年の抱負とここ数年続けてきたインプット2022年の抱負とここ数年続けてきたインプット
2022年の抱負とここ数年続けてきたインプット
 
カテゴリのサブプロジェクト継承対応機能追加
カテゴリのサブプロジェクト継承対応機能追加カテゴリのサブプロジェクト継承対応機能追加
カテゴリのサブプロジェクト継承対応機能追加
 
HTTP/2.0がもたらす Webサービスの進化(後半)
HTTP/2.0がもたらすWebサービスの進化(後半)HTTP/2.0がもたらすWebサービスの進化(後半)
HTTP/2.0がもたらす Webサービスの進化(後半)
 
ユーザ・デザイナーから見たPlone CMSのアピールポイント
ユーザ・デザイナーから見たPlone CMSのアピールポイントユーザ・デザイナーから見たPlone CMSのアピールポイント
ユーザ・デザイナーから見たPlone CMSのアピールポイント
 
OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2018年度 活動方針・部会紹介
 
SharePoint Online まわりの直近と今後のアップデート
SharePoint Online まわりの直近と今後のアップデートSharePoint Online まわりの直近と今後のアップデート
SharePoint Online まわりの直近と今後のアップデート
 
第43回HTML5とか勉強会 SPDY/QUICデモ
第43回HTML5とか勉強会 SPDY/QUICデモ第43回HTML5とか勉強会 SPDY/QUICデモ
第43回HTML5とか勉強会 SPDY/QUICデモ
 
SharePointとLyncの連携
SharePointとLyncの連携SharePointとLyncの連携
SharePointとLyncの連携
 
Office アドイン ハンズオン
Office アドイン ハンズオンOffice アドイン ハンズオン
Office アドイン ハンズオン
 
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみた
 
unofficial redmine 紹介 RedmineJapan2020
unofficial redmine 紹介 RedmineJapan2020unofficial redmine 紹介 RedmineJapan2020
unofficial redmine 紹介 RedmineJapan2020
 
LIFFとLINE SDKの昨今
LIFFとLINE SDKの昨今 LIFFとLINE SDKの昨今
LIFFとLINE SDKの昨今
 
Contao Open Source CMS -- Contao 4.0に向けて
Contao Open Source CMS -- Contao 4.0に向けてContao Open Source CMS -- Contao 4.0に向けて
Contao Open Source CMS -- Contao 4.0に向けて
 
Embedded Webで加速するWeb of Things
Embedded Webで加速するWeb of ThingsEmbedded Webで加速するWeb of Things
Embedded Webで加速するWeb of Things
 
社内ツールをサービス化する.pdf
社内ツールをサービス化する.pdf社内ツールをサービス化する.pdf
社内ツールをサービス化する.pdf
 
Redmine導入記
Redmine導入記Redmine導入記
Redmine導入記
 

More from Masahiko Miyo

Col113 introducing the hcl domino volt application i created
Col113 introducing the hcl domino volt application i createdCol113 introducing the hcl domino volt application i created
Col113 introducing the hcl domino volt application i createdMasahiko Miyo
 
formBuilderにより フォームを簡単作成(オープンセミナー版)
formBuilderにより フォームを簡単作成(オープンセミナー版)formBuilderにより フォームを簡単作成(オープンセミナー版)
formBuilderにより フォームを簡単作成(オープンセミナー版)Masahiko Miyo
 
対称クラスタの設定と動作確認
対称クラスタの設定と動作確認対称クラスタの設定と動作確認
対称クラスタの設定と動作確認Masahiko Miyo
 
formBuilderによりフォームを簡単作成
formBuilderによりフォームを簡単作成formBuilderによりフォームを簡単作成
formBuilderによりフォームを簡単作成Masahiko Miyo
 
HCL Nomad用アプリケーション プレゼント企画
HCL Nomad用アプリケーション プレゼント企画HCL Nomad用アプリケーション プレゼント企画
HCL Nomad用アプリケーション プレゼント企画Masahiko Miyo
 
XPagesで検索してみよう
XPagesで検索してみようXPagesで検索してみよう
XPagesで検索してみようMasahiko Miyo
 
XPagesDay 2015 RESTの総復習
XPagesDay 2015 RESTの総復習XPagesDay 2015 RESTの総復習
XPagesDay 2015 RESTの総復習Masahiko Miyo
 
XPagesでRESTを使ってみよう
XPagesでRESTを使ってみようXPagesでRESTを使ってみよう
XPagesでRESTを使ってみようMasahiko Miyo
 
三度、おじさんSEはIBM ConnectEDへ行ってきた
三度、おじさんSEはIBM ConnectEDへ行ってきた三度、おじさんSEはIBM ConnectEDへ行ってきた
三度、おじさんSEはIBM ConnectEDへ行ってきたMasahiko Miyo
 
XPagesDay2014 [B-3] XPagesでRESTを使ってみたら、こんなんだったPartⅡ
XPagesDay2014 [B-3] XPagesでRESTを使ってみたら、こんなんだったPartⅡXPagesDay2014 [B-3] XPagesでRESTを使ってみたら、こんなんだったPartⅡ
XPagesDay2014 [B-3] XPagesでRESTを使ってみたら、こんなんだったPartⅡMasahiko Miyo
 
Domino認証局の作成
Domino認証局の作成Domino認証局の作成
Domino認証局の作成Masahiko Miyo
 
XPagesでRESTを使ってみたら、こんなんだった
XPagesでRESTを使ってみたら、こんなんだったXPagesでRESTを使ってみたら、こんなんだった
XPagesでRESTを使ってみたら、こんなんだったMasahiko Miyo
 

More from Masahiko Miyo (13)

Col113 introducing the hcl domino volt application i created
Col113 introducing the hcl domino volt application i createdCol113 introducing the hcl domino volt application i created
Col113 introducing the hcl domino volt application i created
 
formBuilderにより フォームを簡単作成(オープンセミナー版)
formBuilderにより フォームを簡単作成(オープンセミナー版)formBuilderにより フォームを簡単作成(オープンセミナー版)
formBuilderにより フォームを簡単作成(オープンセミナー版)
 
対称クラスタの設定と動作確認
対称クラスタの設定と動作確認対称クラスタの設定と動作確認
対称クラスタの設定と動作確認
 
formBuilderによりフォームを簡単作成
formBuilderによりフォームを簡単作成formBuilderによりフォームを簡単作成
formBuilderによりフォームを簡単作成
 
HCL Nomad用アプリケーション プレゼント企画
HCL Nomad用アプリケーション プレゼント企画HCL Nomad用アプリケーション プレゼント企画
HCL Nomad用アプリケーション プレゼント企画
 
XPagesで検索してみよう
XPagesで検索してみようXPagesで検索してみよう
XPagesで検索してみよう
 
XPagesDay 2015 RESTの総復習
XPagesDay 2015 RESTの総復習XPagesDay 2015 RESTの総復習
XPagesDay 2015 RESTの総復習
 
XPagesでRESTを使ってみよう
XPagesでRESTを使ってみようXPagesでRESTを使ってみよう
XPagesでRESTを使ってみよう
 
三度、おじさんSEはIBM ConnectEDへ行ってきた
三度、おじさんSEはIBM ConnectEDへ行ってきた三度、おじさんSEはIBM ConnectEDへ行ってきた
三度、おじさんSEはIBM ConnectEDへ行ってきた
 
XPagesDay2014 [B-3] XPagesでRESTを使ってみたら、こんなんだったPartⅡ
XPagesDay2014 [B-3] XPagesでRESTを使ってみたら、こんなんだったPartⅡXPagesDay2014 [B-3] XPagesでRESTを使ってみたら、こんなんだったPartⅡ
XPagesDay2014 [B-3] XPagesでRESTを使ってみたら、こんなんだったPartⅡ
 
サーバー認証
サーバー認証サーバー認証
サーバー認証
 
Domino認証局の作成
Domino認証局の作成Domino認証局の作成
Domino認証局の作成
 
XPagesでRESTを使ってみたら、こんなんだった
XPagesでRESTを使ってみたら、こんなんだったXPagesでRESTを使ってみたら、こんなんだった
XPagesでRESTを使ってみたら、こんなんだった
 

私が作成したVoltアプリの紹介