-
-
Notifications
You must be signed in to change notification settings - Fork 208
Description
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:
- 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
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)
Participants
- TODO
cc/ @plone/framework-team