TypoScript editieren mit SweeTS

image

Vor ziemlich genau einem Jahr hatte ich mich auf die Suche gemacht nach Tools, welche das Editieren von TypoScript-Code komfortabler gestalten als im TYPO3-Backend. Die Mindestanforderung war damals, dass der gesuchte Editor ein Syntax-Highlighting für TypoScript bieten musste. Damals war ich auch auf SweeTS (eine Sammlung von Konfigurationsdateien für den kostenlosen Editor PSPad) gestossen.

image Nach einem Jahr Praxis kann ich sagen: SweeTS ist für mich persönlich das Tool der Wahl, wenn es darum geht, mehr als nur ein, zwei Zeilen Code zu bearbeiten. Der Umstand, dass die TypoScript-Templates nicht in der TYPO3-Datenbank, sondern im Filesystem (fileadmin) liegen müssen, damit der Editor per FTP darauf zugreifen kann, empfinde ich inzwischen als Vorteil, weil so der gesamte Code an einem einzigen Ort liegt und sehr schnell zugänglich ist.

In der täglichen Arbeit schätze ich insbesondere folgende Funktionen von SweeTS:

Das (konfigurierbare) Syntax-Highlighting. Es ist nicht perfekt, aber nur schon Kommentare und Code visuell gut unterscheiden zu können ist viel wert. Und obwohl das Highlighting gelegentlich überraschende Formatierungen wählt, so ist es bei der Vermeidung von Tippfehlern dennoch eine grosse Hilfe.

image Die Markierung von Klammerpaaren. Nichts ist ärgerlicher als ein Fehler wegen einer vergessenen oder überflüssigen Klammer. SweeTS markiert automatisch das Gegenstück, sobald der Cursor auf einer Klammer steht, so dass man leicht überprüfen kann, ob die Klammersetzung korrekt ist.

image Die Autocomplete-Funktion. Beginnt man eine Wort zu tippen und drückt CTRL+J, so öffnet sich ein Popup mit allen passenden Schlüsselwörtern. Das beschleunigt das Tippen, überbrückt allfällige Gedächtnislücken und reduziert Tippfehler. Das Dropdown kennt auch CSS-Classen, die man schon einmal im Code benutzt hat – selbst definierte Elemente (z.B. temp.*) dagegen tauchen in der Liste nicht auf.

image Das Clip-Konzept. Per Tastenbefehl wird ein Popup mit Code-Snippets, sogenannten Clips, aufgerufen, die dann per Mausklick oder Tastendruck in den Code einkopiert werden können. Ähnlich schnell lassen sich Code-Bestandteile als Clip speichern (sie werden dabei in eine *.DEF-Datei im Verzeichnis Context geschrieben). Bei häufig wiederkehrenden Code-Blöcken reduziert dies die Tipparbeit dramatisch. Für meine Begriffe eher verzichtbar sind die sogenannten Interactive Clips oder Dialogue Macros, welche zunächst in einem Dialogfenster die Parameterwerte abfragen.

image Der Code-Explorer – mit Einschränkungen. Bei einer «richtigen» Entwicklungsumgebung für eine «richtige» Programmiersprache bietet ein Code-Explorer einen raschen, strukturierten Zugriff auf alle Identifikatoren, welche der Programmierer irgendwo in seinem Code definiert hat: Variablen, Konstanten, Funktionen, Klassen und was der Konstrukte einer Programmiersprache mehr sind. Bei SweeTS listet der Code-Explorer primär Elemente des TypoScript-Objektbaums – aber eben nur alphabetisch und nicht etwa strukturiert wie im TypoScript Object Browser des TYPO3-Backends.

Die kontext-sensitive Online-Hilfe. SweeTS bringt auch die offizielle TypoScript-Dokumentation mit und integriert sie in die Hilfe-Funktion von PSPad. Markiert man ein Word im Quellcode und drückt ALT+F1, so kann dieses Wort per Tastendruck in der Dokumentation gesucht werden.

SweeTS liegt seit einigen Tagen in der Version 1.15 vor und ist kompatibel zur neusten PSPad-Version 4.5.3. Ausserdem haben die Entwickler angekündigt, SweeTS auch auf gEdit unter Linux zu portieren.

sk_pagecomments: CMS-Seiten mit Kommentarfunktion ausstatten

image

Das Web 2.0 lebt davon, dass jeder überall seine Meinung äussern kann. Blog-Systeme mit ihrer Kommentarfunktion sind optimal darauf zugeschnitten. Bei konventionellen Websites dagegen beschränkt sich die Interaktivität im schlechteren Fall auf ein Kontaktformular, im besseren Fall auf ein Forum. Direkt an Ort und Stelle und für alle anderen Benutzer sichtbar eine Bemerkung hinterlassen kann man damit aber nicht.

Wer sich etwas mehr Interaktivität auf seiner TYPO3-Website wünscht, sollte sich die Extension sk_pagecomments anschauen. Damit kann man auf einfache Weise eine Kommentarfunktion einbauen – entweder selektiv für ausgewählte Seiten (indem man ein Content-Element vom Typ «Plug-In» in die entsprechende Seite einfügt) oder global über ein paar Zeilen Code im TypoScript-Setup.

sk_pagecomments funktioniert so, wie man es sich vorstellt und ist vergleichsweise rasch konfiguriert. Hervorzuheben sind die Moderations-Option (Kommentare sind per default unsichtbar und können über das Backend freigeschaltet werden), die CAPTCHA-Unterstützung, die E-Mail-Benachrichtigung und die Möglichkeit, auf frühere Kommentare direkt zu antworten, was eine Thread-Darstellung ergibt.

Letztlich ist sk_pagecomments natürlich nicht sehr verschieden von einer Gästebuch-Extension wie etwa ve_guestbook. Insbesondere dank der Antwort-Funktion bietet sie aber einen klaren Mehrwert. Apropos: Keinen erkennbaren Mehrwert sehe ich dagegen in der Extension eluna_pagecomments, die aus sk_pagecomments entstanden ist.

Open Source Software und die öffentliche Hand

Matthias Stürmer hat im Rahmen des eGovernment-Symposium 2007 in Bern einen Vortrag zum Thema «Open Source Software und die öffentliche Hand» gehalten. Die zugehörige Präsentation ist nun auf SlideShare verfügbar. Stürmer ist Doktorand am Lehrstuhl für Strategisches Management und Innovation der ETH Zürich, hat seine Lizentiatsarbeit zum Thema «Open Source Community Building» geschrieben und ist Vorstandsmitglied von /ch/open.

Im TYPO3 Extension Repository suchen per Firefox Suchfeld

image

Das Suchfeld in Firefox ist bekanntlich konfigurierbar – der Benutzer bestimmt, welche der zahlreichen Suchmaschinen er benutzen möchte. Wer häufiger im TYPO3 Extension Repository (TER) sucht, sollte sich die entsprechende XML-Datei vom TYPO3-Blog herunterladen (Installationsanleitung ebenda).

ke_stats: Neue Statistik-Extension für TYPO3

image

Mit sys_stat, pp_stats und cc_awstats gibt es bereits einige Statistik-Extensions für TYPO3. Die ersten beiden sind ziemlich einfach gehalten, während AWStats zwar detaillierte Auswertungen erlaubt, aber letztlich nur eine oberflächlich integrierte Perl-Applikation ist, auf die zudem nur Admins zugreifen können. Es gibt also nach wie vor Raum für die ideale TYPO3-Statistik-Extension.

image Der jüngste Neuzugang im TYPO3 Extension Repository heisst ke_stats. Gemessen daran, dass es sich um die allererste Beta-Version handelt, scheint mir diese Extension vielversprechend. Zwar vermisst man die grafischen Auswertungen von AWStats, aber dafür ist die Extension gut in TYPO3 integriert und bietet einen sehr direkten Zugriff auf die Statistiken, weil die Zugriffe nicht in einem Log-File, sondern in der Datenbank protokolliert werden. Zudem ist die Statistik über einen Navigationspunkt im Web-Modul leicht zu finden und auch für Nicht-Admins zugänglich. Wie gut sich ke_stats in der Praxis bewährt kann ich allerdings erst in ein, zwei Monaten sagen, wenn genügend Daten vorliegen, die ich auswerten kann.

Universal Digital Library / Million Book Collection: 1.2 Millionen digitale Bücher online

Universal Digital Library Advanced Search

Mit der Universal Digital Library gibt es ein weiteres Digitalisierungsprojekt für Bibliotheksbestände, diesmal unter Federführung der Carnegie Mellon University in Pittsburgh, Pennsylvania. Die Partnerinstitutionen stammen aus China, Indien und Ägypten, entsprechend sind primär Dokumente in den Sprachen dieser Länder gescannt worden. Derzeit ist ein Bestand von 1.2 Millionen Büchern online verfügbar. Die Universal Digital Library hat allerdings wesentlich ambitioniertere Ziele: Grundsätzlich sollen möglichst alle der geschätzten 100 Millionen Bücher dieser Welt digitalisiert und kostenlos online verfügbar gemacht werden.

Das Projekt steht derzeit vor zwei Herausforderungen: Erstens bedeutet die Digitalisierung einen enormen Aufwand – derzeit rechnet man damit, pro Jahr eine weitere Million Bücher online anbieten zu können. Zweitens unterliegt der grösste Teil der Bücher dem Copyright, so dass die digitalisierten Werke nur mit Zustimmung der Rechteinhaber kostenlos im Internet bereitgestellt werden dürfen – diese kritische Frage scheint aber noch nicht gelöst zu sein, wie einem Artikel bei heise.de zu entnehmen ist.

Die Universal Digital Library will nicht einfach nur Faksimiles bereitstellen, sondern auch den Volltext der digitalisierten Bücher mit OCR-Software erschliessen und so durchsuchbar machen. Wie gut das Angebot in der Praxis funktioniert ist allerdings schwer zu beurteilen, da die (insgesamt ziemlich schmucklos gehaltene) Website derzeit massiv überlastet ist. Eine weitere Herausforderungen des Projekts dürfte deshalb auch die Bereitstellung von ausreichend Server-Kapazität sein.

image

Trotz dieser Anfangsschwierigkeiten ist das Konzept, das gesamte geschriebene Wissen dieser Welt frei zugänglich zu machen, ausgesprochen spannend. Wohl nicht zufällig ist auch die Bibliothek von Alexandria in dieses Projekt involviert – deren Vorgängerin in der Antike gilt bekanntlich als Inbegriff einer universellen Bibliothek.

runPHP: PHP-Code in einem WordPress-Artikel ausführen

image

WordPress bietet bereits in der Standard-Installation eine reiche Ausstattung, und zusammen mit den unzähligen Plug-Ins bleiben fast keine Wünsche offen. Fast. Denn hie und da bräuchte man eine ganz bestimmte Funktionalität, die aber so speziell ist, dass man dafür nie und nimmer ein Plug-In finden wird. Was tun?

Natürlich könnte man sich hinsetzen und selbst ein Plug-In schreiben. Dies verlangt aber nicht nur PHP-Kenntnisse, sondern auch ein Verständnis der Plug-In-Architektur von WordPress. Das kann man bestimmt lernen, aber der Aufwand dürfte sich in vielen Fällen schlicht nicht lohnen.

image Sofern man zumindest über elementare PHP-Kenntnisse verfügt, gibt es eine Alternative in Form des Plug-Ins runPHP. Dieses erlaubt es, in einem normalen WordPress-Artikel PHP-Code zu schreiben und diesen bei der Ausgabe im Frontend ausführen zu lassen. Eine simple Checkbox entscheidet darüber, ob der PHP-Code nur angezeigt oder interpretiert wird. Mit anderen Worten: Falls die Option «PHP Code ausführen?» aktiviert ist, würde das obige Beispiel im Frontend die folgende Ausgabe erzeugen:

Hello World!

Wäre sie dagegen deaktiviert, so würde WordPress den Code 1:1 darstellen:

<?php echo «Hello World!»; ?>

Dank runPHP kann man sehr einfach kleine Web-Applikationen schreiben und diese direkt in sein Blog einbetten.

P.S. Um Probleme im Zusammenhang mit ausführbarem PHP-Code zu vermeiden sollten Sie unbedingt den WYSIWYG-Editor im WordPress-Backend ausschalten!

Firefox bequem neu starten

image Jeder, der schon einmal eine Extension oder ein Theme in Firefox installiert hat, kennt das Phänomen: Damit die neuen Features aktiv werden, muss Firefox neu gestartet werden. Freundlicherweise steht auch gleich ein Button zur Verfügung, so dass der ungeliebte Neustart nur einen Mausklick kostet. Genau diese Funktion hätte man gelegentlich auch andernorts zur Verfügung, denn es gibt immer wieder Gründe, den Browser neu zu starten:

  • wenn man auf einer Website eine neue Session erzwingen will
  • wenn man Konfigurationsdateien wie userChrome.css oder user.js verändert hat
  • wenn Firefox durch ein fehlerhaftes JavaScript aus dem Tritt gebracht wurde
  • wenn Firefox während einer intensiven Surf-Session etwas gar zu viel Arbeitsspeicher an sich gerissen hat

imageDank der Extension QuickRestart ist der Neustart-Befehl jederzeit auch per Menü erreichbar. Standardmässig wird der Befehl im Extras-Menü abgelegt, mit dem Menu Editor (vgl. Firefox-Menüs aufräumen mit Menu Editor) lässt er sich aber rasch auch ins Datei-Menü verschieben, wo er meiner Meinung nach hingehört. Die Extension besitzt keinerlei Konfigurationsmöglichkeiten und tut schlicht und einfach das, was man von ihr erwartet.

Tools für Wikipedianer

image

Die Recent Changes Statistics zeigt, welche Wikipedia-User und welche Wikipedia-Seiten in einem bestimmten Zeitraum am häufigsten editiert haben bzw. wurden. Diese Information ist sicher nicht lebensnotwendig, aber mitunter ganz spannend, etwa um besonders aktive Wikipedianer zu identifizieren oder um besonders aktuelle Themen zu beobachten.

Ein weiteres Tool aus derselben Serie ist die Global Wikipedia Article Search. Bekanntlich sind die verschiedenen Sprachversionen der Wikipedia unabhängig voneinander; dieses Tool erlaubt es, einen Begriff parallel in allen Sprachversionen nachzuschlagen. Dadurch erkennt man, welche Sprachversion die umfassendsten Informationen zu einem Schlagwort bietet – und wo das Schlagwort eventuell ganz fehlt.

image

Firefox-Menüs aufräumen mit Menu Editor

200711232042

Spätestens wenn man einige Extensions installiert hat, sind die Menüs von Firefox nicht mehr wirklich übersichtlich: Zu viele Einträge, die zudem oft unlogisch sortiert und gruppiert sind, erschweren die Bedienung. Abhilfe schafft die Extension Menu Editor, mit der man alle Menüs (inklusive das Kontextmenü, exklusive allfällige Spezialmenüs von Extensions) nach Belieben gestalten kann. Wer übrigens in der Hitze des Gefechts zu weit gegangen ist, kann über den Button «Zurücksetzen» jederzeit die Standardkonfiguration wiederherstellen. Unverzichtbar für Usability-Anhänger und Customizing-Fetischisten!