Categories and Discussions
Categories and Discussions
Categories
Understanding Categories
Categories are the top-level organizational structure of your forum. They group related discussions together and help users find content easily.
Best Practices:
- Keep category count manageable (5-15 categories)
- Use clear, descriptive names
- Add helpful descriptions
- Arrange them with the display order (categories are flat — there are no subcategories)
Creating Categories
Access: Admin Panel > Discussions > Categories
- Click "New Category"
- Fill in details:
- Name - Category display name (e.g., "General Discussion")
- Slug - URL-friendly identifier (auto-generated from name)
- Description - Category description (supports Markdown)
- Icon - Category icon (Font Awesome class)
- Color - Category color (hex code)
- Order - Display order (lower numbers appear first)
- Set permissions:
- View - Who can view this category
- Post - Who can create discussions
- Reply - Who can reply to discussions
- Click "Create Category"
Category Structure Example
Flatboard categories are flat: there are no subcategories or parent categories. Organize your forum as a simple list of top-level categories, arranged with the Order field:
Announcements
General Discussion
Introductions
Off-Topic
Installation Help
Configuration
Troubleshooting
Feature Requests
Bug Reports
Code SharingEditing Categories
- Find category in list
- Click "Edit"
- Modify settings
- Click "Save"
Deleting Categories
- Click "Delete" on category
- Choose action:
- Delete All Content - Remove category and all content
- Move Discussions - Move discussions to another category
- Confirm deletion
Category Permissions
Set category-specific permissions:
- View Category - Who can see the category
- Create Discussions - Who can start discussions
- Reply to Discussions - Who can post replies
- Moderate - Who can moderate this category
Discussions
Creating Discussions
As a User:
- Navigate to a category
- Click "New Discussion"
- Fill in:
- Title - Clear, descriptive title
- Content - Discussion content (Markdown supported)
- Tags - Relevant tags (optional)
- Attachments - Upload files (if enabled)
- Click "Create Discussion"
Best Practices for Titles:
- Be specific and descriptive
- Use proper capitalization
- Avoid all caps or excessive punctuation
- Search before posting to avoid duplicates
Discussion Features
Pinning Discussions
Pin important discussions to the top:
- Open discussion
- Click "Pin" (admin/moderator only)
- Discussion appears at top of category
Locking Discussions
Lock discussions to prevent new replies:
- Open discussion
- Click "Lock" (admin/moderator only)
- Users can view but not reply
Moving Discussions
To move a discussion to another category, edit it and change its Category field (admin/moderator, or the author within the edit window). When deleting a category you can also choose Move Discussions to relocate its content instead of deleting it.
The Pro plugin FlatModerationExtend adds a dedicated Move action from the first post's dropdown, plus bulk move from the discussion list.
Deleting Discussions
- Open discussion
- Click "Delete" (admin/moderator only)
- Confirm deletion
Discussion Sorting
Users can sort the discussion list by:
- Latest - Most recently active (default)
- Newest - Most recently created
- Oldest - Oldest first
- Most Replied - Highest reply count
- Most Viewed - Highest view count
Discussion Filtering
Discussions are filtered by tag: click any tag (in a discussion row or on the public Tags page) to list every discussion that carries it — so tags double as a way to sort and browse content by topic. For broader queries (by date, or within a specific category), use the search.
Posts
Creating Posts
Posts are replies within discussions:
- Open a discussion
- Scroll to reply box
- Write your reply (Markdown supported)
- Add attachments if needed
- Click "Post Reply"
Post Features
Editing and Deleting Own Content (time limits since 5.6.0)
Members can edit or delete their own discussions and replies within configurable time windows. Moderators are never subject to these limits.
| Limit | Default | Behaviour |
|---|---|---|
discussion.edit_time_limit | 60 minutes | Window during which the author can edit their discussion |
discussion.delete_time_limit | 30 minutes | Window during which the author can delete their discussion |
post.edit_time_limit | 60 minutes | Window during which the author can edit their reply |
post.delete_time_limit | 30 minutes | Window during which the author can delete their reply |
discussion.delete_requires_no_replies | true | Block deletion of a discussion that already has replies |
discussion.edit_requires_no_replies | true | Lock-on-reply — lock the discussion (uneditable by author) as soon as any reply arrives |
post.edit_requires_no_replies | true | Lock-on-reply — lock a reply once a newer one is posted; only the most recent reply stays editable |
When a member attempts to edit/delete past the window, they see a specific message (permission.discussionEditTimeLimit, permission.postEditRequiresNoReplies, etc.) rather than a generic 403.
Configure these from Admin → Settings → Content or directly in config.json — see the Configuration guide.
Soft vs hard delete
- Own Posts — Users can delete their own posts within the time window
- Moderator Delete — Moderators can delete any post
- Soft Delete — Posts may be soft-deleted (hidden but recoverable) depending on plugin (e.g. FlatModerationExtend)
Post Reactions
Users can react to any post using emoji buttons displayed below the content. Click a reaction to toggle it; click it again to remove it. Hovering a reaction shows the count and who reacted.
Available reaction types (name, emoji, colour, display order) are configured by administrators at Admin Panel > Discussions > Reactions.
Post Mentions
Mention users in posts:
- Use
@usernamesyntax - Mentioned users receive notifications
- Mentions are clickable links
Draft Auto-save
While composing a discussion or a reply, Flatboard automatically saves a draft every few seconds. A discrete "Draft saved at HH:MM" indicator appears below the editor.
If you leave the page and return before submitting, a dialog offers to restore the saved draft (title, content, category, and tags are all restored). Declining the prompt deletes the draft. The draft is also deleted automatically when the form is submitted successfully.
Discussion Subscriptions
A bell button is displayed on every discussion page. Clicking it subscribes you to the discussion — you will receive a notification whenever a new reply is posted.
- Click Subscribe (bell icon) to follow a discussion
- Click Unsubscribe to stop receiving notifications
- Your subscriptions are listed in your profile under Subscriptions
To subscribe automatically to every discussion you create, enable Auto-subscribe to new discussions in Profile > Settings > Notifications.
Post Moderation
Moderators can:
- Edit Posts - Modify content
- Delete Posts - Remove posts (soft delete available via FlatModerationExtend)
Tags
Using Tags
Tags help organize, sort and find content:
- When creating a discussion, add tags
- Separate multiple tags with commas
- Reuse an existing tag or create a new one inline; admins can also create tags from Admin → Tags (see below)
- Tags are clickable: selecting one lists every discussion that carries it, so they act as a way to sort and filter content by topic
- The public Tags page (
/tags) shows all tags ordered by usage, as a browsable entry point
Tag Management
Access: Admin Panel > Discussions > Tags
Creating a tag from the admin (since 5.7.1)
Before 5.7.1 a tag could only be created by typing it into the Tags field of a discussion, which left the admin Tags page empty and with no obvious way to add anything on a fresh install. A Create tag button now sits in the page header and opens a modal with a name field, a FontAwesome icon picker and a colour picker, with a live preview badge. It posts to the admin-only, CSRF-protected route POST /admin/tags/create, which slugifies the name, rejects duplicates, fires the tag.created hook and reloads the list.
Editing existing tags
Since 5.4.0 the tag admin page lets you fully edit existing tags. The edit modal exposes:
| Field | Notes |
|---|---|
| Name | Display name |
| Slug | URL-friendly identifier (auto-generated from name on creation) |
| Color (since 5.3.4) | Hex value, with a live preview badge. Applied to the .flatboard-tag badge across all discussion lists and the public /tags page. WCAG relative-luminance contrast is computed so the label stays readable on light or dark backgrounds. |
| Icon (since 5.3.4) | FontAwesome class string, picked from the shared icon-picker (Solid / Regular / Brands tabs, with live search; 548 brand icons available). Replaces the hardcoded fas fa-tag fallback wherever the tag is rendered. |
Update, delete and rename all run as AJAX — the row updates in place without a page reload. The admin table also has a live search input (name/slug), a per-page selector (25/50/100/all), and client-side pagination.
Internally the count column is fed by a single batched query (countAllDiscussionsByTag()), so the page loads in two operations regardless of how many tags exist.
Tags Page Redesign (since 5.6.0)
The public /tags page used to be a flat badge cloud with no usage information. It is now a compact card grid (5+ columns on desktop):
- Each card shows the tag icon in its colour, the tag name, and the discussion count below
- Tags are sorted by discussion count descending
- A coloured left-accent bar preserves the per-tag colour
- Admin/mod delete buttons with inline confirmation are retained
Grouped Tags +N Popup on Discussion Lists (since 5.3.4)
Tags in discussion list rows are displayed in a compact stacked group — each tag overlaps the previous by 0.5rem with a body-background outline ring for visual separation. Only the first 3 tags are shown inline; a +N dashed pill badge indicates the count.
Clicking the badge opens a .flatboard-tags-overflow popup card positioned absolutely above the row with a CSS arrow and box-shadow — fully out of normal flow so the discussion layout never shifts. All overflow tags inside the popup are fully clickable links. Clicking outside the popup or pressing Escape closes it; a second click on the badge toggles it off.
Dark mode is supported via [data-bs-theme="dark"] overrides. Applied to all four discussion-item partials (premium, ClassicForum, IPB, default).
Tag Best Practices
- Use consistent naming
- Keep tag count reasonable (3-5 per discussion)
- Use descriptive, specific tags
- Review and clean up tags regularly
Search and Discovery
Search Functionality
Search by type:
- Discussions
- Posts (by content)
- Users (by username)
- Or All at once
Search Filters:
- Restrict to a specific category
- Filter by one or more tags
- Filter by date range (from / to)
Discovery Features
- Discussion list sorting - Surface recent or popular threads via the sort options (latest, newest, most replied, most viewed)
- Tags page (
/tags) - All tags ordered by usage, as a topic-based entry point - User profiles - Each member's recent discussions and replies are listed on their profile
Moderation Tools
Reports
Handle user reports:
- Access reports in admin panel
- Review reported content
- Take appropriate action:
- Dismiss invalid reports
- Warn users
- Delete content
- Ban users
Bulk Actions (requires FlatModerationExtend — Pro)
Multi-select moderation is not part of core — it is added by the Pro plugin FlatModerationExtend, from both the admin panel and the frontend discussion list:
- Bulk delete discussions
- Bulk move to another category
- Bulk lock / unlock
- Bulk pin / unpin
- Bulk hide / show and mark as solved
The same plugin also adds a shadow-ban system, a pre-moderation queue, frontend post bulk-delete, and discussion merge.
Best Practices
Category Organization
- Logical Structure - Organize by topic or purpose
- Clear Names - Use descriptive category names
- Helpful Descriptions - Explain category purpose
- Reasonable Count - Don't create too many categories
Discussion Management
- Clear Titles - Descriptive discussion titles
- Proper Categorization - Place in correct category
- Use Tags - Tag appropriately
- Moderate Actively - Handle reports and issues
Content Quality
- Encourage Quality - Guide users to post well
- Set Guidelines - Create posting guidelines
- Moderate Fairly - Consistent moderation
- Engage Community - Participate in discussions
Troubleshooting
Discussion Not Appearing
Check:
- Category permissions
- User permissions
- Discussion is not deleted
- Cache issues
Can't Create Discussion
Check:
- User has create permission
- Category allows new discussions
- Rate limiting not blocking
- User is not banned
Search Not Working
Solution:
- Clear search cache
- Rebuild search index
- Check search permissions
- Verify search configuration
Resources
- Admin Panel Guide - Administration interface
- Users and Groups - User management
- Security Guide - Security and permissions
- Troubleshooting - Common issues
Last updated: June 10, 2026