|
@@ -1,40 +1,90 @@
|
|
|
## ▶ Nu aan de beurt (stand 2026-09-11)
|
|
## ▶ Nu aan de beurt (stand 2026-09-11)
|
|
|
|
|
|
|
|
-### ⚠️ Contentstand productie, gemeten 2026-09-11 — lees dit vóór de Drupal-taken
|
|
|
|
|
|
|
+### ⚠️ Contentstand productie — hermeten ná Bob's importfix (2026-09-11)
|
|
|
|
|
|
|
|
-Ik heb de hele evenementenvoorraad op productie doorgeteld
|
|
|
|
|
-(`flutterflow_events`, 41 pagina's):
|
|
|
|
|
|
|
+Bob meldde 2026-09-11 dat de import op productie al een tijd niet liep en
|
|
|
|
|
+dat hij dat net gefixt heeft. Direct nagemeten (`flutterflow_events`, met
|
|
|
|
|
+cache-buster):
|
|
|
|
|
|
|
|
-| | aantal |
|
|
|
|
|
-|---|---|
|
|
|
|
|
-| events in de database | **1025** |
|
|
|
|
|
-| zaken waar die aan hangen | **136** |
|
|
|
|
|
-| events **in de toekomst** | **4** |
|
|
|
|
|
-
|
|
|
|
|
-Die 4 zitten in 2 plaatsen: **Valkenburg (3)** en **Roermond (1)**. Alle
|
|
|
|
|
-andere 1021 zijn verlopen; de nieuwste daarvan is van 6 september.
|
|
|
|
|
-
|
|
|
|
|
-**Wat dat betekent:**
|
|
|
|
|
-- Landelijk per display: services_1 = 4, services_2 = 3, services_3 = 1,
|
|
|
|
|
- services_5 = 3, en **services_4 (Activiteiten), services_6 (Films) en
|
|
|
|
|
- services_7 (Jeugd) = 0**. De Home-tabs zijn dus voor iedereen grotendeels
|
|
|
|
|
- leeg, ongeacht gemeente — `HomeTabelCall` stuurt namelijk **geen `townid`
|
|
|
|
|
- mee**, Home is bewust landelijk (zie `CLAUDE.md`). Op het toestel
|
|
|
|
|
- gecontroleerd: de Uitgaan-tab toont het ene Roermondse item, de andere
|
|
|
|
|
- tabs tonen de logo-lege-staat.
|
|
|
|
|
-- **Waar `townid` wél meegaat** (de P-pagina's via `UitgaanstabelCall`, en
|
|
|
|
|
- de horeca-agenda) **is Amsterdam onbruikbaar als testplaats**: 0 items op
|
|
|
|
|
- élke display en 0 agenda-events op alle 300 Amsterdamse zaken. Voor
|
|
|
|
|
- horeca/establishments blijft Amsterdam prima (300+ zaken); voor events
|
|
|
|
|
- gebruik je **Valkenburg `townid=27301`** of **Roermond `townid=27205`**.
|
|
|
|
|
-- Het `townid`-filter zelf wérkt aantoonbaar: Valkenburg `27301` geeft 3,
|
|
|
|
|
- buurplaats Berg `27286` geeft 0, ongefilterd geeft 4.
|
|
|
|
|
-
|
|
|
|
|
-**Dit is geen app-bug en geen viewprobleem** — het is de vulling. Maar het
|
|
|
|
|
-raakt wel de planning: taak 21 is er niet op te testen, en bij livegang
|
|
|
|
|
-wil je dit niet zo hebben. Jij zei eerder dat de import op productie
|
|
|
|
|
-draait maar met lage aantallen; de meting laat zien dat het scherper ligt
|
|
|
|
|
-— er is volop data, alleen is die **verlopen**, niet schaars.
|
|
|
|
|
|
|
+| | vóór de fix | ná de fix |
|
|
|
|
|
+|---|---|---|
|
|
|
|
|
+| events (rijen) | 1025 | **1525** |
|
|
|
|
|
+| unieke events | 1010 | **1508** |
|
|
|
|
|
+| toekomstige events (uniek) | 4 | **6** |
|
|
|
|
|
+
|
|
|
|
|
+Jaar afgeleid uit weekdag+datum: **alles staat in 2026**. De import doet
|
|
|
|
|
+het dus weer, maar de aanwas is vrijwel volledig **historisch** (mei kwam
|
|
|
|
|
+er als maand bij, juni ging van 689 naar 1026). Vooruit blijft het dun:
|
|
|
|
|
+6 unieke events vanaf vandaag, en **nog steeds niets ná september**.
|
|
|
|
|
+
|
|
|
|
|
+De 6 toekomstige: Roermond (11 sep), Zeddam (13 sep), Valkenburg (18/20/25
|
|
|
|
|
+sep), Alblasserdam (19 sep).
|
|
|
|
|
+
|
|
|
|
|
+**Belangrijk: 2 van die 6 komen niet in de app terecht** — zie taak 28.
|
|
|
|
|
+`flutterflowmobiel1` is na de importfix onveranderd (4/3/1/0/3/0/0).
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+### Taak 28 · 15% van de events heeft geen categorie en is daardoor onzichtbaar
|
|
|
|
|
+
|
|
|
|
|
+Van de 1508 unieke events hebben er **231 (15%) `categorie: null`**. De zeven
|
|
|
|
|
+`flutterflowmobiel1`-displays filteren allemaal op categorie, dus zo'n event
|
|
|
|
|
+verschijnt **in geen enkele tab** — het bestaat alleen op zijn detailpagina,
|
|
|
|
|
+waar niemand komt.
|
|
|
|
|
+
|
|
|
|
|
+Nu al zichtbaar bij de nieuwe import: van de 6 toekomstige events vallen er
|
|
|
|
|
+**2** af:
|
|
|
|
|
+- *Ferme Jongus* (Zeddam, 13 sep) — `categorie: null`.
|
|
|
|
|
+- *Brocante Markt Klein Frankrijk* (Alblasserdam, 19 sep) — categorie
|
|
|
|
|
+ **"Tweedehands markt"**, en die valt onder geen enkele tab.
|
|
|
|
|
+
|
|
|
|
|
+Twee dingen om te beslissen:
|
|
|
|
|
+1. **Events zonder categorie**: een default meegeven bij import, of een
|
|
|
|
|
+ catch-all-tab/display die alles toont wat nergens in past. Anders groeit
|
|
|
|
|
+ dit mee met elke import.
|
|
|
|
|
+2. **Categorieën die geen tab hebben**: er komen 48 verschillende
|
|
|
|
|
+ categorieën voor in de data. Loop er even langs welke geen enkele display
|
|
|
|
|
+ raakt — "Tweedehands markt" is er in elk geval één.
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+### Taak 29 · HTML-entiteiten in titels en categorieën (21% van de events)
|
|
|
|
|
+
|
|
|
|
|
+`flutterflow_events` geeft ampersands en aanhalingstekens **HTML-escaped**
|
|
|
|
|
+terug, dus de app toont ze letterlijk:
|
|
|
|
|
+```
|
|
|
|
|
+"title": "Lina & the Magic Music Box"
|
|
|
|
|
+"categorie": ["Hiphop/Rap/R&B"]
|
|
|
|
|
+```
|
|
|
|
|
+**321 van de 1508 events geraakt**, verdeeld over `body` (234x), `title`
|
|
|
|
|
+(124x), `adres` (23x) en `categorie` (8x).
|
|
|
|
|
+
|
|
|
|
|
+**Dit is per view instelbaar en elders al goed**: dezelfde ampersand komt
|
|
|
|
|
+uit `flutterflowmobiel_establishments` gewoon ongeschonden
|
|
|
|
|
+(`"titel":"Brownies&downieS"`). Vergelijk de veldinstellingen van die twee
|
|
|
|
|
+views — er zit een verschil in de output-/rewrite-instelling van de
|
|
|
|
|
+tekstvelden. Een app-side fix wil je niet: dan moet je op elke plek
|
|
|
|
|
+decoderen.
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
+
|
|
|
|
|
+### Taak 30 · Een node kan zichzelf vermenigvuldigen in `flutterflow_events`
|
|
|
|
|
+
|
|
|
|
|
+Nid **`214439`** ("Brocante Markt Klein Frankrijk") komt **14 keer identiek**
|
|
|
|
|
+terug: zelfde nid, zelfde datum, zelfde categorie. Nid `214441` 3x, `214420`
|
|
|
|
|
+3x. In totaal 17 overtollige rijen op 1525.
|
|
|
|
|
+
|
|
|
|
|
+Klein in het totaal, maar **groot in wat de gebruiker ziet**: van de 21
|
|
|
|
|
+toekomstige *rijen* zijn er maar 6 unieke events. Een lijst met 14 keer
|
|
|
|
|
+dezelfde markt eronder valt meteen op.
|
|
|
|
|
+
|
|
|
|
|
+Dit is het klassieke Views-patroon "een veld met meerdere waarden krijgt een
|
|
|
|
|
+eigen rij" — waarschijnlijk een multi-value veld (datum of taxonomie) waar
|
|
|
|
|
+*Multiple field settings → Display all values in the same row* uit staat.
|
|
|
|
|
+Kijk op node `214439` welk veld 14 waarden heeft. **Stond er al vóór de
|
|
|
|
|
+importfix** (toen 15 overtollige rijen), dus het is geen gevolg daarvan.
|
|
|
|
|
+
|
|
|
|
|
+---
|
|
|
|
|
|
|
|
### 🐞 Nieuw gevonden 2026-09-11 — categorielabel valt buiten de sliderkaart
|
|
### 🐞 Nieuw gevonden 2026-09-11 — categorielabel valt buiten de sliderkaart
|
|
|
|
|
|
|
@@ -129,9 +179,29 @@ een term **"Bezorgen"**.
|
|
|
genoeg (`nid, titel, adres, plaats, logo, categorie` — nagemeten
|
|
genoeg (`nid, titel, adres, plaats, logo, categorie` — nagemeten
|
|
|
2026-09-10). Je hoeft `afhaalopties` dus niet toe te voegen; het
|
|
2026-09-10). Je hoeft `afhaalopties` dus niet toe te voegen; het
|
|
|
filter doet het werk.
|
|
filter doet het werk.
|
|
|
-5. Geef Claude daarna het **`display_id`** door, dan koppelt die het
|
|
|
|
|
- drawer-item eraan (het horeca-overzicht accepteert al een
|
|
|
|
|
- `display_id`-parameter).
|
|
|
|
|
|
|
+5. Geef Claude daarna het **`display_id`** door (= taak 26).
|
|
|
|
|
+
|
|
|
|
|
+⚠️ **Correctie 2026-09-11 op een eerdere aanname van Claude.** Ik schreef
|
|
|
|
|
+hierboven dat "het horeca-overzicht al een `display_id`-parameter accepteert".
|
|
|
|
|
+**Dat klopt niet** — ik haalde het door elkaar met `HomeUitgaantabelKaartComponent`,
|
|
|
|
|
+waar P1-44 die parameter wél heeft toegevoegd. De werkelijke stand van
|
|
|
|
|
+`horecagelegenhedenOverzichtCurrent` (ex-Copy3):
|
|
|
|
|
+- page parameter: **alleen `plaats`** (String), geen `display_id`;
|
|
|
|
|
+- de zes tabs roepen elk `fetchAlleHorecagelegenheden(<horcat>, plaats,
|
|
|
|
|
+ 'services_1')` aan met een **hardcoded categorie-id** (17969, 17963, 34,
|
|
|
|
|
+ 17965, 17967, 17968) én een hardcoded `'services_1'`.
|
|
|
|
|
+
|
|
|
|
|
+De custom action zelf heeft `displayId` wél al als derde argument en geeft
|
|
|
|
|
+'m door aan de API-call, dus de leiding ligt er — alleen de pagina vult 'm
|
|
|
|
|
+niet. **Gevolg: er is één app-stap extra nodig** die nog nergens stond:
|
|
|
|
|
+een page parameter `display_id` toevoegen en die op de zes aanroepen binden
|
|
|
|
|
+(met `services_1` als default, anders breken de bestaande routes).
|
|
|
|
|
+
|
|
|
|
|
+**En een ontwerpvraag die je eerst moet beantwoorden:** "Thuis bezorgen"
|
|
|
|
|
+levert één lijst op, terwijl deze pagina uit zes categorietabs bestaat. Wil
|
|
|
|
|
+je die tabs daar ook? Zo niet, dan is een aparte, simpele pagina (of
|
|
|
|
|
+dezelfde pagina met de tabbalk verborgen) waarschijnlijk netter dan deze
|
|
|
|
|
+pagina oprekken. Zeg wat je wilt, dan bouw ik het.
|
|
|
|
|
|
|
|
⚠️ **Lees eerst de meting hieronder — dit filter is nu niet te testen.**
|
|
⚠️ **Lees eerst de meting hieronder — dit filter is nu niet te testen.**
|
|
|
Op 2026-09-11 staan er in heel Nederland **4 toekomstige evenementen**:
|
|
Op 2026-09-11 staan er in heel Nederland **4 toekomstige evenementen**:
|