rexstan icon indicating copy to clipboard operation
rexstan copied to clipboard

Einstellungen exportieren/importieren als Datei

Open skerbis opened this issue 3 years ago • 15 comments

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

skerbis avatar Sep 21 '22 06:09 skerbis

Welchen zweck soll dieser bericht erfüllen? Was willst du damit erreichen?

staabm avatar Sep 21 '22 06:09 staabm

Ich würde gerne ein file in das Repo legen um anderen mitzuteilen wie getestet wurde, falls am AddOn gearbeitet wird.

skerbis avatar Sep 21 '22 08:09 skerbis

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

staabm avatar Sep 21 '22 10:09 staabm

Gute Idee

skerbis avatar Sep 21 '22 15:09 skerbis

Import/Export der settings als yaml PR welcome

staabm avatar Oct 02 '22 06:10 staabm

Wie aus der DB oder ohne Pfad?

eaCe avatar Oct 15 '22 12:10 eaCe

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)

staabm avatar Oct 15 '22 12:10 staabm

Ich meine das die Einstellungen als Pfad in rex_config gespeichert werden:

grafik

eaCe avatar Oct 15 '22 12:10 eaCe

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 avatar Oct 15 '22 13:10 staabm

@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: grafik Es wird eigentlich nur execCmd aufgerufen, aber woher kommt der Pfad? :|

eaCe avatar Oct 16 '22 09:10 eaCe

@eaCe schick gerne deinen stand als PR und dann schauen wir gemeinsam auf den code

staabm avatar Oct 28 '22 12:10 staabm

@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 avatar Oct 31 '22 06:10 eaCe

@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 :-) ?

christophboecker avatar Oct 31 '22 08:10 christophboecker

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

staabm avatar Oct 31 '22 10:10 staabm

@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,

eaCe avatar Nov 05 '22 08:11 eaCe