Box は、Box Inc. 社が提供するクラウドストレージサービスです。個人での利用のほか、複数人で利用する共有フォルダを作成・使用することができます。また、API を使って各種操作を行うこともできます。
Questetra BPM Suite では、API リクエストを送信するための複雑なコードをパッケージにして簡単に設定できる、ビルトイン自動工程が提供されています。

本記事では Box と連携するそれらのビルトイン自動工程を利用して、「社外の人とファイルを共有(送付)する方法」について説明します。

Box について、詳しくは Box の公式ヘルプページをご覧ください。

使用するビルトイン自動工程

Questetra には、Box と連携するビルトイン自動工程が数多くあります。今回はそのうち、「フォルダ作成」「フォルダに電子すかし適用」「ファイルアップロード」「フォルダ共有リンク作成」「フォルダ削除」の5種を取り上げます。

Questetra:Box と連携する自動工程

 まず、今回使用する自動工程について簡単に説明します。

フォルダ作成

Box 上のフォルダを指定し、その中に新しいフォルダを作成します。フォルダを指定しない場合はアップロードするユーザのルートフォルダにアップロードされます。作成したフォルダの ID や URL はデータ項目に保存できます。

フォルダに電子すかし適用

Box 上のフォルダを指定するとそのフォルダの「電子すかし」を有効にします。「電子すかし」が有効になったフォルダでは、保存されているファイルに電子すかしが施されます。フォルダに新たにアップロードされたファイルにも同様に適用されます。
Box の電子すかしとは

Box のサービスとして「電子すかし」が提供されています。(Box の Enterprise アカウントで利用可)

Boxのプラットフォームでは、管理権限を持つユーザであればファイルやフォルダに対し、電子すかしを有効にすることができます。電子すかしが有効にされると、個々のファイルを表示する画面(プレビュー)では閲覧者の情報とアクセス時刻が、半透明の文字列としてファイルのコンテンツ全体に重ねて表示されます。(閲覧者の情報とは、閲覧者が Box にログインしていれば Box の登録メールアドレス、ログインしていなければIPアドレスとなります。)

この状態のファイルやフォルダが外部の人と共有された場合、閲覧者の情報がすかしとして表示されているため、ファイルを共有されたユーザがファイルを改変したり、再配布(外部漏洩)することへの抑止となります。

Box ドキュメント:ファイルの電子すかし

ファイルアップロード

Box にファイルをアップロードします。アップロードするファイルはファイル型項目で指定します。ファイル型項目に複数のファイルをセットすることで、同時に複数のファイルをアップロードすることができます。アップロード先のフォルダはフォルダ ID で指定し、指定しない場合はアップロードするユーザのルートフォルダにアップロードされます。また、アップロードしたファイルの ID や URL はデータ項目に保存できます。

フォルダ共有リンク作成

Box 上の共有したいフォルダを指定し、共有リンクを生成します。データ項目を追加することで有効期限やパスワードの設定が可能です。

フォルダ削除

Box 上のフォルダを指定し、削除します。複数行文字型データ項目を指定すれば、複数のフォルダを一度に削除することも可能です。その場合は1行につき1つの ID を書くようにします。

Box と Questetra の連携設定

Box と連携する自動工程を利用するには、あらかじめ Box から OAuth トークンを取得しておく必要があります。トークン取得の手続きには、Box アカウントでの認証・認可が必要となります。次の手順に従って、トークンの取得を行ってください。

Box のサービスタスク設定画面で「C1: OAuth2 設定」にある「設定はこちらから]ボタンを選択します。

次に、「追加」ボタンから「名前」に 適当な名前を入力し、「追加」をクリックします。どのアカウントと紐づく設定か判別できるように「{ Box のアカウント名} で接続」などとしておくのがおすすめです。

「トークンの取得」を選択すると、Box アカウントへのログイン画面が表示されます。(ただし、利用のブラウザにて既に Box にログインしている場合は、「Boxへのアクセスを許可」の画面しか表示されません。)

Box のアカウント(メールアドレス)とパスワードを入力、ログインし、「Boxへのアクセスを許可」をクリックします。

認証が成功すると、Questetra の OAuth2 設定ページに戻り、「トークンの有無」欄に「o (リフレッシュトークン)」と表示されます。

Questetra の設定画面に戻り、「C1: OAuth2 設定」にて追加した OAuth2 設定名を選択指定すれば連携設定は完了です。

認証を行う Box アカウントに適切な権限が付与されていない場合、自動工程の処理は失敗します。例えばフォルダを作成する権限が無ければ「フォルダ生成」の工程はエラーとなります。権限の有無については Box の管理者に確認してください。

サンプルアプリ

自動工程を使って作成したサンプルアプリ

このアプリは、「ファイルを社外の人へ送る」ためのものです。Box に作成した専用のフォルダにファイルをアップロードして、そのフォルダを共有する、という方式になっています。フォルダの URL は 自動工程によって送信されるメールで社外の人に伝えられます。また、作成されたフォルダ (と中に入っているファイル) は作成から3日後に削除されるように設定されています。「メールで送るにはファイルサイズが大きい」「ファイルが複数ある」といった場合に使います。
また、フォルダ内のファイルに電子すかしを適用することも選択できます。

データ項目

データ項目名データ型フィールド名必須「ファイル添付」工程説明
件名編集可プロセスの件名です。
共有するフォルダの ID文字型 (単一行)q_folder_id非表示「フォルダ作成」工程で作成されたフォルダの ID を保存します。
共有リンク URL文字型(単一行)q_folder_url非表示「フォルダ共有リンク作成」工程で作成されたフォルダの共有 URL を保存します。
共有ファイルファイル型q_file編集可アップロードして共有するファイルを追加します。
すかしを適用選択型(ラジオボタン)q_watermark編集可「適用しない 」「すかしを適用」の2つの選択肢を設定します。「すかしを適用」を初期値にします。
共有先アドレス文字型(複数行)q_address編集可共有する相手のメールアドレスを入力します。複数のアドレスを指定する場合は1件ずつ改行してください。
メール件名文字型(単一行)q_mail_subject編集可送信メールの件名にセットされる文字列を入力します。
メール本文文字型(複数行)q_mail_body編集可[初期値]に「ファイルが共有されました。以下のフォルダにアクセスしてください。」などを設定しておきます。
データ項目の設定

「フォルダ作成」工程

まず、「ファイル添付」工程で共有するファイルと共有先のメールアドレスを登録します。送信メールの件名や本文も編集できます。
続く「フォルダ作成」工程 (「Box: フォルダ作成」参照) で、共有用のフォルダを Box 上に作成します。

項目名必須説明
C1: OAuth2 設定Box への接続に使用する OAuth2 設定を指定します。指定する OAuth2 設定ではあらかじめトークンを取得しておく必要があります(「Box と Questetra の連携設定」を参照)。
C2: 作成するフォルダの親フォルダの IDどのフォルダの中に新しいフォルダを作成するか、ID を使って指定します。今回は空白にして、ルートフォルダを指定しましょう。
C3: 作成するフォルダの名称作成されるフォルダの名前を指定します。今回は「#{processInstanceId}」としましょう。「#{processInstanceId}」の部分にはプロセス ID が入るため、このアプリで作った他のフォルダと重複することがなくなります。
C4: フォルダ ID を保存するデータ項目生成したフォルダの ID の保存先となるデータ項目を指定します。今回は「共有するフォルダの ID」を指定します。
C5: フォルダ URL を保存するデータ項目生成したフォルダの URL の保存先となるデータ項目を指定します。今回は指定しません。
Box: フォルダ作成」の設定項目

「フォルダに電子すかし適用」工程

XOR ゲートウェイ「すかし」には、選択型データ項目「すかしを適用」で「適用する」が選択されていると「フォルダに電子すかし適用」工程へと進むように設定します。

「フォルダに電子すかし適用」工程では指定された Box のフォルダ設定で「電子すかしの適用」を有効に設定します。対象のフォルダにアップロードされるファイルは電子すかしが適用されるようになります。「適用しない」が選択されているとこの工程はスキップされます。

項目名必須説明
C1: OAuth2 設定Box への接続に使用する OAuth2 設定を指定します。指定する OAuth2 設定ではあらかじめトークンを取得しておく必要があります(「Box と Questetra の連携設定」を参照)。
C2: 電子すかしを適用するフォルダ ID「フォルダ作成」工程でフォルダ IDが保存されたデータ項目「共有するフォルダの ID」を指定します。
Box: フォルダに電子すかし適用」の設定項目
「Box: フォルダに電子すかし適用」の直後の「データ更新」工程にて、「メール本文」にすかしを適用した場合に以下の注意書きを追記するようにしています。

#{#q_Email_Body}
ファイルをダウンロードするには Box アカウントへのログインが必要です。
アカウントをお持ちでない場合は「サインアップ」から無料のアカウントを作成してください。

「ファイルアップロード」工程

「ファイルアップロード」工程では、登録されたファイルが作成されたフォルダにアップロードされます。

項目名必須説明
C1: OAuth2 設定Boxへの接続に使用する OAuth2 設定を指定します。指定する OAuth2 設定ではあらかじめトークンを取得しておく必要があります(「Box と Questetra の連携設定」を参照)。
C2: アップロードするファイルが保存されているファイル型データ項目アップロードするファイルの入ったデータ項目「共有ファイル」を指定します。
C3: ファイルをアップロードするフォルダの ID (指定がない場合は、ルートフォルダ)アップロードしたファイルを保存するフォルダの ID を指定します。「参照を挿入する…」から「共有するフォルダの ID」を選択すると#{#q_folder_id} が挿入されます。
C4: ファイル ID を保存する文字型データ項目アップロードしたファイルの ID の保存先となるデータ項目を指定します。今回は使用しません。
C5: ファイル URL を保存する文字型データ項目アップロードしたファイルの URL の保存先となるデータ項目を指定します。今回は使用しません。
Box: ファイルアップロード」の設定項目

「フォルダ共有リンク作成」工程

ファイルのアップロードが完了したら、「フォルダ共有リンク作成」工程に進みます。ここで、「作成したフォルダの ID」への共有リンクが作成されます。

項目名必須説明
C1: OAuth2 設定Boxへの接続に使用する OAuth2 設定を指定します。指定する OAuth2 設定ではあらかじめトークンを取得しておく必要があります(「Box と Questetra の連携設定」を参照)。
C2: 共有するフォルダ ID共有するフォルダの ID を指定します。「参照を挿入する…」から「共有するフォルダの ID」を選択すると#{#q_folder_id} が挿入されます
C3: リンクの有効期限が格納されている日時型データ項目共有リンクの有効期限を日付型データ項目で指定します。今回は使用しません。
C4: リンクのパスワードが格納されている文字型データ項目共有リンクのパスワードを文字型データ項目で指定します。今回は使用しません。
C5: 共有リンクを保存する文字型データ項目*作成した共有リンクの保存先となるデータ項目を指定します。今回は、「共有リンク URL」を指定します。
Box: フォルダ共有リンク作成」の設定項目
2022-10-28 現在、Box の制限により「電子すかし」が適応されたファイル/フォルダを共有する際に、パスワードを設定するとファイルのダウンロード/プレビューができなくなります。

「URL 告知」イベント

共有設定が完了したらメッセージ送信中間イベントである「URL 告知」工程に進みます。ここで、「共有リンク URL」に入っている URL  が先方に伝えられます。

項目名説明
送信元受信メールの FROM に表示される文字列です。空白の場合、Questetra BPM Suite  が表示されます。
To共有先のメールアドレスを指定します。「参照を挿入する…」から「共有先アドレス」を選択すると #{#q_address} が挿入されます。
Cc
Bcc
必要に応じてアドレスを設定してください。
本文「参照を挿入する…」を利用して

(#{#q_email_body})
フォルダ ID:#{#q_folder_id}
アクセス URL:#{#q_folder_url}


と指定します。さらにフォルダの削除日を表示する式を利用して

#{#dateFormatter.format("yyyy-MM-dd", #now.addDays(3))} に削除されます。

と指定します
メッセージ送信中間イベントの設定項目

「タイマー」イベント

メールが送信されれば、タイマー中間イベントに進みます。

項目名説明
データで指定された日時次に進む日時をデータ項目で指定します。今回は使いません。
式で指定された日時次に進む日時を式で指定します。今回はこちらを選び、式は「#now.addDays(3)」とします。
タイマー中間イベントの設定項目

これで、プロセスを開始してから3日後まで待機させられます。告知メール内に注記するなどして、先方にはこの間にファイルを受け取ってもらいましょう。

※関連マニュアル:「M223: 処理フロー途中で、自動的に一定時間スリープさせるように設定する」

「フォルダ削除」工程

3日経ったら、「フォルダを削除」工程 (「Box: フォルダ削除」参照) へと進みフォルダが削除されます。

項目名必須説明
C1: OAuth2 設定Box への接続に使用する OAuth2 設定を指定します。指定する OAuth2 設定ではあらかじめトークンを取得しておく必要があります(Box と Questetra の連携設定を参照)。
C2: 削除するフォルダ ID が保存されているデータ項目削除するフォルダの ID が入っているデータ項目を指定します。今回は「共有するフォルダの ID」を指定します。
Box: フォルダ削除」の設定項目

フォルダの削除が完了すれば、全工程終了です。

「電子すかし」を利用するケースについて

前述したように「電子すかし」は共有するファイルに対してセキュリティを高めるものですが、利用時には注意が必要です。

まず、「共有リンク URL」を知っていれば誰でもフォルダにアクセスできますが、閲覧できるのはファイルの一覧と個々のファイルのプレビュー画面のみとなります。プレビュー画面ではファイルにすかしが入っている状態となります。Box にアカウントを持っていて、ログインすればすかし入りのファイルをダウンロードできるようになります。(プレビュー画面に[ログイン]ボタンが表示されています。)
Box アカウントを持っていない場合は「サインアップ」ボタンからアカウントを作成できます。

ダウンロードされるすかし入りドキュメントは PDF 形式のファイルとなり、テキスト情報を持っていない画像の様な状態なので、内容をコピーしたり改変することはできません。

このように、「電子すかし」が適用されていると共有されるファイルに制限がかかるため、ドキュメントの内容の通達や確認のケースにおいて利用してください。

一方で、共有したファイルを相手が利用したり編集したりするような用途では、「電子すかし」を適用せずに共有してください。例えば、ロゴ画像を利用する、プレゼン用資料を編集する(してもらう)、といったようなケースがあります。

%d人のブロガーが「いいね」をつけました。