π° Community News & Announcements Management
Create, edit, pin featured hero stories, and rearrange community bulletins synced to Cloudflare KV.
| Media | Title & Excerpt | Category | Date | Featured Hero | Actions |
|---|
π Community Traditions & Annual Events Management
Create, edit, reorder, and update annual community tradition cards displayed on the Events & Calendar page.
| Media | Title & Badge Tag | Schedule / Date | Button Action | Actions |
|---|
π Google News Search Topics
Automate local news collection by defining Google News search terms. The system fetches and aggregates matching headlines in real-time.
| Status | Search Query Phrase | Category Tag | Preview | Actions |
|---|
π‘ Local & Regional RSS News Feeds Catalog
Select from curated Michiana media outlets or add custom RSS/Atom feeds to feature on the Local News page.
Configured RSS Feed List
| Status | Outlet / Source Name | RSS Feed URL | Category | Actions |
|---|
π’ Local Business Directory Management
Manage local partner businesses, service providers, and sponsor listings.
| Status | Last Paid | Logo | Business Name & Tagline | Category & Tier | Contact Info | Actions |
|---|
π₯ Neighborhood Associations & Message Routing
Manage registered committees and the email destination addresses for the contact form.
| Association / Committee Name | Category Badge Tag | Registered Routing Email | Actions |
|---|
πΎ Data Backup & Disaster Recovery
Export live database snapshots, restore historical backups with 1-click, and inspect automated rolling retention.
deploy.ps1 automatically triggers scripts/backup.py with a 24-hour rate limit and retains the last 10 historical snapshots.
Full-site ZIP archives + JSON database snapshots are safely archived locally in backups/ (git-isolated).
βοΈ Cloudflare KV Daily Cloud Snapshots (Last 10 Days)
Automated daily snapshots stored directly at Cloudflare's edge in your KV namespace.
| Snapshot Date | Dataset Items | Cloudflare KV Key | Action |
|---|---|---|---|
| Loading cloud snapshots from Cloudflare KV... | |||
CLI Disaster Recovery Commands (Terminal)
If you ever need to rollback via command line:
python scripts/backup.py --force
# Interactively restore data or full site:
python scripts/restore.py
π‘οΈ Cloudflare Zero Trust (Access) Setup Instructions
Cloudflare Zero Trust protects this /admin path and your editing APIs at the edge before requests reach your website. Only authenticated emails (via One-Time PIN or Google login) will be granted access.
Step 1: Create an Access Application in Cloudflare Zero Trust
- Go to Cloudflare Dashboard β Select Zero Trust in the left sidebar.
- Navigate to Access β Applications β Click Add an application.
- Select Self-hosted.
- Application name:
MTOH Community Admin - Application domain / path: Set your domain and path to
admin*(e.g.yourdomain.org/admin*).
Step 2: Define Who Can Log In (Access Policy)
- Policy name:
Allow Committee Leaders - Action:
Allow - Configure rules:
- Selector: Emails β Enter authorized admin emails (e.g.
brian@yourdomain.com,board@mtoh-neighbors.org). - Or Selector: Access Groups / Emails ending in
@mtoh-neighbors.org.
- Selector: Emails β Enter authorized admin emails (e.g.
- Click Next and Save Application.
Step 3: Cloudflare KV Binding (One-Time Setup)
In Cloudflare Pages Project β Settings β Functions β KV namespace bindings β Bind COMMUNITY_KV to your KV namespace.