2026W28

Rocheport Times 6–12 Jul 2026

Rocheport Times relaunches on one platform plugin

Commits
459
In this project
Week 2 of 10
ISO week
2026-W28

The busiest week of Rocheport Times so far.

459 commits to Rocheport Times from Tue 7 Jul to Sun 12 Jul 2026. The relaunch week for a small-town Missouri newspaper site. I folded 15 plugins and 16 must-use plugins into one modular platform plugin (30 modules), fixed four security holes in the existing community code, built the editor’s review desk, and took the site live on 10 July. By Sunday it had a news section, an events engine, river and weather widgets and a road-conditions page.

  • Consolidated all custom code into one plugin with 30 modules and a loader that guards against collisions; the mobile app’s API surface was kept frozen so nothing on the app side had to change.
  • Fixed four security bugs in the existing community code before launch: an account takeover through social login that trusted an unverified email, a forced-friendship request, an unsanitized public wall (stored XSS), and Microsoft sign-in trusting a user-editable email field.
  • Built the Editorial Desk: a review queue in wp-admin for AI-drafted articles with threaded change requests, an automatic link checker, and approve or request-changes actions on the post itself. Nothing publishes without a person.
  • Launched the News section: local briefs, state news republished under the Missouri Independent’s guidelines (107 imports, three months back), and 20 local backfill briefs.
  • Built an events aggregation engine with a source registry and reliability ratings, a river-gauge widget with a self-hosted 7-day chart and trend arrow, and a road-conditions page with a self-hosted tri-county map.
  • Shipped the rest of a first week: site search, letters to the editor, a Good News desk, a weekly newsletter draft, llms.txt and IndexNow for discoverability, and a visitor theme switcher including a full text-terminal theme.
Rocheport Times2023-W30 · 1 commits2023-W31 · no entry2023-W32 · no entry2023-W33 · no entry2023-W34 · no entry2023-W35 · no entry2023-W36 · no entry2023-W37 · no entry2023-W38 · no entry2023-W39 · no entry2023-W40 · no entry2023-W41 · no entry2023-W42 · no entry2023-W43 · no entry2023-W44 · no entry2023-W45 · no entry2023-W46 · no entry2023-W47 · no entry2023-W48 · no entry2023-W49 · no entry2023-W50 · no entry2023-W51 · no entry2023-W52 · no entry2024-W01 · no entry2024-W02 · no entry2024-W03 · no entry2024-W04 · no entry2024-W05 · no entry2024-W06 · no entry2024-W07 · no entry2024-W08 · no entry2024-W09 · no entry2024-W10 · no entry2024-W11 · no entry2024-W12 · no entry2024-W13 · no entry2024-W14 · no entry2024-W15 · no entry2024-W16 · no entry2024-W17 · no entry2024-W18 · no entry2024-W19 · no entry2024-W20 · no entry2024-W21 · no entry2024-W22 · no entry2024-W23 · no entry2024-W24 · no entry2024-W25 · no entry2024-W26 · no entry2024-W27 · no entry2024-W28 · no entry2024-W29 · no entry2024-W30 · no entry2024-W31 · no entry2024-W32 · no entry2024-W33 · no entry2024-W34 · no entry2024-W35 · no entry2024-W36 · no entry2024-W37 · no entry2024-W38 · no entry2024-W39 · no entry2024-W40 · no entry2024-W41 · no entry2024-W42 · no entry2024-W43 · no entry2024-W44 · no entry2024-W45 · no entry2024-W46 · no entry2024-W47 · no entry2024-W48 · no entry2024-W49 · no entry2024-W50 · no entry2024-W51 · no entry2024-W52 · no entry2025-W01 · no entry2025-W02 · no entry2025-W03 · no entry2025-W04 · no entry2025-W05 · no entry2025-W06 · no entry2025-W07 · no entry2025-W08 · no entry2025-W09 · no entry2025-W10 · no entry2025-W11 · no entry2025-W12 · no entry2025-W13 · no entry2025-W14 · no entry2025-W15 · no entry2025-W16 · no entry2025-W17 · no entry2025-W18 · no entry2025-W19 · no entry2025-W20 · no entry2025-W21 · no entry2025-W22 · no entry2025-W23 · no entry2025-W24 · no entry2025-W25 · no entry2025-W26 · no entry2025-W27 · no entry2025-W28 · no entry2025-W29 · no entry2025-W30 · no entry2025-W31 · no entry2025-W32 · no entry2025-W33 · no entry2025-W34 · no entry2025-W35 · no entry2025-W36 · no entry2025-W37 · no entry2025-W38 · no entry2025-W39 · no entry2025-W40 · no entry2025-W41 · no entry2025-W42 · no entry2025-W43 · no entry2025-W44 · no entry2025-W45 · no entry2025-W46 · no entry2025-W47 · no entry2025-W48 · no entry2025-W49 · no entry2025-W50 · no entry2025-W51 · no entry2025-W52 · no entry2026-W01 · no entry2026-W02 · no entry2026-W03 · no entry2026-W04 · no entry2026-W05 · no entry2026-W06 · no entry2026-W07 · no entry2026-W08 · no entry2026-W09 · no entry2026-W10 · no entry2026-W11 · no entry2026-W12 · no entry2026-W13 · no entry2026-W14 · no entry2026-W15 · no entry2026-W16 · no entry2026-W17 · no entry2026-W18 · no entry2026-W19 · no entry2026-W20 · no entry2026-W21 · no entry2026-W22 · no entry2026-W23 · no entry2026-W24 · no entry2026-W25 · no entry2026-W26 · no entry2026-W27 · no entry2026-W28 · 459 commits2026-W29 · 156 commits2026-W30 · 374 commits2026-W31 · 208 commits2026-W32 · 12 commits2026-W33 · 46 commits2026-W34 · no entry2026-W35 · 15 commits2026-W36 · no entry2026-W37 · no entry2026-W38 · 18 commits2026-W39 · 32 commits1,321

Every week of Rocheport Times