Pimcore vs. Typo3

Womit fällt der Einstieg leichter?

Heute hab ich euch etwas ganz spannendes mitgebracht. Wir gucken uns das alteingesessene, für seine Flexibilität gelobte, Content Management System Typo3 an und schauen mal, ob das gut 14 Jahre jüngere Pimcore dabei mithalten kann.

Das ganze soll schön greifbar und knackig sein, deswegen werde ich euch anhand von Beispielen zeigen, wie man mit den beiden Systemen arbeitet. Also im Prinzip schauen wir uns hier zwei Tutorials für die beiden Systeme nebeneinander an. Dazu gibt es dann noch einen Klecks meiner Erfahrungen aus der Arbeit mit den Systemen und ein Spritzer meiner Meinung oben drauf. Damit habt ihr dann hoffentlich alles was ihr braucht um eine fundierte Entscheidung zu treffen.

In diesem ersten Teil, gibt es einmal einen kleinen, nicht zu technischen, Überblick über die Systeme und wir schauen uns mal an, wie man sie installiert.

 

Bin ich hier richtig?

  • Du hast Erfahrung mit Webentwicklung?
  • Du findest dich in der Konsole zurecht?
  • Du weißt wie man PHP-Extensions installiert oder weißt wie man google benutzt?
  • Du kannst dir einen PHP-fähigen Web-Server zum Entwickeln aufsetzen?
  • Du willst mehr über Pimcore (6.6) oder Typo3 (9.5) lernen?

Fühlst du dich angesprochen? Dann bist du hier auf jeden Fall richtig.

 

Warum gerade diese Systeme?

Um Pimcore kommt man hier bei Leanatic nicht rum - immerhin ist es unsere Core-Technologie. Und da ich erst seit Anfang des Jahres Teil des Teams bin sind meine ersten Eindrücke noch ganz frisch.

Typo3 hingegen wollte ich schon immer mal ausprobieren. Mit meinen Wurzeln in der WordPress Entwicklung wurde es mir als das Wunder-CMS, welches die ganz großen Firmen nutzen, angepriesen - nicht zu vergleichen mit WordPress. Tjoar und wie es der Zufall so wollte, kam dann neulich eine Gelegenheit um die Ecke wo ich mir dieses CMS auch mal ansehen konnte. Mit der Aussicht auf Pizza und Bier von meinem Chef war die Sache dann gebongt.

Und jetzt schreib ich euch einen Artikel wie das denn so war den Einstieg in Pimcore und Typo3 zu finden.

 

Darf ich vorstellen?

Pimcore

Pimcore ist mit seiner Erscheinung im Jahr 2013 deutlich jünger als Typo3. Basierend auf dem allseits bekannten Symfony-Framework bietet es - ich möchte fast sagen: “Alles was das Herz begehrt.” Denn Pimcore ist nicht einfach nur ein CMS, sondern vor allem ein Product Information Management, also ein PIM-System. Darüber hinaus bietet es auch Digital Asset Management (DAM), Master Data Management (MDM), eine Digital Experience Platform (DXP) und ein eingebautes Commerce-System - um euch mal ein paar Buzzwords an den Kopf zu werfen. Damit hat es Typo3 einiges voraus in Sachen Out-Of-The-Box Funktionalität. Wobei Out-Of-The-Box hier aber nicht heißt, dass man sich alles ohne Programmierkenntnisse zusammenklicken kann. Es versteht sich als Framework für Entwicklern und hat den Anspruch diese bei der Implementierung der genannten Funktionalitäten bestmöglich zu unterstützen. Damit habe ich es als sehr fähig und flexibel kennengelernt.

Es ist kostenlos unter der GPLv3 Lizenz zu haben, was es zu einer charmanten Alternative zu anderen PIM-Systemen macht. Denn es müssen keine Lizenzgebühren entrichtet werden.

Typo3

Das Urgestein unter den CMS? Man könnte es meinen, denn 1998 ist es erschienen. Damit ist es nur 4 Jahre jünger als ich.

Typo3 ist ein reines CMS, würde ich mit meinem gefährlichen Halbwissen sagen. Klar, wenn man will, kann man dank der Extension-basierten Architektur wahrscheinlich auch alles mit dem System machen, was man mit Pimcore frei haus geliefert bekommt. Sicher hilft hierbei die Typo3 Community, welche eine große Auswahl an frei verfügbaren Erweiterungen bietet. Besonders hervorzuheben sind hier denke ich die vhs, flux und fluid-pages Erweiterungen, da diese wohl den Standard in der Typo3-Entwicklung darstellen. Mit denen werden wir uns noch genauer in den kommenden Artikeln beschäftigen.

Was ich oft über Typo3 gehört habe, ist, dass die Lernkurve extrem flach ist. Also viel Zeit, wenig gelernt. Und so ging es mir auch. Ich habe gefühlt zwei Wochen lang die sehr umfangreiche Dokumentation gewälzt ohne wirklich zu wissen, wie ich jetzt loslege. Denn die Dokumentation ist zwar umfangreich, aber wenig praktikabel. Auch Tutorials oder Guides konnte ich zu einer aktuellen Version nicht finden.

Ähnlich wie Pimcore ist es frei unter der GPLv2-Lizenz verfügbar.

 

Ich will mitmachen, was brauch ich?

Ich hab euch auch eine schöne Liste mitgebracht, wo das alles noch mal übersichtlich drin steht. An Packages braucht ihr erstmal nur diese hier:

  • PHP >= 7.2
  • Composer >= 1.10
  • Einen Webserver deines Vertrauens; Ich selber benutze MAMP PRO. 

Auf gehts.

 

Lass uns mal installieren

Dieser Artikel ist fair, dieser Artikel ist lieb und gerecht. Also werden hier auch alle Systeme gleich behandelt und via composer installiert. Für Typo3 gibt es zwar noch andere Wege, die sind dann Hausaufgabe zu nächster Woche.

Pimcore

So wie ich Pimcore kennengelernt habe, braucht ihr bestimmt noch ein paar Php-Erweiterungen auf eurem System. Welche genau könnt ihr in der  Dokumentation nachlesen, oder einfach so oft composer install ausführen, den Error-Log checken, fehlende Packages nachinstallieren, bis es ohne Probleme durchläuft.

Eine Sache ist noch wichtig: Pimcore mag eure Datenbank nur benutzen, wenn ihr utf4mb4 als Collation eingestellt habt. Ich nehm immer utfmb4_bin. Ja, ja, die Backendler, unter euch schreien jetzt bestimmt auf dass das aber nicht immer optimal ist. Aber ich kann euch leider nicht hören, mein Webpack bundelt zu laut. 

Und dann gehts folgendermaßen:

  1. Code mit Composer installieren:
    COMPOSER_MEMORY_LIMIT=-1 composer create-project pimcore/skeleton hello-pimcore "6.6.*"
    Das Memory-Limit ist hier deaktiviert, so wie es die Dokumentation empfiehlt, und ich empfehle das auch.
  2. Nun müsst ihr euren Web-Server so einstellen, dass er das web-Verzeichnis im hello-pimcore-Ordner ausliefert. In MAMP ist das einmal hier klicken, dann da was eingeben, hier klicken und den Ordner da wählen, und dann da klicken. Alles klar?
  3. In dem hello-pimcore-Ordner können wir jetzt Pimcore installieren und zwar so:
    php vendor/bin/pimcore-install 
    Pimcore fragt euch dann nach den Admin-Login-Daten und eurem Datenbankzugang.
  4. Dann könnt ihr euch im Browser unter /admin mit euren angegebenen Daten einloggen. Bei mir sieht die Adresse dann so aus: http://local.hello-pimcore.com/admin

Und schon habt ihr Pimcore installiert und euch das erste Mal in die Administrations-Oberfläche eingeloggt. Klasse!

War doch gar nicht so schwer, oder? So und jetzt das ganze nochmal, aber anders, mit Typo3 halt.

Typo3

Typo3 wünscht sich auch ein paar bestimmte Sachen, aber im Normalfall funktioniert es auch erstmal ohne. Das macht ihr aber bitte nicht so mit einem Live-System, versprecht ihr mir das?

Wenn ihr meint, dass ihr alles habt, dann kanns ja losgehen:

  1. Wieder Code mit Composer installieren:
    composer create-project typo3/cms-base-distribution hello-typo3 "9.5.*"
  2. Wieder müsst ihr euren Web-Server so einstellen, dass er das public-Verzeichnis ausliefert.
  3. Jetzt können wir Typo3 installieren:
    1. Dazu müssen wir im hello-typo3/public-Verzeichnis eine Datei namens FIRST_INSTALL anlegen:
      touch hello-typo3/public/FIRST_INSTALL
    2. Jetzt könnt ihr im Browser den Web-Installer aufrufen. Der fragt euch dann auch nach Login-Daten für den Administrator und wie der Zugang zu eurer Datenbank ist.
      Es kann sein das Typo3 nicht ganz zufrieden mit den Einstellungen eures Servers ist. Das wird er euch dann hier anzeigen. Aber das könnt ihr normalerweise ignorieren.
  4. Dann könnt ihr euch im Browser unter /typo3 mit euren angegebenen Daten einloggen. Bei mir sieht die Adresse dann so aus: http://local.hello-typo3.com/typo3

Und schon habt ihr auch Typo3 mal installiert und euch in die Administrations-Oberfläche eingeloggt. Prächtig!

 

Fazit

Mensch, ihr habt es bis hierhin geschafft! Ich bin stolz auf euch! Oder ihr habt es eilig und habt einfach runter gescrollt. In dem Fall bin ich auch stolz auf euch! Gut gescrollt!

Das ist aber noch kein Fazit, ich weiß. Tja, also bis hierhin würde ich sagen sind beide Systeme ziemlich gleich auf. Dokumentiert ist das für beide System auch ganz gut auf deren Webseiten. Sagen wir Gleichstand? Kann man sich drauf einigen.

Aber schaltet nächste Woche wieder ein, da wird es dann richtig spannend! Wir gehen ans eingemachte und schauen mal, wie man denn jetzt seinen Content mit den Systemem managed. Und da wird das Fazit dann - so viel kann ich verraten - anders ausfallen.

Automatisierung

Aber halt, nicht ganz! Denn falls ihr diesen Prozess automatisieren wollt, bietet Typo3 euch keine mitgebrachte Lösung an. Der Pimcore-Installer hingegen wird ja sowieso schon über die Konsole ausgeführt. Kein Problem also den in einem Script, einer .gitlab-ci.yml oder so zu benutzen. Alles, was wir per Hand eingegeben haben, kann nämlich auch direkt als Parameter angegeben werden. Voll unkompliziert und klasse. Ich mag sowas.