Kolumne: Alles im Flow

Kolumne: Alles im Flow

Robert Lemke


Video: Hands on FLOW3 Abb. 1: Das neue TYPO3-Flow-LogoDenjenigen, denen die Orientierung mit all den neuen Namen noch schwer fällt, sei der Artikel zum Thema auf typo3.org empfohlen [2]. Weitere Namensänderungen sind übrigens nicht mehr zu erwarten, und neue Produktnamen lassen sich nun leicht in das Schema einbinden – oder wie wir Entwickler sagen: Das neue Namenskonzept skaliert besser.Von FLOW3 zu Flow 2.0Wer bereits mit Doctrine [3] gearbeitet hat, wird vielleicht schon von Schema-Migrationen gehört haben. Das Konzept dahinter ist so einfach wie einleuchtend: Wenn ich das Deployment meiner Applikation automatisieren möchte, muss ich auch das Datenbankschema von der aktuellen auf die neue Struktur umstellen können, ohne manuelle, mitunter riskante Änderungen vornehmen zu müssen. Hierfür werden die notwendigen SQL-Abfragen einfach in Form von Skripten bereitgestellt. Solche Skripte vermeiden unnötige Handarbeit und sorgen gleichzeitig für reproduzierbare Ergebnisse.Dieses Konzept haben wir einfach auf die Codeebene übertragen: Flow parst bestehenden Code und weiß, was zu tun ist, um ihn an ein verändertes API anzupassen. Die notwendigen Codeanpassungen werden schließlich in einem eigenständigen Changeset committet, inklusive aussagekräftiger Commit-Beschreibung. Letztere enthält auch einen Hinweis darauf, welche Codemigration zu dieser Änderung geführt hat – dadurch weiß Flow beim nächsten Mal, welche Migration bereits auf ein Paket angewendet wurde.In den meisten Fällen reicht der folgende Kommandozeilenbefehl aus, um ein Flow-1.x-Paket an Flow 2.0 anzupassen: ./flow core:migrate --package-key Acme.Demo.Welche Änderungen in der Datenbankstruktur notwendig sind und wie man bei der Migration genau vorgeht, hat Karsten Dambekalns in einem Blog Post [4] zusammengefasst.Composer in Flow 2.0Einen wichtigen Baustein für den Austausch von Paketen haben vor knapp einem Jahr Jordi Boggiano und Nils Adermann mit Composer [5] geliefert. Ähnlich wie etwa „apt“ in Debian-Systemen oder Bundler in Ruby-Projekten, verwaltet Composer Abhängigkeiten zwischen PHP-basierten Paketen und stellt mit packagist.org eine zentrale Sammlung relevanter Bibliotheken zur Verfügung. Das Paketsystem in Flow wurde mit der Version 2.0 nun komplett auf Composer umgestellt, was es Anwendungsentwicklern ermöglicht, sehr einfach neue Projekte zu starten und etwa auf Komponenten anderer Frameworks zurückzugreifen. Wer sich Composer noch nicht global installiert hat, kann dies mit zwe...

Kolumne: Alles im Flow

Kolumne: Alles im Flow

Robert Lemke


Video: Hands on FLOW3 Abb. 1: Das neue TYPO3-Flow-LogoDenjenigen, denen die Orientierung mit all den neuen Namen noch schwer fällt, sei der Artikel zum Thema auf typo3.org empfohlen [2]. Weitere Namensänderungen sind übrigens nicht mehr zu erwarten, und neue Produktnamen lassen sich nun leicht in das Schema einbinden – oder wie wir Entwickler sagen: Das neue Namenskonzept skaliert besser.Von FLOW3 zu Flow 2.0Wer bereits mit Doctrine [3] gearbeitet hat, wird vielleicht schon von Schema-Migrationen gehört haben. Das Konzept dahinter ist so einfach wie einleuchtend: Wenn ich das Deployment meiner Applikation automatisieren möchte, muss ich auch das Datenbankschema von der aktuellen auf die neue Struktur umstellen können, ohne manuelle, mitunter riskante Änderungen vornehmen zu müssen. Hierfür werden die notwendigen SQL-Abfragen einfach in Form von Skripten bereitgestellt. Solche Skripte vermeiden unnötige Handarbeit und sorgen gleichzeitig für reproduzierbare Ergebnisse.Dieses Konzept haben wir einfach auf die Codeebene übertragen: Flow parst bestehenden Code und weiß, was zu tun ist, um ihn an ein verändertes API anzupassen. Die notwendigen Codeanpassungen werden schließlich in einem eigenständigen Changeset committet, inklusive aussagekräftiger Commit-Beschreibung. Letztere enthält auch einen Hinweis darauf, welche Codemigration zu dieser Änderung geführt hat – dadurch weiß Flow beim nächsten Mal, welche Migration bereits auf ein Paket angewendet wurde.In den meisten Fällen reicht der folgende Kommandozeilenbefehl aus, um ein Flow-1.x-Paket an Flow 2.0 anzupassen: ./flow core:migrate --package-key Acme.Demo.Welche Änderungen in der Datenbankstruktur notwendig sind und wie man bei der Migration genau vorgeht, hat Karsten Dambekalns in einem Blog Post [4] zusammengefasst.Composer in Flow 2.0Einen wichtigen Baustein für den Austausch von Paketen haben vor knapp einem Jahr Jordi Boggiano und Nils Adermann mit Composer [5] geliefert. Ähnlich wie etwa „apt“ in Debian-Systemen oder Bundler in Ruby-Projekten, verwaltet Composer Abhängigkeiten zwischen PHP-basierten Paketen und stellt mit packagist.org eine zentrale Sammlung relevanter Bibliotheken zur Verfügung. Das Paketsystem in Flow wurde mit der Version 2.0 nun komplett auf Composer umgestellt, was es Anwendungsentwicklern ermöglicht, sehr einfach neue Projekte zu starten und etwa auf Komponenten anderer Frameworks zurückzugreifen. Wer sich Composer noch nicht global installiert hat, kann dies mit zwe...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang