Plugin-Kompatibilität zu CMSimple_XH 1.7

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
Post Reply
cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Plugin-Kompatibilität zu CMSimple_XH 1.7

Post by cmb » Sat Aug 19, 2017 10:00 am

albert wrote:Unser schönes CMSimple_XH 1.7 ist leider nicht abwärtskompatibel, und das ist nicht schön. Ging das denn nicht anders?
Es ginge schon anders, aber Frank und Olaf haben schon geschrieben, dass man halt mit der Zeit gehen, und alte Zöpfe abschneiden sollte. Ganz konkret sind es wohl vor allem drei Änderungen, die die allermeisten Probleme verursachen:
  • URL-Parameter ohne Wert werden nicht mehr automatisch als globale PHP Variablen registriert, was dazu führt, dass bei vielen Plugins der Adminbereich nicht mehr angezeigt wird.

    Solche Techniken stammen noch aus der frühen PHP-Zeit wo standardmäßig alle URL-Parameter als PHP-Variablen registriert wurden. Das war gerade für kleine Scripte sehr angenehm, aber man hat festgestellt, dass es für größere Scripte unübersichtlich wurde, und gar ernsthafte Sicherheitslücken verursachen konnte. Daher wurde die entsprechende Einstellung register_globals ab PHP 4.2.0 per Voreinstellung deaktiviert, ab PHP 5.3.0 missbilligt, und ab PHP 5.4.0 entfernt. Ich finde es daher längst überfällig, auch das "kleine register_globals" von CMSimple_XH 1.6 und älter zu entfernen.
  • CMSimple_XH verwendet nun benannte Sessions, was zu Problemen mit Plugins führen kann, die eine Session mit dem Standardnamen verwenden.

    Das wurde gemacht, damit die Arbeit mit mehreren CMSimple_XH Installationen in einer Domain reibungslos klappt, ohne dass der Core und Plugins irgendwelche Workarounds benötigen, um zumindest Durcheinander oder gar sicherheitsrelevante Probleme zu verursachen, da es bisher so war, dass sich alle Installation in einer Domain die gleiche Session geteilt haben. Beispiel Shop: im Hauptverzeichnis einer für Deutschland, in einem Unterverzeichnis einer für die Schweiz – beide teilen sich den Warenkorb, was wohl nicht erwünscht sein kann.
  • Die Umstellung von $plugin_cf und $plugin_tx von Arrays zu Objekten, vor allem diese nur dann zu laden, wenn sie auch gebraucht werden.

    Das hätte eigentlich gar keine Probleme verursachen dürfen; diese treten nämlich nur auf, wenn ein Plugin $plugin_cf und/oder $plugin_tx ändert, aber das sollte sowieso nicht sein, da die Verwaltung dieser Variablen dem Core obliegt. Plugins sollten also nur lesen.
Leider war es technisch bei keiner dieser Änderungen möglich, in einer früheren Version Deprecated-Hinweise anzuzeigen, sonst hätte ich das vorgeschlagen. Sollte es in Zukunft aber zu weiteren Änderungen an einer dieser Stellen kommen, dann sind Deprecated-Hinweise allerdings sehr wohl möglich, und manche Änderungen können sogar völlig transparent hinter den Kulissen durchgeführt werden. Und das ist genau der Punkt: wenn ein System APIs (also Programmierschnittstellen; hier für Plugins) anbietet, dann sollten diese so gestaltet sein, dass man interne Änderungen ohne Kompitibilitätsbruch durchführen kann, und andere geplante Änderungen durch Deprecated-Hinweise ankündigen kann; dann bleibt dem Pluginentwickler zumindest viel Zeit nachzubessern. Leider ist das bei CMSimple(_XH) an sehr vielen Stellen nicht der Fall, was leider schon lange einige sehr wünschenswerte Änderungen praktisch unmöglich macht. Bei XH 1.7 wurde daher der Kompromiss geschlossen, ein paar wenige dieser APIs zu verbessern, um wenigstens ein bisschen voran zu kommen.
Christoph M. Becker – Plugins for CMSimple_XH

kmsmei
Posts: 93
Joined: Tue Nov 03, 2009 9:03 am

Re: Plugin-Kompatibilität zu CMSimple_XH 1.7

Post by kmsmei » Sat Aug 19, 2017 12:57 pm

Hallo zusammen,

habe in der Liste geschaut, bin aber nicht fündig geworden. Daher meine Frage.

Hat schon jemand den ELFinder_XH unter 1.7 getestet / zum Laufen gebracht. Mit https://github.com/bbfriend/elfinder_xh komme ich jedenfalls keinen Schritt weiter: Sowohl der Adminbereich als auch der eigentliche Dateimanager bleiben leer.

CMSimple 1.7
Acdivs 1.4.3
Calendar 1.4.8
Elfinder 1.05
Exchange 1.0
Fa 1.1
Filebrowser for CMSimple_XH 1.7.0
Hi_fancybox v. 4.1
Hi_updatecheck 1.4
Jquery 1.6.4
Memberpages 3.6.4
Meta_tags for CMSimple_XH 1.7.0
Pagemanager 3.0
Page_params for CMSimple_XH 1.7.0
Pictures 1.0.2
Tinymce4

VG Frank

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Plugin-Kompatibilität zu CMSimple_XH 1.7

Post by cmb » Sat Aug 19, 2017 1:35 pm

kmsmei wrote:Hat schon jemand den ELFinder_XH unter 1.7 getestet / zum Laufen gebracht. Mit https://github.com/bbfriend/elfinder_xh komme ich jedenfalls keinen Schritt weiter: Sowohl der Adminbereich als auch der eigentliche Dateimanager bleiben leer.
Ersteres sollte leicht zu beheben sein. Dazu einfach diese Zeile ändern in:

Code: Select all

if (function_exists('XH_wantsPluginAdministration') && XH_wantsPluginAdministration('elfinder_xh') || isset($elfinder_xh))
Das zweite Problem versuche ich mir im Lauf des Tages genauer anzuschauen.
Christoph M. Becker – Plugins for CMSimple_XH

Hartmut
Posts: 553
Joined: Sat Nov 05, 2011 6:13 pm
Location: Butzbach, Deutschland
Contact:

Re: Plugin-Kompatibilität zu CMSimple_XH 1.7

Post by Hartmut » Sat Aug 19, 2017 2:30 pm

Hallo Olaf,
olape wrote:...
Shariff_XH läuft offensichtlich unter 1.70 (https://cmsimpleforum.com/viewtopic.php ... 464#p61464), noch keine eigenen Tests.
danke für den Hinweis und ich habe die Kompabilitätsliste aktualisiert. Da war noch die Version 1.0 beta5.1 dokumentiert gewesen, da ich die Publizierung von 1.0 rc1 nicht mitbekommen hatte.

Noch eine kurze Anmerkung zu der Eintragung in der Kompabilitätsliste:
Shariff_XH 1.0 rc1 ist dort mit einem "CMSimple_XH 1.7.x = Nein*" und mit dem Hinweis auf den Patch für die CMSimple_XH 1.7.x Kompabilität dokumentiert, da die Versionn rc1 ohne den Patch die Anforderung nicht erfüllt. Wenn es eine neue Version gibt, die den Patch beinhaltet, erhält diese natürlich ein "Ja".
Das klingt vielleicht ein wenig "kleinkariert" bzw. "pingelig", aber aus meiner Sicht macht dies aus Anwendersicht schon Sinn, denn wenn er "Shariff_XH 1.0 rc1" in einer CMSimple_XH 1.7 Installation nutzen möchte und den Patch "übersieht" (nicht installiert) funktioniert das Plugin nicht.

Viele Grüße
Hartmut

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Plugin-Kompatibilität zu CMSimple_XH 1.7

Post by cmb » Sat Aug 19, 2017 4:13 pm

cmb wrote:Das zweite Problem versuche ich mir im Lauf des Tages genauer anzuschauen.
Zum ersten habe ich einen Pull-Request eingestellt. Das zweite Problem wird wohl aber nicht so einfach zu lösen sein, da der Elfinder_XH wohl ohne Not das CMSimple_XH-Framework umschifft, und daher diverse Informationen über die Session austauscht, diese aber unter CMSimple_XH 1.7 nicht mehr den voreingestellten Namen hat, sondern einen eigenen. Man könnte darum herumarbeiten, aber mittelfristig spart man sich vermutlich viel Mühe, wenn man hier eine URL angibt, die CMSimple_XHs index.php referenziert und entsprechende Query-Parameter verwendet.
Christoph M. Becker – Plugins for CMSimple_XH

Hartmut
Posts: 553
Joined: Sat Nov 05, 2011 6:13 pm
Location: Butzbach, Deutschland
Contact:

Re: Plugin-Kompatibilität zu CMSimple_XH 1.7

Post by Hartmut » Sat Aug 19, 2017 4:51 pm

Hallo Christoph,
cmb wrote:
Hartmut wrote:Da mir selbst die Zeit für Kompabilitäts Tests fehlt, bin ich über alle Informationen (Pluginname + Version, PHP Version, CMSimple_XH Version und Status (OK / Fehler XY)) froh, die ich beispielsweise hier im Forum finde.
Ich finde die Kompatibilitätsliste klasse (danke für die viele Arbeit!), finde allerdings, dass die Versionsangaben vom Entwickler kommen sollten. Durch Tests kann man nur Inkompatibilität sicher feststellen, aber leider nicht die Kompatibilität. Daher sollte der Entwickler vorgeben, für welche PHP- und XH-Versionen das Plugin gedacht ist; wenn es dann unter angedachten Versionen Probleme gibt, ist das halt ein Bug (oder der Entwickler ändert die Versionsangaben). Solange ein solches Problem nicht behoben ist, kann das dann auch in die Kompatibilitätsliste aufgenommen werden.

Bei den (hoffentlich) meisten meiner Plugins gebe ich explizit an, welche PHP- und welche CMSimple_XH-Version mindestens benötigt werden. Funktionieren sollten die Plugins unter diesen Versionen bis hin zu aktuellen stable releases (GA) – was leider bei vielen noch nicht der Fall ist.
ich freue mich dass der Aufwand für die Plugin Kompabilitätsliste sich lohnt, da dies auch schon andere CMSimple_XH Nutzer als eine sinnvolle Bereicherung kommentiert haben.

Ich stimme Dir zu dass die Plugin Informationen (Ziel-CMS, PHP Anforderungen und andere Abhängigkeiten) vom Entwickler in seiner Dokumentation zur Verfügung gestellt werden sollte, aber dies findet man leider nicht so oft und nicht ohne Grund gibt, bzw. gab es in dieser Liste so viele Fragezeichen.

Bei Angaben wie beispielsweise "≥ PHP 5.3.0" bzw. "≥ CMSimple_XH 1.6.3" würde ich nicht als "Blanko Freigabe bis zur neuesten (stabilen) Version sehen, sondern es etwas differenzierter betrachten.
Ich halte es aus meiner Sicht für besser, wenn eine PHP Version "≥ 5.3.0" für die Hauptversionsnr. (5.x) Gültigkeit hat und auf CMSimple_XH bezogen die Angabe "≥ 1.6.3" sich auf die Haupt- und Nebenversionsnr. "≥ 1.6.x" bezieht. Wenn der Entwickler auch höhere Haupt- und Nebenversionsnummern explizit erwähnt umso besser.

Unabhängig davon ist solch eine Gesamtübersicht eine schöne Sache, um nicht jedes mal sich die Informationen zusammen suchen zu müssen. Dies ist vor allem auch für Interessenten von CMSimple_XH, bzw. Jene die zufällig unser CMS gefunden haben eine feine Sache.

Viele Grüße
Hartmut

olape
Posts: 2714
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Plugin-Kompatibilität zu CMSimple_XH 1.7

Post by olape » Sat Aug 19, 2017 5:31 pm

Hartmut wrote: Noch eine kurze Anmerkung zu der Eintragung in der Kompabilitätsliste:
Shariff_XH 1.0 rc1 ist dort mit einem "CMSimple_XH 1.7.x = Nein*" und mit dem Hinweis auf den Patch für die CMSimple_XH 1.7.x Kompabilität dokumentiert, da die Versionn rc1 ohne den Patch die Anforderung nicht erfüllt. Wenn es eine neue Version gibt, die den Patch beinhaltet, erhält diese natürlich ein "Ja".
Das klingt vielleicht ein wenig "kleinkariert" bzw. "pingelig", aber aus meiner Sicht macht dies aus Anwendersicht schon Sinn, denn wenn er "Shariff_XH 1.0 rc1" in einer CMSimple_XH 1.7 Installation nutzen möchte und den Patch "übersieht" (nicht installiert) funktioniert das Plugin nicht.

Viele Grüße
Hartmut
Das ist im Prinzip richtig.
Nur in diesem Fall ist der angesprochene Patch lediglich css. Also eine reine Frage der Formatierung.
Es gibt mit dem Patch keinerlei Änderungen an der Funktion.

https://cmsimpleforum.com/viewtopic.php ... =30#p57580
Gruß Olaf, Plugins for CMSimple_XH

Ich habe schon lange den Verdacht, dass so viele so eifrig auf Gender, Trans und Queer machen:
Weil sie für das Fachliche ganz einfach zu doof sind.

kmsmei
Posts: 93
Joined: Tue Nov 03, 2009 9:03 am

Re: Plugin-Kompatibilität zu CMSimple_XH 1.7

Post by kmsmei » Sat Aug 19, 2017 6:17 pm

Hallo Christoph,
cmb wrote:Ersteres sollte leicht zu beheben sein. Dazu einfach diese Zeile ändern in:

Code: Select all

if (function_exists('XH_wantsPluginAdministration') && XH_wantsPluginAdministration('elfinder_xh') || isset($elfinder_xh)) 
Danke. Mit ein wenig Denken, hätte ich da auch selbst drauf kommen können - ist ja bei Pictures etc. nicht anders. Aber die anderen Dinge... Da fehlt mir schlicht die Ahnung. Wäre schon super, wenn sich da ein Weg finden lassen würde.

VG Frank

Hartmut
Posts: 553
Joined: Sat Nov 05, 2011 6:13 pm
Location: Butzbach, Deutschland
Contact:

Re: Plugin-Kompatibilität zu CMSimple_XH 1.7

Post by Hartmut » Sat Aug 19, 2017 8:23 pm

Hallo,
albert wrote: Ich fänd fixierte Kopfzeile auch besser (wär gespannt ob das geht)
olape wrote: Trotzdem hätte ich da einen Vorschlag.
Nicht zum Inhalt, sondern zur Nutzbarkeit.
Es wäre aus meiner Sicht ein riesen Vorteil, wenn die Kopfzeile der Tabelle stehenbleiben würde.
Etwa so http://www.imaputz.com/cssStuff/bigFourVersion.html
Diese Funktion wäre bei langen Auflistungen eine recht praktische Funktion im Plugin Tablesorter_XH.
Vielleicht könnte dies Christoph in einer der folgenden Funktionen berücksichtigen? Wenn ich mich recht entsinne müßte es so eine ähnliche Funktion für ein horizontales Menü geben und könnte evtl. sinngemäß implementiert werden?
albert wrote: Was ich unübersichtlich finde, ist, die verschiedeben Versionen von Plugins alle aufzuführen
Flexslider_XH 0.5
Flexslider_XH 0.5.1
Flexslider_XH 0.5.2
Flexslider_XH 0.5.3
hier würde wohl das aktuellste reichen - es ist mir jetzt schon ein paarmal passiert, dass ich nur den jeweils ersten Eintrag gesehen habe (aha, nicht kompatibel) und den nächsten Eintrag glatt übersehen...
Das ist mir auch schon passiert.
Ich werde die nicht mehr aktuellen Einträge aus der Kompatibilitätsliste entfernen und in einer separaten "Historie Auflistung" dokumentieren, damit die eigentliche Liste übersichtlicher wird und der Werdegang der Plugins erhalten bleibt.
albert wrote: Nur was nützt die Liste wenn sie nicht stimmt?
Z.B. Shariff_XH (s.o.). Oder poll_XH hatte ich einen Codeschnipsel gepostet, in der Liste steht aber weiter schlicht "Nein"- nicht kompatibel.
Danke für den Hinweis und ich habe dies in der Kompabilitätsliste vermerkt.
olape wrote: Das ist im Prinzip richtig.
Nur in diesem Fall ist der angesprochene Patch lediglich css. Also eine reine Frage der Formatierung.
Es gibt mit dem Patch keinerlei Änderungen an der Funktion.
https://cmsimpleforum.com/viewtopic.php ... =30#p57580
Danke für den Hinweis und den Link. Die Dokumentation wurde von mir angepasst.

Viele Grüße
Hartmut

Michael_G
Posts: 185
Joined: Thu Feb 18, 2016 11:01 pm
Contact:

Re: Plugin-Kompatibilität zu CMSimple_XH 1.7

Post by Michael_G » Sat Aug 19, 2017 10:23 pm

Hallo zusammen,

folgende zwei Plug-ins funktionieren unter PHP 7.1.8 mit CMSimple_XH 1.7.0, man kommt aber nicht mehr ins Backend:

  • Quoteoftheday 1.1
    Sitemapper 2.0.2

Glücklicherweise muss ich an deren Konfiguration schon lange nichts mehr ändern, die laufen seit Monaten zuverlässig vor sich hin. :lol:
Aber in QuoteOfTheDay möchte ich bald weitere Einträge hinzufügen, da wäre ein Fix ganz gut.

Zur Vollständigkeit hier meine Gesamtliste der bei mir zuverlässig laufenden Plug-ins (alles mit PHP 7.1.8 und CMSimple_XH 1.7.0):
  • Ckeditor 2.2.1 (mein Standard-Editor, auch weil nur er Bilder mit Mouse-over-Effekten unversehrt lässt!)
    Downloadcontrol 1.7
    Exchange 1.0
    Expandcontract 0.7
    Fa 1.1
    Filebrowser for CMSimple_XH 1.7.0
    Hi_updatecheck 1.4
    Jquery 1.6.4
    Meta_tags for CMSimple_XH 1.7.0
    Morepagedata 1.2.2
    Moved 1.0beta3
    Pagemanager 3.0
    Page_params for CMSimple_XH 1.7.0
    Polyglott 1.0beta2
    Tinymce4 (gefällt mir nicht, weil er weniger kann als CKEditor, nur nicht gelöscht, um Updates nicht zu verpassen)
Übrigens nutze ich den CKEditor schon ewig, auch lange bevor ich diese tolle Community gefunden hatte - mit WebsiteBaker und dessen Nachfolger WBCE.
Die CKEditor-Menüführung finde ich besser, ist aber auch Gewöhnungssache und die Geschmäcker sind verschieden. ;)
Als ich nach Umstellung auf CMSimple 1.7.0 bemerkte, dass er meine Webseiten mit Fotos mit Mouse-over-Effekten doch nicht zerstört wie der TinyMCE, war ich happy. :lol:

Bei dieser Gelegenheit möchte ich mich auch bei allen Plug-in-Entwicklern für ihre nützlichen Erweiterungen unseres schönen CMSimple_XH bedanken!
Ciao
Michael

Let's Encrypt!

Post Reply