XAMPP: Webserver ohne Installation – auch auf USB-Stick

image

Dank der langjährigen, regelmässigen Pflege hat sich XAMPP zu einer Standardlösung entwickelt, wenn es darum geht, einen kompletten Webserver inklusive Datenbank möglichst einfach unter Windows, Mac OS oder Linux zu installieren. Insbesondere beim Entwickeln oder Testen von PHP-Applikationen ist XAMPP unverzichtbar.

Die neuste Version 1.7.2 implementiert nicht nur die neue PHP-Version 5.3.0, sondern macht auch den Installer der Windows-Version überflüssig. Dies bedeutet, dass man das XAMPP-Paket als reines ZIP-Archiv herunterladen, entpacken und sofort nutzen kann. So kann man sicher sein, dass keine Files irgendwo im System installiert werden und dass sich XAMPP auch wieder spurlos vom Rechner entfernen lässt. Zudem ist XAMPP völlig mobil: Man kann das XAMPP-Verzeichnis problemlos von der Festplatte auf einen USB-Stick verschieben und den Server dann direkt von dort aus starten (ähnlich wie MoWeS, der Nachfolger von WOS portable). Wer einen Apache Webserver mit PHP und MySQL für unterwegs braucht, ist mit dieser Lösung gut bedient.

YOURLS: Kurz-URLs selbst gemacht

image

Insbesondere Twitter und andere Micro-Blogging-Dienste, welche nur eine beschränkte Anzahl Zeichen in den Statusmeldungen zulassen, waren die Geburtshelfer von sogenannten Kurz-URL-Diensten. Deren Prinzip ist einfach: Aus einer langen URL machen sie eine kurze. Statt dass man https://www.workshop.ch/openmind/2009/08/06/soft-redesign-bei-wikipedia/ eingibt, benutzt man http://tinyurl.com/p6nvyd – das Resultat ist dasselbe, nur dass man im zweiten Fall die Anfrage effektiv an die Domain tinyurl.com schickt, wo die Anfrage aufgrund der Kurzadresse p6nvyd auf die Zieladresse umgeleitet wird. Statt zufällig generierten Codes kann man auch sprechende Kurz-URLs wählen, beispielsweise http://tinyurl.com/oo-ribbon, um zum Artikel über das neue Ribbon in OpenOffice.org zu gelangen. Kurz-URLs sind nicht nicht nur platzsparender, einfacher zu kommunizieren und leichter einzutippen, sondern bieten auch die Möglichkeit zur statistischen Auswertung: Der Kurz-URL-Dienst weiss natürlich, wie oft er welche Kurz-URL weitergeleitet hat und zeigt das in der Regel auch an.

Dienste wie tinyurl.com, bit.ly, tr.im sind praktisch und kostenlos – man nutzt sie, ohne lange zu überlegen. Wie stark man von ihnen abhängig ist, merkt man erst, wenn sie einmal ausfallen oder gar eingestellt werden: Dann sind nämlich auf einen Schlag alle Kurz-URLs wertlos, weil alle Links ins Leere führen. Wer dieses Risiko vermeiden will, betreibt deshalb seinen eigenen Kurz-URL-Dienst. YOURLS (kurz für: Your Own URL Shortener) ist eine solche Lösung mit GPL-Lizenz. Sie setzt PHP 4.3, MySQL 4.1 sowie einen Webserver mit mod_rewrite voraus. YOURLS kann man sowohl für einen öffentlichen als auch für einen privaten Kurz-URL-Dienst nutzen: Wenn man nicht möchte, dass anonyme Besucher eigene Kurz-URLs generieren können, dann aktiviert man ganz einfach einen Zugriffsschutz mit Login.

Wer ein WordPress-Blog betreibt, hat zudem die Möglichkeit, das YOURLS-Plugin zu installieren. Dieses erzeugt für jeden neuen Blog-Artikel automatisch eine Kurz-URL, wobei nebst einer eigenen YOURLS-Installation auch einige der bekannten öffentlichen Dienste wie TinyULR oder Bitly genutzt werden können. Wer möchte, kann diese Kurz-URL dann auch gleich noch automatisch auf Twitter posten und so auf neue Blog-Artikel aufmerksam machen. Wenn Sie also meinem Twitter-Account msauter folgen, dann werden Sie in Zukunft automatisch über neue Artikel auf Open Mind informiert.

Nachtrag: Die Funktionalität, einen Artikel automatisch auf Twitter zu posten, wurden inzwischen aus dem YOURLS-Plugin entfernt. Für diese Aufgabe gibt es aber andere Plugins, z.B. WP to Twitter oder Tweetily.

TYPOlight webShop Quickstart Guide

Der TYPOlight webShop ist eine vielversprechende Shop-Extension für das TYPOlight CMS, aber die schon längst versprochene Dokumentation lässt weiterhin auf sich warten. Dieser Artikel zeigt deshalb in knapper Form die wichtigsten Schritte zum eigenen Shop – Kenntnisse im Umgang mit TYPOlight werden dabei vorausgesetzt.

Installation

Die Installation der Extension unterscheidet sich nicht von der Installation anderer Extensions. Die Community Edition ist über «System > Erweiterungskatalog» im TYPOlight Backend installierbar, kann aber auch manuell installiert werden wie hier beschrieben. Die Business Edition (bzw. die Developer Edition für Agenturen) wird ausschliesslich manuell installiert.

Seitenstruktur

Bevor Sie irgend etwas in den Backend-Sektionen «webShop Verwaltung» oder «webShop Konfiguration» tun, sollten Sie unbedingt die folgende minimale Seitenstruktur für den Shop anlegen:

  • Kategorienliste
  • Artikelliste
  • Artikeldetails
  • Warenkorb
  • Zahlung & Versand
  • Bestellungsübersicht
  • Bestellung abgeschlossen
  • Login
  • Meine Daten
  • Meine Adressen
  • Meine Bestellungen
  • Logout

Machen Sie sich nicht zu viele Gedanken über Bezeichnung, Reihenfolge und Hierarchie der Seiten – diese können später noch geändert werden. Entscheidend ist, dass die Seiten existieren, bevor Sie die weiteren Konfigurationseinstellungen vornehmen.

Allgemeine Einstellungen & E-Mail Einstellungen

image

Im Bereich «webShop Konfiguration» gibt es die beiden Menüpunkte «Allg. Einstellungen» und «E-Mail Einstellungen». Füllen Sie die beiden Formulare soweit nötig und möglich aus. Die E-Mail-Einstellungen sind deshalb besonders wichtig, weil Sie nur bei korrekten Eingaben über Bestellungseingänge informiert werden.

Kategorien anlegen

imageLegen Sie nun unter «webShop Verwaltung > Kategorien & Artikel» zumindest 1 Kategorie an. Diese Kategorie bildet die Wurzel des zukünftigen Kategorienbaums. Wenn Sie die Gelegenheit nutzen und gleich weitere Kategorien erfassen wollen, dann müssen Sie diese als Unterkategorien der ersten Kategorie definieren.

Mitgliedergruppen anlegen

Der webShop unterscheidet zwischen Privat- und Geschäftskunden (Privatkunden werden Bruttopreise inkl. MwSt. angezeigt, Geschäftskunden dagegen Nettopreise exkl. MwSt.). Sinnvollerweise legen Sie bereits zum jetzigen Zeitpunkt je eine Mitgliedergruppe für die beiden Kundentypen an.

Module definieren

Unter «Layout > Module» müssen die folgenden Module definiert werden. Wenn Sie die hier vorgeschlagenen Modultitel übernehmen, dann ist es anschliessend ein Leichtes, jedes Modul in die richtige Seite einzubauen.

Modultitel Modultyp Weiterleitungsseite
Modulkategorie «webShop»
Kategorienliste Navigation Artikelliste
Artikelliste Artikelliste Artikeldetails
Artikeldetails webShop_articleDetails Warenkorb
Empfehlungen Empfehlungen (keine)
Meine Adressen Mitglieder Adressbuch Meine Bestellungen
Warenkorb Warenkorb Zahlung & Versand
Zahlung & Versand Bestellung aufgeben Bestellübersicht
Bestellungsübersicht Bestellübersicht Bestellung abgeschlossen
Bestellung abgeschlossen Bestellung abgeschlossen (keine)
Mini-Warenkorb Mini-Warenkorb Warenkorb
Modulkategorie «Benutzer»
Login Login-Formular Warenkorb
Logout Automatischer Logout Login
Meine Daten Persönliche Daten Meine Daten
Registrierung Registrierung Login

Bei einzelnen Modultypen gibt es nebst der Weiterleitungsseite auch noch eine «Jump-to»-Seite. Hier wird je nach dem die Verzweigung auf die Login-Seite, die Adressen o.ä. definiert.

Module integrieren

Nachdem Sie alle Module definiert haben, wechseln Sie zu «Inhalte > Artikel». Legen Sie in jeder Seite einen Artikel an, fügen Sie diesem ein Element vom Typ «Modul» hinzu und wählen Sie aus den vorher definierten Modulen das passende aus. In der Regel wird Ihnen die Zuordnung leicht fallen, nur folgende Fälle sind vielleicht nicht ganz selbsterklärend:

  • Die Seite «Bestellung abgeschlossen» enthält kein Modul, sondern nur einen Text, der die Bestellung bestätigt und verdankt.
  • Die Seite «Login» enthält nebst dem gleichnamigen Modul auch noch das Modul «Registrierung», da Sie normalerweise neuen Kunden die Möglichkeit bieten möchten, sich selbst zu registrieren.
  • Die Seite «Artikeldetails» enthält nebst dem gleichnamigen Modul auch noch das Modul «Empfehlungen».
  • Das Modul «Mini-Warenkorb» fügen Sie jeweils in die drei Seiten «Kategorienliste», «Artikelliste» und «Artikeldetails» ein, idealerweise in der Randspalte.

Konfiguration: Steuern

image Legen Sie nun mindestens 1 Steuerzone an. Eine Steuerzone besteht aus einem oder mehr Ländern, in denen derselben Steuersatz gilt.

Legen Sie dann mindestens 1 Steuerklasse an. Eine Steuerklasse ist lediglich eine frei wählbare Bezeichnung für eine Steuer; im Normalfall werden Sie hier «MwSt.» eintragen.

Zuletzt legen Sie mindestens 1 Steuersatz an. Ein Steuersatz ist ein Wert in Prozent, der für eine bestimmte Steuerklasse in einer bestimmten Steuerzone gilt.

Konfiguration: Versand

image Legen Sie nun mindestens 1 Versandzone an. Eine Versandzone besteht aus einem oder mehr Ländern, für welche dieselben Versandkosten anfallen.

Legen Sie nun mindestens 1 Versandoption (manchmal auch als Versandart bezeichnet) an. Eine Versandoption kombiniert Versandkosten und allfällige Steuern und kann einer oder mehreren Versandzonen zugewiesen werden. Falls Ihnen die Details im Moment noch zu kompliziert erscheinen, legen Sie die Versandoption «Kostenloser Versand per Paketpost» an, wählen bei der Versandkostenberechnung die Option «Keine Berechnung – nur Informationstext» und weisen sämtliche Versandzonen zu.

Konfiguration: Zahlung

image Legen Sie nun mindestens 1 Zahlungsart an. Für den Anfang reicht die Zahlungsart «Rechnung», welche besonders einfach zu konfigurieren ist und zudem ausschliesst, dass man während des Testens versehentlich eine Online-Zahlung auslöst. Für die Konfiguration wählen Sie lediglich unter «Zahlungsmodul» den Eintrag «Textmeldung» aus.

Nicht viel komplizierter ist auch die Zahlung über PayPal, da man für eine Zahlung mit diesem Dienst primär die E-Mail-Adresse des Empfängers angeben muss.

Produkte erfassen

image Nun wird es Zeit, einige Produkte zu erfassen, um den Bestellablauf durchspielen zu können. Pro Artikel gibt es eine grosse Menge von Daten, die Sie erfassen können, aber nicht müssen. Beschränken Sie sich für den Anfang auf folgende Felder:

  • Artikelname
  • Artikelnummer
  • Teasertext
  • Artikelbschreibung
  • Einzelpreis

Testkunde anlegen

Damit wäre nun der Moment gekommen, wo Sie einen ersten Testkauf tätigen können. Legen Sie hierzu einen Testkunden an, entweder über das Registrierungsformular im Frontend oder direkt im Backend unter «Benutzerverwaltung > Mitglieder». Sie sollten nun zumindest einen Kauf gegen Rechnung (d.h. ohne Online-Zahlung) komplett durchspielen können.

Nächste Schritte

Natürlich braucht es noch ein bisschen mehr als die hier gezeigten Schritte, bis ein Online-Shop live gehen kann. Beispielsweise sollte man sich Gedanken darüber machen, welche Seiten des Shops man in der Navigation ausblendet, ob man alle passwortgeschützten Seiten als Subseiten zur Login-Seite einrichten möchte, oder ob man im Interesse der Benutzerführung da und dort noch Texte und Links hinzufügt. Auch das Design ist sicher noch nicht optimal, so lange Sie nicht die Stylesheets angepasst haben. Und in den zahlreichen Konfigurationsoptionen der verschiedenen Seiten, Elemente und Module steckt noch die eine oder andere Feinheit, die für einen produktiven Shop bedacht sein will.

Isotope E-Commerce: Neues Shop-Modul für TYPOlight

image

Im englischsprachigen TYPOlight-Forum wurde diese Woche die «informelle Ankündigung» eines neuen Shop-Moduls für TYPOlight veröffentlicht. Ähnlich wie beim kürzlich vorgestellten TYPOlight webShop ist das Ziel eine möglichst nahtlose Integration von Shop- und CMS-Funktionalität.

Die Ankündigung betont, dass man möglichst wenig neu erfinden wollte und auf den bestehenden Konzepten aufbaut; so werden beispielsweise Produktkategorien ganz einfach durch Seiten abgebildet. Hervorgehoben werden ferner die Möglichkeiten zur Bildmanipulation auf dem Server, der im Backend integrierte E-Mail-Editor sowie die Mehrsprachigkeit. An Zahlungsoptionen stehen nebst der Basisversion von PayPal und Authorize.net auch der Schweizer Payment Provider Postfinance zur Verfügung.

Eine Beta-Version soll im September einem beschränkten Benutzerkreis zugänglich gemacht werden.

OpenOffice.org: Bald auch mit Ribbon?

image

Das Project Renaissance, das OpenOffice.org zu einer besseren Benutzeroberfläche verhelfen soll, hat einen ersten Prototypen hervorgebracht. Auffällig sind insbesondere die grossen Buttons, die in mehreren Registern (Tabs) am oberen Fensterrand platziert sind. Es ist nur allzu offensichtlich, dass dieses Bedienungskonzept von der Multifunktionsleiste inspiriert ist, welche Microsoft mit Office 2007 eingeführt hat. Die weiterhin sehr enge Anlehnung an das Vorbild Microsoft Office wird unterschiedlich beurteilt: Während die einen den geringe Lernaufwand für Umsteiger hervorstreichen, bedauern die anderen, dass OpenOffice.org nur eine Kopie und keine echte Alternative zum Office-Paket aus Redmond darstellt. Mehr zum neuen Interface in der Renaissance Status Presentation for July.

Open Source iPhone Apps: Molecules

Molecules (iPhone App Screenshot)

Nun hatte ich ja leider im Chemieunterricht einen Fensterplatz, und den Zugang zur Biochemie habe ich auch nie richtig gefunden. Für die Visualisierung von Molekülen, wie sie die iPhone App Molecules bietet, kann ich mich aber trotzdem spontan begeistern: Dank dem Touchscreen kann man das Molekül nämlich nicht nur drehen und wenden wie man will, sondern auch zoomen und schieben, und so werden die abstrakten Gebilde buchstäblich fassbar. Moleküle lädt man aus der RCSB Proteindatenbank herunter (und speichert sie lokal), alternativ kann man aber auch andere URLs als Quelle eingeben, so dass die App im Prinzip einen offenen Viewer für molekulare Strukturen darstellt. Detailinformationen zu den einzelnen Molekülen sowie ein per Doppel-Tap umschaltbarer Visualisierungsmodus runden den positiven Eindruck ab. Die App kann man kostenlos im App Store herunterladen, den Quellcode findet man auf der Projekt-Website (BSD-Lizenz).

Laconica und OpenMicroBlogger: Freie Twitter-Alternativen

image

Update: Kurz nach Erscheinen dieses Artikels wurde Laconica in StatusNet umbenannt.

Über Twitter kann man geteilter Meinung sein. Wer zu den Anhängern der 140-Zeichen-Nachrichten über die nicht ganz so wichtigen Dinge des Lebens gehört und selbst einen Micro-Blogging-Dienst betreiben will, findet in Laconica eine PHP-Lösung mit AGPL-Lizenz. Wer die Software ohne Installation testen will, kann dies bei Identi.ca tun. Es gibt zudem eine umfangreiche Liste mit weiteren Laconica-Installationen auf der ganzen Welt.

Laconia zeichnet sich unter anderem dadurch aus, dass es Nachrichten zwischen verschiedenen Installationen in Near-Realtime austauschen kann. Dies geschieht über das OpenMicroBlogging-Protokoll, das der Laconia-Entwickler Evan Prodromou geschaffen und veröffentlicht hat. Zudem erlaubt Laconia auch Crosspostings zu Twitter.

Twitter selbst unterstützt das OpenMicroBlogging-Protokoll nicht (obwohl es Gerüchte gibt, wonach man sich dies zumindest überlegt), wohl aber eine zweite freie Micro-Blogging-Lösung namens OpenMicroBlogger (die man auf openmicroblogger.com testen kann). Auch diese Software ist in PHP geschrieben, und sie unterliegt der MIT-Lizenz. Nach eigener Darstellung ist OpenMicroBlogger einfacher zu installieren als Laconica, zudem wird der Upload von Videos, Bildern und Audiodaten unterstützt. Gemäss der offiziellen Liste gibt es allerdings noch recht wenig öffentliche Dienste auf Basis der OpenMicroBlogger-Software.

Open Source iPhone Apps: Brooklyn Museum Mobile Collection

Brooklyn Museum Mobile Collection für iPhone (Screenshots)

Auch wenn das iPhone eine ebenso abgeschlossene wie kommerzielle Plattform ist: Sogar hier gibt es Open Source Software. Als Auftakt einer losen Serie mit Open Source iPhone Apps sei hier die Brooklyn Museum Mobile Collection vorgestellt, ein digitaler Sammlungskatalog, den man nach Stichwörtern und Namen durchsuchen oder per Zufallsgenerator durchstöbern kann. Jedes Werk wird in einer (manchmal etwas klein geratenen und nicht zoombaren) Abbildung gezeigt und mit den wichtigsten Daten versehen. Interpretationen oder Hintergrundinformationen zur Entstehung fehlen ebenso wie thematische Führungen, und auch Audio- oder gar Videoaufnahmen sucht man vergeblich. Selbst die Besucherinformationen (Adresse und Öffnungszeiten) sind als schlichte Textseite realisiert, ohne einen Link zu Google Maps.

Alles in allem ist die Brooklyn Museum Mobile Collection eine Applikation, die das Potential eines digitalen Museumsführers nicht ausschöpft. Dass sie bei der Volltextsuche gelegentlich sang- und klanglos abstürzt, mag am iPhone OS 3.0.1 liegen, das ich gerade eingespielt habe, ein Qualitätsmerkmal ist es es aber trotzdem nicht. Hier ist noch viel Raum für Optimierungen – den Quellcode für interessierte Entwickler gibt es hier.

Mehrsprachige Websites mit TYPOlight – ein Überblick

Spracheinstellung im Browser (Firefox)

Als Bewohner eines offiziell viersprachigen Landes habe ich fast ausschliesslich mit mehrsprachigen Websites zu tun. Dieser Artikel bietet einen Überblick über die Mechanismen des CMS TYPOlight im Hinblick auf die Mehrsprachigkeit.

Backend

image

Wenn es um Mehrsprachigkeit geht, dann muss man immer unterscheiden, ob man vom Frontend oder vom Backend spricht. In der Regel denkt man nämlich nur ans Frontend (d.h. die Website, wie sie der Besucher sieht); für einen Content Manager ist jedoch die Frage, um er mit einem Backend in seiner Muttersprache arbeiten kann, oft genau so wichtig.

Das Backend von TYPOlight ist derzeit in gut 30 Sprachen übersetzt. Deutsch und Englisch werden standardmässig installiert, weitere Sprachpakete kann man einzeln herunterladen und per FTP installieren. Der einzelne Backend User kann seine bevorzugte Sprache entweder beim Login oder aber als Teil seiner Benutzereinstellungen individuell festlegen (unter “Benutzerfunktionen: Persönliche Daten”).

Da die Übersetzungen durch die Community erstellt werden, sind nicht alle Sprachpakete gleich aktuell. Auch werden Extensions unterschiedlich gut abgedeckt. TYPOlight bietet im Backend unter “System” die Funktion “Fehlende Labels” – dort sieht man auf einen Blick, wie vollständig ein Sprachpaket ist. Fehlende Übersetzungen kann man dort allerdings nicht ergänzen – dies geschieht zentral über ein Online-Tool, für das man sich separat registrieren muss. Das ist etwas umständlich, stellt aber sicher, dass Übersetzungen sämtlichen TYPOlight-Benutzern zu gute kommen.

Frontend

Auch im Frontend unterstützt TYPOlight Mehrsprachigkeit. Diesen Anspruch erheben allerdings fast alle CMS, und man muss deshalb genauer hinschauen und sich fragen, wie diese Mehrsprachigkeit im Detail umgesetzt ist. TYPOlight benutzt einen leicht verständlichen Ansatz, mit dem man aber auch an Grenzen stossen kann. Zudem sind gewisse Funktionen nur in Form von Extensions vorhanden.

Es gibt grundsätzlich zwei Prinzipien, wie man mit einem CMS mehrsprachige Websites aufbauen kann: Entweder basieren alle Sprachversionen auf der gleichen Website-Struktur, die Übersetzungen einer Seite sind dann direkt in der Originalseite hinterlegt und werden je nach Benutzersprache ein- oder ausgeblendet. Dieser Ansatz erlaubt den direkten Wechsel zwischen den Sprachversionen derselben Seite und ist oft die bessere Lösung, wenn man den Überblick behalten muss, welche Seiten schon übersetzt sind und welche nicht. Bei TYPO3 beispielsweise ist dieses Prinzip sehr schön realisiert.

image

Das zweite Prinzip arbeitet mit einer separaten Website-Struktur pro Sprache, d.h. der Seitenbaum wird für jede Frontend-Sprache individuell erstellt und gepflegt. Dadurch sind die Sprachversionen nicht miteinander verknüpft, was Vorteil wie Nachteil sein kann: Die Erfahrung zeigt, dass viele Websites ihren Anspruch, alle Inhalte zu übersetzen, in der Praxis doch nicht einlösen können – dann ist es einfacher, wenn die Sprachversionen wie individuelle Websites gehandhabt werden können. Auch im Hinblick auf suchmaschinenfreundliche URLs sind separate Seitenbäume sinnvoll, weil dann URL und Seiteninhalt immer in derselben Sprache verfasst sind. TYPOlight benutzt ausschliesslich diesen zweiten Ansatz.

Spracheinstellungen

Um mehrere Sprachversionen zu erstellen legt man in TYPOlight pro Sprache eine Seite vom Typ “Startpunkt einer neuen Website an”. In den Seiteneigenschaften wird dann die jeweilige Sprache eingetragen. Eine der Sprachversionen kann zudem als Fallback-Sprache definiert werden. Welche Sprachversion ein Website-Besucher zu sehen bekommt hängt von seinen Browser-Einstellungen ab. Existiert die bevorzugte Sprache nicht, dann wird die Fallback-Sprache angezeigt (oder, falls keine solche definiert wurde, die Fehlermeldung “Page not found” ausgegeben).

Sprachwahl

Dass TYPOlight aufgrund der Browser-Einstellung automatisch eine geeignete Sprachversion anzeigt, ist sehr angenehm. Trotzdem sollte man sich nicht ausschliesslich darauf verlassen, denn vielleicht sind die Browser-Einstellungen ja falsch, oder der Benutzer bevorzugt aus anderen Gründen eine andere Sprachversion als die von TYPOlight vorgeschlagene. Ein Sprachwechsler gehört deshalb zwingend zu einer mehrsprachigen Website.

Die einfache Variante besteht darin, dass man den Sprachwechsler hart codiert. Hierzu legt man ein Modul vom Typ “Eigener HTML-Code” an und fügt ein Code-Snippet der folgenden Art ein:

<a href=»{{env::path}}index.php/home.html» title=»Zur deutschen Startseite»>Deutsch</a> | <a href=»{{env::path}}index.php/home-en.html» title=»Go to English homepage»>English</a>

Anschliessend wird dieses Modul in allen Seitenlayouts an geeigneter Stelle integriert, und schon hat man einen Sprachwähler auf allen Seiten, der den Sprung auf die Homepages aller Sprachversionen erlaubt.

image

Komfortabler und flexibler ist der Einsatz der Extension changelanguage: Diese erstellt den Sprachwähler automatisch aufgrund aller existierenden Sprachversionen und bietet dabei einige Gestaltungsoptionen. Der Hauptvorteil der Extension liegt allerdings darin, dass man jeder Seite einer Zusatzsprache die entsprechende Seite in der Fallback-Sprache zuordnen kann. Dadurch kann man direkt zwischen den korrespondierenden Seiten der verschiedenen Sprachversionen wechseln – sofern sich der Content Manager die Mühe gemacht hat, jeder Seite die entsprechende Seite der Fallbacksprache manuell zuzuweisen. Die Extension changelanguage kompensiert also den wichtigsten Nachteil der getrennten Seitenbäume.

Obiges Prinzip funktioniert mit normalen Seiten, nicht aber für Nachrichten (News). Wenn man auch hier den Wechsel zwischen den verschiedenen Sprachversionen einer Newsmeldung ermöglichen will, muss man zusätzlich die Extension newslanguage installieren, welche auf changelanguage aufbaut.

Übersetzungsprozess

Eine mehrsprachige Website technisch zu implementieren ist eine Sache – den Übersetzungsprozess der Inhalte zu managen eine ganz andere. Von Haus aus bietet TYPOlight hier keine Unterstützung, weil es eben die Sprachversionen als separate Websites versteht. Hier empfiehlt sich die Extension translations, dank der man auf Ebene von Seiten, Artikeln und Inhaltselementen rasch zwischen den einzelnen Sprachversionen hin- und herwechseln kann. Diese Extension funktioniert nur, wenn man identisch strukturierte Sprachversionen hat – dann aber ist sie eine grosse Hilfe.

image

Übersetzung von Modulen

Beim Thema Mehrsprachigkeit darf man auch nicht vergessen, dass nicht ganz alle Texte, die im Frontend sichtbar sind, durch den Content Manager bearbeitet werden können. Nehmen wir als Beispiel das Suchformular: Die Beschriftung des Buttons “Suchen” kann man im Backend nicht ändern – diese ist im Quellcode als Variable $GLOBALS[‚TL_LANG‘][‚MSC‘][’searchLabel‘] hinterlegt und wird in der Datei /system/modules/frontend/languages/de/default.php ins Deutsche übersetzt. In welche Sprachen ein Modul übersetzt ist und wie vollständig diese Übersetzung ist, kann man mit der Extension translationhelper herausfinden.

Ein anderer Aspekt von Modulen ist der, dass man diese in der Regel nicht für jede Sprache separat definieren möchte. Für diesen Zweck gibt es seit TYPOlight 2.7 das Insert-Tag iflng, das eine Fallunterscheidung nach Sprache erlaubt. Ein Beispiel: Wenn Sie ein Modul vom Typ “Eigener HTML-Code” benutzen, um auf jeder Seite automatisch einen Footer mit den Copyright-Informationen auszugeben, dann können Sie dieses Modul wie folgt für die drei Sprachen Deutsch, Englisch und Französisch definieren:

© 2008-2009 Martin Sauter –
{{iflng::de}}Alle Rechte vorbehalten{{iflng}}
{{iflng::en}}All rights reserved{{iflng}}
{{iflng::fr}}Tous droits réservés{{iflng}}

Mit diesem Insert-Tag kann man beispielsweise auch die Feldbeschriftungen in Formularen sprachabhängig definieren und erspart sich so die Mühe, jedes Formular pro Sprache separat zu bauen.

Möchte man nicht nur reinen Text, sondern auch andere Insert-Tags in Abhängigkeit von der aktuellen Sprache nutzen, dann hilft die Extension fp_lngInsert weiter.

Extensions

Die pauschale Aussage “TYPOlight unterstützt Mehrsprachigkeit” ist insbesondere dort mit Vorsicht zu geniessen, wo Extensions zum Einsatz kommen. Hier muss man fallweise prüfen, ob und in welcher Weise Sprachversionen umgesetzt werden können. Ein gutes Beispiel ist der kürzlich veröffentlichte TYPOlight webShop: Dieser erlaubt zwar unterschiedliche Währungen, Liefergebiete und Steuerzonen, nicht aber unterschiedliche Sprachen. Dies hat zur Folge, dass man pro Sprache einen separaten Shop mit einem individuellen Produktkatalog erstellen muss. Bei einem grösseren Sortiment ist das sehr aufwändig, zudem schafft es Fehlerquellen (z.B. dass Produktdaten oder Preise in den Sprachversionen nicht übereinstimmen), und gewisse Funktionen wie die Lagerbestandsverwaltung sind bei separaten Shops schlicht nicht mehr sinnvoll nutzbar.

OpenGoo 1.5: Unspektakuläre, aber konsequente Weiterentwicklung

OpenGoo 1.5 Screenshot - E-Mail-Modul

Schon wieder liegt ein Update für OpenGoo vor: Die Version 1.5 bringt einmal mehr eine ganze Reihe von Verbesserungen, die einzeln nicht weltbewegend sein mögen, in ihrer Summe aber die ambitionierte Projekt-Management-Software wieder einen grossen Schritt vorwärts bringen.

E-Mail

  • Das E-Mail-Modul wurde qualitativ verbessert, indem zahlreiche Probleme beim Mail-Abruf von IMAP- und POP3-Servern behoben wurden. Als Konsequenz daraus wurde das Modul aus dem Beta-Stadium entlassen und der entsprechende Vermerk entfernt.
  • In OpenGoo gespeicherte Dokumente können nun als Mail-Attachment verschickt werden – alle anderen Objekttypen in Form eines Links.
  • Das E-Mail-Modul bietet neu eine frei definierbare Signatur pro E-Mail-Account und eine automatische Sicherungsfunktion für E-Mail-Entwürfe.

Drag and Drop

  • Objekte können per Drag and Drop in einen anderen Workspace verschoben werden; bisher mussten hierfür die Objekteigenschaften aufgerufen und editiert werden.
  • Auch das Tagging funktioniert neu per Drag and Drop: Objekte werden einfach in der linken Spalte auf den gewünschten Tag gezogen um diesen zuzuweisen.
  • Daten von Events, Aufgaben oder Milestones können ebenfalls durch Verschieben der entsprechenden Objekte im Kalender geändert werden.

Weitere Verbesserungen

  • Die bisher nur sehr rudimentären Gruppenrechte wurden erweitert: Neu kann der Zugriff auf Workspaces nicht nur auf Ebene User, sondern auch auf Ebene User Group gewährt werden.
  • In Templates können nun Parameter definiert werden, die erst beim Anlegen eines Objekts ausgefüllt werden. Diese Parameter können Texte oder Daten umfassen.
  • Auch Events und Web-Links können nun mehreren Workspaces gleichzeitig zugeordnet sein. Damit sind Milestones und Tasks die letzten Objekttypen, die immer nur einem einzelnen Workspace zugewiesen werden können.
  • Events und Tasks können nun als Serien angelegt werden. Dadurch werden sie im Intervall von Tagen, Wochen, Monaten oder Jahren automatisch wiederholt, bis eine vorgegebene Anzahl Wiederholungen oder ein vorgegebenes Enddatum erreicht wird.
  • Der Toolbar in den Modulen “Kalender” und “E-Mail” wurde verbessert.
  • Im Kalender werden nun Anfangs- und Endzeit eines Events angezeigt. Zudem kann nicht nur der Startzeitpunkt, sondern auch die Dauer eines Events direkt mit der Maus verändert werden.
  • Die Anzeige von Subscribers eines Objekts (d.h. Personen, die bei Updates automatisch benachrichtigt werden) erfolgt nun mit Bild (ist dafür aber entsprechend platzintensiv).
  • Optimierung im Bereich Sicherheit (z.B. optionale Passwortabfrage beim Zugriff auf den Administrationsbereich; Logging der IP-Adressen; Zugriff auf Time-Modul kann pro User gesperrt werden).
  • Der Administrator kann Standardeinstellungen für die Kontokonfiguration definieren (die so lange gelten, bis der Benutzer sie selbst ändert).
  • Der Papierkorb kann nun manuell geleert werden.