Files
Jonathan Miller 29bc7ead7e
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Universal: Cascade Main → Dev / Cascade main → branches (push) Successful in 2s
Generic: Repo Health / Release configuration (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
feat: initial MokoJoomCommunity platform with full feature set
Community profiles, connections, and activity streams for Joomla —
replacing Community Builder with native Joomla 5/6 architecture.

Core platform:
- Profiles with custom fields (EAV), avatars, and bio
- Bidirectional connections with approval workflow
- User lists/directory configurations
- DI container pattern, SubscriberInterface, PSR-4 namespaces

Registration Guard (ported from MokoCBRegGuard):
- 8 spam detection checks: IP frequency, StopForumSpam, DNSBL,
  subnet burst, email domain, username patterns, IP reputation, birthday
- Weighted risk scoring with configurable thresholds
- Dual-mode: blocks high-risk before save, logs medium-risk after save
- Email notifications for flagged registrations

Field Privacy (ported from MokoCBPrivacy):
- Per-user Facebook-style field visibility overrides
- Privacy levels: public, registered, friends, private
- Floor enforcement: users can only tighten, never loosen admin defaults
- GDPR-ready export and delete methods

Activity Stream (Facebook-style):
- User-authored status posts with per-post visibility
- Facebook 6 reactions (like, love, haha, wow, sad, angry)
- 2-level threaded comments (comments + replies)
- Three feed types: news feed, community, profile
- Denormalized like/comment counts

Discussion Forum:
- Categories with sub-categories and ordering
- Topics with sticky, locked, status, view counts
- Threaded replies with post likes
- Read tracking via high-water mark (unread indicators)
- Activity stream integration for new topics/replies

User Groups (Facebook Groups / CB GroupJive):
- Three group types: open, closed, secret
- Role hierarchy: owner, admin, member
- Membership state machine: pending, active, invited, banned
- Group wall with posts, likes, flat comments
- Member management with approve/remove
- Secret groups hidden from non-member discovery

Infrastructure:
- 21 database tables with proper indexes
- 5 versioned SQL migrations (01.00.00–01.04.00)
- PHPStan level 5, Joomla coding standards
- 13 Gitea CI workflows
- Atomic user cleanup (all data removed in transaction on deletion)

Authored-by: Moko Consulting

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-06-02 10:15:05 -05:00

2 lines
45 B
HTML

<html><body bgcolor="#FFFFFF"></body></html>