Report-Seiten: Aufbau wie 'voll' — Beschreibung + Quellen-Download oben, Zensiermodus-Login, volles Dokument unten #16

Closed
opened 2026-09-06 10:00:05 +02:00 by Simon · 1 comment
Owner

Auftrag (Simon): Bei den zensierten Report-Seiten (uvp-hayforst-report.html, umzingelungsgutachten-report.html) den Aufbau wie bei der 'voll'-Version gestalten.

Gewünschter Aufbau

  1. Oben (Desktop, Desktop-Warte) — zwei Spalten:
    • Links (2/3 der Bildschirmbreite): kurze Beschreibung des Dokuments + Erwartungshorizont (was wird erwartet).
    • Rechts (1/3): Download-Quellen — Stichpunktartig aufgelistete verknüpfte Dokumente/Quellen (PDFs etc.), die zum Dokument gehören. Download ist möglich.
    • Darunter: Abschnitt „Zensiermodus
Auftrag (Simon): Bei den zensierten Report-Seiten (uvp-hayforst-report.html, umzingelungsgutachten-report.html) den Aufbau wie bei der 'voll'-Version gestalten. ## Gewünschter Aufbau 1. **Oben (Desktop, Desktop-Warte) — zwei Spalten:** - **Links (2/3 der Bildschirmbreite):** kurze Beschreibung des Dokuments + Erwartungshorizont (was wird erwartet). - **Rechts (1/3):** Download-Quellen — Stichpunktartig aufgelistete verknüpfte Dokumente/Quellen (PDFs etc.), die zum Dokument gehören. Download ist möglich. - Darunter: Abschnitt „Zensiermodus
Author
Owner

Status (09.09.2026): Phase 2 umgesetzt & live verifiziert

Entscheidungen (Simon):

  1. PDF-Download nur als Member — anonym: 302 → /dev/login.html?next=<PDF>; nach Login öffnet sich die PDF direkt.
  2. Preview-Länge: erste 5 Zeilen scharf (Badge/Datum + Titel + Kicker + Teaser + Verfahrensdaten), darunter Blur.

Umgesetzt (Commits auf dev):

  • 9b81a16 — Nginx: PDF-Locationen 404 → 302 Login-Redirect (@pdflogin_*); Reports liefern statische -preview.html an anonyme Requests (5 scharf + Veil-Box „Nur für Mitglieder“ + Skeleton-Balken, kein Volltext); Program.cs: idempotentes Seed für alle 7 Contents-Zeilen; neue statische Previews + tools/make_previews.py (Skeleton) + tools/apply_pdf_login_gate.py; e2e-gate-check.mjs.
  • c889335 — E2E-Test-Commit.

Live-Verifikation (alle grün):

  • Authz-Matrix (VM, 7 Pfade × anonym/correct/wrong): 15/15 (401/200/401).
  • curl-Matrix: Reports anonym = Preview ohne Kennzeichnungs-Phrasen; PDFs ohne Auth = 302; mit Auth = 200.
  • Browser-E2E 10/10: 3× anonym Preview (5 scharf, Veil, Skeleton, 0 Leaks, Login-Link), 2× PDF→Login-Redirect, 1× Login-Flow, 2× Cookie-Session-Persistenz, 2× PDF mit Session (200 + Content-Type PDF).

Bereit für Prod-Deploy (bewusst manuell, deploy.yml).

## Status (09.09.2026): Phase 2 umgesetzt & live verifiziert **Entscheidungen (Simon):** 1. PDF-Download **nur als Member** — anonym: `302 → /dev/login.html?next=<PDF>`; nach Login öffnet sich die PDF direkt. 2. Preview-Länge: **erste 5 Zeilen scharf** (Badge/Datum + Titel + Kicker + Teaser + Verfahrensdaten), darunter Blur. **Umgesetzt (Commits auf `dev`):** - `9b81a16` — Nginx: PDF-Locationen `404 → 302` Login-Redirect (`@pdflogin_*`); Reports liefern statische `-preview.html` an anonyme Requests (5 scharf + Veil-Box „Nur für Mitglieder“ + Skeleton-Balken, kein Volltext); `Program.cs`: idempotentes Seed für alle 7 Contents-Zeilen; neue statische Previews + `tools/make_previews.py` (Skeleton) + `tools/apply_pdf_login_gate.py`; `e2e-gate-check.mjs`. - `c889335` — E2E-Test-Commit. **Live-Verifikation (alle grün):** - Authz-Matrix (VM, 7 Pfade × anonym/correct/wrong): 15/15 (401/200/401). - `curl`-Matrix: Reports anonym = Preview ohne Kennzeichnungs-Phrasen; PDFs ohne Auth = 302; mit Auth = 200. - **Browser-E2E 10/10**: 3× anonym Preview (5 scharf, Veil, Skeleton, 0 Leaks, Login-Link), 2× PDF→Login-Redirect, 1× Login-Flow, 2× Cookie-Session-Persistenz, 2× PDF mit Session (200 + Content-Type PDF). **Bereit für Prod-Deploy** (bewusst manuell, `deploy.yml`).
Simon closed this issue 2026-09-10 00:05:00 +02:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Simon/ejun-page#16
No description provided.