pctechnik.ch Herisau

pctechnik.ch Herisau

JCB Joomla ist da in neuem Glanz!
JCB Joomla Componentbuilder

JCB! Eine Meinung für Insider: Tatsächlich! Joomla Componentbuilder ist wieder da! ich habe nicht mehr daran geglaubt. Die Version 3.2.5 für Joomla 3.10.12 war für mein Verständnis nahezu perfekt. Es hat einfach alles funktioniert mit wenigen kleinen Fehlerchen. Auch die Custom Codes in wirklich komplexer Form, habe ich immer wieder eingesetzt. Als die erste JCB Version 4 bekannt wurde, oh, eben, es hat lange gedauert, war ich so enttäuscht, man "würgte" sich von Fehler zu Fehler, es nahm kein Ende. Ich habe mich entschlossen, die Community oder den Programmierer nicht mehr zu unterstützen. Ausschlagebend waren nicht nur die Fehler, es ist ein extrem komplexes Projekt, sondern auch die Meinung, man müsse eben mit dem Betriebssystem Linux, Extensions für das Joomla CMS entwickeln. Das ist so, wie wenn Dir jemand sagt, wenn das mit Windows nicht geht, dann kaufe einen Mac. Joomla ist Platformunabhängig und wir schreiben das Jahr 2026, da sollte es keine Pfadprobleme mehr geben in der PHP Welt Punkt!. 

Zurück zu JCB. Später, wollte ich es wieder wissen. Ich habe eine Extension für Joomla 5 auf der JCB Version 3 in Joomla 3 generiert. Und tatsächlich, sie liess sich mit den "Behavior Plugins" mit einigen Fehlern und händischen Korrekturen installieren. Arbeiten so, wie man es einmal mit JCB gewohnt war, ging nicht mehr. Soll ich JCB aufgegeben? NEIN! Niemals und ich habe gehofft:

Weil ich durch JCB in die Welt der Extension-Programmierung hineinfand, es sind bald 10 Jahre vergangen seither, konnte ich das Tool nicht mehr loslassen, es hat mir soviel "verraten". Es ist ja sowas von GENIAL! Und ich kam unter Druck, hatte ich recht anspruchsvolle Projekte bei Kunden am Laufen, die in ihr "Alter" gekommen sind. Und Joomla drückte auf das "Gaspedal". Man kam nicht mehr nach, es wurde einem ganz schwindlig vor lauter "Neuem" und "depricated" Meldungen in der IDE und so wollte ich mich einmal mehr bei JCB umsehen. Jaja ok, ich weiss, es würde mittlerweile ohne JCB gehen, aber wer JCB kennt, weiss es zu schätzen. Man wird süchtig. 

Und tatsächlich, die Version JCB 6.1.5 ist wieder auf einem sehr guten Niveau angelangt. Wie die letzten Versionen unter Joomla 3, ist es wieder genial. 

JCB unterstützt mich beim kompilieren von Extensions, es hat mächtig gute PHP Elemente, Klassen, und Funktionen von denen man lernen kann. Es gibt auch Dinge, die ich nicht toll finde. Dieses "Power", dass Code unleserlich macht, es vergibt Nummern oder Code IDs "GUID", bei denen man nicht erraten kann, was es soll. Wenn eine Klasse eine GUID hat und keinen verständlichen Namen, da habe ich schon meine Fragen. Im Code sollte man lesen können wie in einem Buch. Die Idee hinter Power ist grossartig, aber eben.

Es ist unbestritten, dass der Entwickler ein Genie ist. Leider geht das manchmal auf Kosten vom Grundsatz: Weniger wäre mehr. Ich denke an die gute Export-Import Routinen, die einmal da waren. Die Vorgänger Variante dieser "Export-Import" Funktion (XLS), die für das Backend auf Knopfdruck mitgegeben werden konnte, hat mich nie im Stich gelassen. Schade, sie fehlt. 

Anstelle von dieser guten Sache, kam eine mächtige "In- Export Funktion", bei der man via Demo Extension zuerst einmal dahinterkommen muss, was dabei gedacht wurde. Durchblickt man "es", ok, es ist gut, aber für den Kunden, der es ja schlussendlich bedienen muss.... ich weiss ja nicht!

Auch die Batch Funktionen wurden nicht mehr umgesetzt, das war Core und es fehlt. Würde man es der Community kommunizieren, gäbe es 1000 Gründe warum das so besser ist. Da kommt einem in den Sinn: Hee, Leute, JCB ist Open-Source, es ist frei erhältlich, was will man da motzen. Über all das sehe ich hinweg, ich bin dankbar für JCB, es ist nicht untergegangen in dieser schnell lebenden Zeit. 

Ein Ding, die einem glauben machen, da würde gezaubert, möchte ich noch erwähnen. Ich meine, das einfügen von Custom Code. Du arbeitest in Deiner IDE und ergänzt Code an irgend einer Stelle, markierst diesen Code mit Platzhaltern, kompilierst die Extension und der Code ist wie von Geisterhand an dieser Stelle eingefügt, meistens. Danach ist dieser Custom Code In JCB hinterlegt. Man kann ihn immer wieder an beliebiger Stelle verwenden. 

JCB gehört nun wieder zu den Extensions in der Welt von Joomla, die wirklich gut sind. Und wir wissen, neben den unzähligen Wordpress-Bastlern, wollen wir sauberen nach MVC Richtlinien geschriebenen Code, der an eine stabile API gebunden ist. Joomla soll sich weiterhin von diesem Massenkuchen abheben und zur Enterprise CMS Klasse gehören. Mit den neuen CMS Versionen hat Joomla gezeigt, wie ein CMS sein muss! Und das ist als Open-Source Lösung erhältlich!

JCB hat nebenher gesagt, auch das muss sein, immer noch Fehler. Diese treten dann ein, wenn man Änderungen an gewissen Dingen vornimmt. Oder man kennt gewisse Tücken noch nicht. Etwas, was nie richtig funktioniert hat, waren die Update-Einspielungen. Will man Felder im nachhinein hinzufügen, fehlen sie, die Programversion wird nicht hochgezählt. Die Felder fehlen dann in der Installation. Irgendwann habe ich herausgefunden, dass das Kopieren von Feldern, dazuführen kann. Man muss das kopierte Feld weglöschen und neu einarbeiten. Dann klappt das Update. Ähnlich verhält es sich mit Custom Code, auch der funktioniert oft und dann aufeinmal wieder nicht mehr.

Funktionen wie Kategorien, Joomla-Felder brachte ich erst wieder zum laufen, als ich mich von Neuem vertieft mit der Thematik auseinandergesetzt habe. Oft hilft das Suchen auf der GitHub Seite unter den gemeldeten Fehlern die manchmal keine sind. 

Die Dokumentation ist leider veraltet, und überall findet man wieder irgendetwas, was einfach nicht aktuell ist oder wo so viel gesprochen wird, dass es einem ablöscht. Ich hätte lieber ein kleines Beispiel, ohne viele Worte. Die Websites von JCB sehen super aus, aber es hilft einem technisch nicht weiter. Die Übersichtlichkeit des ganzen Projektes ist erst nach langem Suchen zu durchschauen. 

Und doch, JCB bleibt GENIAL. Nur schon eine Basis einer Extension generieren, hat einem schon viele Stunden eingebracht an Entwicklungszeit. 

Ich empfehle jedem JCB anzuschauen, jedem der lernen will, wie man Extensions für Joomla programmiert. Die Einarbeitungsschwelle ist sehr hoch, jedoch holt man diese Zeit nach, wenn man Ausdauer hat.

René