Die Evolution von Shopware - Code Visualisierung per Gource
Der Bereich Shopware Labs ist die Plattform für alle Entwickler. Hier findet man technische Dokumentationen und zahlreiche Tipps und Tricks rund um das Thema Programmieren. In dieser Rubrik stellen außerdem die Entwickler der shopware AG neue und experimentelle Lösungsansätze vor. Neue Funktionen, die in dieser Rubrik bereitgestellt werden, sind teilweise auch für zukünftige Releases geplant. Die Funktionen können dann ohne Programmierkenntnisse zukünftig direkt im Shopware Backend konfiguriert werden oder werden über Plugins bereitgestellt. Informationen über neue, geplante Funktionen finden Sie in unserer Roadmap.
Bitte beachten Sie, dass die hier bereitgestellten Lösungsansätze nicht offiziell supportet werden und nur eingebaut werden sollten, sofern Sie über das entsprechende, technische Wissen verfügen.
Inhaltsverzeichnis
Video - Die Evolution von Shopware
In einem Video auf dem Portal Youtube ist die Entwicklung von Shopware im Zeitraum von Oktober 2010 bis September 2011 visuell dargestellt. In dem Film entwickelt sich die Software ständig weiter, was in der optischen Darstellung durch ein zuwachsendes Dickicht von Dateien und Verzeichnissen dargestellt wird. Wie an einem Eiskristall entspringen immer wieder neue und sich weiter verästelnde Stränge aus vorhandenen Codes. So zeigt sich eindrucksvoll, wie viel Arbeit in einer eCommerce Software wie "Shopware" steckt.
Das Video wurde mit der Software Gource erstellt. Gource hat alle Momentzustände aus unserer Versionskontrolle herausgelesen und sie in eine chronologische Reihenfolge gebracht. Im Video werden diese im Prinzip einfach nur im Zeitraffer visualisiert.
Jede einzelne Datei spiegelt sich als einzelner Knoten wieder, jede Verzeichnisstruktur lässt sich als Ast nachvollziehen. Die einzelnen Entwickler fliegen dabei im Code-Gebilde in Gestalt kleiner Figuren umher, deren Änderungen durch ausgehende Strahlen dargestellt wird.
Code-Visualisierung per Gource
Bei vielen von Ihnen kommt jetzt sicher die Frage danach auf, ob man selbst so ein Video erstellen kann. So schwer wie es zunächst erscheinen mag, ist es eigentlich nicht. Die passende Software dazu heißt Gource, ist Open Source und somit für jeden kostenlos nutzbar.
Voraussetzungen
Allgemein:
- Eine Versionkontrolle, die visualisiert werden soll (Git, SVN, Mercurial oder Bazaar)
- Eine installierte Version des Open Source Videokonvertierungsprogramms "ffmpeg"
Windows:
- min. Windows XP
- min. 10 GB freier Festplattenspeicher (die Aufnahme der Videos ist nicht komprimiert und nimmt dadurch sehr viel Speicherplatz in Anspruch)
- eine installierte Version von Gource (Download)
Mac OS X:
- min. Leopard bzw. Snow Leopard
- eine installierte Version von Xcode
- Mac Ports (weitere Informationen)
Installation
Unter Windows ist die Installation von Gource kinderleicht. Der Entwickler der Software bietet einen Windows-Installer an, der wie bei jedem anderen Programm auch einfach ausgeführt werden kann und Sie durch die Installation von Gource leitet.
Unter Mac OS X sieht es da schon etwas anders aus. Hier muss man Gource per Terminal installieren. Dazu startet man das Terminal und aktualisiert zuerst das Repository von MacPorts. Für diesen Zweck verwenden wir den Befehl "sudo port sync".
Als Nächstes installieren wir Gource über Macports über den Befehl "sudo port install gource". Dies dauert einige Zeit, da alle Abhängigkeiten aufgelöst und installiert werden müssen. Wenn die Installation erfolgreich durchgeführt werden konnte, können wir damit beginnen, das erste Video per Gource zu erstellen.
Video erstellen
Um das Video zu erstellen, benötigen wir zunächst ein Projekt, das unter Versionskontrolle steht. In unserem Fall bedienen wir uns unseres Shopware Repositorys, das auf github.com gehostet ist.
Das Repository clonen wir jetzt von github.com wie folgt:
git clone git://github.com/ShopwareAG/Shopware.git
Jetzt wechseln wir in das Verzeichnis, in das wir das Shopware Repository geclont haben. In diesem Verzeichnis führen wir jetzt einfach Gource aus, ohne dass wir irgendwelche Parameter übergeben. So erhalten wir eine Visualisierung des Codes und können in dieser Visualisierung mit der Zeitleiste durch die einzelnen Momentzustände navigieren und uns anschauen, wie das Projekt wächst und gedeiht. Hierzu verwenden wir einfach folgenden Befehl:
gource
Um jetzt das eigentliche Video erstellen zu können, müssen wir Gource mitteilen, dass wir eine Output-Datei benötigen. Dazu bietet Gource den Parameter "-o" an. Zusätzlich dazu möchten wir das Video in 720p aufnehmen. Dazu können wir einfach die gewünschte Auflösung als Parameter angeben.
Der komplette Befehl sieht dann wie folgt aus:
gource -1280x720 -o gource.ppm
Das Video wird jetzt in die Datei "gource.ppm" geschrieben. Wichtig hierbei ist, dass das Videomaterial nicht komprimiert ist und somit sehr viel Speicherplatz einnimmt. Pro Minute werden dadurch ca. 10 GB an Daten generiert.
Um das Video in ein komprimiertes Format wie "MP4", "MKV" oder "AVI" zu bringen, benötigen wir eine installierte Version von "FFMPEG", ein freies Videokonvertierungstool. Ich möchte an dieser Stelle aus dem Video, welches sich in der Datei "gource.ppm" befindet, das MP4 Format mit den Video-Codec "x264" umwandeln. Dazu verwende ich folgenden Befehl:
ffmpeg -y -b 10000K -r 60 -f image2pipe -vcodec ppm -i gource.ppm -vcodec libx264 -vpre slow -threads 0 -bf 0 gource.x264.mp4
Weitere Einstellungen vornehmen
Gource bietet noch eine Einstellmöglichkeit, um das Aussehen und die verwendeten Daten zu modifizieren. Bitte wechseln Sie die Projektwebsite um dazu weitere Informationen zu erhalten.
Artikel bewerten
Artikel kommentieren
Weitere interessante Artikel:
Veraltet Verwenden Sie das aktuelle Update-Script auf Version '''3.5.3''' Link: http://wiki.shopware.de/Update-3.5.x-auf-3.5.3_detail_579_477.html Vorab '''Release-Datum: 29.10.2010 17:30 Uhr'''... [weiterlesen]
Vorwort Letzte Aktualisierung: 23.09.2010 Dieser Artikel bezieht sich im wesentlichen auf die umfangreichen technischen Neuerungen in Shopware 3.5.0. Für eine Übersicht über die weiteren geplanten Funktionen und... [weiterlesen]
Bestell-Nr.: SW1595
Lieferzeit ca. 5 Tage
Preise inkl. gesetzlicher
MwSt. zzgl. Versandkosten*
Preise inkl. gesetzlicher
MwSt. +
Versandkosten*
Kommentare: (0)
Dieser Artikel wurde noch nicht kommentiert!