Madmin Admin Interface

Platform administration and data management

What is Madmin?

Madmin is a powerful administrative interface that provides platform administrators with direct access to view and manage all data across the entire platform. It's a separate admin dashboard that goes beyond account-level permissions, offering deep visibility into users, accounts, content, and system data.

Important: Madmin access is restricted to platform administrators only. This is NOT the same as having the "Admin" role within an account.

Who Can Access Madmin?

Platform Administrator Flag

Madmin access requires a special admin flag on your user account:

  • This is a database-level boolean flag, not a role
  • Completely separate from account-level Owner/Admin roles
  • Grants platform-wide administrative access
  • Only the platform owner or developers should have this flag

How It's Different from Account Admin

Feature Account Admin Role Madmin (Platform Admin)
Scope Single account only All accounts, entire platform
Data Access Own account's data All data across all accounts
User Management Account members only All platform users
Assignment By account owner Database flag by developer

Accessing Madmin

How to Access

If you have Madmin access:

  1. Navigate to /madmin in your browser
  2. Or click the "Admin" or "Madmin" link in your user menu (if present)
  3. You'll see the Madmin dashboard

If you don't have access, you'll be redirected or see an access denied error.

The Madmin Interface

The Madmin dashboard shows:

  • Navigation sidebar with all manageable resources
  • Search and filter tools
  • Quick stats and overview
  • Links to manage different data types

What You Can Manage in Madmin

Users

View and manage all platform users:

  • See all registered users across all accounts
  • View user details (name, email, sign-in dates, etc.)
  • Search and filter users
  • View which accounts a user belongs to
  • See user activity and contributions
  • Edit user information if needed
  • Deactivate or delete users

Accounts

Manage all accounts (Global, Personal, Team):

  • View all accounts on the platform
  • See account type, owner, and member count
  • View account members and their roles
  • Edit account details
  • Delete accounts (be very careful!)

Community Spaces

Manage community spaces across all accounts:

  • View all spaces platform-wide
  • See which account each space belongs to
  • Edit space details
  • Delete spaces and their content
  • Moderate space posts

Space Posts and Comments

Manage all posts and comments:

  • View all posts across all spaces
  • Search posts by content, author, or space
  • Edit or delete inappropriate content
  • View post votes and engagement
  • Manage comments on posts

Channels and Messages

Manage group chat channels and messages:

  • View all channels across all accounts
  • See channel membership and activity
  • Browse channel messages (privacy consideration!)
  • Delete channels or specific messages if needed
  • Moderate inappropriate content

Direct Conversations

Manage direct message conversations:

  • View all conversations platform-wide
  • See conversation participants
  • View message counts and activity
  • Delete conversations if necessary (privacy consideration!)

Courses and Lessons

Manage the learning platform content:

  • View all courses across all accounts
  • Edit course details
  • Manage lessons within courses
  • View enrollments and progress
  • Delete courses or lessons

Categories

Manage categorization systems:

  • Community categories for spaces
  • Course categories
  • Age group categories
  • Create, edit, and delete categories

Announcements

Send platform-wide announcements to all users:

  • Create announcements that notify all platform users
  • Write important updates or messages
  • All users receive a notification when an announcement is published
  • Announcements appear in users' notification feeds
  • Useful for maintenance notices, new features, or important updates

Other Resources

Depending on your platform configuration, you may also manage:

  • Notifications
  • Subscriptions and billing records
  • API tokens
  • System settings

Common Madmin Tasks

Finding a Specific User

  1. Click Users in Madmin sidebar
  2. Use the search box to find by name or email
  3. Click on the user to view details
  4. See their accounts, activity, and records

Deleting Inappropriate Content

  1. Navigate to the relevant resource (Posts, Comments, Messages)
  2. Find the content using search or filters
  3. Click on the record to view details
  4. Click "Delete"
  5. Confirm the deletion

Warning: Deletions are permanent and cannot be undone!

Reviewing Account Activity

  1. Click Accounts in Madmin
  2. Select the account you want to review
  3. View members, spaces, channels, and courses
  4. Check activity levels and content

Managing Course Content

  1. Click Courses in Madmin
  2. Find the course to manage
  3. Edit details, add/remove lessons
  4. View enrollments and completions

Sending Platform Announcements

  1. Click Announcements in Madmin sidebar
  2. Click "New Announcement"
  3. Write your announcement message
  4. Click "Create Announcement"
  5. All platform users will receive a notification immediately

Use announcements for:

  • Platform maintenance notifications
  • New feature announcements
  • Important policy updates
  • System-wide messages

Madmin Features

Search and Filtering

Powerful search capabilities:

  • Search by text, dates, or specific fields
  • Filter by account, status, or category
  • Sort results by various columns
  • Export data (if enabled)

Bulk Operations

Perform actions on multiple records:

  • Select multiple items
  • Apply bulk actions (delete, update status, etc.)
  • Useful for cleanup and maintenance

Detailed Views

Click any record to see:

  • All associated data
  • Relationships to other records
  • Activity timestamps
  • Edit and delete options

Best Practices

Use Madmin Responsibly

  • Madmin provides powerful access - use it carefully
  • Only view user data when necessary
  • Respect user privacy at all times
  • Don't edit data unless you have a good reason
  • Document significant changes you make

Privacy Considerations

  • You can see private messages and conversations
  • This access is for administrative purposes only
  • Never share private user information
  • Comply with privacy laws and regulations
  • Only access what's needed to resolve issues

Content Moderation

  • Establish clear moderation guidelines
  • Be consistent in enforcement
  • Document why content was removed
  • Consider warnings before deletion
  • Communicate with users when appropriate

Data Management

  • Be very careful with delete operations
  • Verify you're deleting the correct item
  • Understand cascading deletes (deleting an account deletes all its content)
  • Consider deactivation instead of deletion when possible
  • Keep backups before major operations

Security and Access Control

Route Protection

Madmin routes are protected by authentication:

  • Must be logged in with an admin-flagged user
  • Routes use authenticated :user, lambda { |u| u.admin? }
  • Non-admin users cannot access Madmin URLs
  • Access attempts are logged

Limiting Madmin Access

To protect your platform:

  • Grant admin flag to as few users as possible
  • Only trusted platform administrators should have access
  • Regularly audit who has admin access
  • Remove admin flag when no longer needed
  • Use strong passwords and 2FA for admin users

Technical Details

Madmin Resources

Madmin resources are defined in /app/madmin/resources/:

  • Each resource corresponds to a database model
  • Resources define which fields are displayed and editable
  • Scopes and filters can be customized
  • Actions and bulk operations can be added

Routes

Madmin routes are defined separately:

  • Loaded via draw :madmin in main routes
  • Only loaded for authenticated admin users
  • Typically mounted at /madmin

Troubleshooting

Can't Access Madmin?

  • Ensure you have the admin flag set on your user account
  • Make sure you're logged in
  • Check that Madmin is enabled for your environment
  • Contact a developer if you need admin access

Can't See Certain Data?

  • Some data may be hidden or filtered
  • Check search and filter settings
  • The data may have been deleted
  • Resource may not be configured in Madmin

Changes Not Saving?

  • Check for validation errors
  • Ensure you have permission to edit the field
  • Some fields may be read-only
  • Review server logs for error details

When to Use Madmin vs. Account Admin

Use Account Admin Interface For:

  • Day-to-day account management
  • Managing members within your account
  • Creating and organizing content
  • Normal administrative tasks

Use Madmin For:

  • Platform-wide oversight
  • Cross-account data queries
  • Resolving user issues across accounts
  • Content moderation requiring broad access
  • System maintenance and cleanup
  • Investigating platform-wide issues

Requesting Admin Access

If you need Madmin access, contact the platform developer. Madmin access requires a special database flag that can only be set by the development team.

Note: Madmin access should only be granted to trusted platform administrators who need platform-wide oversight capabilities.

Related Documentation