Skip to content

WikiEval Tool / WikiContest violates Toolforge Privacy Policy#204

Open
GauriGupta21 wants to merge 37 commits into
mainfrom
PrivacyIssue
Open

WikiEval Tool / WikiContest violates Toolforge Privacy Policy#204
GauriGupta21 wants to merge 37 commits into
mainfrom
PrivacyIssue

Conversation

@GauriGupta21
Copy link
Copy Markdown
Collaborator

@GauriGupta21 GauriGupta21 commented Jun 2, 2026

Replace banned external CDNs with Toolforge-approved tools-static.wmflabs.org endpoints.

Changes:

  • Google Fonts → tools-static.wmflabs.org/fontcdn
  • Bootstrap CSS/JS (cdn.jsdelivr.net) → tools-static.wmflabs.org/cdnjs
  • Font Awesome (cdnjs.cloudflare.com) → tools-static.wmflabs.org/cdnjs

Fixes Toolforge Privacy Policy violation reported at:
https://wikitech.wikimedia.org/wiki/Help:Toolforge/Web#Load_external_assets_using_our_CDN_services
Phabricator Ticket: https://phabricator.wikimedia.org/T427744

avartirastogi and others added 30 commits March 16, 2026 16:14
Add database schema for automated scoring mode.
- New automated_settings JSON column on contests table for storing
eligibility criteria and evaluation point configuration
- Alembic migration to add the column
…193)

Add frontend support for configuring automated scoring mode.
- New "Automated Scoring" option in contest creation form
- Eligibility criteria settings (minimum edits, minimum outgoing links)
- Evaluation point settings (points per byte, link, reference, image,
etc.)
- Automated mode is mutually exclusive with simple/multi-parameter modes
Allow importing articles from Wikipedia categories as pending
submissions.
- Category selector with configurable import limit (up to 5000 articles)
- Automatic duplicate detection to skip already-submitted articles
- Import summary showing total imported and skipped counts
- Available only for automated scoring contests with configured
categories
- Restricted to jury members and superadmins
Automatically evaluate submissions based on configured scoring criteria.
- Eligibility checks (minimum edits, minimum outgoing links)
- Point-based scoring across multiple dimensions (bytes, links,
references, infoboxes, images)
- Clickable status badges and scores to view evaluation details
- Score breakdown modal showing points earned per component (for
accepted ones) or rejection reason (for rejected ones)
- Batch evaluation triggered via "Refresh Metadata" button
…omated scoring (#196)

Dashboard and editing improvements for automated scoring contests.
- Filter tabs (All | Accepted | Rejected | Pending) with count badges
above the submissions table
- Hide multi-parameter scoring toggle when in automated scoring mode
- Show editable eligibility and evaluation criteria in the edit modal
for automated scoring contests
- Non-automated contests remain completely unaffected
…con (#200)

- Removed filter functionality from leaderboard
- Replaced ranking system with alphabetical sorting
- Fixed trusted members icon display

This improves UI clarity and simplifies user experience.
Updated dashboard UI and improved contest behavior:
- Added Pagination to the dashboard
- Implemented scrolling on the dashboard
- Updated contest section to show participated contests instead of
created ones
- Removed jury review label from feedback forms
GauriGupta21 and others added 7 commits April 17, 2026 21:25
- Fixed z-index issue to ensure alerts/notifications appear above the
modal
- Improved layout and alignment issues in contest view UI
…_count column. The column 'article_word_count' stores the article's size in BYTES (from MediaWiki API 'size' field), not a word count. Add a property alias so new code can reference the semantically correct name without a risky Alembic migration.
… fields

The automated evaluation engine was reading min_bytes and min_references from automated_settings.eligibility, but those had no UI and always defaulted to 0. Now reads from the common contest fields (min_byte_count, min_reference_count) shared across all scoring modes.
Adds mwparserfromhell==0.6.6 to parse wikitext ASTs for reliable ref tag counting. Regex fallback is preserved for environments where the dependency is unavailable.
…ain validation

Metadata Refresh Pagination:
- Paginate metadata refresh for automated scoring contests using  offset/batch_size query params (default 10 articles per batch)
- Frontend loops through batches with persistent progress counter
- Simple/multi-parameter scoring modes unchanged
Category Crawler Rate-Limiting:
- Cap crawl imports per request (default 500, hard cap 2000 via MAX_CRAWL_LIMIT env var)
- Add cmcontinue-based pagination with 'Import Next Batch' support
- Upgrade reference counting to use mwparserfromhell with regex fallback
Others:
- Add DELETE /submission/<id> endpoint (fixes 405 METHOD NOT ALLOWED for reviewers trying to delete submissions)
- Add cross-wiki domain validation for automated scoring contests
- Fix pylint import-outside-toplevel suppressions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants