Преглед изворни кода

TASKS: P2-27b correctie - plakwerk zit al in de opgeslagen body (importer), niet in Views/module

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
bob пре 14 часа
родитељ
комит
4b230df86f
1 измењених фајлова са 25 додато и 25 уклоњено
  1. 25 25
      TASKS.md

+ 25 - 25
TASKS.md

@@ -238,31 +238,31 @@ hem echt kwijt, dan moet het component in de builder weg (hoort bij P2-7) —
 zolang dat niet gebeurt is de map onschadelijk, maar hij blijft in
 `git status` opduiken.
 
-**7 · P2-27b · woorden plakken aan elkaar in de omschrijving · ⚠️ NOG NIET
-OPGELOST, nagemeten 2026-09-15 22:40 (Claude, 600 records over services_1/3/5
-met cache-buster).** Bob's `_custom_clean_html()`-fix (blok-tags → spatie) staat
-live, maar raakt het probleem niet, om twee redenen die allebei gefixt moeten:
-1. **De tags zijn al weg vóórdat de module ze ziet.** Op `services_3` is
-   `inhoud` aantoonbaar door `_custom_clean_html()` gegaan (0 van 200 records
-   heeft nog een regeleinde, de `\s+`-normalisatie liep dus), en tóch staat er
-   "Onderdeel vanROOTS" / "Onderdeel vanElectronic" (nids 218323–218329,
-   222085, 222090). De view zelf stript de HTML dus al, zonder spatie — dat is
-   Views' eigen *Rewrite results → Strip HTML tags* (of een trimmed
-   formatter) op het veld `inhoud`. **Fix: die optie op `inhoud` UIT zetten**
-   in `flutterflowmobiel1` (Master én elke display die het veld overridet),
-   zodat de rauwe HTML bij de postprocess aankomt en daar netjes gestript wordt.
-2. **`services_1` maakt `inhoud` helemaal niet schoon:** zijn
-   `$fields_to_clean` is `['categorie','titel','plaats','adres','horecagelegenheid']`
-   — zonder `inhoud` (145 van 200 records hebben daar nog regeleindes). Voeg
-   `'inhoud'` toe, zoals services_3 t/m 7 al hebben.
-Meetscript: haal 4 pagina's per display op en zoek in `inhoud` naar
-`Onderdeel van` zonder spatie erachter; hoort daarna 0 te zijn.
-In de app staat bijvoorbeeld "Onderdeel vanIndie" — twee woorden zonder spatie.
-Dat komt uit `_custom_clean_html` in `custom.module`: die haalt HTML-tags weg
-zonder er iets voor in de plaats te zetten, dus `<p>Onderdeel van</p><p>Indie…`
-wordt `Onderdeel vanIndie…`. Fix aan jouw kant: vervang blok-tags (`</p>`,
-`<br>`, `</div>`, `</li>`) door een **spatie** vóór het strippen, en haal daarna
-dubbele spaties weg. Raakt alle drie de views tegelijk.
+**7 · P2-27b · woorden plakken aan elkaar in de omschrijving · ⚠️ ZIT IN DE
+DATA, NIET IN DRUPAL — nagemeten 2026-09-15 22:45 (Claude, 600 records over
+services_1/3/5 + de rauwe body via `flutterflow_events`, alles met
+cache-buster).** Bob's `_custom_clean_html()`-fix (blok-tags → spatie) staat
+live en is op zich goed, maar lost dit niet op: de **opgeslagen body zelf** is
+al geplakt. Nid 222090 heeft in `field_data_body` letterlijk
+`<p>Onderdeel vanElectronic What?!` — er staat geen tag tussen die een spatie
+had kunnen worden. Zelfde patroon op 218323–218329, 222085 ("Onderdeel
+vanROOTS"). Dat "Onderdeel van" + serienaam zonder spatie is een prefix die
+de **importer** (Django) toevoegt; de fout zit dus daar. Ook de 37 gevallen
+van `zin.Hoofdletter` zonder spatie ("doet.Kijken", "time.They") komen zo uit
+de bron en zijn met tag-vervanging niet te raken.
+- **Fix aan de bron (Bob, importer):** spatie na "Onderdeel van" bij het
+  samenstellen van de body. Eventueel ook `<br>`/`</p>` van de bronsite door
+  een spatie vervangen vóór het strippen, als de importer zelf stript.
+- **Bestaande nodes repareren (één keer, Bob):** eerst tellen
+  `drush @prod sqlq "SELECT COUNT(*) FROM field_data_body WHERE body_value REGEXP 'Onderdeel van[^ ]';"`
+  en dan met `REGEXP_REPLACE(body_value, 'Onderdeel van([^ ])', 'Onderdeel van \\1')`
+  op `field_data_body` én `field_revision_body`, na een dump van die twee.
+  Daarna Drupal-cache legen én de Cloudflare-rule purgen.
+- **Bijvangst, wél in de module:** `services_1` maakt `inhoud` niet schoon
+  (`$fields_to_clean` mist `'inhoud'`, 145/200 records houden regeleindes);
+  services_3–7 hebben het wel. Toevoegen voor consistentie — cosmetisch.
+- Geen generieke "spatie na punt+Hoofdletter"-regex in `_custom_clean_html`
+  zetten: die breekt URL's als `www.AllesRous.nl`.
 
 **8 · P1-17 · twee nieuwe teksten zonder Engelse vertaling.**
 Van P2-28: **"Kies je gemeente"** en **"Je ziet dan het uitgaansnieuws van die