Hallo! Ich bin Roger Pfaff.

Ich bin selbstständiger Drupal-Entwickler mit einem großen Interesse an selbstorganisierenden Systemen und Methoden, wie SCRUM und Holacracy. Ich setze mich für Open Source Software ein und nutze sie wann immer möglich.

Ach ja, man kann mich buchen. Ich biete meine Expertise in Beratung und in konkreter Arbeit an. Einfach kontaktieren!

Im Web gilt ja grundsätzlich das Einmal klicken Gesetz, was aber von vielen Benutzern gerne ignoriert wird und es wird mindestens doppelt, wenn nicht manisch auf den Submit Button geklickt, was bei vielen Anwendungen zu unerwünschten Folgen führt.

Drupal bietet im Core schon eine JS basierte Funktionalität, die das verhindert und die kann in jedes Frontend über die libraries.yml eingebunden werden.

Vor einigermaßen langer Zeit wurde von der Band Magic Juhnke ein Song rausgebracht, der da lautete: "The aim of design is to define spaces". Ewig hab ich nicht mehr an das Lied gedacht, aber in meiner Facilitator-Rolle und der Beschäftigung mit New Work ist mir aufgefallen, dass dieser Satz neu geschrieben werden kann.

The aim of facilitation is to create spaces."

Um die Abhängigkeiten in Drupal abbilden zu können benutzen wir Composer. Das ist auch klasse, wenn jedes Modul ein Release hat, das einfach so installiert werden kann. Doch oft genug kommt es vor, dass man doch auf ein dev Release zurückgreifen muss und wenn man dann einfach ein

Dieses Jahr ist ein Jahr in dem ich immer öfter empfohlen habe nicht agil zu arbeiten. Obwohl ich absoluter Fan von agilen Arbeitsweisen bin.

Bei einem Auftrag hatte ich mit Commerce Produkten zu tun, die von einer Drupalseite zur anderen migriert werden mussten. Die Produkttypen waren nur in Details unterschiedlich und die Quelle bestand aus einer Liste mit einem Mix der Typen. Anfangs dachte ich noch, dass ich hier verschiedene Migrationen oder auch ein eigenes Plugin schreiben müsste. Zum Glück aber macht die Migrate API ein "loose coupling" und ignoriert fehlende Felder im Ziel einfach. So konnte ich eine Migration für alle Typen schreiben, die trotzdem funktionierte. Danke, Migrate API!

Um bei einer Route wie /node/6/edit oder /user/2/edit die Entity ID zu bekommen musst du nicht mit arg() arbeiten oder so. Stattdessen rufst du einfach die Funktion routeMatch() auf und bekommst gleich noch das ganze Objekt zurück.

$node = \Drupal::routeMatch()->getParameter('node');

$user = \Drupal::routeMatch()->getParameter('user');

 

Vor etwas mehr als 20 Jahren, Mitte der 90er, las ich mal ein Buch mit dem Titel "Der Planet schlägt zurück: ein Tagebuch aus der Zukunft.". Das Buch ist heute nur noch schwer zu kriegen (ein paar Auszüge gibt es hier) und es war damals kurz vor der Jahrtausendwende für jeden ein Weltuntergang dabei. Der Datumswechsel für die IT-Branche und der allgemeine Weltuntergang, weil ein neues Jahrtausend anbricht, für allgemeine Sekten.

Das erste was ich auf diese Frage antworte ist: Die hohe Flexibilität.

Viele CMS geben dem Anwender eine sehr spezifizierte Erfahrung für die Verwaltung von Webinhalten. Als bestes Beispiel liese sich wohl Wordpress nennen, das auch heute noch den Ruf hat sehr spezifisch auf Blogger zugeschnitten zu sein.

Drupal versteht sich dagegen weniger als CMS, sondern als Content Management Framework.