Forum Configuration Reference
This page documents all Channel (forum) configuration fields.
Channel Fields
Basic Information
| Field | Type | Description |
|---|---|---|
uniqueName | String! | URL-friendly identifier (cannot be changed) |
displayName | String | User-facing name |
description | String | Channel description |
channelIconURL | String | Channel icon image URL |
channelBannerURL | String | Channel banner image URL |
rules | JSON | Channel-specific rules (Markdown) |
createdAt | DateTime | Creation timestamp |
Feature Toggles
| Field | Type | Default | Description |
|---|---|---|---|
eventsEnabled | Boolean | true | Allow event creation |
wikiEnabled | Boolean | true | Enable wiki section |
feedbackEnabled | Boolean | true | Allow moderator feedback comments |
downloadsEnabled | Boolean | true | Allow downloadable files |
emojiEnabled | Boolean | true | Allow emoji reactions |
imageUploadsEnabled | Boolean | true | Allow direct image uploads |
markdownImagesEnabled | Boolean | true | Allow markdown image URLs |
markAsAnsweredEnabled | Boolean | true | Allow marking best answers |
Lock Status
| Field | Type | Description |
|---|---|---|
locked | Boolean | Whether channel is locked |
lockedAt | DateTime | When channel was locked |
lockReason | String | Reason for locking |
LockedBy | ModerationProfile | Who locked the channel |
File Settings
| Field | Type | Description |
|---|---|---|
allowedFileTypes | [String] | Allowed file extensions (overrides server) |
Relationships
Content
| Relationship | Target | Description |
|---|---|---|
DiscussionChannels | [DiscussionChannel] | Discussions in this channel |
EventChannels | [EventChannel] | Events in this channel |
Comments | [Comment] | Comments in this channel |
WikiHomePage | WikiPage | Wiki home page |
Tags | [Tag] | Tags used in this channel |
Users
| Relationship | Target | Description |
|---|---|---|
Admins | [User] | Channel owners |
Moderators | [ModerationProfile] | Channel moderators |
Bots | [User] | Bot accounts |
Invitations
| Relationship | Target | Description |
|---|---|---|
PendingOwnerInvites | [User] | Pending owner invitations |
PendingModInvites | [User] | Pending mod invitations |
Suspensions
| Relationship | Target | Description |
|---|---|---|
SuspendedUsers | [Suspension] | Suspended users |
SuspendedMods | [Suspension] | Suspended moderators |
Issues
| Relationship | Target | Description |
|---|---|---|
Issues | [Issue] | Moderation issues |
Configuration
| Relationship | Target | Description |
|---|---|---|
FilterGroups | [FilterGroup] | Download filter categories |
RelatedChannels | [Channel] | Related channels |
Pinning
| Relationship | Target | Description |
|---|---|---|
PinnedDiscussionChannels | [DiscussionChannel] | Pinned discussions |
PinnedWikiPages | [WikiPage] | Pinned wiki pages |
Role Configuration
| Relationship | Target | Description |
|---|---|---|
DefaultChannelRole | ChannelRole | Default user permissions |
DefaultModRole | ModChannelRole | Default moderator permissions |
ElevatedModRole | ModChannelRole | Elevated moderator permissions |
SuspendedRole | ChannelRole | Suspended user permissions |
SuspendedModRole | ModChannelRole | Suspended moderator permissions |
Plugin Configuration
| Relationship | Target | Description |
|---|---|---|
EnabledPlugins | [PluginVersion] | Enabled plugins |
pluginPipelines | JSON | Channel plugin pipeline config |
ChannelRole Permissions
Permissions for regular users in a channel:
| Permission | Description |
|---|---|
canCreateComment | Post comments |
canCreateDiscussion | Create discussions |
canCreateEvent | Create events |
canUpdateChannel | Update channel settings |
canUploadFile | Upload files |
canUpvoteComment | Upvote comments |
canUpvoteDiscussion | Upvote discussions |
ModChannelRole Permissions
Permissions for moderators in a channel:
| Permission | Description |
|---|---|
canReport | Report content |
canGiveFeedback | Give feedback comments |
canHideComment | Archive comments |
canHideDiscussion | Archive discussions |
canHideEvent | Archive events |
canEditComments | Edit others' comments |
canEditDiscussions | Edit others' discussions |
canEditEvents | Edit others' events |
canSuspendUser | Suspend users |
canLockChannel | Lock the channel |
canOpenSupportTickets | Open support issues |
canCloseSupportTickets | Close support issues |
canAddMods | Add moderators |
canRemoveMods | Remove moderators |
canAddOwners | Add owners |
canRemoveOwners | Remove owners |
canChangeSettings | Modify channel settings |
canEditWiki | Edit wiki pages |
FilterGroup Configuration
For download filtering:
type FilterGroup {
id: ID!
key: String! // e.g., "print_size"
displayName: String! // e.g., "Print Size"
order: Int! // Display order
mode: FilterMode! // INCLUDE or EXCLUDE
options: [FilterOption!]!
}
type FilterOption {
id: ID!
value: String! // e.g., "small"
displayName: String! // e.g., "Small (<50mm)"
order: Int!
}
Creating a Channel
Via GraphQL mutation:
mutation CreateChannel($input: ChannelCreateInput!) {
createChannels(input: [$input]) {
channels {
uniqueName
displayName
}
}
}
Variables:
{
"input": {
"uniqueName": "my-channel",
"displayName": "My Channel",
"description": "A channel about things",
"eventsEnabled": true,
"wikiEnabled": true
}
}
Updating Channel Settings
mutation UpdateChannel($uniqueName: String!, $update: ChannelUpdateInput!) {
updateChannels(
where: { uniqueName: $uniqueName }
update: $update
) {
channels {
uniqueName
displayName
}
}
}
Channel Name Requirements
- Must be unique across the server
- URL-friendly (lowercase, hyphens allowed)
- Cannot be changed after creation
- Avoid special characters
- Keep it short and memorable
Best Practices
Naming
- Use descriptive, topic-focused names
- Keep unique names short:
3d-printingnotthree-dimensional-printing-community - Use display name for full title
Description
- Explain the channel's purpose
- List what content is welcome
- Link to rules or wiki for details
Settings
- Only enable features you'll use
- Set appropriate file type restrictions
- Configure roles for your moderation needs
Organization
- Use filter groups for download-heavy channels
- Pin important content
- Keep related channels linked