Die letzten Tage habe ich mich mit der eCommerce Lösung Magento beschäftigt. Dabei handelt es sich um den neuen Stern am OpenSource Himmel und bietet eine einheitliche Lösung für kommerzielle Online Shops. Die Featureliste ist lange und ein erster Test offenbart eine grundsolide Struktur. Magento bietet folgende wichtige Features:
- Verwaltung mehrerer Webseiten und Webshops
- mehrsprachig
- Unterstützt verschiedene Lokalisierungen und Währungen
- Vielfältige Administrationsmöglichkeiten (Benutzer, Rollen etc.)
- 100% anpassungsfähiges Design
- uvm.
Das Erstellen von individuellen Templates ist aufgrund der durchdachten Struktur sehr einfach. Das Layout basiert auf XML Dateien, die beschreiben wie eine einzelne Seite aussieht und welche Template Dateien dafür benötigt und welche Module geladen werden müssen.
Magento basiert auf dem Zend Framework, was es zwar hinsichtlich der Hardwareausstattung des Servers anspruchsvoller macht, aber für ein extrem aufgeräumtes und sauberes Backend sorgt. Mittels dem Magento Downloader können auch Extensions nachgeladen werden. Hier ist die Auswahl allerdings noch begrenzt, was aber nur eine Frage der Zeit sein dürfte bis hier die Auswahl umfangreicher wird.
Ein Beispielshop ist auf der Webseite von Magento zu finden:
Über die Magento Administrationsoberflächen können verschiedene Webseiten eingerichtet werden. Diese können wiederum verschiedene Stores enthalten. Ebenso werden CMS Seiten angeboten. Weitere Features sind eine Webservice API Schnittstelle, verschiedenste Berichte und eine breite Palette an Funktionen wie man sie von professionellen Webshops her bereits kennt. Dabei ist auch die Administrationsoberfläche sehr schlicht, übersichtlich und aufgeräumt.
Ich kann nur empfehlen einen Blick auf dieses Projekt zu werfen, denn es hat das Potential etablierten Plattformen wie xt:Commerce den Rang abzulaufen.
Als webbasierte Administrationsoberfläche für MySQL Datenbanken hat sich phpMyAdmin mittlerweilen sehr stark etabliert und ist praktisch überall anzutreffen. Eine sehr schlanke und vom Bedienkonzept angenehmere Variante ist SQL Buddy.
Das PHP OpenSource Programm verfügt über eine ajaxbasierte Oberfläche, die sehr übersichtlich und schlicht gehalten ist. Dabei sind verschiedenste Sprachen verfügbar und man kommt ohne Setup aus (hochladen, Logindaten eingeben und los gehts).
Jeder der mit mehren Rechnern arbeitet kennt das Problem, seine Daten, Profile und Informationen auf jedem System konsistent zu halten. Für mich bietet sich hier ein recht einfaches Szenario: zwischen Notebook und stationären PC, am heimatlichen Schreibtisch, müssen wechselseitig die aktuellen Daten (Firefox, Thunderbird, Pidgin Profil, Datenverzeichnisse etc.) übertragen werden. Dabei arbeite ich immer nur an einem Rechner. Bei einem Wechsel des Systems werden dann die veränderten Daten kopiert.
Für Windows gibt es hier eine sehr komfortable Lösung: die Freeware SyncBack aus dem Hause 2BrightSparks. Die Software erlaubt es verschiedene Tasks mit jeweiliger Quelle und Ziel, Filter und verschiedenste Optionen anzugeben. Dabei kommt SyncBack auch mit Windows Freigaben, ZIP Dateien und FTP Transfers zurecht. Diese einzelnen Tasks können dann parallel gestartet werden. Das Verhalten von SyncBack kann dabei sehr genau festgelegt werden. Meine Tasks vergleichen das Quellverzeichnis mit dem Zielverzeichnis, kopieren fehlende und veränderte Dateien/Verzeichnisse in das Ziel und löschen Dateien/Verzeichnisse im Ziel wenn diese nicht im Quellverzeichnis sind.

SyncBack gibt es auch als kostenpflichtige Version, allerdings ist die Freeware-Version sehr mächtig und ich habe nie ein Feature vermisst. Die Unterschiede gibt es hier als Übersicht: Compare SyncBack Freeware and SyncBackSE. Ich nutze diese Software schon seit knapp zwei Jahren und sie läuft sehr zuverlässig und stabil. Sonderbar das nur wenige Softwareverzeichnisse das Programm listen.
Für mein Linux (Ubuntu) benutze ich das mit Ubuntu mitgelieferte rsync. Eine hervorragende Software, die zahlreiche Funktionen bietet. Für die Kommunikation greife ich (wie auch bei SyncBack) auf Samba Freigaben zurück. Zuerst wird das entfernte Verzeichnis des Notebooks gemounted (mit cifs) und anschließend werden die Verzeichnisse mit rsync abgeglichen:
sudo mount -t cifs "//192.88.81.123/freigabe" "/mnt/notebook/" -o umask=000,iocharset=utf8,codepage=850,sec=none [ $? == "0" ] && rsync --ignore-times -t -r --progress --delete "/mnt/notebook/" "/home/test/xyz/" sudo umount "/mnt/notebook/"
Der Parameter –ignore-times kommt nur dann zum Einsatz, wenn ein Vergleich über den Modification Zeitstempel der Datei nicht möglich ist (z.B. wenn die Verzeichnisse TrueCrypt Container enthalten, bei denen auch bei einer Änderung des Inhalts der Zeitstempel nicht aktualisiert wird). Für diesen Parameter gibt es in SynBack ein Pendant der im Task Profil aktiviert werden kann.Der Parameter -t sorgt dafür das die modification time nicht aktualisiert wird, -r sorgt dafür das Unterverzeichnisse einbezogen werden, –progress führt dazu das die Übertragung der Dateien ausgegeben wird, –delete löscht nicht in der Quelle vorhandene Dateien im Ziel (weitere Parameter siehe man page).
Für jeden Task wird dies, entsprechend mit den jeweilig angepassten Quell- und Zielverzeichnissen durchgeführt. Für die Wahl des jeweiligen Verzeichnisses nutze ich die Dialogsteuerung Zenity (die ebenfalls im Ubuntu mitgeliefert wird). Insgesamt ergibt sich so ein Skript das sich ganz gut bewährt hat und schon einige Monate zuverlässig seine Aufgabe erfüllt.
Wenn jemand ähnliches nutzt, oder Ideen/Gedanken für eine Verbesserung des Skriptes hat, kann sie mir gerne zusenden oder auf diesen Beitrag kommentieren. Das gesamte Skript gibt es hier: sync (Hinweis: bevor ihr das Skript ausprobiert und eure Daten synchronisiert immer erst ein Backup machen, Nutzung also auf eigene Gefahr). Über Feedback oder Ideen freue ich mich, sicherlich kann man an dem Ganzen einiges verbessern. Ebenso interessiert mich, wie ihr euer Notebook/PC abgleicht.
Gestern bin ich auf eine sehr nützliche Entwicklung gestoßen, die ich einfach super finde: JavaScript basierte Wikis. Diese Wikis bestehen aus einer einzigen HTML Datei, in welcher alle Einstellungen, Daten, Informationen und die Programmlogik abgelegt sind. Gedacht ist das Ganze als privates Notizbuch (z.B. für den USB Stick). Gängige Wiki Formatierungen sind möglich und die Bedienung gestalltet sich sehr komfortabel.
Zwei Vertreter habe ich ausfindig machen können, wobei ich mich die nächste Zeit einmal an dem TiddyWiki versuchen werde.
Viele kennen wahrscheinlich das Problem: die eigenen Lesezeichen sind zu einem Archiv herangewachsen, das man am liebsten überall zur Hand hat. Am besten über Internet erreichbar, so ist ein Zugriff auch z.B. von der Firma aus kein Problem mehr. Andererseits ist die Lesezeichensammlung auch etwas sehr persönliches und sagt viel über die eigenen Hobbys, Interessen und den eigenen Aktivitäten aus. Für mich kamen deshalb Synchronisationsdienste, die mit dem Web 2.0 Boom zahlreich aus dem Nichts aufgetaucht sind, nicht in Frage. Ein Beispiel: Foxmarks Bookmark Synchronizer ist ein Firefox Plugin und lädt die Bookmarks auf einen Server, auf den dann über das Plugin oder Online Interface auf die Bookmarks zugegriffen werden kann.
Man muss an dieser Stelle schon Vertrauen in die, meist US Start- Ups haben. Es bietet sich also an die Lesezeichen auf einen eigenen Server abzulegen. Genau für diesen Fall habe ich ein kleines PHP Skript geschrieben. Es liest die bookmarks.html von Firefox aus (diese kann mit Hilfe der Export Funktion des Lesezeichenmanagers oder direkt dem Profil entnommen werden) und stellt diese in einer Baumansicht dar.

Es reicht also aus das PHP Skript sowie die bookmarks.html auf den eigenen Server zu laden (und diesen Ort dann mit einem Passwort zu schützen). An der Stelle ist natürlich nur ein lesender Zugriff möglich, allerdings werden beim Aufruf keine Bookmarks lokal gespeichert (mit Ausnahme des Browsercaches).
Das Skript nutzt den, um die Fähigkeit Icons aus bookmarks.html auszulesen, erweiterten BookmarkParser aus Len’s PHP Collection (LGLP Lizenz) und zur Darstellung des Baumes die Yahoo! UI Library (BSD Lizenz). Jeder der also das gleiche Problem hat, kann das Skript frei nutzen. Feedback freut mich natürlich immer (oder wenn jemand etwas daran ausbaut).
- Download: bookmark skript
Seit einiger Zeit bin ich schon auf der Suche nach einem guten Programm, mit dem sich leicht UML Diagramme, Flussdiagramme und Übersichten erzeugen lassen. Nachdem meine Studentenversion von Visio streikt hab ich mich hier einmal umgesehen und eine super Alternative gefunden, die dem Microsoft Produkt problemlos die Stirn bieten kann. Meiner Ansicht auch weitaus besser ist. Dia heißt das gute Stück und ist eine OpenSource Anwendung des Projektes GNOME, das unter GPL Lizenz zur Verfügung steht. Dank der Portierung des GIMP-Toolkits auf Windows, steht Dia auch Windows Benutzer zur Verfügung.
Die Bedienung ist sehr einfach und nach ein paar wenigen Klicks findet man sich zurecht. An einigen Stellen ist Dia allerdings gewöhnungsbedürftig (bearbeitet man z.B. einen Text in einem Element, so wird beim Drücken der Entfernen Taste gleich das gesamte Element entfernt und nicht nur der Text).
Ich lass hier einfach mal ein paar Screenshots für sich selbst sprechen:


Weitere Eindrücke gibt es unter folgendem Link. Wie mögliche Diagramme aussehen können, sieht man hier: http://live.gnome.org/Dia/Examples. Wer also einmal ein UML Diagramm oder ähnliches auf die Schnelle erstellen muss ist mit Dia gut bedient. Wie es sich auf Dauer und für größere Diagramme so macht wird sich zeigen.
Links zu Dia:
- Projektseite: http://live.gnome.org/Dia/
- Windows Version mit Installer: http://dia-installer.de/index_de.html




