Skip to content

Multi-User System

This document describes Rondo Club’s multi-user setup, user management, and provisioning.

Rondo Club uses a shared access model: all authenticated users can see and edit all data. This makes it ideal for teams collaborating on a shared contact database.

Key features:

  • Multiple users can access the same Rondo Club installation
  • All logged-in users see all contacts, teams, dates, and todos
  • Users can be created manually by administrators or provisioned from person records
  • User activity is tracked via post author and note author fields
  • Person records and WordPress users are bidirectionally linked

Rondo Club creates a custom WordPress role called “Rondo User” (rondo_user).

Capabilities:

  • Create, edit, and delete people, teams, dates
  • Upload files (photos, logos)
  • Access the Rondo Club frontend

Restrictions:

  • Cannot access WordPress admin settings
  • Cannot manage other users
  • Cannot install plugins or themes

WordPress administrators (manage_options capability):

  • Full access in both frontend and WordPress admin
  • Can manage other users
  • Can provision new user accounts from person records

Sportlink “functies” (club-level roles) can be mapped to Rondo permission roles via the Functie-Capability Map. This allows specific members to access features like financial settings without being full administrators.

Administrators can create WordPress user accounts directly from a person’s detail page. This links the person record to a WP user account and optionally sends a welcome email.

See User Provisioning for full details.

Key concepts:

  • Bidirectional linking - Person records store _rondo_wp_user_id, WP users store rondo_linked_person_id
  • AccountCard - Admin-only UI component on person detail pages for managing the linked user account
  • Welcome email - Configurable email template sent when provisioning a new user
  • KNVB ID - Stored on the WP user as _rondo_knvb_id for cross-referencing

Person response includes:

FieldTypeDescription
linked_user_idint|nullWordPress user ID linked to this person
welcome_email_sent_atstring|nullISO timestamp of when welcome email was sent

Users list includes:

FieldTypeDescription
linked_person_idint|nullPerson post ID linked to this user
linked_person_namestring|nullDisplay name of the linked person

All users share:

  • People - All contact records
  • Teams - All team/company records
  • Todos - All todo items
  • Notes - Shared notes on contacts (private notes remain private)

Notes can be marked as private or shared:

  • Shared notes - Visible to all users viewing the contact
  • Private notes - Only visible to the author

Toggle visibility when creating or editing a note.

The system tracks:

  • Post author - Who created a contact, team, or date
  • Note author - Who wrote a note
  • Activity timestamps - When changes were made

This information is visible in the UI for accountability.

The daily reminder email includes:

  • Upcoming birthdays
  • Overdue todos
  • Recent activity on contacts (notes added in last 24 hours)

Configure digest delivery in Settings > Notifications.