- Introduce optional fields for "Top Highlights" and "Editorial Note" in the newsletter dashboard, allowing editors to highlight key articles and provide additional context. - Update the HTML and plain text generation functions to incorporate these new fields, ensuring they are displayed correctly in the newsletter output. - Modify the dashboard template to include input areas for these new features, improving the user interface for newsletter creation.
2.0 KiB
2.0 KiB
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
- Redaktioneller Feinschliff pro Ausgabe:
- Redaktionsnotiz – optionaler Hinweistext, der als eigene Box im Newsletter erscheint
- Top-Highlights – bis zu 3 Artikel per Titel hervorheben (erscheinen oben als Highlight-Box)
- Datenquelle: MediaWiki API (
recentchangesüberwikiDE/api.php) - E-Mail-Layout im Thomas-Krenn Corporate Design:
- Hero-Header mit Logo, Artikel-Karten mit „Zum Beitrag“-Button, Kontakt- und Adress-Footer
- Neu-/Bearbeitet-Trennung, Zusammenfassungs-Kacheln, Outlook-taugliche Kopiervorschau
- Export:
- Plain Text (für Outlook)
- Raw HTML
- Optionaler SMTP-Versand:
- UI-konfigurierbar
- Verteilerlisten
- tägliche Zeitplanung
- Versandprotokoll
- Docker/Compose Betrieb
Start mit Docker
-
Konfiguration anlegen:
cp .env.example .env -
Wichtige Werte in
.envsetzen:HOST_PORT(z. B.8080, falls8000bereits belegt ist)SECRET_KEYADMIN_BOOTSTRAP_EMAILADMIN_BOOTSTRAP_PASSWORD
-
Start:
docker compose up --build -d -
Zugriff:
- http://localhost:8080/login (oder dein
HOST_PORT)
- http://localhost:8080/login (oder dein
Sicherheits-Hinweise für Produktion
- Reverse Proxy (z. B. Nginx/Traefik) mit TLS vor den Container setzen.
SECRET_KEYlang und zufällig setzen.- Bootstrap-Admin-Passwort nach erstem Login ändern.
- Netzwerkzugriff auf interne IPs/Netze beschränken.
- Regelmäßige Backups des
dataVolumes.
Rollenmodell
reader: darf Ergebnisse seheneditor: darf Newsletter generieren und sofort versendenadmin: zusätzlich Benutzerverwaltung und SMTP-Konfiguration