smueller 3f3223f17c Implement newsletter preview copy functionality and UI enhancements
- Add a new preview banner to indicate the live newsletter display.
- Introduce `copyFromPreviewFrame` function to enable copying the newsletter preview directly.
- Update copy status messages for clarity and improved user guidance.
- Revise button labels in the dashboard for better usability.
- Modify CSS for the newsletter preview frame and add styles for the new preview banner.
2026-07-03 13:48:51 +02:00
2026-07-03 11:35:25 +02:00

TK Wiki Newsletter Admin

Produktionsnahes internes Tool zur Erstellung von Thomas-Krenn.AG Newslettern auf Basis der letzten Wiki-Änderungen.

Funktionen

  • Login und Benutzerverwaltung mit RBAC (admin, editor, reader)
  • Verpflichtender CSRF-Schutz auf allen POST-Formularen
  • Filter in der Web-UI:
    • Zeitraum in Tagen
    • Nur bearbeitete Artikel
    • Kategorie
  • Datenquelle: MediaWiki API (recentchanges über wikiDE/api.php)
  • Export:
    • Plain Text (für Outlook)
    • Raw HTML
  • Optionaler SMTP-Versand:
    • UI-konfigurierbar
    • Verteilerlisten
    • tägliche Zeitplanung
    • Versandprotokoll
  • Docker/Compose Betrieb

Start mit Docker

  1. Konfiguration anlegen:

    cp .env.example .env
    
  2. Wichtige Werte in .env setzen:

    • HOST_PORT (z. B. 8080, falls 8000 bereits belegt ist)
    • SECRET_KEY
    • ADMIN_BOOTSTRAP_EMAIL
    • ADMIN_BOOTSTRAP_PASSWORD
  3. Start:

    docker compose up --build -d
    
  4. Zugriff:

Sicherheits-Hinweise für Produktion

  • Reverse Proxy (z. B. Nginx/Traefik) mit TLS vor den Container setzen.
  • SECRET_KEY lang und zufällig setzen.
  • Bootstrap-Admin-Passwort nach erstem Login ändern.
  • Netzwerkzugriff auf interne IPs/Netze beschränken.
  • Regelmäßige Backups des data Volumes.

Rollenmodell

  • reader: darf Ergebnisse sehen
  • editor: darf Newsletter generieren und sofort versenden
  • admin: zusätzlich Benutzerverwaltung und SMTP-Konfiguration
Description
No description provided
Readme 474 KiB
Languages
Python 55.9%
HTML 28%
CSS 8.6%
JavaScript 7.2%
Dockerfile 0.2%