設備の不具合は、文章だけでは状態が伝わりにくいことがあります。また、相談を登録した後に状況が変わった場合、相談本文を上書きすると、最初の内容と追加連絡の区別がつきません。
今回の社内相談デモでは、相談へ任意の写真を1枚添付し、追加連絡と対応メモは別のUpdates表へ保存しました。相談詳細から写真と履歴を確認できる構成です。
この記事でわかること
- Image列で写真を受け付ける基本構成
- 画像の保存先と同期時の注意
- Refを使って相談詳細に対応履歴を出す方法
- 公開メモと管理者専用メモを混在させない理由
写真は任意の1枚に絞った
RequestsにPhoto列を作り、型をImageに設定しました。写真は必須にせず、必要な相談だけ添付できます。
Google公式ヘルプによると、デスクトップのウェブブラウザでは画像ファイルを選択し、モバイル端末ではカメラ撮影または端末内の画像を利用できます。
今回の検証では、実在の人物や職場が写っていない、モニターを描いたサンプル画像を使用しました。顧客情報、名刺、会議メモ、実際の設備写真は使用していません。
画像ファイルはシートのセルそのものには入らない
今回のGoogleスプレッドシート構成では、画像ファイルはシートと同じ専用フォルダ内の Requests_Images に保存され、Photo列には相対パスが記録されました。
Google公式ヘルプでも、取得した画像はデフォルトでスプレッドシートと同じ場所の {テーブル名}_Images サブフォルダへ保存されると説明されています。
そのため、シートだけを別の場所へ移したり、画像フォルダを削除したりすると、表示に影響する可能性があります。バックアップやフォルダ整理では、シートと画像の関係も確認します。
保存後に同期と再表示を確認する
画像を選択できたことだけで検証を終えません。次の順に確認しました。
- PCブラウザのフォームで画像を選ぶ
- 相談を保存する
- アプリを同期する
- ブラウザを再読み込みする
- 相談詳細から画像を開く
- Drive内の保存フォルダとシートの相対パスを確認する
再読み込み後も画像を表示できました。
Google公式ヘルプでは、ブラウザを閉じる前に画像を含む変更をバックエンドへ同期する必要があると案内されています。Delayed syncを使う場合を含め、利用者が保存と同期を完了できる運用にします。
スマートフォン向け画面はプレビューしましたが、実機カメラでの撮影と同期は未検証です。
対応メモはUpdatesへ保存する
相談登録後の追加連絡は、RequestsのDescriptionを書き換えず、Updatesへ新しい行として追加します。
Updatesには次の情報を保存します。
| 列 | 内容 |
|---|---|
| UpdateID | メモを識別する一意のID |
| RequestID | どの相談のメモかを示すRef |
| AuthorEmail | 投稿者。USEREMAIL()で自動設定 |
| PostedAt | 投稿日時。NOW()で自動設定 |
| Note | 対応メモ本文 |
RequestIDをRequestsへのRefにすると、Requests側に逆参照が作られます。相談詳細では「対応履歴(依頼者にも公開)」として関連メモを表示しました。
実際のアプリから相談詳細へメモを追加し、親相談のRequestID、投稿者、投稿日時が保存されることを確認しています。
初版は依頼者も読める公開メモ
今回の対応メモは、管理担当者だけの内部メモではありません。相談を登録した社員も読むことができます。
そのため、パスワード、人事・健康・給与情報、依頼者へ見せられない管理上の記述は入力対象外です。公開メモと管理者専用メモを同じNote列に混ぜると、表示条件の間違いが情報漏えいにつながります。
管理者専用メモが必要になった場合は、用途、閲覧対象、Security filter、データ元の権限を分けて再設計します。初版には含めませんでした。
履歴にもSecurity filterが必要
Requestsだけを「自分の相談」に絞っても、Updatesの取得条件が広ければ、他人の相談に付いたメモが見えるおそれがあります。
今回のUpdatesでは、メモを書いた人ではなく、親相談の依頼者を基準に制限しました。管理担当者が他人の相談へ書いたメモを、投稿者のメールだけで判定しないためです。
同じ検証用アカウントを一般利用者の役割へ変更し、親相談が自分のものではないメモが一覧に含まれないことを確認しました。ただし、別の実アカウント同士での相互確認は未実施です。
まとめ
写真は、選択できるだけでなく、同期後に再表示できるところまで確認します。シートのセルには画像の相対パスが入り、実ファイルは画像用フォルダに保存される点も運用に含めます。
追加連絡は別のUpdates表へ保存し、Refで相談へ結び付けると、相談本文を上書きせず履歴を増やせます。初版のメモが公開メモなのか、管理者専用なのかを明確にしておくことも重要です。
