Kategorien
Wochenbericht

Wochenbericht 2020.24

  1. Is putting JWTs in local storage „bad“?
  2. Overiew of the latest Node features from versions 12 through 14
  3. PNGHUT – millions of handpicked free, transparent PNG images
  4. CSS Grid example of a responsive newspaper layout
  5. Senkung des Mehrwertsteuersatzes im Rahmen des Konjunkturpakets – Die Umsetzung in Pimcore

Was zum Lachen: Pair Programming

Kategorien
Wochenbericht

Wochenbericht 2018.35

  1. Vue.js Login Component with Spinner
  2. Pimcore 5.4 – Pimcore is now a Composer Library
  3. Wie DSGVO-konform ist die Azure-Cloud von T-Systems?
  4. No need to code your webpage yourself, says Microsoft – draw it and our AI will do the rest
  5. How to Use Vue.js and Axios to Display Data from an API

Was zum Lachen: Wie man ein Floß baut ohne …

Kategorien
Wochenbericht

Wochenbericht 2018.34

  1. How to use Laravel Mix in Non-Laravel-Projects (letztendlich kann man das ganze auch auf laravel-mix.com nachlesen, wir haben das bei einem Pimcore-Projekt mal getestet und es läuft.)
  2. Agil leben im digitalen Kapitalismus. Teil 1 – Der neue alte Geist des Kapitalismus
  3. Agil leben im digitalen Kapitalismus. Teil 2 – Mit dem Bedingungslosen Grundeinkommen den nächsten Sprint schaffen
  4. Vue.js SEO-Friendly SPAs: Tips, Tools & Prerender Example
  5. Wes Bos erklärt CSS Grid in 45 Minuten. Auf der Laracon.

Was zum Lachen: „Implementation„. An die Entwickler, die jetzt an Witze über node_modules-Verzeichnisse, die Schwarze Löcher verschlucken denken: Schaut mal in PHP-Projekten den vendor Ordner an. Oder in Ruby-Projekten in den Gems-Ordner. Oder bei Python und Go in die jeweiligen Dependencies. Hat hier jemand Java gesagt? 😉

Kategorien
Changelog Releases Webentwicklung Werkzeuge

pimcore 4.4.x

Ich hatte ja schon vor einer Weile mal Artikel zum Thema pimcore veröffentlicht. Damals habe ich, ganz besonders unter „Was ist pimcore und wofür brauche ich das?“ an einigen Stellen kein gutes Haar gelassen.

Die Erfahrungen, die ich mit den frühen Versionen von pimcore gesammelt habe, was das Thema Anpassung des Datenmodells bei einer Weiterentwicklung eines Projekts in verschiedenen Entwicklungsstufen angeht, habe ich damals stark kritisiert.

Innerhalb dieser 1,5 Jahre seit Erscheinen des Artikels hat sich einiges verändert, eigentlich ziemlich konstant zum Guten hin.

Unter diesen Umständen habe ich pimcore neu evaluiert und bin zu dem Entschluss gekommen, dass das ganze durchaus eine neue Chance verdient hat und sicher bei dem einen oder anderen Projekt in Zukunft zum Einsatz kommen wird.

Kategorien
Allgemein

Was ist pimcore und wofür brauche ich das?

Ich habe mich, wie ich neulich schon geschrieben habe, in der letzten Zeit ein wenig mit pimcore auseinander gesetzt. Aber was genau ist pimcore und wofür kann man es benutzen?

The Good & the Bad

Laut Eigenaussage kann/ist pimcore folgendes:

Natürlich ist da viel Marketing dabei. Primär kann man mit pimcore recht einfach und flexibel, Seiten erstellen, deren Inhaltsbasis Modularer, vernetzter Content ist. Die Einstiegshürde ist die Nutzung des Zend-Frameworks, der Rest ist im Beispielcode recht gut dargestellt und ermöglicht es auch unerfahreren PHP-Entwicklern, sich kurzfristig in die Funktionalität hineinzudenken.

Zu glauben, pimcore wäre ein fertiges CMS (im WordPress’schen Sinne), ist leicht vermessen: es gibt keine fertigen Templates, sondern ein eigenes Design. Die Templatesprache ist PHP. WordPress hat Templates ohne Ende, mit Plugins und Themes kann man sich da leicht einen funktionalen Overkill einfahren, Funktionalität für den Besucher muss man mit pimcore selbst bauen. Drupal kommt dem Denkprinzip von pimcore da schon recht nahe, aber hier legt das Neulings-CMF aus Österreich eine deutlich striktere Trennung vor: Adminbereich und Besucher-Frontend werden hier von Anfang an sauber getrennt.

Dazu kommt, dass pimcore die Schnittstellenorgel rauf und runter spielt. Die Daten der Objekte lassen sich unter anderem per XML und JSON-Schnittstellen abrufen und modifizieren. Das ist gut und praktisch, wenn man Websites und Apps aus der gleichen Datenbasis bespielen will.

The ugly

Leider gilt das nicht für die initiale Konfiguration des Systems. In den Templates fragt man Objekte und Klassen ab, die in der Datenbank und nicht auf Code-Ebene generiert werden. Die Klassendateien werden aus dem Admin-Backend gefüllt. Statische Routen werden in der Datenbank angelegt. Die Klassendefinitionen werden teils-teils abgebildet.

Aus Entwicklungssicht ist das relativ ungünstig, weil die Datenbank in der Regel nicht Teil des versionierten Codes von pimcore ist, und zentrale Dinge wie die statischen Routen, die z.b. in der $view->url()-Funktion benötigt werden, damit nicht im Webprojekt-Code vohanden sind. Das sind Dinge, die bei WordPress mittlerweile deutlich besser funktionieren. Mit diesem etwas komischen Gefühl stehe ich glücklicherweise aber nicht alleine da, denn hier kann ein einzelnder Nutzer mit Admin-Rechten (nicht Server-Zugang) mit ein wenig Ungeschick und unwissen, die Website kaputtmachen. Vielleicht wird sich das mit kommenden Versionen noch geben.

Aber nicht nur die Routen, auch die Klassenbibliothek lässt sich nicht rein aus dem Code erzeugen, ohne Gegenstück in der Datenbank sind die Klassendateien für das Aufsetzen eines Projekts eher zwecklos. Ein Import geht, soweit ich das sehe, nur, wenn ich die Datentypen vorher im Admin-Backend aus der Klasse exportiert habe, eine Übernahme der Daten auf Codebasis geht nicht.

Fazit

Wer mit den oben angesprochenen „häßlichen“ Teilen leben kann, bekommt mit Pimcore ein flexibles Werkzeug an die Hand, mit dem sich datenbasierte Websites und Apps vergleichsweise einfach und schnell umsetzen lassen.