# GCIF Forum Website - Internal Context & Plan

**Date:** March 24, 2026
**Site:** gcif.newperspectivestheatre.org
**Client:** Penny Deen (Program Manager), Ashley Hajimirsadeghi
**Our Team:** Rian Bowden (lead), Adi Pramono (dev)
**Budget:** ~2 hours prepaid remaining
**WordPress Version:** 6.9.4

---

## Email Thread Summary

Ashley reached out about prompting users to post after signup. Penny (Program Manager) wants to increase engagement — getting users from signup to actively posting, responding, and connecting. Rian proposed using prepaid time (30-60 min) to audit the site, find quick wins, then propose a small project for the rest. Budget is tight — they don't want to pay for extra plugins.

**Penny's priorities (in her words):**
1. Immediate post-signup engagement — prompts to take action (introduce themselves, share work, start a post)
2. Clear onboarding / "what next" guidance — popup, welcome page, or simple prompt
3. Low-cost / built-in solutions — existing platform features, welcome emails, light nudges

**Rian's proposed deliverables:**
- Free things that just need configuration (within prepaid hours)
- Features we can build/install with small added cost (e.g., the popup idea)
- Future consideration features (e.g., re-engaging inactive users)

---

## 1. THEME & CHILD THEME

**Active Theme:** BuddyBoss Child (child of BuddyBoss Theme)
**Other Themes Installed:** BuddyBoss Child (second copy), BuddyBoss Theme (parent), Genesis Block Theme, Twenty Twenty-Five

### Child Theme files:
- `style.css` — standard child theme CSS
- `functions.php` — significant customizations (see below)
- `assets/css/custom.css` — custom stylesheet
- `assets/js/custom.js` — custom JS
- `includes/gf-create-post-acf-fix.php` — Gravity Forms ACF fix

### functions.php Customizations:
1. **Translation setup** — standard BuddyBoss child theme language loading
2. **Custom CSS/JS enqueue** — loads `custom.css` and `custom.js` at priority 9999
3. **Bypass Private Network for blog posts** — allows non-logged-in users to see blog posts, archives, categories, tags, search (removes `bp_private_network_template_redirect` for these)
4. **WebP upload support** — enables `.webp` image uploads
5. **Custom login/register shortcode** `[bw_login_register_links]` — shows Sign in / "Apply for an account" buttons for logged-out users, profile link for logged-in users. Supports alignment parameter.
6. **Featured image before content** — automatically prepends featured image to single posts
7. **Redirect non-logged users on single posts** — redirects to login page (contradicts #3 somewhat — blog archives are public but individual posts require login)
8. **Image ID helper function** `bw_get_image_id()` — retrieves attachment ID from URL
9. **Forum gender filter** — filters forums by ACF field `forum_gender` via URL parameter `?forum-gender=`
10. **Signup button text change** — changes "Sign up" to "Apply for an account"
11. **Gravity Forms custom merge tags** — adds `{user_first_name}`, `{user_last_name}`, `{user_phone}`, `{user_pronouns}`, `{user_bio}` merge tags pulling from BuddyPress xProfile fields
12. **Terms of Service on registration** — adds TOS checkbox and modal popup before registration submit button (pulls content from page ID 10)
13. **Language switcher for non-logged-in users** — appends GTranslate widget to `header-menu-logout` menu
14. **Avatar upload on signup** — handles avatar upload during `bp_core_signup_user` from field_95

---

## 2. PLUGINS (21 installed, 20 active, 1 inactive)

### Core Platform:
- **BuddyBoss Platform** v2.20.0 (update to 2.21.0 available) — community features, profiles, activity feeds, messaging, notifications
- **BuddyBoss Platform Pro** v2.13.1 — premium add-ons
- **BuddyPress Profile Completion** v1.1.0 — forces users to complete required profile fields
- **BuddyPress XProfile Image Field** v3.1.0 — adds image field type to profiles

### Content & Forms:
- **Advanced Custom Fields PRO** v6.7.1 — custom fields (used for forum_gender, etc.)
- **Gravity Forms** v2.9.23.2 (LICENSE EXPIRED, update to 2.9.30 available) — web forms, registration
- **Gravity Forms Advanced Post Creation Add-On** v1.4.0 (LICENSE EXPIRED, update to 1.6.1 available)
- **Gravity Forms reCAPTCHA Add-On** v1.6.0 (LICENSE EXPIRED, update to 2.1.0 available)
- **Kadence Blocks** v3.6.6 — page builder blocks for Gutenberg

### Push Notifications:
- **OneSignal Push Notifications** v3.8.0 — free web push notifications (INSTALLED BUT unclear if configured)
- **PushEngage** v4.2.1 — push notification service (INSTALLED — this is the one Ashley mentioned)

### Translation:
- **GTranslate** v3.0.9 — multilingual translation

### User Management:
- **New User Approve** v3.2.5 — admin must approve new user registrations
- **User Switching** v1.11.2 — admin tool to switch between user accounts

### Email & Communication:
- **WP Mail SMTP** v4.7.1 — SMTP email delivery
- **WP Mail Logging** v1.16.0 — logs all emails sent
- **Mailhog for WordPress** v1.0.1 — dev email routing

### Utilities:
- **SVG Support** v2.5.14 — SVG upload support
- **WP File Manager** v8.0.2 — file management in admin
- **UpdraftPlus - Backup/Restore** v2.26.1.0 — backups
- **Conditional Menus** v1.2.7 — INACTIVE (can set conditional menus per page)

---

## 3. PAGES (20 published)

| Page | Author | Notes |
|------|--------|-------|
| About | Adi Pramono | |
| Activate | Adi Pramono | Account activation |
| Activity Feed | Rian Bowden | BuddyBoss activity |
| Affiliates | Rian Bowden | |
| Documents | Adi Pramono | |
| Forums | Ashley Hajimirsadeghi | |
| Home (Front Page) | Adi Pramono | Hero slider + mission |
| Moderation | Adi Pramono | |
| Photos | Adi Pramono | |
| Posts (Posts Page) | Adi Pramono | Blog listing |
| Privacy Policy | Rian Bowden | |
| Register | Adi Pramono | |
| Resources | Ashley Hajimirsadeghi | |
| Terms of Service | Rian Bowden | |
| Upload Your Content | Adi Pramono | (2 pages with this name) |
| Upload Your Content | Adi Pramono | |
| Submit Article – Thank You | Adi Pramono | Confirmation page |
| Videos | Adi Pramono | |
| Groups | (not listed but component exists) | |

---

## 4. NAVIGATION MENUS

### Header Menu — Logged In Users ("Header Menu")
1. Activity (Page)
2. Affiliates (Page)
3. Forums (Page)
   - Feature Requests and Suggestions: Shape the Future of Our Platform (Forum, sub-item)
4. Upload Your Content (Page)
5. Posts (Posts Page)
   - Featured Posts (Category, sub-item)
6. Resources (Page)

### Header Menu — Logged Out Users ("Non Login")
1. About (Page)
2. Forums (Post Type Archive)
   - Feature Requests and Suggestions (Forum, sub-item)
3. Resources (Page)
4. Upload Content (Page)

### Other Menus:
- **BuddyPanel** — assigned to BuddyPanel (Logged in) + Mobile Menu (Logged in)
- **Mobile Menu** — assigned to Mobile Menu (Logged out)

### Menu Locations Available:
- BuddyPanel - Logged in users
- BuddyPanel - Logged out users
- Header Menu - Logged in users
- Header Menu - Logged out users
- Mobile Menu - Logged in
- Mobile Menu - Logged out
- Profile Dropdown

---

## 5. BUDDYBOSS COMPONENTS

### Active (12 of 13):
1. **Member Profiles** (Required) — all users get profiles
2. **Profile Fields** (Required) — editable profile fields (First Name, Last Name, Phone, Pronouns, Bio, etc.)
3. **Account Settings** — members modify account/notification settings
4. **Notifications** — toolbar bubble + email notifications
5. **Forum Discussions** — Q&A style message boards
6. **Activity Feeds** — global, personal feeds with threaded commenting, @mentions
7. **Media Uploading** — photos, documents, videos, emojis, GIFs, albums, folders
8. **Private Messaging** — one-to-one or group messages
9. **Member Connections** — friend/connection system
10. **Email Invites** — members can invite non-members via email
11. **Moderation** — block members, report content
12. **Network Search** — unified search bar

### Inactive (1):
- **Social Groups** — NOT enabled (allows public/private/hidden groups with activity feeds)

### Notification Settings:
- On-screen notifications: **Enabled** (Bottom Left position)
- Mobile support: Not enabled for small screens

---

## 6. EMAIL TEMPLATES (31 templates)

Standard BuddyBoss email templates are in place covering:
- Registration/activation confirmation
- New private messages + digest
- Activity replies and mentions
- Forum discussion replies
- Connection requests (accepted/new)
- Group messages, invites, membership requests, promotions
- Follower notifications
- Moderation alerts
- Email verification
- Password changes
- Content moderation

**Key observation:** The registration email subject is `[{site.name}] Thank you for your application` — customized from default "activate your account" language to match "Apply for an account" flow.

---

## 7. FRONT-END OBSERVATIONS

- **Homepage:** Hero image slider (3 slides), "Donate to Help Support the Forum Here" CTA button, two-column mission statement section
- **BuddyPanel sidebar** (left): Icons for Profile, Activity, Documents, Members, Forums (visible when logged in)
- **Header:** GCITF logo, main nav, language switcher (English), search, messaging, notifications, user avatar
- **Push notification bell icon** visible (bottom right) — PushEngage is active
- **GTranslate** language switcher in header for non-logged-in users
- **Registration flow:** "Apply for an account" → admin approval required (New User Approve plugin)

---

## 8. KEY FINDINGS & OPPORTUNITIES

### Already Installed But Possibly Underutilized:
1. **OneSignal Push Notifications** — already installed! Need to check if configured. Could be used for engagement nudges.
2. **PushEngage** — also installed. Two push notification plugins seems redundant — need to pick one.
3. **Social Groups** — component is installed but INACTIVE. Enabling could boost engagement significantly.
4. **BuddyPress Profile Completion** — already installed. Can force users to complete profiles which drives engagement.
5. **Email Invites** — component is active but unclear if being promoted to users.
6. **Activity Feeds** — active, but is it being surfaced well to new users?

### Not Being Used (Built-in BuddyBoss features):
1. **Welcome emails / onboarding email sequence** — BuddyBoss has email templates but no onboarding drip
2. **Registration redirect** — could redirect new users to a "welcome" or "getting started" page instead of default
3. **BuddyBoss ReadyLaunch** — available in settings (mobile app-like experience)
4. **Conditional Menus plugin** — installed but INACTIVE, could show different content to new vs returning users

### Quick Wins (Free / Config Only):
1. **First-login popup/welcome modal** — custom JS in child theme to show a welcome message with CTA on first visit
2. **Registration redirect to welcome page** — redirect new users after first login to a "Getting Started" page
3. **Enable Profile Completion enforcement** — configure BuddyPress Profile Completion to push users to fill out profiles
4. **Customize registration confirmation email** — add engagement prompts to the existing email template
5. **Configure OneSignal OR PushEngage** properly (pick one, deactivate other)

### Small Build Items (1-3 hours each):
1. **Welcome/onboarding popup** — triggered on first login, prompts user to introduce themselves, post content, or explore forums
2. **"Getting Started" page** — dedicated page with steps: complete profile → introduce yourself → browse forums → post content
3. **Automated welcome email sequence** — use WP Mail SMTP + custom code or a lightweight plugin to send follow-up emails at Day 1, Day 3, Day 7
4. **Inactive user re-engagement email** — automated email after X days of inactivity

### Future / Medium Projects:
1. **Guided onboarding tutorial** — step-by-step walkthrough with progress indicators
2. **Gamification / badges** — reward first post, first forum reply, profile completion
3. **Enable Social Groups** — opens up group-based engagement
4. **Content digest emails** — weekly/monthly highlights email

---

## 9. ISSUES & MAINTENANCE NOTES

1. **Gravity Forms license expired** — all 3 GF plugins have expired licenses, updates unavailable
2. **BuddyBoss Platform update available** — v2.20.0 → v2.21.0
3. **Two push notification plugins** — OneSignal AND PushEngage both active (redundant)
4. **Two "Upload Your Content" pages** — duplicate pages
5. **Conditional Menus plugin inactive** — either activate and use or remove
6. **Mailhog for WordPress** — dev tool still active on production (should be deactivated)
7. **Blog post access logic contradiction** — functions.php bypasses private network for blog archives but also redirects non-logged users on single posts to login

---

## 10. INTERNAL TODO / PROPOSAL PLAN

### Phase 1: Within Prepaid Hours (~2 hours)

**Task 1: Context & Proposal Document (this document)** — ~30 min
- [x] Audit site: plugins, theme, pages, menus, BuddyBoss settings
- [x] Document findings
- [ ] Write client-facing proposal

**Task 2: Quick Wins — Configure Existing Features** — ~30 min
- [ ] Check OneSignal vs PushEngage — determine which is configured, recommend one
- [ ] Review BuddyPress Profile Completion settings — ensure it nudges users
- [ ] Review BuddyBoss notification settings — ensure email notifications are optimized
- [ ] Check if registration email can be enhanced with engagement CTA

**Task 3: Build First-Login Welcome Popup** — ~45 min
- [ ] Create a lightweight popup/modal triggered on first login (cookie-based)
- [ ] Welcome message + 3 action buttons: "Introduce Yourself" (links to activity), "Browse Forums", "Complete Your Profile"
- [ ] Add to child theme `custom.js` + `custom.css`
- [ ] Test with user switching

**Task 4: Create "Getting Started" Page** — ~15 min
- [ ] Create simple page with steps/guide for new users
- [ ] Link from welcome popup and registration email

### Phase 2: Proposed Small Project (quote separately)

**Option A — Small (~3-5 hours, ~$XXX):**
- Welcome popup (if not done in Phase 1)
- Getting Started page with visual steps
- Enhanced registration confirmation email
- Registration redirect to Getting Started page
- Configure push notifications properly (pick one service)

**Option B — Medium (~8-12 hours, ~$XXX):**
- Everything in Option A
- Automated welcome email sequence (Day 1, 3, 7)
- Inactive user re-engagement email (after 30/60/90 days)
- Enable and configure Social Groups component
- Basic onboarding checklist in user profile

### Proposal Structure for Client:
1. Executive summary (what we found)
2. Quick wins (free, already done or can do now)
3. Option A: Small engagement package
4. Option B: Medium engagement package
5. Recommended approach
6. Timeline

---

*Document prepared by Adi Pramono for internal use. To be used as basis for client-facing proposal.*
