Skip to main content

Configuring User Profiles

Overview

Sociable provides a flexible profile system that supports different profile types for different user groups. Each profile type can have its own set of custom fields, allowing you to collect different information from different types of users (e.g., Teachers vs. Students, Buyers vs. Sellers).

Profile Features

Each user profile in Sociable includes:

  • Display Name - User's public display name
  • Handle - Unique username (e.g., @johndoe)
  • Avatar - Profile picture with automatic resizing
  • Cover Image - Banner image for the profile header
  • Bio - Short description (configurable max length)
  • Location - User's location
  • Website - Personal website URL
  • Birthdate - Date of birth
  • Gender - User's gender
  • Social Links - Links to external social profiles
  • Custom Fields - Additional fields based on profile type

Profile Privacy Settings

Users can control their profile visibility:

SettingDescription
PublicProfile visible to everyone
FriendsProfile visible only to friends/connections
PrivateProfile visible only to the user

Individual profile fields can also have their own privacy settings, allowing users to share some information publicly while keeping other details private.

Setting Up Profile Types

Step 1: Plan Your Profile Types

Before creating profile types, identify the different categories of users on your site and what information you need from each:

Example for an educational site:

  • Teachers - Bio, experience, qualifications, subjects, office hours
  • Students - Major, year of study, interests, courses enrolled

Example for a marketplace:

  • Buyers - Interests, wishlist preferences
  • Sellers - Business name, product categories, contact info

Step 2: Create Field Groups

Field groups organize related custom fields together and appear as sections on the profile page.

  1. Go to Components → Sociable → Field Groups
  2. Click New to create a new field group
  3. Configure the field group:
    • Title - Section heading displayed on profile
    • Description - Optional description
    • Ordering - Display order
    • Published - Enable/disable the group

Example field groups:

  • "Professional Information" - for work-related fields
  • "Education" - for academic fields
  • "Interests" - for hobby-related fields

Step 3: Create Custom Fields

Custom fields are the building blocks of extended profile information.

  1. Go to Components → Sociable → Profile Fields
  2. Click New to create a new field
  3. Configure the field:
OptionDescription
NameInternal field identifier (no spaces)
LabelDisplay label shown to users
Field TypeType of input (text, select, checkbox, etc.)
Field GroupWhich group this field belongs to
RequiredWhether the field is mandatory
Default ValuePre-filled value
PlaceholderInput placeholder text
Field OptionsOptions for select/radio/checkbox fields (JSON)
OrderingDisplay order within the group
PublishedEnable/disable the field

Supported Field Types:

TypeDescription
textSingle-line text input
textareaMulti-line text input
selectDropdown selection
radioRadio button selection
checkboxSingle checkbox (yes/no)
checkboxesMultiple checkbox options
calendarDate picker
urlURL input with validation
emailEmail input with validation
telPhone number input
numberNumeric input
editorRich text editor
mediaFile/image upload

Step 4: Create Profile Types

Profile types define which field groups appear for different user categories.

  1. Go to Components → Sociable → Profile Types
  2. Click New to create a new profile type
  3. Configure the profile type:
    • Title - Name of the profile type
    • Description - Description for admin reference
    • Field Groups - Select which field groups to include
    • Default - Set as the default for new users
    • User Groups - Automatically assign to specific Joomla user groups
    • Published - Enable/disable the profile type

Important: At least one profile type should be marked as "Default" to ensure new users get assigned a profile type automatically.

Step 5: Enable User Plugin

Ensure the User - Sociable plugin is enabled for automatic profile creation:

  1. Go to System → Manage → Plugins
  2. Search for "User - Sociable"
  3. Enable the plugin if not already enabled
  4. Configure plugin settings:
SettingDescription
Auto Create ProfileAutomatically create profile on user registration
Default PrivacyDefault profile visibility for new users
Sync AvatarSync avatar from Gravatar or Joomla profile
Delete Profile on User DeleteRemove Sociable profile when Joomla user is deleted

Profile Settings Configuration

Configure global profile settings in Components → Sociable → Settings → Profiles:

SettingDescription
Allow RegistrationAllow new users to register through Sociable
Require ApprovalNew registrations require admin approval
Default VisibilityDefault privacy setting for new profiles
Allow Custom HandleLet users choose their own @handle
Minimum Handle LengthMinimum characters for handles
Max Bio LengthMaximum characters allowed in bio

Managing User Profiles

Admin Profile Management

Administrators can manage profiles from Components → Sociable → Users:

  • View/Edit - Modify user profile information
  • Verify - Mark a profile as verified (shows badge)
  • Ban/Unban - Restrict user access
  • Change Profile Type - Assign a different profile type
  • Sync - Manually sync with Joomla user data

Bulk User Sync

To sync all existing Joomla users with Sociable profiles:

  1. Go to Components → Sociable → Users
  2. Click Sync Users in the toolbar
  3. Wait for the process to complete

This creates Sociable profiles for all Joomla users who don't already have one.

Avatar Configuration

Sociable generates multiple avatar sizes for different contexts:

SizeDimensionsUsage
1616×16 pxInline mentions
3232×32 pxSmall lists
4848×48 pxComments
6464×64 pxActivity feed
9696×96 pxProfile cards
128128×128 pxMedium profile
160160×160 pxProfile header
192192×192 pxLarge display
256256×256 pxFull-size preview

Profile Verification

Verified profiles display a badge to indicate authenticity:

  1. Go to Components → Sociable → Users
  2. Select the user to verify
  3. Toggle the Verified status
  4. Save changes

Verified users appear with a verification badge throughout the site.

SDK Integration

Developers can access profile data via the Sociable SDK:

$sociable = Sociable::getInstance();

// Get profile by user ID
$profile = $sociable->profiles()->getById($userId);

// Get profile by handle
$profile = $sociable->profiles()->getByHandle('johndoe');

// Get avatar URL
$avatarUrl = $sociable->avatars()->getUrl($userId, 64);

// Search profiles
$results = $sociable->profiles()->search([
'search' => 'john',
'profile_type_id' => 1,
'limit' => 20,
]);

Next Steps