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:
- Navigate to
/madminin your browser - Or click the "Admin" or "Madmin" link in your user menu (if present)
- 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
- Click Users in Madmin sidebar
- Use the search box to find by name or email
- Click on the user to view details
- See their accounts, activity, and records
Deleting Inappropriate Content
- Navigate to the relevant resource (Posts, Comments, Messages)
- Find the content using search or filters
- Click on the record to view details
- Click "Delete"
- Confirm the deletion
Warning: Deletions are permanent and cannot be undone!
Reviewing Account Activity
- Click Accounts in Madmin
- Select the account you want to review
- View members, spaces, channels, and courses
- Check activity levels and content
Managing Course Content
- Click Courses in Madmin
- Find the course to manage
- Edit details, add/remove lessons
- View enrollments and completions
Sending Platform Announcements
- Click Announcements in Madmin sidebar
- Click "New Announcement"
- Write your announcement message
- Click "Create Announcement"
- 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 :madminin 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.