動画アーカイブ格納フロー

SlackArchiveFlow.js の全体像。イベント終了 → ボタン選択 → 格納完了まで。
対象カテゴリ: ウェビナー ジュニア ゼミ 入学式

前工程: 終了通知 5つのボタン 1番: 格納OK 2番: 秘書依頼 3番: 編集チーム 4番: ローカル保存 5番: アーカイブ不要 自動後工程 5項目チェック

1前工程: 終了通知

イベント終了時刻になると、endNotice_scanAndPost(5分おきトリガー)がイベントDBをスキャンし、該当行のSlackチャンネルに「終了通知 + 5つのボタン」を自動投稿する。

カテゴリ別ルーティング(投稿先 / メンション先)

カテゴリ
(B列+C列)
終了通知の投稿先ch CC先(個人) メンション対象
ウェビナー #community_contents_webinar 田松由奈 講師 / 責任者 / モデレーター + cc 田松由奈
ジュニア
B列=ウェビナー & C列=ジュニア
#junior_webinar 落合里南 講師 / 責任者 / モデレーター + cc 落合里南
ゼミ #community_ss_seminar 豆井知子 講師 / 責任者 / モデレーター + cc 豆井知子
入学式 #community_ss_entrance-ceremony 福住花和 講師 / 責任者 / モデレーター + cc 福住花和
投稿後、スレッド内に5つのボタン(1〜5番)が表示される。ボタンを押すとブラウザが開き、ログイン済みの10xcユーザーとしてGAS(doGet)が実行される。

25つのボタン

1
Zoom問題なし・格納OKそのままダウンロードOK。自動で格納フローに進む
2
冒頭カット編集が必要秘書さんに編集を依頼。1時間後に自動通知
3
途中カット編集が必要編集チームに依頼。1時間後に自動通知
4
マイコンピューターに保存ローカルの動画をDriveに手動格納
5
アーカイブ不要このイベントはアーカイブしない。スレッド終了

3各ボタンの詳細フロー

1
格納OK(自動ダウンロード → 格納依頼 → Discord投稿)

1番ボタンを押す ブラウザでGAS doGet(action=ok)が開く
5項目チェック 入学式 → 免除(チェックなしで通過)
ウェビナー / ジュニア / ゼミ → 必須(未入力ならエラー表示+再押下ボタン表示)
未入力がある場合:
ボタンがロックされ、未入力項目をリスト表示。
入力後にもう一度押すための「動画格納OK」ボタンが再掲される。
「動画格納OK」列にチェック(TRUE) イベントDBのチェック列が埋まる
VTT到着 → 概要欄HTML自動生成(イベントDB側GAS) アーカイブ概要欄HTML生成.js が「動画格納OK」を検知して実行
格納依頼を自動投稿(5分おきスキャン) 投稿先: #community_learning_site_archive(全カテゴリ共通)
メンション: @learning_site_all cc @community_webinar_assist(または入学式なら @community_online_support_assist)
ここからアーカイブ格納作業 格納依頼を受けた作業者が実施する手順
作業者がアーカイブページURLを入力 イベントDBビューを開き、「アーカイブページURL」列に記入
「アーカイブ格納完了」ボタンを押す アーカイブページURLが空なら止まる(入力後に再度押せるボタンを再掲)
「アーカイブ格納完了」列にチェック(TRUE)
Discord自動投稿(5分おきスキャン) 入学式 Day1〜3 → 投稿なし(「Discord投稿なし」マーカーを記録)
入学式 Day0 → 投稿あり。ただし「アーカイブ動画視聴はこちら」のみ(アンケートなし)
ウェビナー / ジュニア / ゼミ → 「アーカイブ動画視聴はこちら」+「アンケートはこちら」の2セクション構成
入学式はアンケートがない:
入学式にはアンケートが存在しないため、Discord投稿文は「アーカイブ動画視聴はこちら」だけの表示になる。これは正常動作(アンケート回答リンク列が空なら自動的にスキップされる仕組み)。
Slack完了報告(自動) 格納依頼スレッドに完了報告を返信。
グループ: ウェビナー/ジュニア/ゼミ → @community_webinar_assist / 入学式 → @community_online_support_assist
cc(全カテゴリ共通): 村井綾 / 村井玲子 / 柳川那奈

2
秘書さんに冒頭カット編集を依頼

2番ボタンを押す スレッドに「1時間後に通知します」と返信
1時間後: 秘書チームに編集依頼を自動通知 同じスレッドに依頼文を投稿。メンション先はカテゴリで分岐:

2番の1時間後通知: メンション先

カテゴリグループメンション追加メンションcc(全カテゴリ共通)
ウェビナー @community_webinar_assist - 村井綾 / 村井玲子 / 柳川那奈
ジュニア @community_webinar_assist + 落合里南
ゼミ @community_webinar_assist -
入学式 @community_online_support_assist -
秘書が冒頭カットを編集 編集完了後、責任者にメンションして連絡
責任者が「動画格納OK」ボタンを押す 2番押下時にスレッド下部に再掲されたボタン
以降は1番と同じフロー 5項目チェック → 格納依頼 → 格納完了 → Discord投稿 → 完了報告

3
編集チームに途中カット編集を依頼

3番ボタンを押す スレッドに「1時間後に通知します」と返信
1時間後: 責任者にZoom URL取得+編集依頼の通知 責任者をメンションし「@community_movies へ依頼してください」と案内。
Driveフォルダ(共有)のURL + 「年月日_タイトル」のフォルダ命名例を添付。
責任者がZoom DL → 編集チームへ依頼 → 編集後Driveに格納
「格納完了」ボタンを押す 3番押下時にスレッド下部に表示されたボタン。「手動アップロード」列にTRUEが入る
スレッド完了 格納依頼→Discord投稿の自動フローには乗らない(手動格納のため)

4
マイコンピューターに保存(ローカル → Drive手動格納)

4番ボタンを押す スレッドにDriveフォルダURL + フォルダ命名ルールを案内
ローカルの動画をDriveフォルダに格納 フォルダ名: 「年月日_タイトル」
「格納完了」ボタンを押す 「手動アップロード」列にTRUEが入る
スレッド完了 3番と同様、自動フローには乗らない

5
アーカイブ不要

5番ボタンを押す 「アーカイブ不要ボタン」列にTRUEが入る
スレッド完了 格納依頼・Discord投稿いずれも対象外になる。以降の処理なし

4自動後工程(1番ボタン経由のみ)

1番(または2番→動画格納OK経由)で「動画格納OK」にチェックが入った後、以下が自動で順番に発火する。すべて5分おきのトリガーで動く。

順番 処理 発火条件 投稿先
1 概要欄HTML生成
アーカイブ概要欄HTML生成.js
「動画格納OK」= TRUE イベントDBのHTML列に書き込み
2 格納依頼投稿
archiveStorage_scanAndPost
タイトル + HTML + チャプター + 5項目
(入学式は5項目免除)
#community_learning_site_archive
(全カテゴリ共通)
3 格納完了ボタン押下
action=storagedone
作業者が手動で押す
(アーカイブURL入力済みが条件)
「アーカイブ格納完了」= TRUE
4 Discord自動投稿
アーカイブ格納後Discord投稿.js
格納完了 = TRUE & Discord URL = 空 Discordフォーラムch
(入学式のみ投稿なし)
5 Slack完了報告
段2: completionReport_scanAndPost
Discord URL列が埋まった(または「Discord投稿なし」マーカー) 格納依頼スレッドに返信

55項目チェック(必須入力項目)

1番ボタン押下時と格納依頼の自動投稿時の2箇所で同じ5項目をチェックする。すべて埋まるまで先に進めない。

カテゴリ別の免除ルール

カテゴリ5項目チェック
ウェビナー必須
ジュニア必須
ゼミ必須
入学式免除(チェックなしで通過)
GASプロジェクト構成:
SlackArchiveFlow.js(このフロー全体を管理) = スタンドアロンGAS
アーカイブ概要欄HTML生成.js / アーカイブ格納後Discord投稿.js = イベントDBバインドGAS(別プロジェクト)
両者はイベントDBスプレッドシートを介して連携(直接の関数呼び出しはできない)。