Runtime-only identity display overrides for Open Source Social Network (OSSN).
This component lets the admin pick a global identity display mode and (optionally) allows users to choose a default + per-context overrides for how their name is shown across the site.
-
Identity formats
full_nameusernameat_username
-
Contexts (“places”)
feedcommentsprofileuserlistglobal(user default)
-
Resolution order
- Admin global default
- If user overrides are enabled:
- Per-context override (feed/comments/profile/userlist)
- User default (“global”)
- Fallback to admin default
-
Runtime-only
- No DB schema changes
- No custom user fields
- Uses OSSN hooks and annotations
-
White theme compatible
- Updates both
$user->fullnameand$user->first_nameat runtime.
- Updates both
-
Copy the component folder into:
.../ossn/components/IdentityManager/
-
In OSSN Admin panel:
- Components → enable IdentityManager
-
Configure:
- Administrator → Identity Manager
- Set default mode and enable/disable user overrides.
When enabled by admin:
- Go to: Profile → Edit → Identity Manager
- Set:
- Default identity display preference (used unless overridden)
- Optional overrides for Feed, Comments, Profile, User lists
User preferences are stored as a single OSSN annotation:
type:identitymanager_prefowner_guid:<user_guid>subject_guid:<user_guid>
Fields (stored on annotation data):
idm_mode_globalidm_mode_feedidm_mode_commentsidm_mode_profileidm_mode_userlist
- Main runtime mutation is done via:
ossn_add_hook('user', 'get', ...)
- Display applied by overwriting (runtime):
$user->fullname$user->first_name
- True full name is restored via DB lookup helper when needed:
jb_idm_db_fullname($guid, $fallback)
- If you see HTTP 500 after editing:
- run
php -lon component PHP files - check for duplicate function definitions
- run
- If user tab doesn’t appear:
- ensure admin enabled "Allow users to choose…"
- ensure you’re logged in and using Profile → Edit
Choose a license (MIT/Apache-2.0/GPL/etc.) and add a LICENSE file.



