Jonathan Miller 8db8c2c477
Generic: Repo Health / Site Health (push) Has been skipped
Universal: Cascade Main → Dev / Cascade main → branches (push) Successful in 1s
Generic: Repo Health / Access control (push) Successful in 1s
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
Generic: Repo Health / Report Issues (push) Has been cancelled
feat: critical v1.0 gaps — profile edit, connections, user directory, admin model
Profile Edit (#80 + #83):
- ProfileController::save() handles bio, avatar upload, field values,
  privacy preferences, and digest frequency in one form submit
- profile/edit.php template: avatar upload, bio textarea, all custom
  fields with per-field privacy selector, digest toggle, account links
- Links to Joomla account settings for password/email change (#83)

Connection Management (#81):
- ConnectionController: request, accept, decline, remove with CSRF
- ConnectionModel: getPending(), getAccepted(), getSent() with user info
- Connections HtmlView + tabbed template (Connections/Pending/Sent)
- Accept/decline buttons, remove with confirmation
- Notifications on connection request/accept

User Directory (#82):
- ProfilesModel: search by name/username, sort (newest/name/active/popular)
- ProfilesHtmlView + card grid template with pagination
- Search bar + sort dropdown
- Avatar display with initial fallback

Admin CRUD Foundation (#79):
- FieldsModel with methods for all admin entities:
  getFields(), getFieldGroups(), getForumCategories(), getGroups(),
  getEvents(), getReports(), getVerifications()
- Admin view directories created for Fields, ForumCategories, Groups,
  Events, Reports, Verifications

Language strings: 13 new keys for profile edit, connections, directory

Authored-by: Moko Consulting

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

MokoJoomCommunity

Community profiles, connections, and activity streams for Joomla 5/6 — fork of Community Builder

A modern, Joomla-native community platform built on Joomla 5's service container architecture. Provides user profiles with custom fields, social connections, activity streams, and extensible profile tabs.

Features

  • Custom Profile Fields — Extensible field system (text, textarea, select, date, image, URL, social links)
  • User Connections — Follow/friend system with connection requests and approvals
  • Activity Streams — Track and display user activity (profile updates, new connections, content)
  • Profile Tabs — Tabbed profile pages with plugin-based tab extensions
  • User Lists — Searchable, filterable user directories with custom list layouts
  • Privacy Controls — Per-field visibility (public, registered, friends, private)
  • Avatar Management — Upload, crop, and resize profile images
  • Admin Dashboard — Manage users, fields, field groups, lists, and connections
  • Extensible — Add custom profile tabs, field types, and activity providers via plugins

Requirements

  • Joomla 5.0+ or 6.0+
  • PHP 8.1+

Installation

  1. Download the latest pkg_mokojoomcommunity-*.zip from Releases
  2. Install via Joomla → System → Install → Extensions
  3. Navigate to Components → MokoJoomCommunity to configure

Architecture

This is a Joomla package containing three sub-extensions:

Extension Type Purpose
com_mokojoomcommunity Component Core — profiles, fields, connections, activity, admin
plg_system_mokojoomcommunity System Plugin SEF routing, profile redirects, toolbar integration
plg_user_mokojoomcommunity User Plugin User event handling — profile creation, cleanup, sync

License

GPL-3.0-or-later — see LICENSE

Credits

S
Description
Community profiles, connections, and activity streams for Joomla
Readme GPL-3.0
641 KiB
Languages
PHP 74.1%
XML 7.8%
INI 6.3%
SQL 6.3%
Markdown 3.1%
Other 2.3%