Skip to content

Discussion Moderation

Overview

Discussion Moderation covers the instructor-side tools for managing course discussion forums — reviewing flagged posts, removing inappropriate content, marking answers as endorsed, pinning announcements, and configuring discussion settings.

Moderation tools are embedded within the frontend-app-discussions MFE and are visible only to users with course staff roles.

Current State (2026)

  • Flagging and review: Learners can flag posts; instructors/TAs see flagged posts in a moderation queue
  • Endorsement: Instructors can mark an answer as "endorsed" to signal it's correct/authoritative
  • Pinning: Posts can be pinned to appear at the top of threads
  • Staff posts: Instructors can mark posts as "question" or "discussion" types; staff posts are visually distinguished
  • Discussion settings: Course-level settings for enabling/disabling discussions, selecting discussion providers
  • TA role: Teaching assistants can be given moderation permissions without full instructor access

Architecture

  • Moderation tools in MFE: frontend-app-discussions surfaces moderation actions via the discussions backend API
  • Backend: Moderation state (flagged, endorsed, pinned) stored in the forum backend (now forum Python service; previously cs_comments_service)
  • Permissions: Django role system (CourseStaffRole, CourseTARole) gates moderation actions

Relevant Repositories

RepositoryRole in This FeatureActivity LevelNotes
openedx/frontend-app-discussionsModeration UI within discussions MFEHighIntegrated moderation
openedx/forumForum backend: moderation API endpointsHighPython forum backend
openedx/openedx-platformRole-based access for moderation, legacy moderation APIHighPermissions layer

Recent Changes

  • Moderation features being maintained in forum (Python) as it replaces Ruby cs_comments_service

History

Origin

  • Year introduced: ~2012–2013 (moderation launched with the original discussion system)
  • Initial implementation: Moderation actions via the Ruby cs_comments_service backend
  • Context: MOOC forums at scale (thousands of posts per course) required moderation tools for course staff to maintain quality

Key Milestones

YearMilestoneTeams / People Involved
~2012–2013Basic moderation (flagging, endorsement) in forum systemUnknown
~2020Moderation UI in frontend-app-discussionsUnknown
~2022–2024Moderation ported to Python forum backendUnknown

People Who Shaped This Area

  • Engineering: Unknown — open question for interview
  • Product: Unknown — open question for interview
  • Design: Unknown — open question for interview

Open Questions

  • [ ] How did moderation work in the original Ruby forum system?
  • [ ] What moderation workflows do course teams rely on most?
  • [ ] How does the TA role permission model work for discussions specifically?
  • [ ] What are the most common moderation challenges at MOOC scale?

Schema Education — Internal Research