Profiles for Joomla! is a Joomla 6 extension suite for managing person and organization profiles with category-driven policies, native custom fields support, public directory pages, and optional automation plugins.
It provides a standalone profile domain separate from com_users, while still supporting optional user linkage, action logging, privacy integration, and auto-profile creation workflows.
- Standalone profile records independent from
com_users - Category-driven profile types for people and legal entities
display_namegeneration controlled by category patterns- Per-category user-link policy support
- Native Joomla publication states and ACL-aware access
- Native
com_fieldssupport with WAF-safe contextcom_joomlalabs_profiles.record - Administrator CRUD with filters, search tools, modal selectors, and version history
- Action Log plugin integration
- Privacy plugin integration
- Optional user plugin for automatic profile creation and synchronization
- Public directory menu type with filtering and category-aware navigation
- Public single profile menu type
- SEF routing for directory and profile pages with nested category segments
- Breadcrumb support aligned to Joomla menu context
- Menu-driven profile layout selection (
default,cards,tabs)
- Joomla 6.0+ architecture
- PSR-4 namespacing and service provider wiring
- PHP 8.1+ compatible codebase
- Ant build pipeline for package generation
- Package postflight enabling recommended plugins automatically
| Software | Minimum | Recommended |
|---|---|---|
| Joomla! | 6.0.0 | 6.0+ |
| PHP | 8.1+ | 8.2 or 8.3 |
| Database | MySQL 8 / MariaDB 10.5+ | MariaDB 10.5+ |
Joomla configuration:
- Custom Fields component enabled
- Action Log recommended
- Privacy tools recommended
- Search Tools enabled in administrator UI
- Download the latest release package from GitHub Releases
- In Joomla Administrator, go to System β Extensions β Install
- Upload the package ZIP generated from this repository
- After installation, verify that the package enabled the recommended plugins
- Review component options and category configuration
- Create or review the categories used as profile types
- Configure
display_name_patternand user-link policies per category - Review installed custom field groups and baseline fields
- Create a
Directorymenu item to expose the public listing - Optionally create
Single Profilemenu items for curated profile pages
For detailed installation and development setup instructions, see INSTALLATION.md.
Use the directory menu type when you want a browsable public index of profiles.
Typical flow:
- Create a menu item of type
Directory - Choose the root category for navigation
- Configure whether subcategories and filters are shown
- Choose the profile layout used when opening a profile from the directory
Use the single profile menu type when you want a direct menu item for one published profile.
Typical flow:
- Create a menu item of type
Single Profile - Select a published profile from the modal selector
- Choose the preferred frontend layout
- Publish the menu item
If enabled, the user plugin can automatically create or update profile records in response to Joomla user events, depending on category rules and plugin configuration.
The component uses category metadata to control business rules instead of hardcoding profile types in PHP.
Examples:
- Person:
display_name_pattern = {first-name} {last-name} - Legal Entity:
display_name_pattern = {company-name} - User linking can be optional or required, single or multiple, per category
The frontend combines Joomla menu context with extension-aware routing:
- Directory pages use category-rooted navigation
- Profile detail pages support SEF URLs with nested category segments
- Breadcrumbs add category context only when browsing from a directory menu item
- Single profile menu items avoid duplicating the current profile in the pathway
The distribution package contains:
- Component:
com_joomlalabs_profiles - Plugin:
plg_user_joomlalabs_profiles_autoprofile - Plugin:
plg_privacy_joomlalabs_profiles - Plugin:
plg_actionlog_joomlalabs_profiles
If you find this project useful, consider supporting its development:
Your support helps maintain and improve this project!
Made with β€οΈ for the Joomla! Community
β If this project helped you, please consider giving it a star! β


