Akkordeon-Skript für script.aculo.us

script.aculo.us-AkkordeonAls ich kürzlich für ein Web-Projekt bei mutoo ein Akkordeon-Element benötigt habe, musste ich feststellen, dass es so was für mein Lieblings-JS-Framework meine Lieblings-JS-Effektbibliothek script.aculo.us anscheinend gar nicht gibt.

Bzw. es gibt zwar eins, aber das ist für eine ältere Version des Frameworks geschrieben und funktioniert nicht mehr mit der aktuellen.

Also habe ich mich mal ans Werk gemacht und ein eigenes Akkordeon-Skript auf Basis des Tab-Features von script.aculo.us entwickelt.

Hier geht’s zum Download:
Akkordeon-Skript für script.aculo.us

Ihr könnt das gute Stück natürlich auch erst mal ausprobieren.

Viel Spaß damit! ;-)

Typo3 vs. Contenido – Warum alle nur den Platzhirsch wollen

Typo3 vs. ContenidoTypo3 – jeder, der sich auch nur irgendwie für Content-Management-Systeme (CMS) interessiert, wird diesen Namen sicher schon mal gehört haben.

Alle reden darüber und alle wollen es haben – aber warum?

Dieser (etwas längere) Beitrag befasst sich mit den vielen “Vorteilen” von Typo3 (so, wie sie von zahlreichen Agenturen angepriesen werden) und vergleicht das System mit einem anderen – ebenfalls kostenlos erhältlichen – CMS, das locker genau so viel kann wie der allseits bekannte Platzhirsch: Contenido.

“Bieten Sie auch Internetseiten in Typo3 an?”
Diesen Satz hört man dermaßen häufig, wenn es um die Erstellung eines CMS-basierten Internetauftritts geht, dass er einen schon jedes Mal kurz zusammenfahren und innerlich bis 3 zählen lässt. ;-)
Anscheinend hat sich der Kunde im Vorfeld “umfassend” über den Markt der Content-Management-Systeme informiert und ist direkt beim bekanntesten System hängengeblieben. – Aber heißt “am bekanntesten” auch immer “am besten”?

Ich glaube, mit Typo3 verhält es sich ähnlich wie mit Microsofts Internet Explorer: Alle kennen ihn und viele benutzen ihn blind, denn sie kommen erst gar nicht auf die Idee, dass es neben dem IE auch noch andere Browser geben könnte – die um Längen schneller, komfortabler, besser sind: So werden enthaltene Fehler und Umgereimtheiten schnell zum besonderen Feature. Weil niemand über den Tellerrand blicken mag.

“Mit Typo3 können Sie Ihre Website von jedem Rechner aus pflegen!”
Hmm…kann man das nicht mit jedem Browser-basierten CMS??
Das ist ja fast, als würde man sagen

“Schauen Sie mal her, mit dem Internet Explorer können Sie Internetseiten betrachten!” – “Was Sie nicht sagen…”

Schaut man sich die zahlreichen “tollen” Funktionen von Typo3 mal genauer an, fällt auf, dass andere Systeme ähnliche oder auch genau dieselben Funktionalitäten bereitstellen. – Sie geben nur nicht so damit an.
Dazu gleich mehr.

Contenido – der Geheimtipp
Das CMS Contenido der Offenbacher four for business AG ist ein kostenlos erhältliches System, das (genau wie Typo3) mit einem großen Funktionsumfang aufwarten kann. “Spezielle” Funktionalitäten, die nicht von Haus aus mitgeliefert werden, kann man sich (als Web-Programmierer) schnell selbst hinzuschreiben, denn im Hintergrund werkeln alte Bekannte – PHP und MySQL. Typo3 geht hier einen etwas anderen Weg: Wer dort eine vernünftige Internetseite aufsetzen will, kommt nicht um die systemeigene Skriptsprache herum: TypoScript.
Viel Spaß beim Einarbeiten…

Gut, manch einer wird jetzt sagen “ob ich mich nun in PHP/MySQL einarbeite oder in TypoScript, das kommt doch aufs Gleiche raus”. – Das mag erst mal richtig sein, aber im Endeffekt lohnt es sich meiner Meinung nach sehr viel mehr, eine unabhängige und weit verbreitete Skriptsprache wie PHP zu erlernen (die man dann auch noch andernorts einsetzen kann), als sich auf ein proprietäres System zu versteifen, das nur einen einzigen Anwendungszweck hat, nämlich die Verwendung von Typo3 zu ermöglichen.

Abgesehen davon, dass das Duo aus PHP und MySQL von vielen Web-Entwicklern und -Designern ohnehin routinemäßig eingesetzt wird, ist es bei Contenido aber auch gar nicht nötig, überhaupt irgendeine Programmiersprache zu können, wenn man nur einen einfachen Internetauftritt mit ein paar Grundfunktionalitäten aufsetzen möchte. Um TypoScript kommt man bei Typo3 jedoch nicht herum, sei die zu erstellende Seite auch noch so simpel gestrickt.

Schauen wir uns nun mal an, mit welchen “herausragenden” Eigenschaften Typo3 sonst noch so beworben wird:

- Typo3 ist kostenlos erhältlich und macht den Nutzer unabhängig von Agentur-eigenen CM-Systemen.
Contenido kostet ebenfalls keinen Cent und macht den Nutzer noch nicht einmal abhängig von TypoScript…

- Typo3 erzeugt standardkonformen Quellcode im Sinne des W3C.
Dies liegt wohl maßgeblich am Entwickler/Programmierer, da dieser das Grundlayout für die Internetseite erstellt. Das einzige Problem können Texteditoren von Drittanbietern sein, die nicht-standardkonformen Code erzeugen. Zumindest bei Contenido ist dies jedoch kein Thema.

- Inhalte können in Typo3 komfortabel angelegt und bearbeitet werden.
Was ich bisher von Typo3 gesehen habe (gerade erst habe ich, quasi als “Redakteur”, einen umfangreichen Internetauftritt befüllt), hat die Bezeichnung “komfortabel” nun nicht gerade verdient. Die Backend-Oberfläche erfordert für einen nicht sonderlich CMS-erfahrenen Nutzer sicher einige Einarbeitungszeit und selbst dann gehen einfache Vorgänge nicht unbedingt reibungslos vonstatten. Warum kann ich ein einmal eingebundenes Bild z.B. nicht einfach gegen ein anderes austauschen?
Seitenvorlagen/Templates werden zudem auch von anderen CM-Systemen unterstützt; dies ist kein besonderes Feature von Typo3, sondern eher eine der wichtigsten Grundlagen beim Einsatz eines CMS.

- Einfache Bildbearbeitungsvorgänge sind direkt in Typo3 möglich.
Oh ja, wer hätte das gedacht? Ein Pluspunkt für Typo3! Allerdings kann ich mich nicht erinnern, wann ein Kunde diese Funktion in den letzten 2 Jahren schon einmal benötigt hätte. So lange arbeite ich jetzt schon mit Contenido und nie hat sich jemand darüber beschwert, dass er seine Bilder bearbeiten muss, bevor er sie auf den Server lädt.

- Typo3 ist leicht erweiterbar, Extensions lassen sich einfach herunterladen.
Wie schon gesagt: Was Contenido nicht von sich aus bietet, schreibe ich mir kurzerhand in PHP/MySQL selbst hinzu. So kann ich außerdem sicher sein, dass ich ein Modul bekomme, das genau auf die Bedürfnisse meines Kunden zugeschnitten ist, also keinen unnötigen Schnickschnack enthält.

- Typo3 unterstützt Mehrsprachigkeit, sogar im Backend.
Ein Aspekt, der mit zunehmender Globalisierung auch für Internetseiten immer wichtiger wird, ist die Unterstützung von mehreren Sprachen. Contenido ist hier ebenfalls ganz vorne mit dabei und bietet Mehrsprachigkeit sowohl für den Besucher als auch im Pflegebereich.

- Für die Arbeit mit Typo3 sind keine umfangreichen Schulungen notwendig.
Nun, das scheint mir sehr optimistisch formuliert zu sein. Wenn man sich mal umhört, muss man schon ein paar Stunden investieren, um Seiten mit Typo3 eigenständig pflegen zu können. Bei Contenido habe ich einem Kunden innerhalb einer Stunde ausreichend Basics erklärt, um ihn alleine auf die Internetseite loslassen zu können. Er/sie kann dann bereits (wie in Word) Texte und Bilder einpflegen, Dateien hochladen und verknüpfen und die Navigationsstruktur umorganisieren. Und viel mehr werden die meisten(!) Kunden in Zukunft ohnehin nicht tun wollen. Mission erfüllt. :-)

- Typo3 bietet zeitgesteuerte Veröffentlichung und geschützte Bereiche, beispielsweise für Intranets.
Das sind natürlich Details, die man nicht mehr missen möchte, wenn man sich einmal an sie gewöhnt hat. Aber auch Contenido bietet eine Zeitschaltung für Artikel an, sodass z.B. alte News automatisch aus dem Verkehr gezogen werden. Auch Login-Bereiche sind möglich, sodass Besucher sich erst anmelden müssen, um bestimmte Internetseiten sehen zu können.

Fazit I: Contenido
Prinzipiell kann man sagen, dass mit Contenido (genau wie mit Typo3) so ziemlich alles umgesetzt werden kann, was der Kunde sich vorstellt. Sei es nun ein Online-Shop, eine schicke Präsentationsseite für bildschirmfüllende Fotos oder ein umfangreiches Unternehmensportal mit zahlreichen interaktiven Elementen. Dies gilt aber nicht nur für Contenido, sondern ebenso für jedes andere mächtige Content-Management-System, mag es nun Joomla!, Drupal, WordPress oder sonst wie heißen. Es gilt aber eben auch nicht ausschließlich für Typo3.

Fazit II: Typo3 ist ein Hype
Dass viele Kunden so auf Typo3 fixiert sind, mag zum Großteil daran liegen, dass der Platzhirsch meines Erachtens einfach das bekannteste CMS ist.
Wenn man jemanden fragt, ob er einem ein gutes CMS empfehlen kann, dann wird derjenige vielleicht antworten “Ich weiß nicht, aber ich habe schon mal was von Typo3 gehört” und schon ist die Werbetrommel mal wieder gerührt.
Auch ist Typo3 bereits 1998 erschienen und damit heute bereits seit 11 Jahren auf dem Markt; nach Internetmaßstäben eine halbe Ewigkeit!
Contenido ist zwar auch nur 2 Jahre jünger, scheint sich aber in den Anfangsjahren nicht so rasant entwickelt zu haben wie die Konkurrenz. Heute steht es anderen Systemen jedoch in nichts nach – im Gegenteil: In welchen anderen Content-Management-Systemen kann ich meine Inhalte schon direkt im Seiten-Layout pflegen? Viele sind es sicher nicht…

Die eine oder andere Projektanforderung kann es natürlich nötig machen, ein ganz bestimmtes CMS für eine Internetseite einzusetzen. Wenn ich einen Online-Shop haben möchte (und wirklich nur einen Shop), greife ich vielleicht eher zu einem Spezial-Shop-CMS und um eine Online-Community aufzubauen, kann wieder ein ganz anderes System die bessere Wahl sein. Man sollte nur darauf achten, dass man nicht immer blind der Masse folgt, nur weil alle sagen “Typo3 ist ganz toll!”.

Es gibt noch viele andere, wirklich gute Content-Management-Lösungen, die in mancher Hinsicht vielleicht sogar besser sind als Typo3 – weil weniger kompliziert.

Und Contenido ist auf jeden Fall eines davon.

Internet-Explorer-Caching per GET-Variable austricksen

Heute mal wieder was spezielleres… ;-)

Eine sehr elegante Methode, um das träge Caching des Internet Explorers zu umgehen, stellt der Einsatz einer (ansonsten nutzlosen) GET-Variablen dar. Diese Variable erhält als Wert eine Zufallszahl, die sich bei jedem Aufruf ändert und einfach an den bestehenden URL angehängt wird.

Im konkreten Fall ging es um eine CMS-Website, die nach dem Umschalten der Sprache im Internet Explorer wieder zurück auf die zuvor ausgewählte Sprache sprang, wenn man bereits besuchte Seiten erneut aufrief. Nach einem Reload war natürlich alles wieder in Ordnung, weshalb das Problem auf den IE-Cache zurückzuführen war (im Firefox war ohnehin alles in Butter).

Ein Beispiel in PHP: Aus dem URL

seite.php?seite=kontakt&unterseite=formular

wird durch Hinzufügen einer Zufallsvariablen (z.B. zwischen 1 und 1000) der URL

seite.php?seite=kontakt&unterseite=formular&zufall=321.

Der Internet Explorer “denkt” nun, der Inhalt der Seite habe sich geändert (weil die Adresse ja eine andere ist) und greift beim Aufruf nicht mehr auf seinen internen Cache zurück, sondern lädt die Seite neu – Problem gelöst!

Um das Ganze noch “wissenschaftlicher” aussehen zu lassen, kann man die Zufallszahl natürlich auch noch mittels MD5 verschlüsseln, was aber zulasten der Performance geht und deshalb nicht ratsam ist.

Auch sollte man sich Gedanken machen, wann dieses “Anti-Caching” wirklich sinnvoll ist, weil es den Webserver auf jeden Fall stärker belastet, wenn der Browser die Seite bei jedem Aufruf neu anfordert.

Connection error: Plädoyer für den Bindestrich

Plädoyer für den BindestrichDas tut doch weh!
Immer häufiger sieht man in Texten aller Art ein Phänomen um sich greifen, das Leser (wie mich) verwirrt oder zumindest irritiert gucken lässt.
D.h. eigentlich sieht man an entsprechender Stelle rein gar nichts und genau das ist das Problem.

Ich spreche von einem Etwas, das eigentlich aus der englischen Sprache stammt und dort auch besser bleiben sollte, weil es im Deutschen einfach eine Unart ist: Gemeint ist die Lücke – und zwar mitten im Wort. Autsch.

Da werden Wörter, die eigentlich zusammengehören (weil sie nämlich als Verbindung ein neues Wort ergeben…), einfach nacheinander aufgezählt. Das ergibt dann lustige Sprachkonstrukte wie etwa “Zwiebel Suppe”, “Milch Kaffee” oder auch “Endbenutzer Software Lizenz Vertrag”. Alles klar so weit?!

Aber selbst Hollywood macht inzwischen nicht vor derartiger Wortverstümmelung halt, z.B. sah ich kürzlich die Vorschau zum Film “Das Stauffenberg Attentat” – und wollte schon leise weinend den Saal verlassen…

Es ist ja nun nicht so schwer: Bilden zwei Wörter zusammen ein neues Wort, dann schreibt man die beiden Wörter hierzulande entweder aneinander, mit Fugen-s oder mit Bindestrich, aber niemals “mit Lücke”.

Richtig wären also “Zwiebelsuppe”, “Milchkaffee” und “Endbenutzer-Software-Lizenzvertrag”. Wer jetzt “Max-Mustermann” oder “Maxmustermann” schreibt, hat allerdings was falsch verstanden… (Was natürlich nicht für die “Max-Mustermann-Straße” gilt, die benötigt ihre Bindestriche!) :-D
Rund um den Bindestrich werden übrigens keine Leerzeichen gesetzt, andernfalls könnte man ihn nämlich für einen Gedankenstrich halten.

Besonders peinlich wird’s meistens, wenn solche Fehler in renommierten Zeitungen oder sonstigen Publikationen auftauchen, wo sie eigentlich noch viel weniger hingehören als in eine Speisekarte oder auf ein Türschild. Ich frage mich dann immer, ob denn niemand die Texte noch mal liest, bevor sie gedruckt werden. Irgendwem muss es doch auffallen… Verdammt.

Alle, die jetzt denken, ich hätte besser Lehrer werden sollen, kann ich beruhigen: So schlimm ist es nicht. ;-)

Ich finde es nur immer wieder schade, dass hierzulande anscheinend nur wenige Leute wissen, wie man Wörter und Sätze richtig schreibt – und das in der eigenen Muttersprache! OK, viel zu oft macht man Sachen einfach, weil “alle anderen” es ja auch so machen (da schließe ich mich selbst nicht aus). Aber weil alle es machen, ist es ja noch lange nicht richtig!

Wer sich näher mit dem Thema auseinandersetzen will, dem kann ich die “Dativ-Reihe” von Bastian Sick empfehlen (daraus habe ich auch einige Beispiele zitiert, s.o.). Die Bücher sind sehr humorvoll geschrieben und manchmal echt zum Totlachen! Die Sache mit der Lücke steht z.B. hier drin auf S. 264 (“Dem Wahn Sinn eine Lücke”). Die Fernsehshow zum Buch (“Die Bastian-Sick-Schau” im WDR) muss man sich allerdings nicht unbedingt antun – der Mann kann hervorragend schreiben, aber leider überhaupt nicht reden, geschweige denn moderieren…

Ach so: Hat noch jemand Beispiele für lustige “Wort Zusammensetzungen”? Immer her damit!