rexstan
rexstan copied to clipboard
Einstellungen exportieren/importieren als Datei
Für spätere Tests wäre es gut wenn man einen kopierbaren Bericht erhalten würde, den man ggf. mit in das Repo legen könnte.
Beispiel:
Test Report:
PHP Version: 8.2
Stufe: 9
Einstellungen:
- Strict
- Deprecation Warnings
- phpstan-dba
- cognitive complexity
- dead code
Ergebnis: bestanden
Welchen zweck soll dieser bericht erfüllen? Was willst du damit erreichen?
Ich würde gerne ein file in das Repo legen um anderen mitzuteilen wie getestet wurde, falls am AddOn gearbeitet wird.
Wäre es dann nicht eher sinnvoll dass man die rexstan Einstellungen importierbar/exportierbar macht?
Wenn die settings somit als datei vorliegen könnte man diese beliebig versionieren/committen
Gute Idee
Import/Export der settings als yaml PR welcome
Wie aus der DB oder ohne Pfad?
bin mir nicht sicher worauf du hinaus willst, aber ich könnte es mir so vorstellen:
buttom zum exportieren der die aktuellen settings als datei download sendet (z.b. als json oder xml). weiterer upload file button der dieselbe datei hochladen lässt und als settings abspeichert.
ausblick: 2 consolen commands zum import/export selbiger datei (separate ausbaustufe)
Ich meine das die Einstellungen als Pfad in rex_config gespeichert werden:

vllt macht es sinn die pfade innerhalb der export datei relativ zum redaxo root zu speichern
und am besten mit / als directory separator, damits auf windows und mac/linux funktioniert (aber das passiert durchs relativieren vermutlich bereits automatisch)
@staabm ich verstehe leider nicht wo der Pfad herkommt. Wenn die Pfade relativ gespeichert werden müsste ich diese beim aufruf von rexstan irgendwie übersetzten. Ich finde aber keine Funktion wo das hier passiert:
Es wird eigentlich nur execCmd aufgerufen, aber woher kommt der Pfad? :|
@eaCe schick gerne deinen stand als PR und dann schauen wir gemeinsam auf den code
@staabm du kannst den branch testen: https://github.com/FriendsOfREDAXO/rexstan/tree/import-export Da passiert noch nicht viel. Es werden nur relative Pfade gespeichert.
@eaCe Ich vermute fast, dass das nicht die ganze Lösung ist. Weil: in dem Commit werden ja "nur" Select-Felder für die Auswahl der Konfiguration mit relativen statt absoluten Pfadnamen bestückt (page/settings). Die ausgwewählten Pfade schreibt dann das Formular in die rex_config und zusätzlich werden sie aus $_REQUEST ausgelesen und mittels RexStanUserConfig in die Datei user-config.neon geschrieben, die die absoluten Pfade benötigt.
https://github.com/FriendsOfREDAXO/rexstan/blob/35351fe5fbe521718d0c0d90f5d7b0747bf02b3a/pages/settings.php#L16-L34
Was spräche denn dagegen, für eine Reporting-Ausgabe die Daten aus der rex_config zu nehmen, die Pfade in relative umzurechnen und dann auszugeben. Oder wie bei Extensions über die Arrays in RexStanSettings in deren konkreten Namen? Wie gesagt, dann wäre kein Eingriff in das Gesamtsystem nötig.
Wobei man auch durchaus die Frage stellen kann, warum die Pfade (als Select-Value) direkt in den Selects stehen statt der Namen(addon bzw. Extension) ? Es reicht aus, über die Namen die Pfade beim Speichern der user-config.neon zusammenzustellen. Das würde aber einen etwas tiefergehenden Umbau bedeuten. Aber wo steht geschrieben, dass man am Start als gut (weil schnell realisiert) erkannte Lösungen immer weiter führen muss :-) ?
danke. ich hab mal nen PR geöffnet sodass wir dort direkt am code arbeiten können statt hier abstrak im issue https://github.com/FriendsOfREDAXO/rexstan/pull/202
@christophboecker danke für den Hinweis. Dann kam der Pfad also aus der .neon-Datei. Dein Vorschlag die Pfade bei Ex- und Import umzurechnen sind sicher die einfachere (schnellere) Methode. Ich teste das mal,