一般利用者向け
一般利用者は、自分の所属組織に紐づく物件のみ閲覧できます。作成、更新、削除は管理者が付与した権限に従います。
主な利用範囲
- 物件の確認、新規登録、住所検索
- 図面の追加と図面上の撮影ポイント登録
- 写真、360度写真、Before/After写真の登録
- 指摘メモ、ホットスポット、対策前後記録の登録
- 通知確認、レポートプレビュー、PDF出力
権限の見方
- 作成権限: 物件、図面、マーカー、写真、メモ、ホットスポットを追加できます。
- 更新権限: 位置、ラベル、メモ対応済、ホットスポット対策後、360モザイクなどを更新できます。
- 削除権限: 物件、図面、マーカー、写真、メモ、ホットスポットを削除できます。
- 権限がない操作はボタンが出ない、または「権限がありません」と表示されます。
ログインとパスワード変更
ログインする
- ブラウザで SiteTrace のURLを開きます。
- 一般利用者はメールアドレス、管理者はログインIDを入力します。
- パスワードを入力し、ログインします。
- 初回ログインまたは管理者にリセットされた場合は、パスワード変更画面へ移動します。
パスワードを変更する
- 画面右上の「PW変更」を開きます。
- 通常変更時は現在のパスワードを入力します。初回強制変更時は現在のパスワード確認が省略されます。
- 新しいパスワードと確認用パスワードを入力します。
- 6文字以上で登録します。
物件一覧と物件登録
物件を探す
- ログイン後、ダッシュボードの「物件一覧」を確認します。
- 物件カードには物件名、組織名、住所、図面数、更新日が表示されます。
- 確認したい物件カードを選択すると、物件詳細画面へ移動します。
一般利用者には、自分の所属組織の物件だけが表示されます。
新規物件を登録する
- 作成権限がある場合、「新規物件」を押します。
- 物件名を入力します。説明と住所は任意です。
- 住所を入力した場合、「検索」を押すと緯度経度を自動取得できます。
- 登録を押すと物件一覧に追加されます。
一般利用者が登録した物件は、自分の所属組織に自動で紐づきます。
物件詳細と現場位置
図面一覧を確認する
- 物件詳細画面で「図面一覧」を確認します。
- 図面タブを選択すると、その図面の撮影ポイント画面へ移動します。
- 図面がない場合は、作成権限のある利用者が「図面追加」から登録します。
現場位置を設定する
- 物件詳細画面の地図をクリック、または地図上のマーカーをドラッグします。
- 「位置を保存」が表示されたら押します。
- 座標が保存され、可能な場合は逆ジオコーディングで住所も更新されます。
図面と撮影ポイント
図面を追加する
- 物件詳細画面で「図面追加」を押します。
- フロア名を入力します。例: 1F、2F、屋上。
- JPG、JPEG、PNG、BMPなどの図面画像を選択します。
- 追加を押すと図面一覧に表示されます。
撮影ポイントを追加する
- 図面を開き、撮影したい位置をクリックします。
- マーカーが作成され、マーカー編集画面が開きます。
- Label欄に点検箇所名や通し番号を入力し、「Save Label」を押します。
- マーカーの色は状態に応じて自動で変わります。
マーカーステータス
- 未撮影写真が1枚も登録されていない状態です。
- 撮影済写真はあるが、ホットスポットの指摘が登録されていない状態です。
- 指摘ありホットスポットがあり、対策後コメントまたは対策後写真がまだ入っていない状態です。
- 対応中複数のホットスポットのうち、一部だけ対策後が登録されている状態です。
- 対応済すべてのホットスポットに対策後コメントまたは対策後写真が入っている状態です。
写真と指摘メモ
写真を追加する
- 図面上のマーカーを押します。
- 「Photo Upload」またはマーカー詳細の「写真追加」を開きます。
- 通常の写真ファイルを選択するか、Androidアプリ内では「Android Capture」で撮影します。
- キャプションを任意で入力します。
- 必要に応じて「対応前」または「対応後」を選びます。
- アップロードします。
Insta360で撮影する
- マーカー編集画面または写真追加画面で「Connect Insta360」を押します。
- Android連携環境でカメラを検出し、Wi-Fi接続します。
- 必要に応じて「360 Settings」で解像度、露出、ISO、シャッター、ホワイトバランス、EV、JPEG品質を設定します。
- 「Capture 360」を押し、撮影完了後に「Upload Photo」で登録します。
指摘メモを追加する
- マーカー編集画面の「Issue Memo」、またはマーカー詳細の「メモ追加」を開きます。
- 担当者名を任意で入力します。
- 指摘内容や確認事項を入力します。
- 追加を押して保存します。
メモを対応済みにする
- 対象の指摘メモを確認します。
- 更新権限がある場合、「対応済にする」または「Mark Resolved」を押します。
- 対応済ラベルが表示されたことを確認します。
写真ビューアとホットスポット
通常写真を確認する
- 写真カードの「Open」または「ホットスポット」を押します。
- 写真ビューアで画像を確認します。
- 作成権限がある場合、右クリックまたは長押しでホットスポット追加画面を開きます。
- 「HS」ボタンで登録済みホットスポット一覧を開けます。
ホットスポットを登録する
- 追加したい位置で右クリックまたは長押しします。
- 対策前コメントまたは対策前写真を登録します。対策前はどちらか必須です。
- 対策後コメントや対策後写真がある場合は同時に登録します。後日追記もできます。
- 同じ組織のメンバーへ通知する場合、通知テンプレートまたは任意文を入力し、通知先を選びます。
- 登録を押します。
対策後を追記する
- ホットスポットを開きます。
- 「対策後を登録 / 更新」にコメントまたは写真を入れます。
- Androidアプリ内では「対策後をAndroidで撮影」も使えます。
- 保存後、マーカー状態が「対応中」または「対応済」へ自動更新されます。
写真アノテーション
- マーカー詳細で通常写真のサムネイルを押します。
- ペン、消しゴム、色、ブラシサイズを選びます。
- 写真上に線や印を描きます。
- 保存を押すとアノテーション情報が保存されます。
360度写真とモザイク
360度写真を見る
- 360バッジの付いた写真カードを開きます。
- ドラッグまたはタッチで視点を動かします。
- 「+」「-」でズーム、「リセット」で初期視点に戻します。
- 「全」で全画面表示、「ジャイロON」で端末の向きによる視点操作を使えます。
360度写真にホットスポットを置く
- 追加したい位置で右クリックまたは長押しします。
- 対策前コメントまたは写真を入力します。
- 必要に応じて対策後、通知先、通知文を設定します。
- 登録後、360空間上にホットスポットカードが表示されます。
モザイクを適用する
- 360度写真で「HS」一覧を開きます。
- 「モザイク領域を描画」を押します。
- 隠したい範囲の頂点をクリックまたはタップで指定します。
- 最初の頂点を押すか、「確定して適用」を押して保存します。
- 必要に応じて「元画像に戻す」でバックアップ済みの元画像へ戻します。
VRで確認する
- VR対応ブラウザまたはMeta Questで360度写真を開きます。
- VRモードに入り、ホットスポット一覧や詳細パネルを確認します。
- 右コントローラーの長押し操作で、空のVRピンを作成できます。
- VR終了ボタンで通常表示へ戻ります。
通知
通知を確認する
- 画面右上の通知ベルを確認します。未読がある場合は件数が表示されます。
- 「通知一覧」を開きます。
- 送信者、メッセージ、物件、図面、マーカー、日時を確認します。
- 写真リンクがある場合は、対象写真ビューアを開けます。
既読にする
- 通知を選択すると既読になります。
- まとめて処理する場合は「すべて既読にする」を押します。
- 未読件数が更新されたことを確認します。
レポートとPDF
レポートプレビュー
- 物件詳細画面で「レポートプレビュー」を押します。
- 表紙、現場位置、図面ごとのマーカー、ホットスポット詳細を確認します。
- 内容に不足がある場合は、図面、写真、ホットスポット、対策後記録を追加します。
PDFを出力する
- 物件詳細画面またはレポートプレビュー画面で「PDF出力」または「PDFダウンロード」を押します。
- PDFファイルを保存します。
- 提出前に、図面番号、マーカー状態、対策前後写真、コメントの抜けを確認します。
困ったとき
ログインできない
- 一般利用者はメールアドレス、管理者はログインIDを入力しているか確認します。
- アカウントが無効化されている場合は管理者へ連絡します。
- 初回パスワード変更画面が出る場合は、6文字以上の新しいパスワードを設定します。
ボタンが表示されない
- 作成、更新、削除の権限がない可能性があります。
- 必要な操作がある場合は、管理者へ権限変更を依頼します。
写真や図面を登録できない
- 画像形式が許可されているか確認します。JPG、JPEG、PNG、BMP、GIF、WEBPが対象です。
- ファイルサイズは最大50MBです。
- Android撮影やInsta360撮影は、対応するAndroid連携環境でのみ使えます。
住所検索や地図が動かない
- 住所の表記を短くして再検索します。
- ネットワーク制限によりOpenStreetMap系のジオコーディングや地図タイルが取得できない場合があります。
- 緯度経度が分かる場合は地図上で手動設定します。
管理者向け
管理者向け手順を開くには、管理者パスワードを入力してください。
このHTMLのロックはブラウザ内の簡易保護です。本番の管理画面保護には、必ずアプリ側のログイン、サーバー側認証、アクセス制限を使ってください。
管理者向け
管理者は全組織の物件を閲覧でき、ユーザー、組織、データ、システム運用機能を管理します。削除、復元、メンテナンスモードは影響範囲が大きいため、作業前にバックアップと周知を行ってください。
管理者だけが扱う機能
- ユーザー追加、編集、削除、パスワードリセット
- 組織追加、組織削除
- 全組織の物件確認と組織フィルタ
- 利用履歴、サーバー容量、CSVエクスポート
- メール一斉通知、メンテナンスモード、バックアップ、復元、データ削除
管理画面のタブ
- ユーザー管理
- 組織管理
- 利用履歴
- サーバー容量
- 一斉通知
- システム
- CSVエクスポート
ユーザー管理
一般ユーザーを追加する
- 管理画面の「ユーザー管理」を開きます。
- 「ユーザー追加」を押します。
- 表示名を入力します。
- ロールに「一般ユーザー」を選びます。
- メールアドレスを入力します。一般ユーザーのログインIDになります。
- 組織名を入力または候補から選びます。
- 作成、更新、削除の権限を設定します。
- 初期パスワードを6文字以上で入力し、追加します。
一般ユーザー登録時、メール設定が有効なら初期案内メールが送信されます。メール送信に失敗してもユーザー登録は完了します。
管理者を追加する
- 「ユーザー追加」を押します。
- 表示名を入力します。
- ロールに「管理者」を選びます。
- 管理者用ログインIDを入力します。
- 初期パスワードを6文字以上で入力します。
- 追加後、本人に初回ログインとパスワード変更を依頼します。
管理者は全権限を持ちます。日常作業者には管理者ではなく一般ユーザー権限を付与してください。
ユーザーを編集する
- 対象ユーザーの「編集」を押します。
- 表示名、メールアドレス、組織名、ロール、有効/無効を必要に応じて変更します。
- 一般ユーザーの場合は作成、更新、削除権限を変更します。
- パスワードをリセットする場合は新しいパスワードを入力します。
- 保存します。
ユーザーを削除する
- 対象ユーザーの「削除」を押します。
- 確認ダイアログで対象者名を確認します。
- 問題なければ削除します。
自分自身は削除できません。退職者や利用停止者は、削除前に無効化で様子を見る運用も検討してください。
組織管理
組織を追加する
- 管理画面の「組織管理」を開きます。
- 「組織追加」を押します。
- 組織名を入力します。
- 追加後、ユーザー登録時や物件登録時に選べるようになります。
組織を削除する
- 組織一覧で物件数とユーザー数を確認します。
- 削除対象の組織を確認します。
- 削除します。
組織削除では、関連する物件ファイルや写真ペア情報にも影響します。事前にDBとファイルのバックアップを取得してください。
権限設計
| 権限 | できる主な操作 | 推奨対象 |
|---|---|---|
| 作成 | 物件登録、図面追加、マーカー追加、写真追加、指摘メモ追加、ホットスポット追加 | 現場で記録を追加する担当者 |
| 更新 | 物件位置更新、マーカーラベル変更、メモ対応済、ホットスポット対策後追記、360モザイク、画像復元 | 記録内容を修正し、対応状況を更新する担当者 |
| 削除 | 物件、図面、マーカー、写真、指摘メモ、ホットスポットの削除 | 責任者または管理者に限定 |
| 管理者 | 全組織閲覧、ユーザー管理、組織管理、システム管理、バックアップ、CSV出力 | システム運用者 |
履歴と容量確認
利用履歴を確認する
- 管理画面の「利用履歴」を開きます。
- 写真アップロード、ホットスポット登録、点検記録の直近操作を確認します。
- 物件、図面、マーカー、担当者、日時を確認します。
- 必要に応じて「更新」で再読み込みします。
サーバー容量を確認する
- 「サーバー容量」を開きます。
- 登録ユーザー数、使用ストレージ、全体使用率を確認します。
- 写真、図面、ホットスポットメディア、サムネイルごとの使用量を確認します。
- 使用率が高い場合は不要データ整理やディスク拡張を検討します。
一斉通知
送信対象を確認する
- 管理画面の「一斉通知」を開きます。
- 送信対象組織を選びます。全員を選ぶと有効な一般ユーザー全員が対象です。
- 「対象確認」を押します。
- 送信対象の表示名とメールアドレスを確認します。
メールを送信する
- 件名を入力します。
- 本文を入力します。
{name}は受信者の表示名、{email}はメールアドレスに置換されます。- 送信を押し、成功件数と失敗件数を確認します。
メール送信にはSMTP環境変数の設定が必要です。未設定の場合は送信に失敗します。
メンテナンスとバックアップ
メンテナンスモードを使う
- 管理画面の「システム」を開きます。
- 「メンテナンス開始」を押します。
- 確認ダイアログで有効化します。
- 有効中は管理者以外の画面/APIアクセスがブロックされます。
- 作業完了後、「メンテナンス解除」を押します。
バックアップを作成する
- 「システム」の「データバックアップ」を開きます。
- 種別を選びます。DB + ファイル、DBのみ、ファイルのみを選択できます。
- 「バックアップ作成」を押します。
- 作成結果にDBファイル名またはファイルZIP名が表示されます。
- バックアップ一覧からDLできます。
バックアップから復元する
- バックアップ一覧で対象ファイルを確認します。
- 「復元」を押します。
- 確認欄に「復元」と入力します。
- DB復元後はFlask/Gunicornサービスを再起動します。
- ファイル復元時は、復元前のアップロードファイルが自動でZIP退避されます。
DB復元は現在のDB内容を上書きします。本番環境では作業前に必ず最新バックアップを取得してください。
バックアップ後に全データ削除する
- バックアップ種別で「DB + ファイル + データ削除」を選びます。
- 確認文を読みます。
- 実行するには「データ削除」と入力します。
- 成功すると、物件、図面、マーカー、写真、ホットスポット、点検記録、通知が削除されます。
- ユーザーと組織は保持されます。
この操作は強力です。誤実行防止のため、作業者、日時、目的、バックアップファイル名を記録してください。
CSVエクスポート
個別CSVを出力する
- 管理画面の「CSVエクスポート」を開きます。
- 必要に応じて組織フィルタまたは物件フィルタを選びます。
- ユーザー、物件、マーカー、指摘メモ、写真、ホットスポットの各行からダウンロードします。
- CSVはUTF-8 BOM付きで、Excelで開きやすい形式です。
全CSVをまとめて出力する
- 必要なフィルタを設定します。
- 「全CSV一括ダウンロード」を押します。
- ZIPファイル内に各CSVが格納されます。
- 日時は日本時間で出力されます。
| CSV | 主な内容 |
|---|---|
| ユーザー | ID、表示名、ロール、メール、ログインID、組織、権限、状態、登録日時 |
| 物件 | 組織名、物件名、説明、住所、緯度経度、図面数、登録/更新日時 |
| マーカー | 物件名、図面名、ラベル、ステータス、位置、写真数、メモ数 |
| 指摘メモ | 担当者、指摘内容、検査日時、対応済日時 |
| 写真 | キャプション、種別、360度フラグ、ホットスポット数、撮影/アップロード日時 |
| ホットスポット | 対策前後コメント、対策前後担当者、登録日時 |
削除・復元時の注意
物件削除
物件と関連する図面、マーカー、写真、ホットスポット、指摘メモ、アップロードファイルが削除対象になります。事前バックアップを推奨します。
図面削除
図面と関連するマーカー、写真、ホットスポット、指摘メモ、ファイルが削除対象になります。
写真削除
写真ファイルとサムネイル、関連するホットスポット情報に影響します。Before/Afterペアは解除されます。
復元
DBとファイルは別バックアップです。片方だけ復元するとDB上のファイル名と実ファイルが一致しない場合があります。必要に応じてDBとファイルを同じ時刻のバックアップから復元してください。
Ubuntu 24.04 運用
同梱の setup_ubuntu24.sh は、Ubuntu 24.04 へPython venv、PostgreSQL、Nginx、Gunicorn、systemdサービスを作るためのセットアップスクリプトです。
初期構築の実行例
sudo APP_DIR=/opt/sitetrace \
DOMAIN_NAME=sitetrace.example.com \
DB_NAME=kaleido_sitetrace \
DB_USER=sitetrace \
DB_PASSWORD='変更してください' \
SECRET_KEY='変更してください' \
bash setup_ubuntu24.sh
DB_PASSWORDとSECRET_KEYは必ず環境ごとに変更してください。
運用コマンド
sudo systemctl status sitetrace
sudo journalctl -u sitetrace -f
sudo systemctl restart sitetrace
sudo nginx -t
sudo systemctl reload nginx
構成
- アプリ配置:
/opt/sitetrace - 仮想環境:
/opt/sitetrace/.venv - 環境変数:
/etc/sitetrace.env - systemd:
/etc/systemd/system/sitetrace.service - Nginx:
/etc/nginx/sites-available/sitetrace
初期管理者
- マイグレーション後、必要に応じて初期管理者を作成します。
flask seed-adminでroot / rootが作成されます。- 初回ログインで必ず別パスワードへ変更します。
障害対応
アプリが表示されない
systemctl status sitetraceでサービス状態を確認します。journalctl -u sitetrace -n 100で直近ログを確認します。systemctl status nginxとnginx -tを確認します。- DB接続文字列とPostgreSQLの起動状態を確認します。
PDFが出力できない
- 日本語フォントが
static/vendor/fontsにあるか確認します。 - 写真や図面ファイルがDB上のファイル名と一致するか確認します。
- ログに画像読み込みエラーやフォントエラーがないか確認します。
メールが届かない
MAIL_SERVER、MAIL_PORT、MAIL_USERNAME、MAIL_PASSWORD、MAIL_DEFAULT_SENDERを確認します。- SMTPサーバー側の認証、送信制限、迷惑メール判定を確認します。
- 一斉通知結果の成功件数と失敗件数を確認します。
画像が表示されない
- DBのファイル名と
static/uploads配下の実ファイルが一致するか確認します。 - バックアップ復元時にDBだけ、またはファイルだけを戻していないか確認します。
- Nginxまたはアプリのファイルアクセス権限を確認します。