Kategorie-Archiv: Content Management

Meine Videplattform auf Basis von Magento 2

Wie der ein oder andere sicher mitbekommen hat, verkaufe ich online Trainings zum Thema Smart Home. Angefangen habe ich damit auf Udemy – doch die Plattform habe ich aus diversen Gründen verlassen und mein eigenes Ding gestartet. In diesem Beitrag möchte ich einmal zusammenfassen, was mein Online-Shop eigentlich alles können musste und was ich dazu alles programmieren musste. Weiterlesen…

Mein erster Eindruck von Shopware 5

Vor ein paar Wochen haben wir uns in der Agentur entschieden, neben Magento und Magento 2 auch einmal Shopware näher anzusehen. Immerhin sprießen die Shopware-Shops gerade aus dem Boden. Gestern war ich dann auf einem Developer-Training bei Shopware in Schöppingen. In diesem Beitrag möchte ich kurz meine Erfahrungen und erste Eindrücke schildern.

Folgende Themen wurden behandelt:

  • Einführung in die Struktur von Shopware
  • Möglichkeiten Shopware anzupassen (Events & Hooks)
  • Implementierung eines Frontend-Plugins
  • Shopware Models
  • Erweitern eines Backend-Plugins
  • Implementierung eines neuen Backend-Moduls
  • Anpassen von Templates über Blöcke

Folgende Themen standen zwar auf der Agenda, wurden aber nicht behandelt:

  • Debuggen mit Shopware & PHPStorm
  • Bestpractice: Auto-Update eigener Plugins, Mehrsprachenfähigkeit & ACL in eigenen Plugins

Die beiden Trainer Michael Telgmann und Holger-Thomas Kaßner haben einen guten Job gemacht. Immerhin ist es recht schwierig, die ganzen unterschiedlichen Level abzuholen und ohne große Langeweile auf den gleichen Wissensstand zu bringen. Dennoch habe mich etwas unterfordert gefühlt – obwohl ich noch nie Kontakt mit Shopware hatte. Viele Strukturen sind zu Magento 1.x schon sehr ähnlich. Weiterlesen…

Warum ich WordPress keinem Anfänger empfehlen würde

Man liest immer mehr, dass WordPress für jeden geeignet ist. Fix mit FTP auf irgendeinen Billighoster geschoben oder mit einem Klick installiert, dann kann der Spaß auch schon losgehen. Am besten 10 Blogs nebeneinander auf das gleiche System. Dann braucht man nur noch ein Theme, muss ein paar Plugins zusammenklicken und am Ende hat man eine tolle Website, oder?

Würde ich so nicht sagen – für mich ist das ein großes Risiko. Jeder kann ohne Kontrolle Plugins zur Verfügung stellen. Ich kann als Entwickler in diese Plugins einbauen was ich möchte. Das muss nicht einmal bösartig sein. Viele „Entwickler“ reißen hierdurch große Sicherheitslücken in die Webseite. Das kann auch sehr großen PlugIns und (man könnte meinen) sehr erfahrenen Entwicklern passieren. Das beste Beispiel ist hier sicherlich der RevolutionSlider gewesen, welcher da draußen garantiert noch tausendfach ungepatcht im Einsatz ist. So wurde auch die Website eines Kunden komplett übernommen. Weiterlesen…

Magento 2 unter Docker betreiben & Debugging in PhpStorm

Mit Magento 2 habe ich zur Zeit mehrere Probleme – zum einen habe ich bisher immer mit MAMP (4.x) gearbeitet, wodurch zwar alles einigermaßen läuft, aber sicher nicht optimal ist. Für meine Magento 2 Projekte möchte ich lieber

  • mit PHP 7 arbeiten statt mit PHP 5.6 – das könnte man zwar immer in MAMP umstellen, nervt aber ungemein und vergisst man eh ständig
  • mit nginx statt Apache arbeiten – das könnte man auch immer im MAMP umstellen, aber wer macht das schon
  • Debugging sollte weiter wie bisher mit phpStorm funktionieren
  • Es muss schnell für andere Kollegen aufzusetzen sein ohne großen Konfigurationsaufwand

Und genau dafür bin ich jetzt auch auf den Docker-Zug aufgesprungen. Mit Docker bekommt man all diese Probleme gelöst. Und endlich nutzt dann auch jeder im Team die gleichen Versionen von PHP etc.

Ich erhoffe mir, dass das ewige Suchen nach der fehlenden Konfigurationseinstellung einfach entfällt. Dass man Systeme mit einem Fingerschnipp aufsetzen kann, ohne dass man dafür viel Wissen braucht.

Außerdem ist Docker mittlerweile auf einem echt guten Stand auf dem Mac. Die VM muss man nun nicht mehr umständlich über VirtualBox verwalten, sondern läuft einwandfrei im Hintergrund und wird von der Applikation selbst verwaltet. Genau das war mir immer ein Dorn im Auge, da das Datensharing in die Container auch nicht besonders schnell war. Weiterlesen…

Magento2 Entwicklungsumgebung einrichten – PhpStorm + MAMP

So langsam kommt Magento 2 ja an den Start – auch wir haben mittlerweile den ersten Magento 2 Shop online und so kommt es natürlich, dass immer mehr und mehr Entwickler in den Prozess einbezogen werden und von anderen Entwicklern lernen. Jetzt ist es natürlich so, dass wir ganz am Anfang stehen und genau jetzt noch die Chance haben, von Anfang an alles richtig zu machen. Das ist natürlich nicht so einfach, aber besser jetzt, als am Ende wieder alle abzuholen.

Die Problematik ist, auf allen Systemen den gleichen Stand des Projektes herzustellen. Alle sollen mit dem gleichen Workflow, den gleichen Tools und mit dem gleichen Code-Style arbeiten. Im Idealfall laufen bei jedem Commit dann noch Tools wie phpcs, phpmd oder jshint über den Code und finden „Fehler“ der Entwickler bevor der Stand total kaputt geht und wieder jeder in seinem eigenen Code-Style programmiert. Ich mag das z.B. überhaupt nicht aber Magento liefert einiges schon von Anfang an mit – man muss es nur nutzen! Weiterlesen…

Blog auf WordPress.com mit eigener Domain hosten

Die Schwester meiner Freundin möchte nun auch mit einem eigenen Blog „durchstarten“ – oder sie möchte erstmal einen haben. Nun habe ich noch einige Inklusivdomains bei allinkl und daher habe ich ihr Ihre Wunschdomain registriert. Soweit, so gut. Nun habe ich aber keine Lust noch eine weitere WordPress-Instanz auf meinem Server liegen zu haben, die ich am Ende selbst aktualisieren muss und mich um Sicherheit kümmern. Blöd also. Administrator Rechte würde Sie dort eh nicht bekommen, da es sehr spannend werden könnte, wenn Sie erfährt wie man PlugIns installiert und ausprobiert.

Daher der Schritt zum Hosting auf WordPress.com. Hier gibt es verschiedene Tarife, in denen teilweise auch eine Domain enthalten ist. Der erste Tarif mit 99 Euro im Jahr ist für ein bisschen Spielen meiner Meinung nach etwas überzogen. Möchte man den Free-Tarif nutzen und eine eigene Domain hinzufügen, berechnet WordPress dafür 13 Euro im Jahr (also mehr als doppelt so viel, wie die Domain selbst kostet).

Nun musste ich den Nameserver auf WordPress umstellen, damit alles auch richtig ankommt. Netterweise übernehmen die Jungs von WP die aktuellen Records, sodass man beispielsweise einem MX-Record (für Mailserver) nicht erneut per Hand setzen muss. Schon sehr komfortabel! Allerdings ist das Problem, dass man eine Nameserver-Änderung bei All-Inkl nicht selbst durchführen kann. Also musste ich den Support kontaktieren, welcher aber selbst am Sonntag Nachmittag die Änderung noch in die Wege geleitet hatte.

All-Inkl-DNS

Auf dieser Instanz hat man dann ein Backend, welches ganz anders aussieht als das „normale“ WordPress-Backend. Am Ende ist nur der Name und ein klein wenig der Bedienung gleich. Viel hat der Code sicher nicht gemeinsam (hoffe ich zumindest). Außerdem bekommt man 3GB Speicherplatz zur Verfügung gestellt und die netten Menschen von WordPress sichern die Seite auch noch automatisch mit einem SSL-Zertifikat von Lets Encrypt – nett.

Natürlich ist man etwas eingeschränkt. So kann man keine eigenen Themes hochladen oder PlugIns installieren und es kann nichtmal Analytics angebunden werden. Aber gut – man bewegt sich ja auch in einem kostenlosen Angebot.

Dafür belaufen sich die Gesamtkosten im Jahr eben auch nur auf 13 Euro. Und man hat am Ende sogar eine SSL-Gesicherte Seite. Allein für das Zertifikat habe ich vor kurzem über 80 Dollar ausgegeben (auf 2 Jahre). Wenn man also wirklich nur bloggen möchte, ist das bestimmt ein guter Start um sich mal etwas an die Materie heran zu testen.

Gerade das Thema Sicherheit ist bei WordPress extrem groß, und wenn man sich nicht sicher ist wie alles geht, muss man eben Profis dafür bezahlen. Und dann ist man schon innerhalb von einem Monat weit über 13 Euro hinausgeschossen. Also erst einmal überlegen was man wirklich braucht, bevor man am falschen Ende Geld ausgibt und dann nichtmal in der Lage ist alles zu administrieren.

Und nun: Happy Blogging.

WordPress to Jekyll – Migration und Fallstricke

Schon vor einiger Zeit hat Tobi gemeint, dass es doch eine ganz coole Idee wäre, das Blog webguys.de unter GitHub zu pflegen und so anderen zu erlauben, neue Blog-Beiträge per Pull-Request zu erstellen. Richtig Entwickler-Like eben. Wer seine Präsentation schon im git hat, der sollte auch seine komplette Website in einem Repo verwalten. Oder?

Nachdem ich dann vor einiger Zeit meinen Beitrag zu GitHub Pages geschrieben habe, hatte ich mich etwas näher mit Jekyll auseinander gesetzt. Dabei ist mir aufgefallen, dass genau hier wahrscheinlich die Lösung für die Idee von Tobi liegt. In diesem Beitrag möchte ich daher einmal Dokumentieren, wie gut oder schlecht das Ganze klappt. Und ob am Ende überhaupt etwas brauchbares heraus kommt. Scheinbar ist die Technologie auf dem aufsteigenden Ast – immerhin setzt Magento 2 mit der Dokumentation ebenfalls auf Jekyll. Auch hier kann man jede einzelne Seite mit einem Fork / Pull-Request bearbeiten.

Leider hat Tobi aber momentan nicht so die Lust sich in Jekyll einzuarbeiten und ist von der Technologie noch nicht so überzeugt – daher muss ich das wohl mit meinem Hausautomatisierungsportal machen. Auch nicht schlimm! Ist auch erstmal kleiner. Außerdem hat die Seite noch nicht so viele Kommentare… Die müsste man nämlich extern auslagern (z.B. zu Disqus).

Die Schwierigkeit besteht sicher darin, alles mit der gleichen Linkstruktur zu übernehmen um keine Einbußen bei Google zu haben. Ich bin gespannt – starten wir!

Grundgerüst

Im ersten Schritt habe ich einfach „View Page Source“ aufgerufen und alles in ein entsprechendes Template kopiert. Das ist natürlich auch DIE Chance, das Ganze HTML-Zeug gleich einmal aufzuräumen! Dabei fällt einem sicher das ein oder andere Verbesserungspotenzial auf! Die wenigen Bilder auf der Seite lade ich erst einmal herunter und übernehme soviel wie nur geht. Am Ende darf nirgendwo mehr die Domain auftauchen – gar nicht so einfach und erstmal eine Menge Arbeit! Puh…

Oder doch ganz anders… Also habe ich mir nach den ersten Schritten ein Bootstrap 3 Template gekauft und baue nun da drauf auf. Fühlt sich auch sauberer an und mit einem neuen Design geht auch gleich alles viel einfacher von der Hand (Soviel zur Theorie…). Das neue Theme habe ich dann erst einmal in seine Bestandteile zerlegt und ein erstes Layout mit den entsprechenden Includes zusammengeschustert.

Jekyll-Includes

So muss man nicht alles doppelt schreiben und kann die einzelnen Bestandteile immer wieder verwenden. Gerade der Header mit Logo, Navigation, etc. und der Footer sehen schließlich auf allen Seiten gleich aus. So hat man verschiedene Bausteine und kann diese zentral bearbeiten. Änderungen über die komplette Seite sind dabei also nach wie vor sehr einfach. Die Zeit, die man hier investiert, spart man am Ende auf jeden Fall. Eine saubere Struktur macht einem das Leben schonmal viel einfacher! Und gerade in Software-Projekten lege ich sehr viel Wert auf Ordnung, Wiederverwendbarkeit und Struktur.

Mit den Includes ist es mir dann relativ leicht gefallen, die folgenden Layouts zu erstellen. Ein Layout ist dabei die „fertige“ Seite, welche mit Daten gefüttert wird. Welches Layout genutzt werden soll, legt man im Kopf der einzelnen Seiten später fest.

Jekyll-Layouts

Dennoch müssen die alten Links ja weiter bestehen bleiben. Daher erstmal die ganzen Daten aus WordPress importieren. Weiterlesen…