Joomla! Probleme 1.0.12 und openSEF

Joomla! LogoVersion 1.0.12 schien ein richtig schönes Update zu werden: viele, viele Bugs sollten behoben sein. Leider jedoch wurde – ohne dass dies in der Ankündigung auftauchte – etwas gravierendes geändert: die Verwaltung der item-ID's! So sorgte ein Minor-Update durch undokumentierte Veränderungen für große Probleme – unter anderem bei Nutzern von openSEF. 

Bereits wenige Tage nach dem Update tauchte im Klartext-Blog die erste Warnung auf. Doch für viele war es bereits zu spät, denn wer kommt schon auf die Idee, dass es bei einem reinen Bugfix-Update zu großen Problemen kommen kann. Klar, machmal bewirkt das Fixen eines Bugs einen neuen Bug. Aber meist wird auch dies schnell behoben. Und auch ich spielte – nachdem es bei Testinstallationen durch das Update zu keinen Problemen kam – überall die 1.0.12 ein.

Erst im Produktivbetrieb zeigten sich dann nach und nach die ersten Probleme, vor allem bei großenJoomla!- Seiten. Und sie wuchsen sich aus.

Noch verschmerzbar war, dass Module, die man auf die Startseite gelegt hatte, nun plötzlich auch bei allen Items auftauchen, die auf der Startseite angezeigt wurden. Ein Klassiker bei News, die man auf die Frontpage legt. Wer nicht an den Core-Dateien etwas ändern wollte, dem empfahl AmyStephen, folgenden Code an der entsprechenden Stelle des Templates zu setzen: 

<?php if ( $option == 'com_frontpage' ) { ?>
<?php mosLoadModules ( 'user3'); ?>
<?php } ?>

Ein weiteres Problem zeigte sich bei vielen Installationen hinsichtlich des pathways. Dieser stimmte einfach nicht mehr – auch dies wohl eine Auswirkung der geänderten ID-Verwaltung. Doch das gravierendste Problem tauchte im Zusammenspiel mit openSEF auf: Bei bestimmten Konstellationen kam die gesamte Verwaltung der Sections und Categories durcheinander. So entstanden intern Aufrufe, bei denen blogcategories zu categories wurden – dadurch gingen Einstellungen hinsichtlich der Anzeige verloren. Eine Blogdarstellung mutierte zur Listendarstellung etc. Hier half kurzzeitig eine Löschung der freundlichen URLs aus openSEF und ihre Neugenerierung durch einen kompletten Durchlauf der Seite mit XENU. Doch oft waren innerhalb von 24 Stunden die alten Probleme wieder da. Eine Besserung entstand, wenn man bestimmte Umschreibungen bei openSEF blockierte. Doch auch dies führte wieder zu einem neuen Problem: Module, die nur auf Unterseiten angezeigt werden sollten, tauchten nicht mehr auf. Zugriffe zu Bereichen, die auf "public" standen, wurden normalen Surfern verweigert. Ein unhaltbarer Zustand.

So bleibt nur eines: die in 1.0.12 von den Entwicklern völlig überhastet eingeführte Änderung der ItemID-Vewaltung wieder rückgängig zu machen. Hier hilft ein Hack von Rob Schley, Mitglied im Joomla! Core Team und Koordinator der Joomla! Quality & Testing Workgroup, der die als erstes genannte Änderung überflüssig macht. Allerdings sind diese Änderungen im Core vorzunehmen und werden bei möglichen weiteren Updates überspielt:

Geändert werden muss die Datei components/com_content/content.html.php

Suche ca. bei Zeile 400:

$_Itemid = $Itemid;

Ersetze mit:

$_Itemid = $mainframe->getItemid( $rows[$i]->id, 0, 0  );

Suche ca. bei Zeile 556:

$row->_Itemid = $Itemid;

Ersetze mit:

if ( $task != 'view' && $task != 'category' ) {
     $row->_Itemid = $mainframe->getItemid( $row->id, 0, 0 );
} else {
     // when viewing a content item, it is not necessary to calculate the Itemid
     $row->_Itemid = $Itemid;
}

Danach sollte man alle mit openSEF generierten URL's löschen und wieder XENU drüber laufen lassen. Dennoch behebt es nicht alle Probleme: Der fehlerhafte Aufruf von blogcategories als categories, der dann von openSEF der freundlichen URL zugeordnet und fälschlicherweise übergeordnet wird, bleibt weiterhin. Nach aktuellem Wissensstand hilft es auch nicht, die Benutzung jener URL zu verstecken oder zu deaktiveren. Die einzige Möglichkeit besteht darin, eine neue Section samt Categories anzulegen und die Items dorthin zu verschieben, wobei sich allerdings die Reihenfolge ändert (älteste sind dann zuerst).

Bleibt zu hoffen, dass entweder Joomla 1.0.13 oder RC6 von OpenSEF die genannten Probleme beheben. Die 1.0.12 als letzte Stable der 1.0-Reihe von Joomla! ist jedenfalls indiskutabel, auch wenn die Chancen dafür wachsen, da hier bereits seit sechs Wochen nichts geschehen ist. Während die Bugs von 1.0.11 bei keiner der Dutzende von Joomla-Installationen von Wolke23 zu spüren waren, hat Version 1.0.12 für eine Menge Ärger gesorgt. Insofern muss ich vom Einsatz dieser Version in Kombination mit openSEF und bestimmten Konfigurationen leider weiterhin abraten. Die Entwickler haben jedenfalls viel Credit verspielt, was beispielsweise dazu führte, dass Wolke23 nun einige Projekt mit WordPress statt Joomla! realisiert hat. 

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.