yakamara/yform

mediafile - Datei wird mehrfach in den Medienpool geladen

Closed this issue · 12 comments

REDAXO: 5.12.0
YForm: 3.4.1

Nutzt man das Value im Frontend und lässt das Formular validieren, so wird scheinbar anscheinend bei jedem Submit die Datei erneut in den Medienpool geladen.

Kannst du mir ein Beispiel bauen was ich zum testen nutzen kann?

Ich frage mich gerade für welche Fälle das mediafile eigentlich gut ist. Im Backend haben wir be_media, damit kann man eine Datei im Medienpool hochladen und verwenden - alle Rechte etc. werden beachten und es macht dadurch keine Probleme. Im Frontend haben wir Upload.

Mediafile ist praktisch immer ein Fremdzugriff auf den Medienpool, ohne echte Kontrolle. Man kann höchstens eine Kategorie angeben und dann laufen diese Medien dort rein. Bin mir unsicher, ob ich das überhaupt gut finde. Vielleicht ganz rausnehmen?

Der ganze Prozess mit Upload von Dateien innerhalb von YForm kränkelt. Aber ich schätze, da kann jetzt keine Zeit mehr reinfließen deinerseits @dergel? Sonst würde ich Mal bündeln und vorbereiten, was alles aktuell kaputt ist bei be_media, mediafile und upload und wie es funktionieren müsste.

Ein Profilbild eines YCom-Logins wäre ein Beispiel, bei dem die Datei im Medienpool (aber geschützt mit entsprechenden Metainfos vom Auth-Plugin) vorliegen sollte und nicht andernorts.

Das Beispiel finde ich gut um zu verstehe, dass mediafile doch sinnvoll ist. Bin gerade dabei das zu optimieren. be_media sollte nun passen und ich glaube insgesamt sollte es nun, wenn das hier auch steht, schon ganz sinnvoll sein.

Gerade mit aktueller Redaxo und YForm Version aus Github getestet. Im Frontend und im Backend landet die Datei beim speichern im Medienpool. Beim erneuten speichern und oder übernehmen wird kein Duplikat erstellt.
Was mir aber noch aufgefallen ist: Beim löschen bleibt die Datei im Medienpool. Ist das gewollt? Falls Datenschutzrechtlich relevante Daten verarbeitet werden müsste man das halt nachträlich noch anders abfangen. Oder macht es Sinn beim Löschen die Datei auch aus dem Medienpool zu löschen (eigentlich hätte ich das erwartet beim Label "Löschen".

Ja, schwierig mit dem Löschen. Erwarte ich das? Je nachdem. Deswegen wäre eine entsprechende Option wahrscheinlich gut. Weiterhin wird die Datei schon direkt gespeichert, auch wenn das Formular noch nicht validiert wurde.

und Fehlermeldungen in Front und Backend müssten hier unterschieden werden, da aus den mediapool Serviceklassen die Backendwarnungen kommen.

Ich finde, das mediafile könnte raus und für Frontend sollte das upload Value weiter optimiert werden. Dazu gehört für mich dann aber auch eine Art Medienpool/Dateiablage, wo man alle Dateien auch verwalten und von dort auch in die Datensätze springen kann. So hätten wir Backend und Frotenduploads schön getrennt.

Ich habe mich nun dafür entschieden, das Feld zu löschen. Vieles wird sich zu upload doppeln, wenn ich es entsprechend umbauen muss und es gibt auch einiges an Sicherheitsaspekten zu beachten, wenn wir es so belassen würden. Ich sehe keinen gravierenden Vorteil mediafile zu behalten. Konzentrieren mich lieber auf fehlende Features von upload (z.B. wenn der media_manager ein Profilbild ausgeben muss oder ähnliches)

@dergel wenn du umbaust, hast du die anderen Issues zu mediafile und upload auf dem Schirm? Da gibt es ein paar, die man vlt gleich mitfixen kann.

mediafile fixen muss ich nun nichts mehr :) .. aber, wenn es Issues gibt, die man schließen kann, wäre ich über Hilfe sehr froh. upload funktioniert und habe ich für 4.0 keine Dinge auf dem Schirm. @alxndr-w siehst du da was sehr Relevantes?

mediafile fixen muss ich nun nichts mehr :) .. aber, wenn es Issues gibt, die man schließen kann, wäre ich über Hilfe sehr froh. upload funktioniert und habe ich für 4.0 keine Dinge auf dem Schirm. @alxndr-w siehst du da was sehr Relevantes?

Ja.

  • Upload/Multiupload #430
  • aus Frontend/Backend in
  • Medienpool/ohne Medienpool
  • mit/ohne Drag&Drop
  • inkl. Validierung
  • Unter Beibehaltung der Information, wie die Datei beim Upload original hieß

Das sind für mich die 5 Anforderungen, die aktuell nie zufriedenstellend gelöst sind. Ich hatte mit https://github.com/FriendsOfREDAXO/yform_dropzone/ mal begonnen, @skerbis mit https://github.com/FriendsOfREDAXO/uppy

edit: hinzukommt, dass es manchmal nicht nachvollziehbar ist, wie man wieder an den Download-Link des Dokuments kommt. Im Table Manager macht's das irgendwie automatisch, es fehlt da entweder an Dokumentation oder an einer passenden Methode. Dass bspw. main_where und main_table gesetzt sein müssen, erschließt sich mir ebenso wenig, wie weshalb eine Post-Action nötig ist, um passende Dateinamen zu erzeugen. Siehe https://github.com/yakamara/redaxo_yform/blob/69c23c576b5834de1032e2efaeaba5f02e49d985/docs/formbuilder.md#beispiel-e-mail-29