VEGAS Pro 22

Seit 10. Januar 2011 ist die stabile Version von Joomla 1.6 jetzt verfügbar. Trotz Stable sind hier noch diverse Fehler zu finden.

Joomla 1.6 ist noch fehlerhaft!

Bei Joomla 1.6 hat sich extrem viel verändert und das ist ja auch gut so. Viele neue Möglichkeiten sind nun vorhanden und es wird semantischer zugänglicher Code erzeugt.

Wird ein System derart (positiv) umgekrempelt, schleichen sich neue Probleme und Fehler ein, das ist fast logisch. Es hat sich schon immer als sinnvoll erwiesen, sich in so einem Fall nicht gleich auf die erste Version zu stürzen. So auch bei Joomla 1.6.0. Es ist auf jeden Fall sinnvoll, mindestens noch eine oder zwei Versionen abzuwarten.

Zum einen ist das Backend-Template Bluestork zumindest mit der deutschen Übersetzung fehlerhaft. Im Topmenü reicht der Platz nicht aus, wenn man das Browserfenster zusammenschiebt. Dadurch werden die Menüeinträge "Erweiterungen" und "Hilfe" eine Zeile nach unten umbrochen. Das ist nicht schlimm, aber unschön.

Ein weiteres Problem taucht auf, wenn ein Template mit mehreren Sprachdateien installiert werden soll. Zum Beispiel Sprachdateien für Englisch und für Deutsch. Auf einem deutschen System wird dann eine Fehlermeldung ausgegeben. Die Meldung besagt, dass die englische Datei nicht installiert werden konnte.

Eine Fehlermeldung erscheint auch beim Deinstallieren eines Templates, selbst wenn es nur eine Sprachdatei enthält. Diese kann nicht deinstalliert werden, wie die Meldung versichert. Die Dateien werden bei einer Installation auch tatsächlich nicht in den language-Ordner in Joomla kopiert. Also können sie auch nicht von dort entfernt werden. Allerdings funktionieren die Sprachdateien trotzdem einwandfrei, weil Joomla 1.6 sie aus dem Template-Ordner ausliest. Also auch kein schlimmer Fehler, aber sehr ärgerlich.

Wer um diese Umstände nicht weiß, installiert ein Template, erhält eine Fehlermeldung und denkt er hätte ein riesiges Problem, obwohl es nicht wirklich eines ist.

Probleme gibt es auch mit dem FTP-Layer bzw. deshalb mit der herkömmlichen Installation von Erweiterungen. Meistens wird die FTP-Ebene nicht benötigt, für manche Server aber eben doch. Das liegt dann an fehlenden Dateirechten, welche sich nicht ohne weiteres verändern lassen. Hier sei das berüchtigte www-run-Problem genannt, welches bei manchen Providern auftritt. Auch ein aktivierter Safemode kann die FTP-Ebene notwendig machen, um überhaupt Erweiterungen installieren zu können.

Weitere Informationen zum FTP-Layer gibt es übrigens auch im Artikel Joomla 1.6 Installieren.

Es erscheint also die Meldung: "failed to open stream: Permission denied". Dazu existieren auch schon Lösungen. Im Verzeichnis "libraries/joomla/filesystem/archive befindet sich die Datei zip.php. Dort ist folgender Code ab Zeile 252 zu finden:

+ if (JFile::write($destination.DS.zip_entry_name($file), $buffer, true) === false) {

Über den Parameter "true" wird hier abgefragt, ob FTP genutzt wird. Diesen Parameter kann man auch einfach entfernen. Die Abfrage findet nicht mehr statt und eventuell lassen sich so schon Erweiterungen auf normalem Wege installieren.

Eine weitere Lösung ist eine Rechte-Prüfung des Webserver-Users. Dieser sollte Schreibrechte für die temporären Installations-Ordner haben. Wenn die Rechte vorhanden sind, funktioniert die herkömmliche Installation. Wenn nicht, wird die Methode mit dem FTP-Layer verwendet.

Dazu findet sich ein guter Ansatz von Rene Jablonski, welcher im Tracker auf Joomlacode.org zu finden ist.

Die Datei folder.php im Verzeichnis "libraries/joomla/filesystem" wird um eine Funktion ab Zeile 441 erweitert. Das sieht wie folgt aus:

+ public static function isWritable($path)
+ {
+    return is_writable(JPath::clean($path));
+ }

Außerdem wird die Datei zip.php im Verzeichnis "libraries/joomla/filesystem/archive ab Zeile 213 wie folgt verändert:

+ $streamingEnabled = true;
+       
+ if (!JFolder::isWritable(dirname($path))) {
+   $streamingEnabled = false;
+ }

--- /*Diese Zeile wird entfernt*/ if (JFile::write($path, $buffer, true) === false) { ---

+ if (JFile::write($path, $buffer, $streamingEnabled) === false) {

Ab Zeile: 252
+ $streamingEnabled = true;
+     
+ if (!JFolder::isWritable($destination)) {
+   $streamingEnabled = false;
+ }

Ab Zeile: 265
--- /*Diese Zeile wird entfernt*/ if (JFile::write($destination.DS.zip_entry_name($file), $buffer, true) === false) { ---


+ if (JFile::write($destination.DS.zip_entry_name($file), $buffer, $streamingEnabled) === false) {

Die +-Zeichen gehören natürlich nicht in den Code. Sie sagen nur aus, was hinzugefügt wird.

Sicher werden diese Probleme und viele andere Fehler in der nächsten Version gefixt sein. Sogar das Standard Beez-Template ist noch voller Fehler. Die Probleme wie hier gezeigt jetzt selbst zu lösen, ist absolut nicht zu empfehlen. Abwarten ist mit Sicherheit die bessere Lösung. Zumal diese Änderungen bei einem Update auf die nächste Version auch wieder verloren gehen. Es handelt sich ja nicht um Overrides, welche erhalten bleiben.

Speichern
Cookies Einstellungen
Wir verwenden Cookies, um Ihnen das beste Erlebnis auf unserer Webseite zu ermöglichen. Wenn Sie die Verwendung von Cookies ablehnen, funktioniert diese Website möglicherweise nicht wie erwartet.
Alle akzeptieren
Alle ablehnen
Unentbehrlich
Für grundlegende Funktionalität der Website notwendig
Website
Akzeptieren
Vermarktung
Eine Reihe von Techniken, die die Handelsstrategie und insbesondere die Marktstudie zum Gegenstand haben.
Diverse
Akzeptieren
Ablehnen
Funktionell
Tools, die Ihnen beim Navigieren auf der Website mehr Funktionen bieten, dies kann soziales Teilen einschließen.
Osano
Akzeptieren
Ablehnen
Analytik
Werkzeuge zur Analyse der Daten, um die Wirksamkeit einer Webseite zu messen und zu verstehen, wie sie funktioniert.
Google Analytics
Akzeptieren
Ablehnen