Es gibt keine Netzgemeinde

Es ist in etwa so sinnvoll wie von der "Öffentliche-Verkehrsmittel-Gemeinde" oder der "Supermarkt-Gemeinde" zu sprechen. Niemand würde auf die Idee kommen, die politische Meinung der "Autofahrer-Gemeinde" zu Gauck aufzuschreiben. Nur beim Internet gilt diese Schwachsinnsvermeidungsregel nicht, aber das ist, wie bereits gesagt, auch neu, mysteriös und sexy.

 

CMS für Markup-Ästheten: Symphony

Auf meiner Suche nach einer schlanken Alternative zu Silverstripe (zu dem ich ein Verhältnis habe, das man ruhig mal als Haßliebe bezeichnen darf), bin ich vor einiger Zeit auf ein besonders feines Exemplar von Open Source CMS gestoßen: Symphony. Lange Zeit wohl eher als Geheimtipp gehandelt, erfreut es sich jüngst wachsender Beliebtheit. Aus gutem Grund. Symphony ist keines dieser HTML-spuckenden Monster, sondern ein gut durchdachtes Content Management Framework mit dem sich erstaunlich viel bauen lässt.

Seine große Flexibilität gewinnt es, indem es keine Vorannahmen über die Inhalte trifft, die es verwalten soll. Während andere CMS ja meist von einer hierarchischen Seitenstruktur (jawohl, die alte Baum-Metapher) ausgehen, werden Inhalt und Struktur innerhalb von Symphony getrennt behandelt. Dem liegt ein durchdachtes Konzept zu Grunde, das wegen seiner Komplexität und nicht zuletzt wegen der etwas eigenwillig gewählten Nomenklatur am Anfang einige Schwierigkeiten bereiten kann. Das jetzt aufzudröseln, würde mir an dieser Stelle wohl nicht gelingen. Einen guten Überblick gibt aber dieser Einstieg mit Schaubild.

Eine auffällige Besonderheit von Symphony ist dessen Template-Sprache. Statt wie so oft eine eigene zusammenzubasteln, wählten die Entwickler XSLT, eine vom W3C standardisierte Transformationssprache. Diese wandelt XML-Daten in (perfektes) HTML (oder andere Formate) um. Entsprechend werden vom CMS alle Seiteninhalte intern als XML-Daten repräsentiert. Hat man erstmal den Dreh raus, erscheint wieder einmal flexibel und vor allem logisch. Trotzdem bleibt die Auseinandersetzung mit XSLT auch mit einiger Erfahrung gewöhnungsbedürftig.

Erstaunlich selten erwähnt wird die hohe Qualität von Symphony insgesamt. Während einige Open Source CMS doch öfter mal nach Bastelei riechen, kommt Symphony mit sauberem (wenn bislang auch schwach dokumentierten) Quellcode, einem aufgeräumten, fast puristischem Interface und guter Internationalisierung daher. Das beinahe schon minimalistische Erscheinungsbild verleitet leicht dazu, das System zu unterschätzen. Der Funktionsumfang von Symphony ist aber nicht geringer als der anderer freier CMS. Zwar steht erstmal nur die Kernfunktionalität zur Verfügung, einfach installierbare Erweiterungen bieten dann aber die üblichen Features wie Rechteverwaltung, Versionskontrolle, Asset-Management etc. So lässt sich genau der Bedarf abdecken, der für das jeweilige Projekt benötigt wird. Das Schreiben eigener Erweiterungen erfordert hingegen einige Übung, was der leider noch sehr spärlichen Entwicklerdokumentation geschuldet ist. Mit den Bordmitteln bzw. mit Hilfe der bereits vorhandenen Erweiterungen kommt man aber schon recht weit.

Wer also ein modernes und flexibles CMS zum Bau einer funktionsreichen Website sucht, sollte sich auf einen Testlauf mit Symphony einlassen. Die Einarbeitung ist zwar mühevoll und kostet einige Zeit, schlägt dafür aber schon bald in Begeisterung um.

Ich hasse den Finder. Nicht mehr.

Welcher Mac-User hat sich nicht schonmal über den, naja sagen wir mal liebevoll „eigenwilligen“ Finder geärgert? Bei diesem Kernstück des Mac-Betriebssystems hat Apple nämlich wieder ganze Arbeit geleistet, um Funktionen, die uns Nutzer verwirren könnten, konsequent wegzulassen. Und so gibt es dort etwa kein hochkompliziertes Copy & Paste. Statt dessen darf man mit der Maus versuchen, Dateien durch ziehen und ablegen an den gewünschten Ort zu bugsieren. Eine Art Geschicklichkeitsspiel, das der geschätzte Nutzer nicht bei jedem Versuch gewinnen kann.

Und dann wäre da noch die Unmöglichkeit der Anzeige versteckter Dateien, zusammen mit der Tatsache, dass der Finder eben solche in jedem Ordner, den er mal öffnen darf, auch gleich erstellt. Diese vielgehasste .DS_STORE ist haufenweise Bestandteil aller Verzeichnisse, die ein Mac-Benutzer an Windows- und Linux-User weitergibt. Dort ist es natürlich nur ein nutzloses Artefakt, welches lediglich bezeugt, wie wenig Kontrolle ein Mac-Nutzer über sein System hat.

Verglichen mit diesen beiden Apple-Possen, die mich seit meinem Wechsel vor drei Jahren regelmäßig in Sehnsucht auf den Nautilus-Dateimanager von GNOME zurückblicken haben lassen, ist es fast eine Kleinigkeit, dass der Finder eine ganz eigene Auffassung davon hat, wie Dateien und Ordner alphabetisch anzuordnen sind.

Aber trotz dieser Qualen hasse ich den Finder seit ein paar Tagen nicht mehr. Da habe ich nämlich TotalFinder entdeckt. Es ist ein Plugin für den Finder, das gut auch als Bugfix durchgehen könnte. Was der TotalFinder kann:

  • Tabs und geteilte Fenster
  • Anzeige von Ordnern vor Dateien
  • Anzeige versteckter Dateien (die mit Punkt davor)
  • Alternativer Ort für das Ablegen von .DS_STORE-Dateien
  • Cut & Paste (!)

Für 15 US-Dollar absolut fair im Preis und empfehlenswert. Bleibt die Frage, warum Apple nicht gleich ein solches Produkt mitliefert.

Mehr zu TotalFinder hier: http://totalfinder.binaryage.com/

Der Entwickler von TotalFinder vergibt kostenlose Lizenzen an Leute, die über das Produkt bloggen. An dieser Aktion habe ich nicht teilgenommen. Nur damit keiner denkt, hier würd's nicht mit rechten Dingen zugehen...

Postbox: Mail wie es sein sollte

Seit ein paar Tagen läuft bei mir Postbox als Ersatz für Apple Mail. Grund etwas Neues auszuprobieren war vor allem die schlechte Suchfunktion in Mail, die sich oftmals als Produktivitätskiller erwiesen hat. Anders bei Postbox. Hier hat man offenbar an die Leute gedacht, die mit E-Mail tatsächlich arbeiten müssen:

  • E-Mails werden über Ordergrenzen hinweg als Thread dargestellt. Man hat jederzeit den gesamten Verlauf eines Themas verfügbar. 
  • Mit einem Klick lassen sich alle Nachrichten, Links und Anhänge eines Kontakts anzeigen.
  • Die Suchfunktion ist hervorragend (auch wenn man sie dank der genannten Funktionen nur seltenst braucht).
  • Archivieren einer Mail durch Drücken der Taste „A“ und fertig.
  • Growl-Benachrichtigung bei neuer Post zeigt den Betreff der eingegangenen Mails (verhindert bei mir rund die Hälfte der mailbedingten Arbeitsunterbrechungen).

Anders als Mail fügt sich Postbox gut in meine Arbeitsabläufe ein. Meine Empfehlung: Wer mit Mail nicht absolut zufrieden ist, sollte sich einen Testlauf mit Postbox gönnen.

Hase Bob wäscht Getränkekartons grün

Jüngst hoppelt er wieder über die Bildschirme deutscher Wohnzimmer: Der Hase Bob, eine H-Milch-süchtige Animationsfigur mit schlauer Brille auf der Nase, die für die ach so ökologischen Getränkekartons von Tetra-Pak wirbt. Bob sagt, der Getränkekarton bestünde hauptsächlich aus Holz, das ja wieder nachwachsen würde. So werden im Trickfilm aus einem Wald voller Bäume ruckzuck ein paar Getränkekartons. Und dann sprießen wieder neue Bäume aus dem Boden. Alles super-ökologisch.

Die sich aufdrängende Frage, wie aus den Kartons am Ende wieder Bäume oder sonst was werden soll, beantwortet Bob leider nicht (wie auch andere treffend feststellen). Auch grundsätzlich tut sich der vom Niveau her an die Teletubbies erinnernde 30-Sekünder schwer damit, Fakten zu nennen. Glücklicherweise übernimmt dies stattdessen die Deutsche Umwelthilfe in einer Pressemitteilung. Darin wird etwa die realistische Recycling-Quote von Getränkekartons auf nur rund 35 Prozent beziffert. Zudem sei der Zellstoffanteil über die Jahre zurückgegangen, der Getränkekarton bestünde heute bis zu 34 Prozent aus Kunststoff und bis zu sechs Prozent aus Aluminium. In der Konsequenz hält die Organisation die Befreiung des Getränkekartons von der Pfandflicht für nicht weiter gerechtfertigt.

Link: „Ökologisch vorteilhaft“? – Pfandprivileg für Getränkekartons muss überprüft werden

Apple Adressbuch für SNOM 820 exportieren

Vor einiger Zeit stand ich vor dem Problem, dass ich mein SNOM VoIP-Telefon den Kontakten aus meinem MacOS-Adressbuch füttern wollte. Das SNOM 820 kann zwar Adressbücher im CSV-Format lesen, um dergleichen aus dem Adressbuch exporieren zu können, brauchte ich aber ein kleines AppleScript. Es basiert weitgehend auf diesem hier, das ich an ein paar Stellen angepasst habe, damit das Format vom Telefon angenommen wird.

set resultText to ""
set currentLine to ""
set numPhones to 0

tell application "Address Book"
        -- Find the maximum number of phone numbers
        repeat with x from 1 to the count of people
                set thePerson to person x
                set countP to count of phone of thePerson
                if countP > numPhones then
                        set numPhones to countP
                end if
        end repeat
        
        -- Export all contacts
        repeat with x from 1 to the count of people
                set thePerson to person x
                set my currentLine to ""
                
                set my currentLine to my currentLine & "\"" & the name of thePerson & "###phoneLabelHere###\","
                set my currentLine to my currentLine & "\"###phoneHere###\""
                
                -- Walk through Phone entries
                set numCurrentPhones to the count of phone of thePerson
                repeat with thePhone in the phone of thePerson
                        set thePhoneValue to the value of thePhone
                        set thePhoneLabel to the label of thePhone
                        set theLine to my searchReplace(my currentLine, "###phoneHere###", thePhoneValue)
                        if numCurrentPhones > 1 then
                                set theLine to my searchReplace(theLine, "###phoneLabelHere###", " (" & thePhoneLabel & ")")
                        else
                                set theLine to my searchReplace(theLine, "###phoneLabelHere###", "")
                        end if
                        set my resultText to my resultText & theLine & linefeed
                end repeat
                
        end repeat
        
        -- Save file
        set theFile to choose file name with prompt "Save as:" default name "snom.csv" default location the path to home folder
        set fp to open for access theFile with write permission
        write resultText to fp as «class utf8»
        close access fp
        
end tell

on searchReplace(origStr, searchStr, replaceStr)
        set old_delim to AppleScript's text item delimiters
        set AppleScript's text item delimiters to searchStr
        set origStr to text items of origStr
        set AppleScript's text item delimiters to replaceStr
        set origStr to origStr as string
        set AppleScript's text item delimiters to old_delim
        return origStr
end searchReplace