- 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.
66 lines
2.0 KiB
Markdown
66 lines
2.0 KiB
Markdown
# 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` über `wikiDE/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
|
||
|
||
1. Konfiguration anlegen:
|
||
|
||
```bash
|
||
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:
|
||
|
||
```bash
|
||
docker compose up --build -d
|
||
```
|
||
|
||
4. Zugriff:
|
||
- [http://localhost:8080/login](http://localhost:8080/login) (oder dein `HOST_PORT`)
|
||
|
||
## 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
|