Admin Quick Reference - jra3/mulm GitHub Wiki
Admin Quick Reference
One-page cheat sheet for common admin tasks in the Mulm platform.
Quick Navigation
| Task | URL |
|---|---|
| Approval Queue | /admin/queue/fish (or /plant, /coral) |
| Witness Queue | /admin/witness-queue/fish |
| Waiting Period Monitor | /admin/waiting-period/fish |
| Member Roster | /admin/members |
Approving Submissions
Quick Approval Steps
- Navigate to queue:
/admin/queue/fish - Review submission details (click "View")
- Assign points: 5, 10, 15, or 20
- Enter canonical name:
- Canonical Genus: e.g., "Poecilia"
- Canonical Species: e.g., "reticulata"
- Check bonuses:
- ☑ First-time species (+5 pts or more)
- ☑ Flowered (plants - doubles points)
- Article points: 0-5
- Click "Approve Submission"
Point Values Quick Reference
| Points | Difficulty | Examples |
|---|---|---|
| 5 | Easy | Guppies, Java Fern, Easy corals |
| 10 | Moderate | Tetras, Anubias, Moderate corals |
| 15 | Difficult | Discus, Crypts, Difficult corals |
| 20 | Very Difficult | Rare species, Marine fish |
Witness Confirmation
Confirming a Witness
When witness HAS verified:
- Go to
/admin/witness-queue/{program} - Find submission
- Click "Confirm Witness"
- Submission moves to approval queue
Declining a Witness
When witness NEEDS more documentation:
- Click "Request More Documentation"
- Edit template message:
Additional documentation is needed to verify this spawn. • Please provide images showing the fry/plantlets/frags • Photos of the parents will also be helpful - Click "Send Request"
- Member receives email with feedback
Requesting Changes
When to Use
Request changes if:
- ❌ Species name is misspelled
- ❌ Tank parameters seem incorrect
- ❌ Missing critical information
- ❌ Need photos for verification
How to Request
- From approval queue, click "Request Changes"
- Add feedback below the auto-generated summary
- Click "Send Request"
- Submission returns to draft (7-day waiting period starts)
Member Management
Common Member Tasks
| Task | Steps |
|---|---|
| Edit member details | Members page → Edit → Change name/email → Save |
| Toggle admin status | Members page → Edit → Check "Is Admin" → Save |
| Check levels | Members page → "Check Levels" button |
| Check specialty awards | Members page → "Check Specialty Awards" button |
| Send welcome email | Members page → "Send Welcome" button (if no login credentials) |
| Invite new member | Members page → "Invite Member" → Enter email/name → Send |
Admin Notes
Adding Notes
- View submission detail page
- Scroll to "Admin Notes" section
- Type note in text area
- Click "Add Note"
When to Add Notes
- Document communication with member
- Record approval decisions
- Note concerns or follow-up items
- Track submission history
Example:
2025-10-07: Member confirmed via email that spawn was witnessed.
Proceeding with approval.
Program-Specific Rules
Fish (BAP)
Waiting Period: 60 days (30 days for marine) Minimum Offspring: 6 fry Verification: Witness within 7 days of free-swimming
Plants (HAP)
Waiting Period: 60 days Flowering Bonus: Doubles base points Verification: Witness within 7 days of cutting
Corals (CAP)
Waiting Period: 60 days Verification: Witness within 7 days of cutting
Level Requirements (Quick Reference)
Fish Levels
| Level | Points | Category Requirements |
|---|---|---|
| Hobbyist | 25 | None |
| Breeder | 50 | ≥20pts from 10/15/20pt |
| Advanced Breeder | 100 | ≥40pts from 15/20pt |
| Master Breeder | 300 | ≥30pts each 5/10/15pt, ≥40pts 20pt |
| Grand Master | 500 | None |
| Adv. Grand Master | 750 | ≥60pts 5/10/15pt, ≥80pts 20pt |
| Sr. Grand Master | 1000 | ≥80pts 5/10/15pt, ≥100pts 20pt |
| Premier | 1500 | None |
| Sr. Premier | 2000 | None |
| Grand Poobah Yoda | 4000 | None |
Plant Levels
| Level | Points | Requirements |
|---|---|---|
| Beginner Horticulturist | 25 | None |
| Aquatic Horticulturist | 50 | ≥20pts from 10/15/20pt |
| Senior Horticulturist | 100 | ≥40pts from 15/20pt |
| Expert Horticulturist | 300 | ≥30pts each 5/10/15pt, ≥40pts 20pt |
| Master Horticulturist | 500 | None |
| Grand Master Hort. | 750 | ≥60pts 5/10/15pt, ≥80pts 20pt |
| Sr. Grand Master Hort. | 1000 | ≥80pts 5/10/15pt, ≥100pts 20pt |
| Premier Horticulturist | 1500 | None |
| Sr. Premier Hort. | 2000 | None |
Coral Levels
| Level | Points |
|---|---|
| Beginner Propagator | 25 |
| Coral Propagator | 50 |
| Senior Propagator | 100 |
| Expert Propagator | 300 |
| Master Propagator | 500 |
| Grand Master Prop. | 750 |
| Sr. Grand Master Prop. | 1000 |
Specialty Awards
Requirements: 5 unique species per category
Categories:
- Anabantoids, Catfish, Characins, Killifish, Livebearers
- New World Cichlids, Old World Cichlids, Cyprinids
- Brackish Water, Marine Fish, Marine Inverts & Corals
Meta Awards:
- Senior Specialist: 3 specialty awards
- Expert Specialist: 5 specialty awards
Common Commands (Production)
View Logs
ssh BAP "sudo docker logs basny-app --tail 100 -f"
Restart App
ssh BAP "cd /opt/basny && sudo docker-compose -f docker-compose.prod.yml restart app"
Check Database
ssh BAP "sqlite3 /mnt/basny-data/app/database/database.db 'SELECT COUNT(*) FROM submissions WHERE submitted_on IS NOT NULL AND approved_on IS NULL;'"
Create Backup
ssh BAP "sqlite3 /mnt/basny-data/app/database/database.db '.backup /tmp/backup-$(date +%Y%m%d).db'"
Troubleshooting Quick Fixes
| Problem | Quick Fix |
|---|---|
| Submission won't approve | Check canonical genus/species are filled in |
| Level not updating | Click "Check Levels" next to member |
| Email not sending | Check member's email address, verify SMTP config |
| Points don't match | Check for unapproved submissions (don't count) |
| Queue is empty but submissions exist | Check submissions are submitted (not drafts) |
Useful Database Queries
Check Pending Submissions
SELECT COUNT(*) FROM submissions
WHERE submitted_on IS NOT NULL
AND approved_on IS NULL
AND denied_on IS NULL;
Find Submissions Awaiting Witness
SELECT * FROM submissions
WHERE witnessed_by IS NOT NULL
AND witness_verification_status = 'pending';
Member Point Total
SELECT SUM(points) as total
FROM submissions
WHERE member_id = 123
AND program = 'fish'
AND approved_on IS NOT NULL;
Recent Activity
SELECT * FROM activity_feed
ORDER BY created_at DESC
LIMIT 20;
Full Documentation
For detailed information, see:
- Admin User Guide - Complete admin documentation
- Program Rules - Official program rules
- Troubleshooting - Common issues
Print or bookmark this page for quick reference!