Direkter Joomla-Logout ohne Zwischenseite (J!2.5 und höher)

Bei Joomla gibt es ein Problem, wenn man sich direkt ausloggen möchte. Ich nutze beispielsweise ein Menü (Modul), in dem ich gerne einen Abmelden-Link haben möchte.

Da gibt es dann 3 Optionen:

  1. Ich baue eine Form ein, die den direkten Logout erlaubt. Das ist lässt sich dann sehr schlecht mit CSS stylen.
  2. Ich leite den Nutzer auf eine Zwischenseite von com_users weiter, wo er sich ausloggen kann. Das ist umständlich.
  3. Ich baue einen direkten Logout-Link mit dem nötigen Token.

Der 3. Weg ist natürlich die beste Lösung, allerdings habe ich ihn nirgendwo beschrieben gesehen. Daher jetzt hier kurz und knapp:

<a href="<?php echo JRoute::_('index.php?option=com_users&task=user.logout&'.JSession::getFormToken().'=1'); ?>"><?php echo JText::_('JLOGOUT'); ?></a>

Neues Projekt: Huruhelpdesk für Joomla 1.6

Während meiner DEV-Tätigkeit für rising-gods.de stehe ich ab und zu einmal vor größeren Umwälzungen und muss dann entscheiden, wann sie durchzuführen sind. Bei über 150.000 (Stand zum Zeitpunkt der Artikelerstellung) registrierten Nutzern ist das keine einfache Frage.

Zuletzt trat so eine Situation auf, als ich von Joomla 1.5.22 auf das ausgereiftere 1.6.3 wechseln wollte. Schon vorher wurde ich mehrmals vom Admin-Team auf einen Wechsel angesprochen, allerdings halte ich bei Joomla Versionen kleiner als x.x.3 generell für relativ unsicher. Die Liste der Security-Fixes im Patchlog von 1.6.1 und 1.6.2 hat mich dann auch wieder in dieser Ansicht bestätigt. Mit dem Release von 1.6.3 kam dann die Entscheidung, jetzt zu wechseln. Dazu mussten etliche Komponenten, u.a. das Premiumsystem, und das Template umgeschrieben werden. Weitere Komponenten wie das Kunena-Forum mussten aktualisiert und wieder dem vorherigen Funktionsstand angepasst werden.

Die größte Änderung betraf jedoch Huruhelpdesk, für das es keine J!1.6-kompatible Version gibt. Zudem scheint der Entwickler James R. Erickson momentan ziemlich inaktiv zu sein. Daher habe ich beschlossen, den Huruhelpdesk 0.88d – den wir bei rising-gods.de als Ticket-System einsetzen – selbst 1.6-kompatibel zu machen. Alles in Allem kein besonders schwieriges Unterfangen, wenn auch zeitaufwändig, da die Joomla-Docs für 1.6 zurzeit noch einfach miserabel sind. Besonders das Herausfinden der neuen XML-Strukturen für die Installations-XMLs hat viel länger gedauert, als eigentlich nötig. Letztendlich jedoch war auch dieses Hindernis genommen und nach einer Woche Regelbetrieb in der 150k-Community von Rising Gods ohne Zwischenfälle habe ich mein Projekt auf Github veröffentlicht, um auch anderen Huru-Nutzern den Umstieg auf Joomla 1.6 zu ermöglichen.

Drupal installiert

Ich habe mich endlich dazu durchringen können, meine Website neu aufzusetzen. Ist ja schlimm wenn man als Entwickler mit inzwischen gut 7 Jahren Erfahrung in Web-Programmierung nicht einmal eine anständige Seite hat. Nachdem ich etwas überlegt hatte fiel meine Wahl auf ein CMS als Plattform. Dann muss man nicht jedes Mal von Hand das HTML der Seiten ändern wenn man etwas hinzufügt etc., zumal ich auch gern mehrsprachige Artikel anbieten will.

Die Wahl des Content-Management-Systems fällt schon viel schwerer – schließlich gibt es gefühlte 50.000 davon. Joomla, Typo3 und WordPress kannte ich schon. Jedes dieser Systeme hat irgendwelche kleinen Macken bzw. bei Typo stößt mich einfach der gewaltige Aufwand ab. WordPress ist wiederum nicht so gut geeignet um statische Websites zu präsentieren, obwohl das mit Version 2.8 schon ganz gut klappt. Um mal was Neues zu probieren habe ich mich dann für Drupal – ebenfalls eins der bekanntesten 4 (Typo3, Joomla, WP und Drupal) – entschieden. Die Installation lief leicht von der Hand, das System ist danach erfreulich schnell (deutlich schneller als WP, zu Joomla fehlen mir auf meinem eigenen Server die Vergleichsdaten). Lediglich eine .htaccess musste ich nach der (direkt an der richtigen Stelle verlinkten) Anleitung erstellen schon funktionierte auch SEO. Das einzige was mich bisher etwas irritiert ist, dass ich zwar Deutsch bei der Installation auswählen konnte, jetzt aber trotzdem alles auf Englisch ist… na ja man kann nicht alles haben 😉