ImageTweak in den Core

Support zu BlackCat CMS allgemein
blackfan
Beiträge: 25
Registriert: Mi 26. Nov 2014, 14:52

ImageTweak in den Core

Beitrag von blackfan » Di 21. Apr 2015, 09:57

Hallo liebe Mitstreiter,

unter dem leicht provkanten Titel möchte ich nun hier einmal eine Diskussion eröffnen.
Kurze Erklärung für alle die es nicht kennen: ImageTweak sorgt für eine Verkleinerung von Bildern und kann automatische Highslide-(Bilderzoom) Effekte zur Verfügung stellen.

Ein Beispiel:
Der Inhaber der Homepage lädt ein Bild über die Medienverwaltung hoch. Das Bild hat eine Auflösung von 1.200 x 1.000 Pixeln.
Er bindet das Bild nun mit einer Breite von 400 Pixel in die Homepage ein. Durch simples Hinterlegen einer CSS-Klasse (=Konfiguration von Standarteinstellungen in ImageTweak), Standart war= tweak, wird die Miniatur automatisch erstellt, und ein Highslide Effekt beim Klicken auf das Bild erzeugt. Die Ladezeiten der Homepage sind dann durch das Erzeugen der Miniaturansicht deutlich besser.

Die Alternative:
Miniaturbilder müssen vorher selbst erzeugt werden, und 2 Auflösungen der Bilder hochgeladen werden.

Meine Erfahrung:
Das macht kein Mensch. Sondern was passiert: Es wird das 1.200 x 1.000 Pixel große Bild einfach in 400 Pixel Breite "eingebunden", aber tatsächlich muss dann natürlich jeweils die volle Größe des Bildes geladen werden. Das sich hierdurch die Ladenzeiten drastisch erhöhen, liegt auf der Hand.
Und in Zeiten von Tablets und Smartphones und dem mobilen Internet, sind ja Ladezeiten auf jeden Fall wieder ein Thema!!!

Deshalb gehört meiner Ansicht nach ImageTweak in den Core-Bereich.
Denn Bilder gibt es ja auf fast allen Homepages. Ob dies nun in Form von Einzelbildern oder Alben ist, in jedem Fall würde ImageTweak das Leben erheblich erleichtern.

Meine Empfehlung:
Der Highslide-Effekt sollte optional sein, und vielleicht könnte man diesen per Radiobutton aktivieren oder deaktivieren. Hierzu müsste das Script natürlich erkennen, das (noch) ein großes Bild vorhanden ist. Ob dies technisch überhaupt machbar ist, entzieht sich meiner Kenntniss.
Weiterhin wäre ein Schärfen der Miniaturen bei der Verkleinerung sinnvoll, da beim Verkleinern immer die Bildschärfe leidet und die Bilder leicht schwammig werden.

Optional:
Hier wäre es eventuell auch zweckmäßig Ralf´s etwas sperrigen Namen zu ändern, ohne sein Andenken damit schmälern zu wollen...
BlackCat Rocks,
Gruß blackfan

Benutzeravatar
shadowcat
Administrator
Beiträge: 3957
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: ImageTweak in den Core

Beitrag von shadowcat » Di 21. Apr 2015, 18:33

Wir hatten das schon kurz per Mail andiskutiert, daher überlasse ich das Feld mal dem Rest der Community. :D

Edit: Vielleicht eine kleine Info dazu, unsere lib_images hat entsprechende Methoden schon an Bord, man müßte also hauptsächlich überlegen, wie man das ansteuern möchte. Ralfs Lösung besteht in einem sogenannten kitCommand, das irgendwo in die Seite eingebunden wird - sowas haben wir in dieser Form nicht. Die Steuerung über CSS-Klassen wäre eine Möglichkeit, die aber vermutlich nur in WYSIWYG-Seiten funktioniert. Da seid eher Ihr User gefragt als ich - umgesetzt krieg ich das dann schon irgendwie. :mrgreen:

Added in 13 minutes 24 seconds:
Vielleicht das hier -> http://responsiveimg.com/
My software never has bugs, it just develops random features.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

blackfan
Beiträge: 25
Registriert: Mi 26. Nov 2014, 14:52

Re: ImageTweak in den Core

Beitrag von blackfan » Di 21. Apr 2015, 20:59

.. na ja, wie gewünscht hier dann als Community Beitrag...

Zurück zum Thema:
http://responsiveimg.com/

Es scheint einige interessante Optionen zu geben.

...jpeg Quality sets the image quality when creating new jpegs. The default is 90. (This was changed in version 1.4. It used to be 100.)
Also das halte ich doch für stark überzogen, die JPEG Qualität sollte zwischen 60 und 80 liegen, da die Bilder ansonsten zu groß werden.

Am Besten wäre es, wenn die Bildnamen um die entsprechende Auflösung erweitert werden würden.

...360 pixels (with the suffix "_small")
...780 pixels ("_medium")
...900 pixels ("_large")

Also zum Beispiel:

sonnenuntergang.jpg (Original),
sonnenuntergang_medium,jpg (780 Pixel),
sonnenuntergang_small,jpg (360 Pixel)

Je nachdem welche Auflösung verwendet wird. So richtig habe ich allerdings nicht verstanden, wo die verkleinerten Bilder abgespeichert werden sollen.

Bei ImageTweak gab es ja einen eigenen Ordner, den man im Admin Bereich separat einstellen konnte.
Wenn die Bilder im Mediaordner direkt gespeichert werden, dürfte das zu massiven Problemen bei Fotoalben führen. Daher wäre garantiert ein versteckter Ordner im Mediaordner sinnvoll.


Zum Beispiel:
media/.verkleinert,
oder:
media/.miniatur,
oder eben einen anderen versteckten Ordner im Mediaverzeichnis
BlackCat Rocks,
Gruß blackfan

Benutzeravatar
Morpheus
Beiträge: 898
Registriert: Do 8. Aug 2013, 10:49
Kontaktdaten:

Re: ImageTweak in den Core

Beitrag von Morpheus » Mi 22. Apr 2015, 07:43

Hallo,
also ich bin ebenfalls dafür das die Komprimierung mit in den Core aufgenommen wird.
Auch wenn es erstmal nur in den WYSIWYG-Seiten erstmal funktionieren würde. Bei Modulen müsste man überlegen ob diese Technik nicht dem Modul Programmierer obliegt. Er könnte ja das „HELPER-Gedönse“ dazu benutzen, (Oder?, ich hab keine Ahnung).
So wäre aber Grundfunktionalität im Standard hinterlegt.
Meine Erfahrung:
Das macht kein Mensch. Sondern was passiert: Es wird das 1.200 x 1.000 Pixel große Bild einfach in 400 Pixel Breite "eingebunden", aber tatsächlich muss dann natürlich jeweils die volle Größe des Bildes geladen werden. Das sich hierdurch die Ladenzeiten drastisch erhöhen, liegt auf der Hand.
Und in Zeiten von Tablets und Smartphones und dem mobilen Internet, sind ja Ladezeiten auf jeden Fall wieder ein Thema!!!
Da bin ich ebenfalls der Meinung.

Das Kitframework ist sicher eine Alternative aber wird aber dem ein oder anderen zu "oversized" bzw. zu kompliziert sein.

Besteht nicht die Möglichkeit das über Droplets zu realisieren?
Keiner ist unnütz, er kann immer noch als schlechtes Beispiel dienen!

blackfan
Beiträge: 25
Registriert: Mi 26. Nov 2014, 14:52

Re: ImageTweak in den Core

Beitrag von blackfan » Mi 22. Apr 2015, 09:39

Hallo Morpheus,

ich sehe schon das Du in diesem Bereich ähnliche Erfahrungen machen musstest...
Das Kitframework ist sicher eine Alternative aber wird aber dem ein oder anderen zu "oversized" bzw. zu kompliziert sein.
Ja, aber ich finde es für BlackCat eher unpassend, schließlich wird hier ja gerade ein frisches System entwickelt. Das kitframework entstand ja eher aus dem Bestreben heraus, einen modernen und unabhängigen Funktionsunterbau zu schaffen. Das sehe ich aber bei BlackCat nicht gegeben, da hier ja ein modernes und optimiertes CMS entwickelt wird. Und beim KitFramework muss ein eigener Login erstellt werden, außerdem müssen dann bei jedem Update vorher noch die Abhängigkeiten geprüft werden, und, und, und...

Wenn die Komprimierung aber im Core verankert ist, sollte es ja nach Betatests keine nennenswerten Probleme bei einem BlackCat-Update geben.
Auch wenn es erstmal nur in den WYSIWYG-Seiten erstmal funktionieren würde. Bei Modulen müsste man überlegen ob diese Technik nicht dem Modul Programmierer obliegt. Er könnte ja das „HELPER-Gedönse“ dazu benutzen, (Oder?, ich hab keine Ahnung).
Ja, das ist durchaus ein Argument. Aber zum Beispiel bei der BlackGallery bin ich mir ziemlich sicher das Bianka da eine entsprechende Schnittstelle vorsehen wird...

Wenn das Ganze aber über Droplets realisiert würde, müsste man diese ja wieder in die jeweilige Seite einbinden. Ist das Ganze bereits im Core vorhanden, ist die Funktionalität mit der Installation des Systems gegeben, dies erspart manuelle Konfigurationsarbeiten.
Und im Hinblick auf das nahezu perfekte System, würde ich diese Methode bevorzugen...
BlackCat Rocks,
Gruß blackfan

Benutzeravatar
shadowcat
Administrator
Beiträge: 3957
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: ImageTweak in den Core

Beitrag von shadowcat » Mi 22. Apr 2015, 09:58

Bezüglich des Javascripts: So wie ich das verstanden habe, werden die Dateien in dem Ordner gespeichert, in dem auch die Originaldatei liegt.

Zu einer Core-Funktion: Ich hatte auch an ein Droplet gedacht, es gibt aber auch noch die Option, einen Frontend Filter zu benutzen. Da gibt es dann allerdings keine Möglichkeit für individuelle Einstellungen.

Für den CKE gibt's zwar ein Plugin, das ist aber IMHO nicht brauchbar. Ein weiteres ist kostenpflichtig. Das würde dann aber wirklich nur den CKE betreffen.

Eine dritte Möglichkeit wäre, ein jQuery Plugin zu machen, welches die Seite nach Images scannt und per Ajax die verkleinerten Bilder erzeugt. Auch da gibt es ein paar, die meisten sind aber darauf ausgelegt, das beim Upload zu machen. Zudem arbeiten die dann in der Regel mit festen Werten, was vielleicht ein wenig zu unflexibel ist.

Ansonsten sehe ich noch folgendes Problem: Werden anhand von CSS-Klassen oder was auch immer verkleinerte Bilder erstellt, und ändern sich dann die Klassen, habe ich im Laufe der Zeit haufenweise Varianten rumliegen, die vermutlich nirgendwo mehr gebraucht werden. Das ist aber nicht wirklich überprüfbar, weil man ja nicht weiß, wo die Bilder verwendet werden. Eine automatische Entrümpelung ist da kaum umsetzbar, es sei denn, man schmeißt einfach zwischendurch alle automatisch erstellten Bilder weg und nimmt in Kauf, daß die beim nächsten Seitenaufruf neu erzeugt werden müssen. Dafür ist man dann aber sicher, daß die neu erstellte Variante auch wirklich in Gebrauch ist.
My software never has bugs, it just develops random features.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

Benutzeravatar
Morpheus
Beiträge: 898
Registriert: Do 8. Aug 2013, 10:49
Kontaktdaten:

Re: ImageTweak in den Core

Beitrag von Morpheus » Mi 22. Apr 2015, 11:06

Zu einer Core-Funktion: Ich hatte auch an ein Droplet gedacht, es gibt aber auch noch die Option, einen Frontend Filter zu benutzen. Da gibt es dann allerdings keine Möglichkeit für individuelle Einstellungen.
Wenn´s gut gemacht ist, brauch man da noch "individuelle Einstellungen"?
Ich denke nein

Ich finde das gut.
Will ich komprimierte Bilder --> Filter an
Will ich nicht, dann halt aus

Fertig
Keiner ist unnütz, er kann immer noch als schlechtes Beispiel dienen!

Benutzeravatar
shadowcat
Administrator
Beiträge: 3957
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: ImageTweak in den Core

Beitrag von shadowcat » Mi 22. Apr 2015, 11:12

Kommt drauf an, was man unter "komprimiert" versteht. "blackfans" Ansatz war ja, daß man quasi die gewünschte Größe individuell einstellt - wie etwa beim CKE, wo man das im Dialog einstellen kann. Der setzt dann "width" und "height".

Der Ansatz des verlinkten JS ist dagegen eher, daß man feste Größen hat, also z.B. "small", "medium", "large" und "original", wobei dann hinter "small" z.B. eine Pixelgröße von 200xirgendwas steht.

Eine Optimierung nach Qualität gibt's nur bei JPG.

Added in 1 minute 34 seconds:
https://github.com/BlackCatDevelopment/ ... issues/301
My software never has bugs, it just develops random features.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

Benutzeravatar
Morpheus
Beiträge: 898
Registriert: Do 8. Aug 2013, 10:49
Kontaktdaten:

Re: ImageTweak in den Core

Beitrag von Morpheus » Mi 22. Apr 2015, 12:09

Der Ansatz des verlinkten JS ist dagegen eher, daß man feste Größen hat, also z.B. "small", "medium", "large" und "original", wobei dann hinter "small" z.B. eine Pixelgröße von 200xirgendwas steht.
so meinte ich das ;)
Keiner ist unnütz, er kann immer noch als schlechtes Beispiel dienen!

Benutzeravatar
shadowcat
Administrator
Beiträge: 3957
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Re: ImageTweak in den Core

Beitrag von shadowcat » Mi 22. Apr 2015, 12:39

Das wäre schon wieder eher was für den media-Bereich, entweder gleich beim Hochladen oder im Nachhinein - z.B. Bild anklicken, Haken bei den gewünschten Größen setzen und Speichern. Kein Automatismus, aber immerhin auf Wunsch machbar.
My software never has bugs, it just develops random features.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

Antworten