Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installation und Deinstallation überarbeitet #92

Merged
merged 6 commits into from
Aug 21, 2024
Merged

Installation und Deinstallation überarbeitet #92

merged 6 commits into from
Aug 21, 2024

Conversation

christophboecker
Copy link
Member

@christophboecker christophboecker commented Aug 20, 2024

Cronjob und Url-Addon-Profile wurden bisher aus SQL-Dateien eingespielt, wobei jede Datei eh nur ein einzelnes Insert-Statement enthielt. Jetzt sind es PHP-Dateien, die includiert werden.

Die Dateien enthalten PHP-Code (z.B. rex_sql-basiert), der die Daten in die Tabelle einfügt. Der Code ist auf diese Art RexStan-freundlich und erzeugt keine Warnungen mehr. Zudem gewinnt man eine bessere und damit wartungsfreundliche Sicht auf die Inhalte. siehe #91

  • rex_cronjob_neues_publish.sql => cronjob_publish.php
  • rex_url_profile_neues_category.sql => url_profile_category.php_
  • rex_url_profile_neues_entry.sql => url_profile_entry.php_

install.php:

  • Kommentierung im Code erweitert zum besseren Verständnis
  • obige neuen Includes eingebaut
  • Mehrfachnutzungen von Literaten auf Variablen umgestellt
    • $fallbackImage = 'neues_entry_fallback_image.png';
    • Publish::class statt `'FriendsOfRedaxo\Neues\Cronjob\Publish';
  • Tabellennamen für Url-Profile aus dem Addon übernehmen ($urlProfileTable = rex::getTable(Profile::TABLE_NAME);)

uninstall.php:

Bisher werden nur die YForm-Tablesets entfernt. Alles andere bleibt erhalten, also Tabellen, Fallback-Image im Medienpool, Cronjob, Url-Profile, Url-Einträge).
Mancher hat beim Deinstallieren womöglich eine andere Erwartungshaltung. Daher nun eine erweiterte Variante:

  • Zunächst erfolgt eine Abfrage des Deinstallationsumfangs (Minimal oder Vollständig)
    grafik
  • Im Minimalfall werden wie bisher nur die YForm-Tablesets deinstalliert.
  • Im anderen Fall werden auch Tabellen, Fallback-Image, Cronjobs und Url-Profile entfernt.
  • Url-Profil löschen in Anlehnung an die Vorgehensweise im Addon selbst (pages/generator.profiles.php)

Achtung: ich habe vom Url-Addon keine Ahnung und kann nur raten, was womöglich aus den Tabellen des Url-Addons (und YRewrite) entfernt werden müsste und wie. Da ist möglicherweise noch Nachbesserung erforderlich!

closes #91

@alxndr-w
Copy link
Member

Wie geil ist das denn?

@alxndr-w alxndr-w self-requested a review August 20, 2024 15:37
@alxndr-w alxndr-w self-assigned this Aug 20, 2024
@alxndr-w
Copy link
Member

Ich habe mir das ganze nur mobil angeschaut, das URL Profil löschen und unmittelbar danach den URL-Cache wäre angebracht.

@christophboecker
Copy link
Member Author

christophboecker commented Aug 21, 2024

das URL Profil löschen und unmittelbar danach den URL-Cache wäre angebracht.

Code angepasst: Ich habe einfach den Code aus dem Url-Addon zum Löschen von Profilen adaptiert (Profil-Löschen, mit dem Profil verbundene Url löschen, Cache-Löchen).

@alxndr-w alxndr-w added the enhancement New feature or request label Aug 21, 2024
@alxndr-w alxndr-w merged commit f7f6e6b into main Aug 21, 2024
@alxndr-w alxndr-w deleted the cb-3 branch August 21, 2024 09:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

diskreter rex_sql-Code vs. SQL-Datei
2 participants