COCOPiTA 運用マニュアル
0.全体像・用語・アカウント種別
COCOPiTA には 4種類の登場人物(ロール) と、それとは別軸の 掲載カテゴリ「特典パートナー」 があります。まずここを分けて理解するのが最重要です。
ログインできる「アカウント種別」は3つだけ
システム内部のログインアカウントは school / supporter / org の 3種類のみです。それぞれ専用のログインページ・マイページ・活動報告投稿ページを持ちます。
| アカウント種別 | 日本語 | ログインページ | マイページ | 活動報告 投稿 | アカウントデータ |
|---|---|---|---|---|---|
school | 🏫 学校・PTA | school-login.html | school-admin.html | school-report-post.html | /data/school-accounts.json |
supporter | 🤝 応援団体 | supporter-login.html | supporter-admin.html | supporter-report-post.html | /data/support-accounts.json |
org | 🌱 支援先団体 | org-login.html | org-admin.html | org-report-post.html | /data/org-accounts.json |
特典パートナー と 応援団体 の違い(重要)
ご質問「特典パートナーは応援団体と一緒という認識で大丈夫か?」への回答です。文脈によって Yes / No が変わります。
| 🎁 特典パートナー | 🤝 応援団体(supporter) | |
|---|---|---|
| 正体 | 掲載カテゴリ(企業がクーポン・特典を出す) | ログインアカウント種別 |
| データ | /data/partners.json(掲載情報) | /data/support-accounts.json(ログイン情報) |
| ログイン | 単体では持たない | 持つ(supporter-login.html) |
| 活動報告 投稿 | 単体ではできない | できる |
| 管理画面 | 「特典パートナー」パネル(掲載の追加/編集) | 「🔑 編集権限管理」→「🤝 応援団体」タブ(アカウント発行) |
| 公開ページ | partner-ichiran / partner(特典一覧) | supporters.html / supporter-detail.html |
ただし「掲載管理」の文脈では別物です。特典パートナー掲載 ≠ 応援団体アカウント。両方の性格を持たせたい企業は、 「特典パートナー掲載」と「応援団体アカウント」を2つとも用意することになります。
パスワード発行の考え方(ご質問への回答)
ご質問「特典パートナーのパスワード発行が確認取れない。どうしたら良い?」への回答です。
- 特典パートナー企業に「ログイン」させたい=応援団体アカウントを発行する。
管理画面の「特典パートナー」パネルにパスワード発行が無いのは仕様通り。パスワード(ログイン)は「🔑 編集権限管理」パネルで発行します。 - その企業を「応援団体」として用意する。
「🔑 編集権限管理」→「🤝 応援団体」タブに対象企業が並んでいる必要があります。まだ無ければ、先に応援団体として登録します(応援サポーターお申込み経由、または管理画面から追加)。 - 「アカウント発行」を押す → 初期パスワードが自動生成される。
メールアドレス(=ログインID)を入力すると、初期パスワードが発行され、サーバ保存+金庫保存+案内メール文面が表示されます。
org-login.html、「応援団体ログイン」は supporter-login.html です。名前が似ていますが別ページ・別アカウントです。特典パートナー企業のログイン=応援団体ログイン(supporter-login.html)が基本です。
1.運営(管理者)マニュアル /admin/
URL:https://cocopita.com/admin/(管理者ログインが必要)
できること:申請の確認・承認、アカウント発行/再発行、パスワード確認、活動報告の公開承認、掲載管理、サイト更新(デプロイ)
1.1 管理者ログイン・管理者アカウントの登録
管理者ログインは 「メールアドレス(管理者ID)+パスワード」です。管理者は最大10名まで登録できます。
- /admin/ を開く。
- 初回のみ「管理者登録」タブで、メール+管理用パスワード(8文字以上)を登録。すでに管理者がいる場合は、ログイン後に「管理者アカウント」パネルから追加(最大10名)。
- 2回目以降は メール+パスワードでログイン。
1.2 各種申請の確認と承認
公開フォームからの申請は、管理画面トップの「お知らせ」に集まります。承認すると掲載+初期パスワードが自動発行されるものがあります。
| 申請の種類 | 管理画面の場所 | 承認すると |
|---|---|---|
| 学校・PTA 掲載/編集申請 | 「学校申請」 | 掲載+初期パスワード発行(学校アカウント) |
| 支援先団体 掲載申請 | 「支援先団体申請」 | 一覧に掲載+初期パスワード発行(orgアカウント) |
| 特典パートナー 掲載申請 | 「特典パートナー」 | 特典パートナー一覧に掲載(※ログインアカウントは発行されない) |
| 応援サポーターお申込み | 「お知らせ」→ 応援団体 | 応援団体として登録→編集権限管理で発行 |
- 「お知らせ」または該当申請パネルを開く。
- 申請内容を確認し、問題なければ「承認」。
- 承認時に初期パスワードが自動生成される種類は、この画面でしか見られないパスワードとメール文面テンプレが表示される → コピーして申請者に送付。
1.3 🔑 編集権限管理(アカウント発行の本丸)
ログインアカウント(ID=メール+パスワード)を発行・管理する中心パネルです。左ナビの「🔑 編集権限管理」から開きます。
- 「🔑 編集権限管理」を開く。
- 発行したい種別のタブを選ぶ(例:特典パートナー企業なら 🤝 応援団体)。
- 一覧から対象(例:アットマーク・ラーニング)を探す。一覧に無ければ先にその団体/企業を登録しておく(応援団体なら応援サポーター登録経由、または該当パネルから追加)。
- 対象の行の「アカウント発行」を押す。
- ご担当者のメールアドレスを入力(これがログインIDになります)。
- 初期パスワードが自動生成され、画面に表示される。同時にサーバ保存+金庫保存+「編集権限発行のご案内(ID/PASS 含む)」メール文面が表示される。
- 表示された ID / パスワード / メール文面をコピーして相手に送付。
1.4 パスワード確認(運営専用パスワード金庫)
2026-06-19以降に発行/再発行したパスワードは、運営専用の「金庫」(/data/_pw-vault.json、外部からは403/404で遮断)に平文で保存され、管理画面から確認できます。
- 「🔑 編集権限管理」で対象種別のタブを開く。
- 対象アカウントの「パスワード閲覧」を押す。
- 金庫に記録があれば現在の平文パスワードが表示される → そのまま相手に伝えられる(変更不要)。
- 「金庫にパスワードが記録されていません」と出た場合(=6/19より前の発行など)は、「パスワード再発行」を押すと新パスワードが金庫に保存され、以後閲覧可能になります。
SHA-256("cocopita:"+パスワード) のハッシュのみ(v6.9で外部露出も遮断)。
金庫に無いパスワードは技術的に元に戻せません。その場合は再発行してください。これは正しいセキュリティ設計です。
1.5 パスワード再発行
- 「🔑 編集権限管理」→ 対象種別タブ → 対象アカウントの「🔑 パスワード変更/再発行」を押す。
- 確認ダイアログ(「古いパスワードでは以後ログインできなくなります。続行しますか?」)で OK。
- 新パスワードが自動生成され、ハッシュ再計算 → サーバ保存(マージ・自動バックアップ)→ 金庫に平文保存まで自動実行。
- 「パスワード再発行のご案内」メール文面が表示される → コピーして相手に送付。
1.6 レポート承認(活動報告の公開)
各ロールが投稿した活動報告は即公開されず、reviewStatus: pending(承認待ち)で届きます。運営が承認して初めて公開されます。
- 管理画面の「✅ レポート承認」を開く。
- 承認待ちの投稿(学校/応援団体/支援先団体の別、cover画像・本文)を確認。
- 問題なければ「公開承認」 →
published:true / approvedに更新され、サーバ(activity-posts.json)へ反映=公開ページに表示。 - 修正が必要なら「差し戻し」(コメント付き)→ 投稿者が直して再申請できる。
1.7 特典パートナーの掲載管理
左ナビ「🤝 特典パートナー」パネルは、特典パートナー一覧ページ(partner-ichiran)に載る企業・団体の掲載情報を管理します(partners.json)。ログイン発行はここには無い点に注意(→ ログインは 1.3 応援団体で発行)。
- 登録済みパートナーの追加/編集:会社名・紹介文・業種・エリア・ロゴ・特典クーポン等。
- カテゴリ:「特典パートナー(無料掲載・特典必須)」/「地域共創パートナー(旧・認定パートナー/福利厚生導入)」。
- 注意:特典パートナーは特典クーポンを登録しないと公開ページに表示されません。
1.8 デプロイ(サイト更新の反映)
HTML/CSS/JS/画像の更新はワンクリック更新で反映します。
- /admin/deploy.html を開く。
- 更新用ZIP(ルート直下にファイルが並んだもの)をドラッグ&ドロップ。
- アップロード実行 → 反映。アップ前の状態は自動バックアップ(最新30件)されるので、問題があれば復元可能。
/data/・.htaccess 等の保護パスは、ワンクリックではなくファイルマネージャでの手動アップが必要です(開発側の作業)。通常のページ文言・画像・新着情報の更新はワンクリックで完結します。
2.特典パートナー(企業)マニュアル
正体:特典クーポン・優待を出す企業の掲載カテゴリ(ログインアカウントの種別ではない)
公開ページ:/partner-ichiran/(一覧)・/partner/
データ:/data/partners.json
2.1 特典パートナーになる(掲載申請)
- 公開の特典パートナー掲載申請フォーム(applicant.html 等)から申込む。
- 運営が管理画面「特典パートナー」で内容を確認し掲載。
- 特典クーポン(割引・優待)を登録すると一覧ページに表示される(特典が無いと非表示)。
2.2 ログイン・活動報告をしたい場合(重要)
- 運営に「ログイン(活動報告)をしたい」と依頼。
- 運営が「🔑 編集権限管理」→「🤝 応援団体」でアカウント発行(→ 1.3)。
- 発行されたID(メール)+初期パスワードを受け取る。
- 以降は supporter-login.html(応援団体ログイン)から利用(→ 3章)。
実例:アットマーク・ラーニング は特典パートナー的な企業ですが、ログイン・活動報告は応援団体アカウント(ID:info@at-learn.co.jp)で行っています。
3.応援団体(supporter)マニュアル
これは誰向け? 応援団体、およびログイン・投稿する特典パートナー企業(=同じ仕組みを使う)
ログイン:supporter-login.html(=フッター「応援団体ログイン」)
マイページ:supporter-admin.html / 投稿:supporter-report-post.html / プロフィール編集:supporter-profile-edit.html
公開ページ:supporters.html(一覧)・supporter-detail.html?id=…(詳細)
3.1 全体の流れ
3.2 ログイン
- supporter-login.html(応援団体ログイン)を開く。
- 登録メールアドレス(=ログインID)とパスワードを入力。
- ログインするとマイページ(supporter-admin.html)へ。
3.3 マイページ(supporter-admin.html)
- 自分が投稿した活動報告の一覧(cover画像・状態バッジ付き)を確認。
- 各投稿から ✏️編集 / ↩取り消し / 🗑削除 の操作へ。
- 新規の活動報告投稿ページへ進む導線。
- プロフィール編集(supporter-profile-edit.html)への導線。
3.4 プロフィール編集(supporter-profile-edit.html)
団体名・紹介文・ロゴ等の公開プロフィールを編集します。保存はサーバ(supporters)へ反映されます。内容によっては公開反映に運営確認が入る場合があります。
3.5 活動報告を投稿する(supporter-report-post.html)
- マイページから「活動報告を投稿」を開く(内部で
PTASiteExt.initReportPostPage("supporter")が動作)。 - タイトル(必須)を入力。
- 日付を選ぶ。
- 本文(必須・改行OK)を入力。
- 外部URL(任意)を入力(イベント告知等へのリンク)。
- カバー画像(任意)を選択。選ぶと自動でWebPに変換・最大辺1600pxに縮小され、プレビュー表示。画像URL指定も可。
- 「投稿する」を押す → localStorage保存+サーバ(
/admin/save-orgs.php)へ送信。reviewStatus: pendingで運営に届く。 - 「画像も一緒にサーバへ送信しました(○○KB)」等の表示を確認。
3.6 投稿を後から編集する
- マイページの投稿一覧で対象の「✏️ 編集する」を押す(
supporter-report-post.html?edit=投稿IDが開く)。 - タイトル・日付・本文・URL・画像が入った状態でフォームが開く → 直す。
- 「投稿する」で保存。
3.7 投稿の取り消し・削除・復元
| 投稿の状態 | できる操作 | 結果 |
|---|---|---|
| 承認待ち(新規) | ↩ 承認待ちを取り消す | 投稿を削除 |
| 差し戻し | 🗑 この差し戻し投稿を削除 | 投稿を削除 |
| 公開中+編集申請中 | ↩ 編集申請を取り消す | 編集申請だけ破棄・公開内容は維持 |
| 公開中(編集申請なし) | 🗑 完全削除(hardDelete) | 公開ページからも削除(要「削除」と入力) |
3.8 公開のされ方
- 承認されると supporter-detail.html?id=…(団体詳細)と report.html?id=投稿ID(記事詳細)に表示。
- 一覧カードは「写真+日付+タイトル」のみ。本文は詳細ページ(report.html)で読む形。
3.9 パスワードを忘れたとき
自分ではリセットできません。運営に連絡してください。運営は金庫で現在のパスワードを確認(→1.4)できる場合はそれを伝え、無ければ再発行(→1.5)します。ログインIDは登録メールアドレスです。
4.支援先団体(org)マニュアル
これは誰向け? こども食堂・ボランティアNPO・地域団体など、支援を受ける側の団体
ログイン:org-login.html(=フッター「認定/応援ログイン」)
マイページ:org-admin.html / 投稿:org-report-post.html / 内容編集:org-edit.html
公開ページ:orgs-catalog.html(一覧)・org.html?id=…(詳細)
4.1 全体の流れ
4.2 掲載申請・アカウント発行
- 公開フォーム orgs-apply.html から掲載申請。
- 運営が「支援先団体申請」で承認 → 一覧に掲載+初期パスワード発行(→ 1.2 / 1.3)。
- 発行された ID(メール)+初期パスワードを受け取る。
4.3 ログイン・マイページ・団体情報編集
- ログイン:org-login.html に メール+パスワード。
- マイページ(org-admin.html):自分の活動報告の一覧・投稿・編集・削除、団体情報の編集導線。
- 団体情報編集(org-edit.html):団体名・紹介・写真・お礼メッセージ等の公開内容を編集。
4.4 活動報告の投稿・編集・削除
投稿フォームは org-report-post.html(内部で initReportPostPage("org"))。入力項目・画像WebP変換・編集/取り消し/削除/ゴミ箱・承認制は応援団体と同じ仕組みです。詳細は 3.5〜3.8 と 6章 を参照してください(投稿ページ名だけ org- に読み替え)。
4.5 公開のされ方 / パスワードを忘れたとき
- 承認後、org.html?id=団体ID と report.html?id=投稿ID に表示。一覧カードは写真+日付+タイトルのみ。
- パスワードを忘れたら運営に連絡 → 金庫確認(1.4)または再発行(1.5)。ログインID=登録メール。
5.学校・PTA(school)マニュアル
これは誰向け? 掲載・編集する学校/PTAの担当者
登録申請:school-register.html / ログイン:school-login.html
マイページ:school-admin.html / 投稿:school-report-post.html
5.1 全体の流れ
5.2 登録申請・アカウント発行
- school-register.html から学校・PTAの掲載/編集を申請。
- 運営が「学校申請」で承認 → 初期パスワードが自動発行され、案内メール文面が表示される(→ 1.2 / 1.3)。
- ID(メール)+初期パスワードを受け取る。
5.3 ログイン・マイページ・活動報告
- ログイン:school-login.html(学校PTAログイン)に メール+パスワード。
- マイページ(school-admin.html):投稿一覧・投稿・編集・削除。
- 活動報告投稿:school-report-post.html(
initReportPostPage("school"))。入力・画像・編集・承認制は 3.5〜3.8・6章 と共通。
5.4 パスワードを忘れたとき
運営に連絡 → 金庫確認(1.4)または再発行(1.5)。ログインID=登録メール。
6.活動報告 詳細仕様(全ロール共通)
学校・応援団体・支援先団体の活動報告は同じ仕組みで動きます。ここに共通の細部をまとめます。
6.1 データ項目(1投稿の中身)
| 項目 | 内容 |
|---|---|
ownerType | org / school / supporter のいずれか(投稿ページで決まる) |
ownerId / ownerName | 投稿した団体のID・名前(公開ページはこのIDで絞り込む) |
title | タイトル(必須) |
date | 日付(YYYY-MM-DD) |
body | 本文(改行OK)。詳細ページは改行を尊重して表示 |
url | 外部リンク(任意) |
cover | カバー画像(WebPのdata URL または画像URL) |
published | 公開フラグ(承認で true) |
reviewStatus | pending(承認待ち)/ approved(公開)/ rejected(差し戻し) |
pendingEdit | 公開中投稿を再編集した時の「編集申請」の中身(承認でマージ) |
6.2 画像(カバー写真)の扱い
- 画像を選ぶと端末側で自動的にWebPへ変換・最大辺1600pxに縮小(WebP不可の環境ではJPEGにフォールバック)。
- 入力は8MBまで。それ以上はエラー。
- 画像URLを直接指定することも可能。
- 画像を選んだだけでは保存されない → 必ず「投稿」ボタンで確定。
6.3 承認ステータスと公開条件
| 状態 | 公開ページ表示 | 意味 |
|---|---|---|
| pending(新規) | 非表示 | 投稿直後・運営の承認待ち |
| approved / published | 表示 | 運営が公開承認済み |
| rejected | 非表示 | 差し戻し。投稿者が直して再申請 |
| 公開中+pendingEdit | 表示(旧内容) | 公開を保ったまま編集申請中。承認で新内容に切替 |
公開条件(公開ページの判定):published === true かつ(reviewStatus === 'approved' または pendingEdit あり)。
6.4 公開ページの見え方
- 一覧カード(org.html / supporter-detail.html 内など):写真+日付+タイトルのみ。本文抜粋や「続きを読む」テキストは載せない設計。
- 記事詳細:report.html?id=投稿ID で全文(団体名・日付・タイトル・カバー画像・本文・外部リンク)を表示。
- カード全体がリンクで、どこをタップしても詳細ページへ遷移。
6.5 データの保存経路(なぜ別端末でも見えるか)
7.データ・技術リファレンス(運営・開発向け)
7.1 アカウントとパスワード
| 項目 | 内容 |
|---|---|
| ログインID | メールアドレス |
| アカウント保存 | /data/org-accounts.json / school-accounts.json / support-accounts.json |
| パスワード保存 | pwHash = SHA-256("cocopita:" + パスワード)(平文は保存しない) |
| ログイン照合 | サーバ側 /admin/load-accounts.php(POST action=verify)。GETは pwHash を除いて返す(v6.9) |
| 発行/保存 | /admin/save-accounts.php(メール一致でマージ・自動バックアップ・空でpwHashを潰さない安全網) |
| パスワード金庫 | /admin/save-pw-vault.php 保存 / /admin/load-pw-vault.php(外部403)で管理画面のみ閲覧 / 実体 /data/_pw-vault.json(外部遮断)。2026-06-19以降の発行/再発行分の平文を保持 |
7.2 活動報告データ
| 正本 | /data/activity-posts.json |
| 保存 | /admin/save-orgs.php({type:'activity-posts','activity-posts':[…]}) |
| 読込(運営承認画面) | /admin/load-orgs.php?type=activity-posts |
| 公開ページ | /data/activity-posts.json を fetch(cache-buster付き) |
7.3 主要ページ早見表
| ロール | 申請/登録 | ログイン | マイページ | 投稿 | 公開 |
|---|---|---|---|---|---|
| 🏫 学校・PTA | school-register.html | school-login.html | school-admin.html | school-report-post.html | 学校ページ/TOP |
| 🤝 応援団体 | supporter-apply.html | supporter-login.html | supporter-admin.html | supporter-report-post.html | supporters.html / supporter-detail.html |
| 🌱 支援先団体 | orgs-apply.html | org-login.html | org-admin.html | org-report-post.html | orgs-catalog.html / org.html |
| 🎁 特典パートナー | applicant.html | —(応援団体を利用) | — | —(応援団体を利用) | partner-ichiran / partner |
| 🛠 運営 | — | /admin/ | /admin/ | — | — |
8.よくあるトラブルと対処
| 症状 | 原因 | 対処 |
|---|---|---|
| 特典パートナーのパスワード発行が見当たらない | 特典パートナーは掲載カテゴリでログインを持たない | 「🔑 編集権限管理」→「🤝 応援団体」で発行(→ 1.3 / 0.3) |
| 顧客の現在のパスワードを知りたい | ハッシュ保存で原則復元不可 | 金庫を確認(1.4)。無ければ再発行(1.5)。IDは登録メール |
| 投稿したのに公開ページに出ない | 承認待ち(pending) | 「✅ レポート承認」で公開承認(→ 1.6) |
| 別端末・シークレットで内容が消える | サーバ同期漏れ(旧仕様)/キャッシュ | 再読込(Cmd+Shift+R)。恒常的なら開発に連絡(サーバfetch確認) |
| 画像が保存されない | 画像を選んだだけで投稿未確定/8MB超 | 「投稿」ボタンで確定。大きい画像は自動縮小されるが元が8MB以下であること |
| 公開中の投稿を直したら消えた(と感じる) | 編集=編集申請(承認待ち)に移行 | 正常。承認するまで旧内容で公開継続、承認で新内容へ(→ 3.6 / 6.3) |
| ログインページを間違える | 「認定/応援ログイン(org)」と「応援団体ログイン(supporter)」の混同 | 応援団体/特典パートナー企業は supporter-login.html(→ 3.2) |
| 管理者パスワードを忘れた | — | /admin/ ログイン画面「パスワードをお忘れの方」→ 設定リセット(データは消えない/→ 1.1) |
| サイト更新が反映されない | デプロイ未実施/ブラウザキャッシュ | /admin/deploy.html でZIP反映(→ 1.8)+スーパーリロード |
COCOPiTA 運用マニュアル / 2026-07-14 作成 / cocopita.com
※ 本マニュアルは現行実装(v6.9系)に基づく運用ガイドです。仕様変更時は更新してください。