WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

You are not logged in.

#1 05.01.2017 03:53:02

cherrg
Member

Image Upload-Modul

Hallo werte Community,
zu Beginn: ein frohes neues Jahr!
Da bei mir seit längeren der Wunsch nach so einem Modul besteht und ich den Vorschlag hier las, habe ich mich über die Feiertage mal dran gesetzt und ein Modul gebaut - naja, sagen wir eine Alpha Version.

Hier mal ein paar erste Eindrücke:

iiupload Modul Vorschau 1
iiupload Modul Vorschau 2

EDIT:
Link zum Github: https://github.com/cherrg/iiUpload/
END EDIT

Was geht schon:

  • Bilder Upload in /media und Unterordnern davon

  • Drag & Drop

  • Bilder vor Upload Umbenennen, Rotieren, Schneiden

    • Einschließlich Indikatoren, welche Zeigen, dass ein Bild bearbeitet wurde, oder es damit Fehler gibt

  • Thumbnails nach dem Upload erstellen

  • Bilder nach dem Upload in der Größe reduzieren, falls nötig

  • Nutzbar in anderen Modulen durch php-Klasse

    • Erweiterte Optionen (Thumbnais aktivieren/deaktivieren, Sprache, Uploadpfad zeigen, erlaubte Bildtypen, ...) können je nach Wunsch gesetzt werden, wobei die Admineinstellungen/das .config-File immer das letzte Wort haben (opt out)

  • Zugriffsschutz über Gruppenrechte

  • getestet in aktuellem Internet Explorer / Chrome / Firefox

  • JS-Callback für jedes Bild, so dass Beispielsweise ein CKEditor Plugin erstellt werden kann, welches Thumbnails anzeigt, und die Bilder verlinkt

  • unterstützte Bildformate: JPEG, PNG, GIF, SVG

Was geht (noch) nicht:

  • ohne JavaScript läuft nix (Die Upload-UI ist als JQuery-Plugin implementiert)

    • --> Warnung wird angezeigt

  • Support älterer Browser (IE...)

  • Das Modul ist zwar darauf ausgelegt, einfach weitere Sprachen zu unterstützen (Sprachdateien für php und JS), allerdings ist momentan nur eine deutsches Version hinterlegt

  • alle anderen Bildformate


Da bei mir noch immer ein WebsiteBaker im Backend läuft, habe ich es erst mal nur dort getestet. In naher Zukunft werde ich unsere Webseiten allerdings auf WBCE umstellen. (Wenn WBCE 1.2 erschienen ist -> so muss ich die Webseiten nur 1 mal updaten...) (OFFTopic: Auf Patches für Patches, wenn der PHP Mailer defekt ist, die aber das halbe Framework überschreiben und Fehler enthalten, habe ich nicht mehr so lange Bock... wink )

Von daher habe ich noch eher wenig Erfahrung mit Modulen für WBCE und ein paar zusätzliche Fragen.
Da diese das Thema eher nicht bzw. nur nur am Rande betreffen, wäre ich dankbar, wenn diese zumindest per PM beantwortet würden.

Nun denn, zu den Fragen:

  • Nutzt WBCE noch immer das FTAN System?

    • Hintergrund: Die Zugriffskontrolle auf das Modul und den Upload wird per FTAN gesteuert

  • Gibt es im Websitebaker/WBCE eigentlich eine PHP-Session? (Und warum gibt es dann dieses FTAN System?)

  • Wird JQuery eigentlich immer im Backend mit geladen?

  • Sollte die Ordnerstruktur in media gezeigt werden ? -> Stellt ja auch eine Sicherheitsfrage dar, ob man dort die Ordner sieht, und es mehrere Nutzer gibt.

  • Wie funktioniert der Autoloader? Reicht ein Test mit 'class_exists()' ob die Klasse existiert?

    • -> oben stand das WBCE1.2 die 'class.upload.php' bereits mitbringt...

  • Welche Anpassungen sind für WBCE Module notwendig? Gibt es eine Modul-Entwicklerrichtlinie sprich eine Doku für WBCE Module? Für WB gibt es ja diese Anleitung, in welcher die Moduldateien und ihre Funktion benannt wurden. (Ziel ist es eigentlich, das das Modul auf beiden Systemen lauffähig ist. Notfalls muss ich halt 2 Versionen pflegen, solange noch irgendwo WB läuft.)

  • Sollten die Module intern eine bestimmte Struktur aufweisen? - Für Tipps wäre ich dankbar, ergibt eigentlich aber erst Sinn, wenn das Modul auf Github online ist...


Zuletzt eigentlich eine der wichtigsten Fragen bezüglich der Lizenzen. Da ich selbst noch nie Code veröffentlicht habe, fehlen in den ganzen Dateien noch die Lizenzangaben, und ohne die wollte ich es nicht auf Github veröffentlichen.
Zum Einen bringt das Modul die class.upload.php (GNU General Public License version 2) mit und nutzt 'cropper.js' (MIT), zum Anderen soll sich das Modul mit den WB/WBCE Lizenzen vertragen.
Welche Open-Source Lizenzen wären denn zu empfehlen?

Da dies mein erster Post hier im Forum ist, entschuldigt bitte eventuelle Fehler und sollte dieser Beitrag an anderer Stelle sinnvoller erscheinen, so bitte ich darum, auf Schläge zu verzichten wink und den Beitrag entsprechend zu verschieben.

Gruß,
Michael

Last edited by cherrg (07.01.2017 13:38:58)

Offline

Liked by:

florian

#2 05.01.2017 07:46:45

florian
Administrator

Re: Image Upload-Modul

Danke, das sieht sehr vielversprechend aus. Ich habe das mal aus dem Wunschzettel-Thread rausgelöst und hier dafür einen neuen Thread aufgemacht.

Zu den technischen Fragen kann ich nicht so viel sagen (bzw. gar nichts). Hinsichtlich Lizenz: Die meisten Module und WBCE selbst stehen unter GNU GPL, das sollte also passen.

Offline

#3 05.01.2017 09:55:43

stefanek
Developer

Re: Image Upload-Modul

Hallo Michael


cherrg wrote:

Da bei mir noch immer ein WebsiteBaker im Backend läuft, habe ich es erst mal nur dort getestet. In naher Zukunft werde ich unsere Webseiten allerdings auf WBCE umstellen. (Wenn WBCE 1.2 erschienen ist -> so muss ich die Webseiten nur 1 mal updaten...)

Das ist meiner Meinung nach eine gute Entscheidung

cherrg wrote:

(OFFTopic: Auf Patches für Patches, wenn der PHP Mailer defekt ist, die aber das halbe Framework überschreiben und Fehler enthalten, habe ich nicht mehr so lange Bock... wink )

Ja, leider kann man das nicht immer vermeiden. PHP Mailer ist ja eine externe Library.

cherrg wrote:

Für WB gibt es ja diese Anleitung, in welcher die Moduldateien und ihre Funktion benannt wurden. (Ziel ist es eigentlich, das das Modul auf beiden Systemen lauffähig ist. Notfalls muss ich halt 2 Versionen pflegen, solange noch irgendwo WB läuft.)

Prinzipiell sind Module die für WebsiteBaker gemacht wurden auch in WebsiteBaker CE lauffähig (oder wie hier gesagt wird WBCE).
Wenn Du aber, wie oben erwähnt alle Deine Seiten auf WBCE umstellen willst, besteht kein Grund eine Kompatibilität aufrecht zu erhalten?

Das Problem ist (für Dich), dass Du immer eben 2 Versionen pflegen musst, falls WebsiteBaker.org etwas komplett an ihrer Struktur ändert (und das wissen wir nicht, aber die Erfahrung hat gezeigt, dass es oft ohne Absprache mit Modul-Entwicklern geschehen ist -- einer der Gründe warum die Community Edition entstand).

Aber MOMENTAN: Inkompatibilität zu WebsiteBaker.org CMS entsteht nur, wenn Du bestimmte Klasse in den Modulen verwendest die es nur in WBCE gibt. Das wird ab Version WBCE 1.2.0 vor allem mehr, wenn Klassen wie der neue Autoloader (falls Du Objekt orientiert programmierst) oder die Insert Class für das Laden von CSS/JS oder META-Tags verwendest.
Ach so, noch eine Quelle für Inkompatibilität könnte sein, falls Du die Autoloader Klasse von WebsiteBaker.org CMS verwendest. Dazu müßte in den Code Deines Moduls geschaut werden.

Generel liegt es in der Entscheidung der einzelnen Modul-Entwickler, wie lange und wie viel Aufwand sie betreiben, um Module für beide Systeme aufrecht zu erhalten. Noch ist es relativ einfach. Könnte sich aber schon mit der nächsten Version von WB.org ändern.

cherrg wrote:

Zuletzt eigentlich eine der wichtigsten Fragen bezüglich der Lizenzen. Da ich selbst noch nie Code veröffentlicht habe, fehlen in den ganzen Dateien noch die Lizenzangaben, und ohne die wollte ich es nicht auf Github veröffentlichen.
Zum Einen bringt das Modul die class.upload.php (GNU General Public License version 2) mit und nutzt 'cropper.js' (MIT), zum Anderen soll sich das Modul mit den WB/WBCE Lizenzen vertragen.
Welche Open-Source Lizenzen wären denn zu empfehlen?

GitHub ist eine gute Idee.
Zu den Lizenzen: da schließe ich mich Florian an: GNU/GPL 2 (or any later) ist die meist verwendete Lizenz. Diese ist auch mit der MIT Lizenz verträglich.

Zu den einzelnen Fragen antworte ich Dir später.
Es sind gute Fragen, die auch andere möglicherweise beantwortet haben möchten.

Schönen Gruß und viel Spaß mit WBCE,
Christian


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Online

#4 05.01.2017 11:15:37

grindbatzn
Guest

Re: Image Upload-Modul

Hallo MIchael,
Ich denke, dein Modul würde gut mit GlobalUpload zusammenpassen und ergänzen.

Du hast vielleicht auch das hier gesehen?:
https://forum.wbce.org/viewtopic.php?pid=7901#p7901
Da sind 2 Downloadlinks drin, einmal GlobalUpload und einmal das Test- und Demomodul Teasers.
Was ich mir dabei gedacht habe, bzw der Plan dahinter steht in dem Thread ganz oben.
Leider bin ich nicht so der PHP/JS Wunderwutzi, ist auch alles noch etwas unaufgeräumt.

GlobalUpload zielt vor allem darauf ab, quasi als "Dienstleister" für andere Module den Upload (Bilder / Dateien) zu übernehmen und auch nachträgliche Bearbeitung zu ermöglichen, bzw gleich in mehreren Größen zu speichern. Deswegen werden Bilder immer möglichst groß übertragen, aber leider packt das nicht jeder Server. Eine Reduzierung auf zb max 1600 x 2000 (oder so) schon VOR dem Upload wäre wünschenswert.

Multiple Uploads: Das multipliziert sich das Problem natürlich. An anderer Stelle hab ich das mal so gelöst, dass der Upload-IFrame für jede Datei einzeln gestartet wird, dass du also nicht alles auf einmal überträgst, sondern faktisch jedes einzeln, aber gleichzeitig. Deswegen auch ein iFrame, weil der parallel mehrfach+leicht zu erzeugen ist.

Das Konzept mit den User-Verzeichnissen habe ich nie verstanden - bzw immer auf die lange Bank geschoben, bis es mir mal wer erklärt ;-)

#5 05.01.2017 11:49:24

easyuser
Member

Re: Image Upload-Modul

grindbatzn wrote:

Das Konzept mit den User-Verzeichnissen habe ich nie verstanden - bzw immer auf die lange Bank geschoben, bis es mir mal wer erklärt ;-)

Die Idee dahinter ist, dass jeder WB-User ein eigenes Verzeichnis hat, wo er "persönliche" Daten ablegen kann, die sonst kein WB-User sehen darf (außer Admin).
Allerdings ist die Frage, ob das so Sinn macht für ein CMS.
Auch wurde hier viel bei den älteren Versionen geändert.

Last edited by easyuser (05.01.2017 11:49:50)

Offline

Liked by:

stefanek

#6 05.01.2017 13:43:47

stefanek
Developer

Re: Image Upload-Modul

@Michael (cherrg),
kann man sich Dein Modul anschauen, um sich ein Bild zu machen?


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Online

#7 05.01.2017 16:49:33

cherrg
Member

Re: Image Upload-Modul

Das waren aber schnelle Reaktionen smile

Als Lizenz habe ich die neuste GNU GPL genommen, falls es damit Probleme geben sollte, kann ich das ja noch ändern.
Das Modul kann jetzt auf Github gefunden werden. Mit der Readme bin ich noch beschäftigt...
Wie gesagt, getestet nur in WBSP7

stefanek wrote:

Ja, leider kann man das nicht immer vermeiden. PHP Mailer ist ja eine externe Library.

Ja, ist mir ja bekannt. Aber im WB Patch für das SP7 gibt es mindestens 3 Fehler, und schon geht das normale Formular nicht mehr smile

@grindbatzn

Vom Konzept arbeitet mein Modul genau so. Es gibt eine Klasse, die einen Button, JS und CSS einfügt. Diese kann von 'überall' wo $admin definiert wurde genutzt werden.
Dann gibt es eine 'save.php', welche vergleichbar mit der 'receiver.php ' ist. Die bindet die Klasse nochmal ein und regelt den Upload.
Allerdings habe ich es erst einmal auf Bilder und den Media Ordner beschränkt.
Auch nutze ich wie oben erwähnt kein Iframe, sondern JS. Die Iframe Variante wäre aber bestimmt ein guter Fallback für deaktiviertes JS und ältere IE Versionen.

Gruß

Last edited by cherrg (05.01.2017 17:22:05)

Offline

Liked by:

stefanek

#8 05.01.2017 16:51:18

florian
Administrator

Re: Image Upload-Modul

@cherrg: Links gehen jetzt

Offline

#9 05.01.2017 17:08:43

stefanek
Developer

Re: Image Upload-Modul

cherrg wrote:
stefanek wrote:

Ja, leider kann man das nicht immer vermeiden. PHP Mailer ist ja eine externe Library.

Ja, ist mir ja bekannt. Aber im WB Patch für das SP7 gibt es mindestens 3 Fehler, und schon geht das normale Formular nicht mehr smile

Ach so, verstehe.
Davon weiß ich nichts. Ich war schon lange nicht mehr dort und verwende WB nicht mehr.
angel


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Online

#10 05.01.2017 17:28:56

cherrg
Member

Re: Image Upload-Modul

@florian: danke

stefanek wrote:

Das Problem ist (für Dich), dass Du immer eben 2 Versionen pflegen musst, falls WebsiteBaker.org etwas komplett an ihrer Struktur ändert...

Da werde ich vorerst in den sauren Apfel beißen, und 2 Versionen pflegen, bis bei uns kein WB mehr läuft.
Für WBCE1.2 würde ich das Modul anpassen/ausmisten wollen, nur wie erwähnt habe ich bis jetzt nur für ältere WB Versionen Module geschrieben.

grindbatzn wrote:

Eine Reduzierung auf zb max 1600 x 2000 (oder so) schon VOR dem Upload wäre wünschenswert.

Das ist mit dem verwendeten Cropper an sich möglich, allerdings unterstützen das nicht alle Browser (IE...) und entsprechend muss der Server entweder auch große Dateien unterstützen, oder die Dateien werden abgelehnt.

Last edited by cherrg (05.01.2017 18:05:19)

Offline

Liked by:

stefanek

#11 05.01.2017 17:35:02

stefanek
Developer

Re: Image Upload-Modul

Kann ich verstehen.
Dann wünsche ich Dir eine schnelle und gelungene Transition.
Je nachdem wieviele Installationen es sind, könntest Du viel Zeit sparen indem Du zuerst auf WBCE updatest und dann Module baust.
Aber jedem sein Workflow.

Zum Ausmisten: ja, unter Umständen kann man sich viel Arbeit sparen. Aber je nach Modul.

Gruß,
Christian


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Online

#12 05.01.2017 18:13:14

grindbatzn
Guest

Re: Image Upload-Modul

cherrg wrote:

@florian: danke

stefanek wrote:

Das Problem ist (für Dich), dass Du immer eben 2 Versionen pflegen musst, falls WebsiteBaker.org etwas komplett an ihrer Struktur ändert...

Da werde ich vorerst in den sauren Apfel beißen, und 2 Versionen pflegen, bis bei uns kein WB mehr läuft.
Für WBCE1.2 würde ich das Modul anpassen/ausmisten wollen, nur wie erwähnt habe ich bis jetzt nur für ältere WB Versionen Module geschrieben.

grindbatzn wrote:

Eine Reduzierung auf zb max 1600 x 2000 (oder so) schon VOR dem Upload wäre wünschenswert.

Das ist mit dem verwendeten Cropper an sich möglich, allerdings unterstützen das nicht alle Browser (IE...) und entsprechend muss der Server entweder auch große Dateien unterstützen, oder die Dateien werden abgelehnt.

Naja - alle meine Module laufen unter WB und WBCE, aktuelle und ältere Versionen (zumindest sollten sie das tun ;-) . Es geht ja auch um WBCE vor der kommenden Version.

Da muss man nicht sonderlich 2 Versionen pflegen, sondern nur die ganz neuen Schnippsel vermeiden.
Du kannst die DB mit 3 Zeilen Code abfragen (funktioniert immer) oder mit einer Zeile (nur unter WBCE 1.2)
Ich tippe das sowieso nicht, sondern mache Copy/Paste, ist eh immer das gleiche. Also nehme ich immer die 3-Zeilen Variante.
Ich muss kein Zeilen-Knauserer sein.

#13 05.01.2017 18:25:36

stefanek
Developer

Re: Image Upload-Modul

Na ja, da wir hier bei WBCE sind, unterstütze ich jeden Entschluß komplett auf WB zu verzichten und die Module zu entspecken.
Das heißt unterm Strich: weniger Pflegezeit, übersichtlicherer Code und oft weniger Code.

Das kann jeder halten wie er mag. Aber ich finde es gut.

Christian


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Online

#14 05.01.2017 19:43:25

cherrg
Member

Re: Image Upload-Modul

So habe nun unter Github die Readme ein wenig angepasst, so dass man sieht, wie man das Modul verwenden könnte.

Offline

Liked by:

stefanek

#15 05.01.2017 20:05:59

stefanek
Developer

Re: Image Upload-Modul

Sehr cool, Michael!

Sehr gut, dass man alles über das Objekt steuern kann, ohne zusätzlich Codefragmente und sonst was.
Ich habe es noch nicht getestet, mangels Zeit, werde ich aber noch.

Übrigens, bei der Readme hast Du einen Fehler (glaube ich) bei einer der letzten Methodenbenennungen: (Edit: behoben)
https://github.com/cherrg/iiUpload

Gruß,
Christian

Last edited by stefanek (05.01.2017 20:41:06)


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Online

#16 06.01.2017 01:28:19

stefanek
Developer

Re: Image Upload-Modul

Michael,
ich habe mir Dein Modul bzw. Module kurz angeschaut.

Es läßt sich installieren und die Bilder lassen sich auch hochladen.
Das Beschneiden (crop) funktioniert nicht ganz.

Es lohnt sich auf jeden Fall einmal die Notices auf E_ALL zu stellen, dann springen Dir einige Ungereimtheiten entgegen.

Christian


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Online

#17 06.01.2017 01:59:16

stefanek
Developer

Re: Image Upload-Modul

Nun zu Deinen Fragen im OP:

Nutzt WBCE noch immer das FTAN System?
Hintergrund: Die Zugriffskontrolle auf das Modul und den Upload wird per FTAN gesteuert

FTAN und IDKEYS sind nach wie vor im Einsatz.

Gibt es im Websitebaker/WBCE eigentlich eine PHP-Session? (Und warum gibt es dann dieses FTAN System?)

Ja, eine Session wird in WB/CE immer gestartet. Selbst dann, wenn der Besucher nicht ins System eingeloggt ist.
Das FTAN System ist für die Arbeit mit Formularen zuständig. Ein Token System, FTAN, kurz für Form TransAction Number (wenn ich nicht irre?)
Weiteres erfährst Du innerhalb der Klasse
https://github.com/WBCE/WebsiteBaker_Co … reForm.php

Wird JQuery eigentlich immer im Backend mit geladen?

Ja, jQuery wird bereits im <head> Bereich des BackendThemes eingespeist.

Sollte die Ordnerstruktur in media gezeigt werden ? -> Stellt ja auch eine Sicherheitsfrage dar, ob man dort die Ordner sieht, und es mehrere Nutzer gibt.

Ich verstehe nicht genau Deine Bedenken? Was genau hast Du vor?

Wie funktioniert der Autoloader? Reicht ein Test mit 'class_exists()' ob die Klasse existiert?

Nein, das reicht nicht.
Wenn Du Deine Module momentan mit WB kompatibel halten willst, rate ich von der Verwendung des Autoloaders ab. Das gilt für beide Autoloader, da sie nicht zueinander kompatibel sind. Inkludiere die Klassen stattdessen per include Anweisung.

-> oben stand das WBCE1.2 die 'class.upload.php' bereits mitbringt...

Ja...
Dein bester Weg wäre:

class_exists('myFoo') or include __DIR__.'/classes/myFoo.php';

(oder ein ähnliches Konstrukt)
Und anschließend das Objekt starten.
$oFoo = new myFoo();

Welche Anpassungen sind für WBCE Module notwendig?
Gibt es eine Modul-Entwicklerrichtlinie sprich eine Doku für WBCE Module?
Für WB gibt es ja diese Anleitung, in welcher die Moduldateien und ihre Funktion benannt wurden.
(Ziel ist es eigentlich, das das Modul auf beiden Systemen lauffähig ist. Notfalls muss ich halt 2 Versionen pflegen, solange noch irgendwo WB läuft.)

Bisher hat sich da nicht viel geändert.
Module die für WB gemacht wurden laufen unter WBCE momentan ohne größere Anpassungen.


Sollten die Module intern eine bestimmte Struktur aufweisen? - Für Tipps wäre ich dankbar, ergibt eigentlich aber erst Sinn, wenn das Modul auf Github online ist...

Es gibt einige Empfehlungen.
Aber diese werden unterschiedlich von verschiedenen Entwicklern aufgenommen.

Was immer gut ist, ist das Layout von der Programm-Logik zu trennen.
Hierzu kannst Du plain 'ol PHP verwenden oder Twig -- welches es an sich auch unter WB gibt (soweit ich weiß).

Im Modulverzeichnis selbst, wenn man Klassen mitbringt, ist es gut einen Ordner /classes/ zu haben.
Das gleiche gilt für /functions/ für prozedurale Funktionen.
und für Layouts den Ordner /templates/.

Das sind Kleinigkeiten.

Grundsätzlich werden den Modul-Entwicklern keine Vorschriften gemacht (klar! es sollte auf Sicherheit geachtet werden). Hauptsächlich zählt die Nutzbarkeit des Moduls. Und bei vielen Modulen die auf Interesse stoßen tun sich Leute auch mal zusammen, die die Module aufgreifen und sogar über Jahre weiter entwickeln (Beispiele sind mpForm, FolderGallery, OpF Dashboard, Droplets und viele mehr.)

Ab Version WBCE 1.2 kommen noch einige weitere Empfehlungen zum Thema Modul-Entwicklung.

Vielleicht mag Norbert noch was mehr dazu sagen.


Schönen Gruß,
Christian

Last edited by stefanek (06.01.2017 09:45:46)


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Online

Liked by:

cherrg

#18 06.01.2017 10:01:47

grindbatzn
Guest

Re: Image Upload-Modul

jQuery und JS kann man prinzipiell voraussetzen. Es kommt vor, dass im Frontend einzelne Module/Templates - oder ungeschickte Anpassungen daran - schwere Fehler produzieren. Dann sollte zumindest die normale Ausgabe eines Modules noch funktionieren.
Im Backend sollte jQuery eigentlich immer bereit sein.

Die jQuery-Versionen sind nicht immer die neuesten, und du solltest tunlichst mit der mitgelieferten Version auskommen. Manche Backend-Themes oder Frontend-Templates haben eigene jQuery-Versionen mit; v.a. die, die Bootstrap verwenden. Da gibt es oft Brösel, aber das ist nicht dein Bier.

cherrg wrote:

Auch nutze ich wie oben erwähnt kein Iframe, sondern JS. Die Iframe Variante wäre aber bestimmt ein guter Fallback für deaktiviertes JS und ältere IE Versionen.

Bei GlobalUpload geht ohne JS gar nichts. ;-) Der iFrame hat den Sinn, dass es unter kontrollierten (=gekapselten) Bedingungen läuft. Du wirst schnell mal verrückt, wenn du 20 Uploadbuttons auf einer Seite hast, und jeder soll _seine_ Sache machen. Im Backend wie im Frontend..

Last edited by grindbatzn (06.01.2017 10:02:15)

#19 06.01.2017 12:32:32

stefanek
Developer

Re: Image Upload-Modul

@Michael / cherrg

Nochmal zu der Liste der Antworten.
Als Faustregel gilt, je mehr man sich mit dem Core vertraut macht, um so mehr weiß man über die Möglichkeiten und Mitgelieferte Funktionen und Klassen bescheid und muss das Rad nicht immer wieder neu erfinden.

Da Du mit GitHub verbunden bist:
es gibt eine Reihe von Issues bei denen wir Unterstützung gebrauchen können. Ein guter Weg sich mit dem Core vertraut zu machen ist, nach praktischen Lösungen zu suchen.

Auf diesem Wege erkennst Du auch was im Core noch nicht vorhanden ist und dann kommen Dir vielleicht auch einige Ideen, die Du vorschlagen möchtest.

Ich erwähne das alles nicht, um Dich zu "rekrutieren" ( angel ) --- wir haben ja alle viel zu tun. Aber ich sehe eine Möglichkeit hier. Eine der Sachen die im Core fehlt ist eine sauber umgesetzte globale Upload Funktion die man allerorts einsetzen könnte.
Beispiele dafür wären der Bereich /media/ im Backend und dann natürlich die einzelnen Module, die sich über die Klasse verbinden könnten.
Dank GitHub kann  jeder das System forken und Code über Pull-Requests beitragen.
Einige machen es bereits.

Nur ein Wink auf die Aussichten und Möglichkeiten.

Schönen Gruß,
Christian


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Online

#20 06.01.2017 13:52:37

cherrg
Member

Re: Image Upload-Modul

stefanek wrote:

Michael,
...
Es läßt sich installieren und die Bilder lassen sich auch hochladen.
Das Beschneiden (crop) funktioniert nicht ganz.
Es lohnt sich auf jeden Fall einmal die Notices auf E_ALL zu stellen, dann springen Dir einige Ungereimtheiten entgegen.
Christian

Auf ein neues smile,
Die E_WARNING im Logfile sind nun behoben, und unter PHP 5.6 und PHP7 getestet.
Dann habe ich festgestelt, dass das Cropping bei SVG Dateien nicht funktioniert, und dadurch der Upload abgebrochen wird... beim Rest ging es bei mir.

Dann habe ich mir gestern Nacht auf einer Testdomain WBCE installiert. Nachdem ich heute einen weiteren Fehler korrigiert, lief es auch dort ohne Probleme (getestet PHP7).
Legt WBCE ein Logfile an, bzw. zeigt die Fehler direkt an? (In den Optionen habe ich das Loglevel entsprechend angepasst.)

Falls bei dir noch immer Fehlermeldungen (in der aktuellen Version) auftauchen, könntest du mir die bitte als PM schicken?
EDIT: Bei einem Test auf WBCE1.2 sind noch ein Paar Fehler aufgetaucht, die jetzt mit behoben wurden. EDIT ENDE
EDIT2: Hab auch den Fehler gefunden, der den Upload abgebrochen hat:  Der trat auf, wenn man 90 oder 270 grad gedreht hat und der Ausschnitt an einer bestimmten Stelle war. EDIT ENDE

Achso, ich habe das gleich auf einem Webserver getestet, ich weiß nicht, welche Bibliothek die class.upload.php nutzt, um Bilder zu bearbeiten.

Gruß

Last edited by cherrg (07.01.2017 16:03:35)

Offline

Liked by:

stefanek

#21 06.01.2017 14:11:54

stefanek
Developer

Re: Image Upload-Modul

Hallo cherrg,
ich komme erstmal nicht zum Testen.
Arbeite heute noch etwas für einen neuen PullRequest für die 1.2. aus.

Vielleicht wenn ich danach noch Zeit finde.

Christian


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Online

#22 06.01.2017 14:25:30

grindbatzn
Guest

Re: Image Upload-Modul

Eine Kleinigkeit ist mir aufgefallen:

$this->media_path = WB_PATH .'/media/';
$this->media_webpath = WB_URL .'/media/';

statt '/media/' besser: MEDIA_DIRECTORY.'/'

Das sind so die Bugs, die man dann ewig sucht ;-)

Liked by:

stefanek

#23 06.01.2017 14:33:31

cherrg
Member

Re: Image Upload-Modul

Erstmal Dank für die ausführlichen Antworten.

stefanek wrote:

Ich verstehe nicht genau Deine Bedenken? Was genau hast Du vor?

Im momentanen Modul kann ein Modulersteller entscheiden, ob der Nutzer den Uploadpfad selber ändern kann oder nicht.
Wenn der Änderbar sein soll, so könnte man gegebenenfalls die Ordnerstruktur des Mediaverzeichnisses mit anzeigen.
Mein Bedenken ging in die Richtung: Ein Nutzer welcher die Bilder der Foldergallerie nicht ändern darf hat auf einmal die Möglichkeit dies relativ einfach zu tun. Er sieht ja die Ordner. Wenn dieser Nutzer den Pfad innerhalb von media kennt, ist das sowieso obsolet.

stefanek wrote:

Dein bester Weg wäre:

[== PHP ==]
class_exists('myFoo') or include __DIR__.'/classes/myFoo.php';

(oder ein ähnliches Konstrukt)

so ähnlich hab ich das im Moment auch gelöst smile

Wegen des globalen Uploads: es wäre relativ einfach möglich, weitere Dateiformate zu unterstützen. (Halt ohne den Cropping kram)

Offline

Liked by:

stefanek

#24 06.01.2017 14:46:49

stefanek
Developer

Re: Image Upload-Modul

Das mit den Foldern...

ja...

da müßte man genauer schauen.

In vielen Modulen kannst Du einen Pfad angeben, wo die Bilder hinwandern sollen.
Ich denke nicht, dass da groß Rücksicht drauf genommen wird.

Ich müßte etwas tiefer schauen, um richtig nachvollziehen zu können was Du vorhast und wie man es ggf. einschränken kann.

Christian


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Online

#25 06.01.2017 15:30:41

grindbatzn
Guest

Re: Image Upload-Modul

cherrg wrote:

Mein Bedenken ging in die Richtung: Ein Nutzer welcher die Bilder der Foldergallerie nicht ändern darf hat auf einmal die Möglichkeit dies relativ einfach zu tun. Er sieht ja die Ordner. Wenn dieser Nutzer den Pfad innerhalb von media kennt, ist das sowieso obsolet.

Ja, das Problem ist ein grundsätzliches. WB(CE) ist eben eher ein "der Admin und sein Kunde"-CMS. Und man geht nicht von bösen Absichten aus.

Es war glaub ich mal angedacht, ein Bildverzeichnis nur für Module zu machen - wo ein User auch  nur über diese reinschreiben kann, Berechtigung vorausgesetzt.  Aber man kann ja auch einem User die Berechtigung für die Medien-Verwaltung nehmen, dann hat man das selbe.

Board footer

Powered by FluxBB

up