You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This PLIP proposes significant enhancements to plone.app.discussion to modernize the commenting system with advanced moderation capabilities, improved user experience, and comprehensive administrative controls. The proposal includes intelligent content filtering (both rule-based and AI-powered), streamlined moderation workflows, and sophisticated user ban management systems.
Motivation
The current plone.app.discussion package, while functional, lacks modern content moderation capabilities essential for managing large-scale community discussions. Site administrators struggle with:
Manual moderation of high-volume comment streams
Lack of proactive spam and toxic content detection
Limited tools for managing problematic users
Insufficient granular control over comment approval workflows
These limitations force administrators to either disable comments entirely or invest significant manual effort in moderation, limiting community engagement and platform scalability.
Assumptions
Plone 6.x deployment with plone.app.discussion already installed
Site administrators have access to external AI services (optional, for AI moderation features)
Existing comment data and workflows should remain functional during and after upgrade
Performance impact should be minimal for sites not using advanced features
Integration should respect existing Plone security and permission frameworks
Proposal & Implementation
graph TD
A[User Submits Comment] --> B{Word Filter Check}
B -->|Pass| C{AI Moderation Check}
B -->|Fail| D[Action Based on Filter Rule]
C -->|Safe Content| E{User Ban Status Check}
C -->|Flagged Content| F[AI Moderation Action]
E -->|User Not Banned| G[Comment Published]
E -->|Cooldown Ban| H[Comment Rejected - Cooldown Active]
E -->|Shadow Ban| I[Comment Visible Only to Author]
E -->|Permanent Ban| J[Comment Rejected - User Banned]
D -->|Warning| K[Show Warning Message]
D -->|Pending Review| L[Comment Moves to Pending Queue]
D -->|Auto Reject| M[Comment Rejected]
F -->|Delete| N[Comment Deleted]
F -->|Move to Spam| O[Comment Marked as Spam]
F -->|Pending Review| L
K --> P[User Can Edit and Resubmit]
L --> Q[Admin Reviews Comment]
Q -->|Approve| G
Q -->|Delete| N
Q -->|Mark as Spam| O
Q -->|Apply User Ban| R[Configure Ban Type]
R -->|Cooldown| S[Set Temporary Ban Period]
R -->|Shadow Ban| T[Enable Shadow Ban Mode]
R -->|Permanent Ban| U[Apply Permanent Ban]
style A fill:#e1f5fe,color:#000
style G fill:#c8e6c9,color:#000
style N fill:#ffcdd2,color:#000
style O fill:#fff3e0,color:#000
style H fill:#ffcdd2,color:#000
style I fill:#fff3e0,color:#000
style J fill:#ffcdd2,color:#000
Loading
1. Word-based Content Filtering
Create configurable word filter registry with full administrative control
Implement real-time content scanning before comment submission
Provide user-editable filter lists through control panel interface
Add pattern matching support (regex capabilities)
Configurable response actions: delete, move to spam, set to pending
2. AI-powered Moderation System
Train and implement Spam filtering AI models (I will be doing it 😁)
OPTIONAL - Integrate with external AI moderation APIs (OpenAI Moderation, Google Perspective, Azure Content Moderator) -
Implement detection for: promotional content, toxicity, restricted terms, hate speech
Configurable response actions: delete, move to spam, set to pending
Confidence threshold settings for each detection category
3. Streamlined Moderation Workflows
Simplify comment states to: Published, Pending, Spam, Deleted
Create unified moderation interface with bulk actions
Implement quick-action buttons: Approve, Delete, Mark as Spam
Add moderation dashboard with filtering and search capabilities
4. Comprehensive Ban Management
Cooldown Bans: Temporary restrictions with automatic expiration
Shadow Bans: Comments visible only to author, hidden from others
Permanent Bans: Complete commenting restriction
Admin interface for ban management and history
Appeal system for contested bans (configurable)
Configuration and Administration
Comprehensive control panel for all new features
Feature flags for enabling/disabling components
Performance monitoring and reporting tools
Import/export capabilities for filter lists and ban data
Deliverables
Core Package Updates
plone.app.discussion: Enhanced with all proposed features
plone.app.registry: New configuration schemas for moderation settings
New Components
AI moderation service integration utilities
Enhanced comment workflow definitions
Moderation dashboard views and forms
Ban management interfaces
Documentation
Administrator guide for new moderation features
Developer documentation for extending moderation capabilities
Migration guide for existing installations
Performance optimization recommendations
Risks
Existing comment data and workflows remain unchanged
Default behavior preserves current functionality
AI moderation may introduce some more CPU usage (can be configured to off to save this)
PLIP (Plone Improvement Proposal)
Responsible Persons
Proposer: @rohnsha0
Seconder:
Abstract
This PLIP proposes significant enhancements to plone.app.discussion to modernize the commenting system with advanced moderation capabilities, improved user experience, and comprehensive administrative controls. The proposal includes intelligent content filtering (both rule-based and AI-powered), streamlined moderation workflows, and sophisticated user ban management systems.
Motivation
The current plone.app.discussion package, while functional, lacks modern content moderation capabilities essential for managing large-scale community discussions. Site administrators struggle with:
These limitations force administrators to either disable comments entirely or invest significant manual effort in moderation, limiting community engagement and platform scalability.
Assumptions
Proposal & Implementation
graph TD A[User Submits Comment] --> B{Word Filter Check} B -->|Pass| C{AI Moderation Check} B -->|Fail| D[Action Based on Filter Rule] C -->|Safe Content| E{User Ban Status Check} C -->|Flagged Content| F[AI Moderation Action] E -->|User Not Banned| G[Comment Published] E -->|Cooldown Ban| H[Comment Rejected - Cooldown Active] E -->|Shadow Ban| I[Comment Visible Only to Author] E -->|Permanent Ban| J[Comment Rejected - User Banned] D -->|Warning| K[Show Warning Message] D -->|Pending Review| L[Comment Moves to Pending Queue] D -->|Auto Reject| M[Comment Rejected] F -->|Delete| N[Comment Deleted] F -->|Move to Spam| O[Comment Marked as Spam] F -->|Pending Review| L K --> P[User Can Edit and Resubmit] L --> Q[Admin Reviews Comment] Q -->|Approve| G Q -->|Delete| N Q -->|Mark as Spam| O Q -->|Apply User Ban| R[Configure Ban Type] R -->|Cooldown| S[Set Temporary Ban Period] R -->|Shadow Ban| T[Enable Shadow Ban Mode] R -->|Permanent Ban| U[Apply Permanent Ban] style A fill:#e1f5fe,color:#000 style G fill:#c8e6c9,color:#000 style N fill:#ffcdd2,color:#000 style O fill:#fff3e0,color:#000 style H fill:#ffcdd2,color:#000 style I fill:#fff3e0,color:#000 style J fill:#ffcdd2,color:#0001. Word-based Content Filtering
2. AI-powered Moderation System
3. Streamlined Moderation Workflows
4. Comprehensive Ban Management
Configuration and Administration
Deliverables
Core Package Updates
New Components
Documentation
Risks
Participants
cc/ @plone/framework-team