First Class Modules
Discussion boards
Provides boards, topics, threaded posts, replies, pin/lock moderation, archives, owned-post editing, custom fields, relations, activity, and favorites.
module.discussion-boardsUse Discussion Boards when collaboration needs named boards, durable topics, threaded replies, and moderation rather than a continuous chat stream.
The bundled renderer key is module.discussion-boards. First-class means BuildWithHQ supplies a native, typed, secured runtime experience inside normal app provisioning and the signed-in user's existing permissions.
What it does
Provides boards, topics, threaded posts, replies, pin/lock moderation, archives, owned-post editing, custom fields, relations, activity, and favorites.
Key capabilities
- Search active or archived boards and browse topic/post counts.
- Create boards and topics, reply to topics, and edit owned or otherwise authorized content.
- Pin or lock topics and archive boards with the required moderation capability.
- Favorite boards/topics and show secured relations, activity, location, and dynamic fields.
Common uses
- Customer or partner communities.
- Internal Q&A, proposals, and long-running technical discussions.
- Program, project, or policy forums that benefit from topic-level history.
How it connects
Boards and topics can relate to Knowledge Articles, Files, projects, products, or cases. A resolved discussion can become maintained knowledge while the original thread remains available as evidence.
Where applicable, its records use the universal RecordId conventions so they can participate in secured relationships, activity history, favorites, dynamic fields, notifications, Inbox attention, and global search without copying the source record.
Security and data boundary
Board, topic, and post operations enforce tenant, DataRole, location, ownership, and moderation rules. Locked topics refuse ordinary replies, and edit controls reflect secured response capabilities.
- The authenticated service derives the SaaS app, tenant account, user, DataRole, and location scope; browser identifiers are never authorization proof.
- The page editor composes React components with validated data bindings. Those bindings call typed runtime APIs, whose application services execute reviewed stored procedures.
- List, search, detail, relation, activity, favorite, and write operations reapply their required server-side permissions.
Add it to an app
- Open the SaaS app in the Developer Console and identify the user journey and page where this module belongs.
- Add the validated
module.discussion-boardsmodule block through the supported page/template authoring flow. - Configure the module with the page editor's React components and validated data bindings; the bindings call authenticated platform APIs backed by reviewed stored procedures.
- Place the page in the correct user-type menus and assign existing DataRole, record, field, and location permissions.
- Test list, detail, search, empty, denied, stale-update, and cross-location behavior before publishing an exact version.
Choose Chat Rooms for fast conversation and Discussion Boards for durable topics. Avoid enabling both for the same job without a clear information lifecycle.
A renderer being bundled in the tenant application does not make its data visible in every app. The server returns only components and records authorized for the current app and signed-in user; unavailable or unauthorized blocks fail closed.