12-05-2026 Frontend dev
This commit is contained in:
parent
405df0a122
commit
5b8bdf4182
779 changed files with 480564 additions and 6241 deletions
60
dev/legacy_performance/FTP-LIVE-DEPLOY.md
Normal file
60
dev/legacy_performance/FTP-LIVE-DEPLOY.md
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
# FTP Live Deploy - Legacy Performance Hotfixes
|
||||
|
||||
## 1. Dateien per FTP hochladen
|
||||
|
||||
Diese Dateien auf dem Live-Server ersetzen:
|
||||
|
||||
```text
|
||||
_businessportal24.com/config/app.yml
|
||||
_businessportal24.com/plugins/PressePortalPlugin/modules/pressrelease/lib/pluginPressReleaseActions.class.php
|
||||
_businessportal24.com/plugins/PressePortalPlugin/modules/pressrelease/lib/pluginPressReleaseComponents.class.php
|
||||
_businessportal24.com/plugins/PressePortalPlugin/modules/pressrelease/templates/_prlistItems.php
|
||||
_businessportal24.com/plugins/PressePortalPlugin/modules/customercenter/templates/_home.php
|
||||
```
|
||||
|
||||
Die Dateien unter `dev/legacy_performance/` muessen nicht auf den Live-Server, ausser du willst sie dort als Notiz ablegen.
|
||||
|
||||
## 2. Datenbank-Indizes einspielen
|
||||
|
||||
Die SQL-Datei lokal liegt hier:
|
||||
|
||||
```text
|
||||
dev/legacy_performance/live-indexes.sql
|
||||
```
|
||||
|
||||
Den Inhalt einmal in phpMyAdmin, Adminer oder einem anderen MySQL-Tool auf der Live-Datenbank ausfuehren.
|
||||
|
||||
Vorher optional pruefen:
|
||||
|
||||
```sql
|
||||
SHOW INDEX FROM press_release;
|
||||
SHOW INDEX FROM press_release_image;
|
||||
```
|
||||
|
||||
Falls ein Indexname bereits existiert, die passende `ALTER TABLE`-Zeile auslassen.
|
||||
|
||||
## 3. Symfony-Cache per FTP leeren
|
||||
|
||||
Nach dem Upload den Symfony-Produktivcache leeren. Wenn kein SSH vorhanden ist, per FTP den Inhalt dieser Ordner loeschen:
|
||||
|
||||
```text
|
||||
_businessportal24.com/cache/frontend/prod/
|
||||
_businessportal24.com/cache/backend/prod/
|
||||
```
|
||||
|
||||
Nur die Inhalte loeschen, nicht zwingend die Ordner selbst. Symfony legt benoetigte Cache-Dateien neu an.
|
||||
|
||||
## 4. Kurz testen
|
||||
|
||||
Nach dem Upload pruefen:
|
||||
|
||||
- Startseite oeffnet ohne Fehler.
|
||||
- Pressemitteilungs-Detailseite oeffnet ohne Fehler.
|
||||
- JSON-API fuer Pressemitteilungen liefert weiter URLs.
|
||||
- Kundenbereich-Startseite oeffnet fuer einen Testkunden.
|
||||
|
||||
## 5. Rollback
|
||||
|
||||
Bei Problemen die oben genannten fuenf Legacy-Dateien aus dem Backup wieder hochladen und den Symfony-Cache erneut leeren.
|
||||
|
||||
Die SQL-Indizes muessen fuer ein Code-Rollback nicht entfernt werden. Sie veraendern keine Daten und sollten auch mit dem alten Code unkritisch sein.
|
||||
69
dev/legacy_performance/UMSETZUNGSSTAND.md
Normal file
69
dev/legacy_performance/UMSETZUNGSSTAND.md
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
# Legacy Performance Hotfixes - Umsetzungsstand
|
||||
|
||||
Stand: 2026-05-11
|
||||
|
||||
## Ziel
|
||||
|
||||
Die Legacy-Installation `_businessportal24.com` soll bis zum Relaunch bei Seiten mit vielen Pressemitteilungen spuerbar weniger Datenbanklast erzeugen.
|
||||
|
||||
## Geaenderte Dateien
|
||||
|
||||
```text
|
||||
_businessportal24.com/config/app.yml
|
||||
```
|
||||
|
||||
Neue Schalter:
|
||||
|
||||
- `pressrelease_count_hits_enabled: false`
|
||||
- `homepage_totals_cache_lifetime: 300`
|
||||
|
||||
Damit wird das direkte Hit-Counting auf der heissen Tabelle `press_release` deaktiviert und die Startseiten-Zaehler werden fuer 5 Minuten gecacht.
|
||||
|
||||
```text
|
||||
_businessportal24.com/plugins/PressePortalPlugin/modules/pressrelease/lib/pluginPressReleaseActions.class.php
|
||||
```
|
||||
|
||||
Der Hit-Counter schreibt nur noch, wenn `app_pressrelease_count_hits_enabled` explizit aktiviert ist.
|
||||
|
||||
```text
|
||||
_businessportal24.com/plugins/PressePortalPlugin/modules/pressrelease/lib/pluginPressReleaseComponents.class.php
|
||||
```
|
||||
|
||||
Die Startseiten-Homelist laedt die Kategorie per Join mit und cached die globalen Zaehler fuer Pressemitteilungen und Redakteure ueber `sfFileCache`.
|
||||
|
||||
```text
|
||||
_businessportal24.com/plugins/PressePortalPlugin/modules/pressrelease/templates/_prlistItems.php
|
||||
```
|
||||
|
||||
Kategorie, Firma und Bilder werden pro Listenzeile nicht mehr mehrfach ueber Getter neu angefragt.
|
||||
|
||||
```text
|
||||
_businessportal24.com/plugins/PressePortalPlugin/modules/customercenter/templates/_home.php
|
||||
```
|
||||
|
||||
Die Kundenstartseite fuehrt die Pressemitteilungs-Liste nicht mehr mehrfach fuer Count, Anzeige und Link-Pruefung aus. Stattdessen wird einmal `limit(6)` geladen.
|
||||
|
||||
## Neue Datei
|
||||
|
||||
```text
|
||||
dev/legacy_performance/live-indexes.sql
|
||||
```
|
||||
|
||||
Enthaelt die empfohlenen Live-Indizes fuer `press_release` und `press_release_image`.
|
||||
|
||||
## Erwartete Wirkung
|
||||
|
||||
- Weniger wiederholte Count-Queries auf der Startseite.
|
||||
- Weniger Lazy-Loading in Pressemitteilungslisten.
|
||||
- Keine Schreiblast mehr pro Pressemitteilungs-Detailaufruf, solange der Hotfix-Schalter deaktiviert bleibt.
|
||||
- Schnellere Filter- und Sortierzugriffe nach Einspielen der SQL-Indizes.
|
||||
|
||||
## Wichtiger Hinweis
|
||||
|
||||
Die Hit-Zahlen werden durch diesen Hotfix nicht weiter hochgezaehlt. Wenn die Statistik wichtiger ist als die Entlastung, kann auf dem Live-Server in `_businessportal24.com/config/app.yml` wieder gesetzt werden:
|
||||
|
||||
```yaml
|
||||
pressrelease_count_hits_enabled: true
|
||||
```
|
||||
|
||||
Fuer die Performance-Ueberbrueckung bis zum Relaunch sollte der Wert auf `false` bleiben.
|
||||
17
dev/legacy_performance/live-indexes.sql
Normal file
17
dev/legacy_performance/live-indexes.sql
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
-- Legacy performance hotfixes for businessportal24.com
|
||||
-- Execute these statements on the live database once.
|
||||
--
|
||||
-- If an index with the same name already exists, skip the matching ALTER TABLE
|
||||
-- statement. Older MySQL versions do not support ADD INDEX IF NOT EXISTS.
|
||||
|
||||
ALTER TABLE press_release
|
||||
ADD INDEX pr_status_language_created_idx (status, language, created_at);
|
||||
|
||||
ALTER TABLE press_release
|
||||
ADD INDEX pr_category_status_language_created_idx (category_id, status, language, created_at);
|
||||
|
||||
ALTER TABLE press_release
|
||||
ADD INDEX pr_company_status_language_created_idx (company_id, status, language, created_at);
|
||||
|
||||
ALTER TABLE press_release_image
|
||||
ADD INDEX pri_pressrelease_preview_idx (press_release_id, is_preview_image);
|
||||
Loading…
Add table
Add a link
Reference in a new issue