boostorg / boostorg/website-v2

Webpage Integration: Bio Moderation Ticket

Open
#2,489 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
HTML
Stars
18
Forks
28
Avg merge
2d 12h
Merged PRs (30d)
77

Description

## Context
The user profile bio supports rich text (bold, italic, underline, lists, hyperlinks) with a
20K character limit. A backend regex already strips embedded links on save. This ticket adds
the moderation layer on top of that — an AI-powered validation queue for bio content that
needs review before going live.

Scoped to bio/profile content only. Avatar, profile links, and visibility toggles are not moderated.

---

## Approach

AI moderation is implemented as the first step in a Wagtail workflow, with human review as
an optional downstream step. The custom AI task is built by extending a Wagtail task class
and overriding methods — no new admin tooling needed.

This approach keeps moderation logic within the workflow (transparent to moderators) and makes
the pattern reusable for other content types (e.g. post creation/update) without reimplementation.

Reference: https://docs.wagtail.org/en/stable/extending/custom_tasks.html

---

## Behaviour
- On save, bio content goes through AI validation (after regex strip)
- Flagged content enters a moderation queue and stays unpublished until reviewed
- Clean content publishes immediately
- Moderator reviews and approves/rejects from Wagtail admin
- User sees clear status feedback: approved, pending, or rejected

---

## Acceptance Criteria
- [ ] Bio content validated on save
- [ ] Flagged content held from public profile until approved
- [ ] Moderator can approve or reject from Wagtail admin
- [ ] Rejected bios return a clear message to the user
- [ ] Clean bios publish without delay

---

## Dependencies
- Bio integration ticket (auto-save, rich text, 20K limit) must be merged first
- Wagtail moderator role confirmed as sufficient — no Django admin setup needed

---

## Implementation notes
- Custom AI task: extend Wagtail task class, override methods
- Workflow configuration lives in Wagtail admin
- AI model/service selection is a prerequisite — confirm before pickup

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with Wagtail's custom task documentation and confirm the AI model or service before pickup. Review the bio/profile workflow configuration in Wagtail admin after the Bio integration ticket is merged. Done means clean bios publish immediately, flagged bios remain unpublished for moderator approval or rejection, and users receive approved, pending, or rejected status feedback.

Written by the indexing model from the issue text.

Assessment

Domain
backend, content
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.