Treeline.de – Ein Magentoshop für Snowboards & Co.

Treeline.deScreenshot von Treeline.de - Snowboard Onlineshop (Magento)
Screenshot von Treeline.de – Snowboard Onlineshop (Magento)

Der Inhaber von Beatnuts Bergstrasse in Bensheim kam Anfang 2011 auf mich zu, weil er einen Magento-Entwickler suchte der aber auch Ahnung von der Snowboard-Szene hat. Einen Onlineshop für sein Unternehmen wünschte er sich schon länger. Leider hat es nie so ganz geklappt, weil immer wieder technische Probleme auftraten.

“Der Letzte Versuch”

Mit meiner Unterstützung sollte der letzte Versuch gestartet werden. Das System war bereits gesetzt. Es sollte ein Magento-Shop werden. Da ich bereits einige Erfahrung im Bereich Magento-Entwicklung hatte (auch in Großprojekten) konnte ich ihm nach einer Grobschätzung zuversichtlich mitteilen, dass er bis Ende Februar 2011 einen funktionierenden Magento-Onlineshop haben wird. Auch wenn er mir nicht ganz so zu glauben schien, weil er schon mehrere schlechte Erfahrungen diesbezüglich gemacht hatte, blieb ich meiner Sache zuversichtlich. In meiner jahrelangen Tätigkeit als Webentwickler in Mainz wusste ich um die Risiken und Schwierigkeiten und konnte diese bereits in meine Schätzung mit aufnehmen.

Nach einer Entwicklungszeit von ca. einem Monat und ausgiebigem Testen und parallelem Einpflegen von Produkten war es dann Anfang März soweit.

“Der neue Magento-Shop startete mit dem Namen Treeline.de”

Thomas hatte sich entschieden seinen Shop unter der URL treeline.de zu starten. Der Shopname hat sich mittlerweile soweit durchgesetzt, dass sogar der echte Shop in Bensheim und seine bestehende Facebook-Fanpage umbenannt wurde! Alles in allem also ein glücklicher Kunde.

Auch nach der ersten Implementierung gibt es seit dem immer wieder viel zu tun im Shop. Durch ein Ticketsystem behält sowohl treeline.de als auch ich immer den Überblick was noch in welcher Priorität ansteht und welche Features in welcher Zeit noch möglich sind. Entwickungstechnisch ist die Magento-Instanz in einem SVN gehostet und neuere Versionen und Anpassungen werden nach lokaler Implementierung mit Hilfe von Beanstalk nach einem ausführlichen Test auf dem angelegten Testserver automatisiert veröffentlicht. So macht Magento-Entwicklung Spaß.

Abschließend noch mal Danke an Thomas für das coole Projekt! Ich hoffe, dass treeline.de weiterhin wächst und auch noch die nächsten Jahre viel zu erweitern ist ;) Mir hat es auf jeden Fall Spaß gemacht und gezeigt, dass sich eine gute und ehrliche Zusammenarbeit mit dem Kunden am Ende auszahlt.

SVN/Git-Hosting bei Beanstalk

Logo von Beanstalk (beanstalkapp.com)Wer häufig Produktionssysteme in verschiedenen Projekten aktualisieren muss, sucht früher oder später nach einer Möglichkeit das ganze zu automatisieren. In professionellen Projekten ist eine anständige Versionsverwaltung wie zum Beispiel SVN oder Git sowieso Voraussetzung. Wenn jetzt das eigene Unternehmen nicht groß genug ist für die Versionsverwaltung eigene Server bereitzustellen, oder die Unternehmensstruktur so aufgebaut ist, dass mehrere Entwickler von den verschiedensten Orten der Welt an einem Projekt arbeiten, denkt man vielleicht darüber nach das Hosting des Sourcecodes auszulagern.

Eine Lösung dafür ist Beanstalk. Nach dem Vergleich von mehreren Anbietern habe ich mich für Beanstalk entschieden. Unter anderem war der Grund die offene Unternehmenspolitik und die Deployment-Features. Gerade die angesprochen Deployment-Features haben mit in der Praxis einige Arbeit abgenommen. Kein stundenlanges schnüren von Paketen die auf dem Server entpackt und angepasst werden müssen. In Beanstalk gibt man einmal an von welchem Branch wohin deployed werden soll und kann jederzeit ein Deplyoment starten. Wenn sich in großen Projekten nur wenige Dateien relativ zum letzten Deplyoment geändert haben, werden auch nur diese veröffentlicht. Wichtig: Es werden auch Dateien gelöscht wenn diese aus dem Repository gelöscht wurden (das hat leider bei anderen Anbietern die ich getestet habe nicht immer ganz so gut funktioniert).

Auch das Zurücksetzen auf eine ältere Version ist kinderleicht.

Ist bei der Entwicklung eines neuen Releases doch mal etwas schief gegangen, oder hat man aus Versehen eine falsche Version “deployed”  ist das auch kein Problem. Genauso leicht wie man eine Version veröffentlicht hat, lässt sich diese auch wieder auf eine frühere zurücksetzen.

Im Notfall ist es natürlich immer so, dass man keinen Zugriff auf seinen eigenen Rechner hat um Modifikationen am Sourcecode vorzunehmen und diese dann entsprechend zu “committen”.

Für das “Durchbrowsen” und Ändern der Repositories bietet Beanstalk auch eine eigene Weboberfläche.

Hier kann man Dateien ändern, löschen, hinzufügen oder sich das Changeset ansehen. Wem das noch nicht ausreicht und noch mobiler sein möchte lädt sich einfach die passende iPhone-App herunter. Da der Anbieter eine API bereitstellt, gibt es auch Plugins und Implementierungen für viele Systeme wie z.B. Basecamp oder GitTower. Mehr Infos zu den verschiedenen Tools finden sich hier.

Das eigene Deplyoment ist dann wirklich schnell eingerichtet.

Die Weboberfläche fragt nach dem Server und den entsprechenden FTP-Zugangsdaten und nach dem Repository-Ordner der veröffentlicht werden soll. Dann kann man sich entscheiden ob automatisch (also z.B. bei jedem Commit) oder manuell deployed werden soll. Ganz so viel Vertrauen habe ich dann doch nicht, weshalb ich mich für “manuell” entschieden habe ;) – Wer möchte kann auch noch Pre- und Post-Deployment-Scripts auf seinem Server anlegen die entsprechend ausgeführt werden. Anwendungsfälle hierfür werden z.b., dass man einen Webshop während des Deplyoments automatisch Maintenance-Mode setzen möchte. Oder man möchte automatisch eine neue Versionsnummer in seinem Bugtracker hinzufügen lassen.

Fazit:

Alles in allem sehr hilfreich und hat auch noch Potential zum Wachsen. Mir hat es zumindest geholfen meine Projekte (hauptsächlich Magento-Shops) ordentlich zu verwalten und ohne Probleme und Stress zu “deployen”. Wer Beanstalk erstmal Testen möchte kann sich einen Trial-Account anlegen. Dieser beinhaltet 100 MB Storage, einen User und ein Repository. Den Bronze-Plan mit 3 GB Storage, 5 Usern und 10 Repositories gibt es dann auch schon für 15 $. Für den Service und vor allem die spätere Zeitersparnis auf jeden Fall erschwinglich.

Mehr Infos zu Beanstalk auf http://beanstalkapp.com/.