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

Fix issues with DPMedia (filesystem plugins) #311

Merged
merged 20 commits into from
Jan 25, 2025

Conversation

Elfangor93
Copy link
Member

@Elfangor93 Elfangor93 commented Dec 27, 2024

This PR fixes issues found with other filesystems than local filesystem (plg_filesystem_local). I used @laoneo DPMedia extensions and @akeeba plg_filesystem_s3 to test the code and make it fit for different plugins of type filesystem.
With this PR applied the local filesystem should still work as before. Additionally it should be possible to use other filesystem plugins to store the image files on different cloud services.

Forum blog post with a list of available filesystem plugins:
https://www.forum.joomgalleryfriends.net/forum/index.php?thread/421-filesystem-plugins/&postID=2438

Attention
Be aware that some filesystem integrations like Dropbox, Google, Amazon S3, ... do not work on a local Joomla! installation as they require an official domain with a SSL certificate.

How to test this PR

Make sure everything still works using the local filesystem

  1. Upload new images
  2. Delete images
  3. Exchange images
  4. Recreate images
  5. Move images from one category to another
  6. ...
  7. Delete all images still with the local filesystem activated

Switch to FTP as filesystem

  1. Check with com_media if the Plugin settings work correctly and you can upload successfully into the FTP
  2. Repeat all tests you did with the local filesystem
  3. Delete all images still with the FTP filesystem activated

Switch to any other filesystem plugin

  1. Check with com_media if the Plugin settings work correctly and you can upload successfully into this cloud storage
  2. Repeat all tests you did with the local filesystem
  3. Delete all images still with this filesystem activated

Advanced: Using multiple filesystems in parallel

  1. Choose a default filesystem in the global configuration set of JoomGallery
  2. Create a category and specify a different filesystem in the category edit form
  3. Repeat all tests you did with the local filesystem but specifically upload into different categories/filesystems

Example with Dropbox

DPMedia

@Elfangor93 Elfangor93 added needs testing This issue or pull request needs further testing DB changed New installation needed to test this change GUI testing Tests can be perfomed using the GUI labels Dec 29, 2024
@Elfangor93 Elfangor93 marked this pull request as ready for review December 29, 2024 12:33
@eumel1602
Copy link
Collaborator

eumel1602 commented Dec 31, 2024

J5.2.2 / PHP 8.2 / WIN10 / MYSQL 8.x
1. Is it possible that the plugin is not installed on my device? ?
bildschirmabgriff2


  1. loca filesystem. Upload **Dateityp: .webp doesn't work for me (invalid file type - save failed)

`Imagetype: thumbnail
Used image processor: GD 2.1.0 compatible
Auto-Orientation only possible for JPG files with EXIF orientation meta tag.
Resizing to width...
Resize successful.
Filesystem plugin is reporting the following error: Datei kann nicht hochgeladen werden.
Image-File (1-2_2_20241231_1417705960.webp) of type 'thumbnail' could not be created.

Imagetype: detail
Used image processor: GD 2.1.0 compatible
Auto-Orientation only possible for JPG files with EXIF orientation meta tag.
Resize is not necessary because the image is already small enough.
Filesystem plugin is reporting the following error: Datei kann nicht hochgeladen werden.
Image-File (1-2_2_20241231_1417705960.webp) of type 'detail' could not be created.

Imagetype: original
No image manipulation needed.
Filesystem plugin is reporting the following error: Datei kann nicht hochgeladen werden.
Image-File (1-2_2_20241231_1417705960.webp) of type 'original' could not be created.
There were some errors in the filesystem. Please check the image folders manually and resolve the problems.
Image-File (1-2_2_20241231_1417705960.webp) of type 'thumbnail' successfully deleted.
Image-File (1-2_2_20241231_1417705960.webp) of type 'detail' successfully deleted.
Image-File (1-2_2_20241231_1417705960.webp) of type 'original' successfully deleted.

`

@rowi68

This comment was marked as outdated.

@rowi68
Copy link

rowi68 commented Dec 31, 2024

@eumel1602

2. loca filesystem. Upload **Dateityp:  .webp doesn't work for me (invalid file type - save failed)

I can´t confirm. I have no trouble with .webp
Maybe the reason is image processor version?

J5.2.2 / PHP 8.3 / MYSQL 10.6.15-MariaDB
Used image processor: GD 2.3.0

@eumel1602
Copy link
Collaborator

eumel1602 commented Dec 31, 2024

I can´t confirm. I have no trouble with .webp Maybe the reason is image processor version?

J5.2.2 / PHP 8.3 / MYSQL 10.6.15-MariaDB Used image processor: GD 2.3.0

It doesn't work with either of the image processors.
I also allowed the webp format in the Joomla SETTINGS under media in the options... Still doesn't work?
edit: Your currently installed version is: GD 2.1.0 compatible. ???

@Elfangor93
Copy link
Member Author

Elfangor93 commented Dec 31, 2024

Furthermore I have no accesss to this link.

@rowi68 You need to be officially part of the JoomGallery friends development team in order to get access to this. Please provide me with your Forum account username and an email address, where I can reach you. Then I can add you to the JoomGallery friends development team and you will get access to the internal threads in the forum.

@Elfangor93
Copy link
Member Author

Is it possible that the plugin is not installed on my device?

You have to install DPMedia Core first and afterwards each filesystem plugin you want to have.

@Elfangor93
Copy link
Member Author

Elfangor93 commented Dec 31, 2024

Upload **Dateityp: .webp doesn't work for me (invalid file type - save failed)

Der Fehler wird vom filesystem Plugin geworfen. Muss wohl etwas mit den com_media einstellungen zu tun haben. Kannst du die Datei unter "Media" (com_media) hochladen? Kommt da eventuell der gleiche Fehler?

Kommt der Fehler bei sämtlichen webp Bilder oder nur bei dem einen?

@eumel1602
Copy link
Collaborator

eumel1602 commented Dec 31, 2024

Kommt der Fehler bei sämtlichen webp Bilder oder nur bei dem einen?

ja bei allen webp Bilder. Im J!-Medienbereich geht es auch nicht. wenn es bei zwei anderen geht, sollte das mein problem sein !

You have to install DPMedia Core first and afterwards each filesystem plugin you want to have.

ok, das habe ich falsch verstanden. ich dachte das ist installiert dadurch. LINK ?

@rowi68
Copy link

rowi68 commented Dec 31, 2024

It doesn't work with either of the image processors.
I also allowed the webp format in the Joomla SETTINGS under media in the options... Still doesn't work?
edit: Your currently installed version is: GD 2.1.0 compatible. ???

No, my currenty installed version is GD 2.3.0

@rowi68

This comment was marked as resolved.

@rowi68

This comment was marked as resolved.

@rowi68

This comment was marked as off-topic.

@Elfangor93

This comment was marked as resolved.

@rowi68

This comment was marked as off-topic.

@Elfangor93
Copy link
Member Author

Elfangor93 commented Jan 1, 2025

Das Hochladen in das FTP Verzeichnis funktioniert, jedoch werden die erstellten Verzeichnisse und Bilder nicht im Medienmanager angezeigt

@rowi68 Ich vermute, du benutzt die gratis Version des FTP-Plugins von DPMedia?
Damit hatte ich auch Probleme. Die kostenpflichtige Version funktioniert besser.
Das Problem, das du schilderst ist nicht durch JoomGallery verursacht, da es sogar im Medien-Manager (com_media) des Cores auftaucht.
Nehme mit dem Plugin-Entwickler (@laoneo) Kontakt auf. Ich kann da auch nichts machen.

@rowi68
Copy link

rowi68 commented Jan 2, 2025

Ja, ich habe die gratis Version verwendet.

@laoneo
Copy link

laoneo commented Jan 2, 2025

@Elfangor93 har recht. Die Gratisversion unterstützt das Erstellen und Löschen nicht, nur das Anzeigen.

@Elfangor93
Copy link
Member Author

Die Gratisversion unterstützt das erstellen und löschen nicht, nur das Anzeigen.

@laoneo Vielleicht könntest du die Fehlermeldung in der Gratis-Version anpassen?
Wenn ich du wäre würde ich in die Fehlermeldung ein Link zur kostenpflichtigen Version hinzufügen ;-)

@rowi68
Copy link

rowi68 commented Jan 2, 2025

Die Gratisversion unterstützt das Erstellen und Löschen nicht, nur das Anzeigen.

Dann bin ich zum testen dieses PR raus, da ich diese Funktion später (voraussichtlich) nicht benötige und deshalb jetzt (vorerst) keine kostenpflichtige Version erwerbe.

@eumel1602
Copy link
Collaborator

@Elfangor93
ist es eine bedingung, dass die webseite auf dem gleichen server läuft wie bzw wo der ftp ordner liegt?

aktuell scheitere ich den einstellungen...

@Elfangor93
Copy link
Member Author

ist es eine bedingung, dass die webseite auf dem gleichen server läuft wie bzw wo der ftp ordner liegt?

Nein. Der FTP kann ein beliebiger server sein. Der host muss einfach entsprechend eingestellt sein.
Aber wir können sonst diesen PR gemeinsam am nächsten Treffen vom 07.01.2025 testen.

@MrMusic
Copy link
Member

MrMusic commented Jan 11, 2025

Nachtrag zur genaueren Erklärung des Fehlers: Wenn etwas anderes als "Use Global (..." eingestellt ist, lässt sich die Kategorie nicht speichern. In der Tabellenspalte "params" wird auch kein Eintrag für "jg_filesystem" gespeichert.
category-filesystem-params

@Elfangor93
Copy link
Member Author

Its only possible to change the Filesystem parameter in empty top level categories.

@MrMusic
Copy link
Member

MrMusic commented Jan 13, 2025

Nachtrag zur genaueren Erklärung des Fehlers: Wenn etwas anderes als "Use Global (..." eingestellt ist, lässt sich die Kategorie nicht speichern. In der Tabellenspalte "params" wird auch kein Eintrag für "jg_filesystem" gespeichert.

Der Fehler tritt nicht mehr auf.

Its only possible to change the Filesystem parameter in empty top level categories.

Es ist möglich den Eintrag von z.B. "Local (images)" auf "Use Global ...irgendwas..." zu ändern, obwohl bereits Bilder in der Kategorie vorhanden sind.
Um ein durcheinander zu vermeiden, würde ich empfehlen das Feld "Filesystem" auf "Readonly" zu setzen sobald die Kategorie das erste mal gespeichert wurde.

Dann habe ich noch zwei Probleme gefunden:

  1. Verwirrende Debugmeldung:
    Bei jedem Speichern und schließen kommt folgende Debugmeldung auch wenn an der Kategorie überhaupt nichts geändert wurde:
>Debug information:
---------------------------------
Category-Folder with name 'test-global-ftp' could not be created.
Category-Folder with name 'test-global-ftp' could not be created.
Category-Folder with name 'test-global-ftp' could not be created.
There were some errors in the filesystem. Please check the image folders manually and resolve the problems.

Es spielt dabei keine Rolle ob der Ordner lokal oder irgendwo anders liegt.

  1. Beim Versuch ein Bild von einer Kategorie (ftp-Filesystem) in eine Kategorie mit local-Filesystem zu verschieben:
Warning
Debug information:
---------------------------------
Image-File (wall-8265556-1920_29_20250113_1264662783.jpg) of type 'thumbnail' could not be moved.
Image-File (wall-8265556-1920_29_20250113_1264662783.jpg) of type 'detail' could not be moved.
Image-File (wall-8265556-1920_29_20250113_1264662783.jpg) of type 'original' could not be moved.
There were some errors in the filesystem. Please check the image folders manually and resolve the problems.

Der Eintrag in der DB für das Bild ist geändert.
Die Bilddateien sind aber noch im alten Filesystem gespeichert.

@Elfangor93
Copy link
Member Author

Verwirrende Debugmeldung:
Bei jedem Speichern und schließen kommt folgende Debugmeldung auch wenn an der Kategorie überhaupt nichts geändert wurde.

Kann ich bei mir nicht bestätigen, bzw. nicht reproduzierbar.

@Elfangor93
Copy link
Member Author

Beim Versuch ein Bild von einer Kategorie (ftp-Filesystem) in eine Kategorie mit local-Filesystem zu verschieben

Du hast recht, dies ist aktuell nicht möglich. Dies werde ich jedoch nicht in diesem PR abhandeln.
Was du da entdeckt hast sind eigentlich zwei unabhängige Fehler, die hier miteinander eintreten. Ich habe zwei entsprechende Issues erstellt: #341, #342

@Elfangor93

This comment was marked as resolved.

@MrMusic
Copy link
Member

MrMusic commented Jan 14, 2025

Ein weiterer Punkt ist mir noch aufgefallen der evtl. mit den anderen Problemen zusammenhängt. Folgende Schritte sind notwendig:

  1. Stelle in der JG config das Filesystem auf "local"
  2. Erstelle eine neue Kategorie in einem anderen Filesystem z.B. "ftp" (indem vor dem ersten Speichern das Filesystem "ftp" ausgewählt wird)
  3. Überprüfe die Ordnerstruktur: Die Ordner der neuen Kategorie wurden tatsächlich "local" angelegt, nicht im Filesystem "ftp"
  4. Lade Bilder in die neue Kategorie
  5. Überprüfe die Ordnerstruktur nochmals: Die Ordner der neuen Kategorie (einschl. Bilder) sind nun richtig im Filesystem "ftp" angelegt, aber auf "local" bleiben die leeren Ordner der neuen Kategorie zurück.

@MrMusic
Copy link
Member

MrMusic commented Jan 14, 2025

Verwirrende Debugmeldung:
Bei jedem Speichern und schließen kommt folgende Debugmeldung auch wenn an der Kategorie überhaupt nichts geändert wurde.

Kann ich bei mir nicht bestätigen, bzw. nicht reproduzierbar.

Die Meldung kommt immer dann wenn in der JoomGallery config etwas anderes als "Local (images)" eingestellt ist.

@Elfangor93
Copy link
Member Author

Überprüfe die Ordnerstruktur nochmals: Die Ordner der neuen Kategorie (einschl. Bilder) sind nun richtig im Filesystem "ftp" angelegt, aber auf "local" bleiben die leeren Ordner der neuen Kategorie zurück.

Ja, das ist richtig. Das ist kein Fehler, sondern gewollt. Hat damit zutun, wie IMGtools Service arbeitet.

@Elfangor93
Copy link
Member Author

Die Meldung kommt immer dann wenn in der JoomGallery config etwas anderes als "Local (images)" eingestellt ist.

Vielen Dank. Sollte nun behoben sein.

@Elfangor93
Copy link
Member Author

Elfangor93 commented Jan 15, 2025

Hinweis von @laoneo:
Da ein FTP keine direkten URLs zu den Bildern erlaubt, müssen die Bilder parallel auch lokal bereitstehen, damit im Medien-Manager Vorschaubilder möglich sind oder damit über die Option Use real path in der JoomGallery überhaupt Bilder abgerufen werden können. Somit ist diese Option (Use real path) im Zusammenhang mit dem DPMedia - FTP alles andere als Ideal, da damit der grosse Vorteil von externen Filesystemen für die JoomGallery ausgehebelt wird. Die Bilder sind nämlich trotzdem wieder lokal gespeichert.

Zudem existiert hier noch ein Bug in DPMedia. Die lokalen Bilder unter /images/dpftp/thumbs verbleiben, selbst wenn das Bild selber gelöscht wird. Dies kann so auch mit dem Medien-Manager (com_media) reproduziert werden.

@laoneo: Wäre es möglich im DPMedia - FTP Plugin eine Option einzubauen, welche das Ablegen von lokalen Thumbnails komplett unterbindet?
Mit dem Nachteil, dass dann keine Vorschaubilder im Medien-Manager mehr angezeigt werden. Jedoch würde damit die JoomGallery Integration weiterhin funktionieren, solange die Option Use real path in der JoomGallery nicht aktiviert ist. Ohne diese Option, wird die FTP Integration für die JoomGallery wohl nutzlos sein.

Wie sieht es eigentlich mit den anderen Adaptern (Dropbox, WebDAV, ...) aus?
Legen die auch grossflächig lokale Thumbnails an?

@laoneo
Copy link

laoneo commented Jan 15, 2025

Ja das wäre möglich. Da du eine Subscription hast, kannst du einen Case eröffnen, dann kann ich das für den nächsten release machen?

Bei WebDAV ist das gleiche Problem. Alle Adapter, wie Dropbox, welche eine Vorschaubild URl haben, da wird keines Lokal angelegt. Da gibt es eine zusätzliche Option, dass das Bild, welches in einem Artikel ausgewählt wurde, dann lokal abgespeichert wird, wegen Datenschutz.

@MrMusic
Copy link
Member

MrMusic commented Jan 17, 2025

Vielen Dank. Sollte nun behoben sein.

Ist behoben. Vielen Dank.

Ein weiterer Punkt ist mir noch aufgefallen. Das verschieben von Bildern innerhalb des Filesystems funktioniert nicht. Folgende Schritte sind notwendig:

  1. Stelle in der JG config das Filesystem auf etwas anderes als "local"
  2. Erstelle eine neue Kategorie "Test" (Filesystem bleibt auf Use global...)
  3. Erstelle eine Unterkategorie unterhalb von "Test"
  4. Lade Bilder in die Unterkategorie
  5. Versuche ein Bild von der Unterkategorie in die übergeordnete Kategorie "Test" zu verschieben.

Ergebnis: Der Eintrag in der DB wird geändert. Die Bilddateien aber verbleiben in der Unterkategorie.

Some filesystem adapter do not throw proper exceptions as the Joomla Core plugin (local - images) is doing it. This changes tries to recognise various exceptions and act accordingly.
@Elfangor93
Copy link
Member Author

Das verschieben von Bildern innerhalb des Filesystems funktioniert nicht.

Sollte jetzt gehen. Es war 'nur' ein Fall von ungenauem Fehler-Handling.

@MrMusic
Copy link
Member

MrMusic commented Jan 19, 2025

Sollte jetzt gehen. Es war 'nur' ein Fall von ungenauem Fehler-Handling.

Korrekt. Das Problem tritt nicht mehr auf. 👍

@Elfangor93
Copy link
Member Author

@MrMusic Can we merge this PR?

@Elfangor93
Copy link
Member Author

Zudem existiert hier noch ein Bug in DPMedia. Die lokalen Bilder unter /images/dpftp/thumbs verbleiben, selbst wenn das Bild selber gelöscht wird

Here is a reslease cndidate for the new version of DPMedia which will solve this issue.
@MrMusic Will this new version solve the issue you discovered?

@MrMusic
Copy link
Member

MrMusic commented Jan 24, 2025

@MrMusic Can we merge this PR?

I think the PR can be merged.

Only the problem with moving images between different filesystems remains: #342
Maybe it would make sense to set the field "Filesystem" to "Readonly" in the category until this problem is solved?

@Elfangor93 Elfangor93 merged commit 7f0f327 into JoomGalleryfriends:main Jan 25, 2025
@MrMusic
Copy link
Member

MrMusic commented Jan 27, 2025

Here is a reslease cndidate for the new version of DPMedia which will solve this issue.

Yes, with the new version the image is also deleted under dpftp/thumbs/... when it is deleted in the JoomGallery

@laoneo
Copy link

laoneo commented Jan 27, 2025

Thanks, merged the patch and will be delivered with the next DPMedia version.

@MrMusic
Copy link
Member

MrMusic commented Jan 27, 2025

@laoneo Thank you for providing DPMedia

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DB changed New installation needed to test this change GUI testing Tests can be perfomed using the GUI needs testing This issue or pull request needs further testing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants