Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Warum wir bei t3n.de auf das Flow Framework setzen

Warum wir bei t3n.de auf das Flow Framework setzen

Ein Einblick in die Nutzung des Flow Framework bei yeebase media - dem Medienhaus hinter t3n.de und dem t3n Magazin.

Martin Brüggemann

April 14, 2016
Tweet

Other Decks in Technology

Transcript

  1. Warum wir bei t3n.de auf das Flow Framework setzen
    Martin Brüggemann, Co-Founder & CTO yeebase media GmbH

    #meetneos Nürnberg 14.04.2016

    View Slide

  2. INHALT
    ‣ Über t3n & meine Person
    ‣ Unsere Anforderungen an ein PHP-Framework
    ‣ Flow Framework als Default-Lösung
    ‣ Umgesetzte Projekte
    ‣ Showcase Gurumanage (ERP)
    ‣ Ausblick
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK

    View Slide

  3. ÜBER T3N & MEINE PERSON
    Martin Brüggemann
    ‣ verheiratet, 2 Kinder, Dipl. Inf-wirt. (FH)
    ‣ Co-Founder & CTO yeebase media GmbH/
    t3n Magazin
    ‣ 16 Jahre PHP- & Webentwicklung
    ‣ Schwerpunkte: Kanban, Scrum, Business-
    Anwendungen, PHP-Entwicklung, DevOps,
    R&D
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK

    View Slide

  4. ÜBER T3N & MEINE PERSON
    yeebase media GmbH
    ‣ Firma hinter t3n, gegründet 2005
    ‣ Gründer: Andy Lenz, Jan Christe, Martin
    Brüggemann
    ‣ Firmensitz Hannover
    ‣ >40 Mitarbeiter
    ‣ 100% inhabergeführt
    ‣ Produkte: t3n Magazin und t3n.de
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK

    View Slide

  5. ÜBER T3N & MEINE PERSON
    t3n Magazin (Print)
    ‣ Printmagazin für digitales Business
    ‣ 4 Ausgaben pro Jahr
    ‣ Druckauflage: 38.000
    ‣ >12.000 Abonnenten
    ‣ Vertrieb online & im Handel DE/AT/CH
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK

    View Slide

  6. ÜBER T3N & MEINE PERSON
    t3n.de (Online)
    ‣ Newsticker mit ca. 30 News/Tag
    ‣ ca. 3 Mio Visits/Monat
    ‣ Jobbörse & Firmenverzeichnis
    ‣ Heftarchiv mit allen Artikeln aus dem t3n
    Magazin
    ‣ Suche, Themen-Seiten, Userprofile,…
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK

    View Slide

  7. ca. 3 Mio+

    Visits/Monat

    Website
    ca. 1 Mio+

    Visits/Monat

    Website Mobile
    60.000+

    Empfänger

    Newsletter
    42.000+

    Views/Monat

    Video
    35.000+

    Druckauflage

    Magazin
    105.000+

    Follower
    115.000+

    Fans
    95.000+

    Follower
    ÜBER T3N & MEINE PERSON
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK

    View Slide

  8. ÜBER T3N THEMEN POSITIONIERUNG LESER REICHWEITE LEISTUNGEN PREVIEW
    Unsere Anforderungen an ein 

    PHP-Framework
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK

    View Slide

  9. UNSERE ANFORDERUNGEN
    ‣ viele PHP-Projekte auf unterschiedlicher technischer Basis
    ‣ „Historische Projekte“ aus Gründerzeiten
    ‣ hoher Wartungsaufwand (Stabilität, Updates, Security,..)
    ‣ starkes Wachstum im Unternehmen
    ‣ neue Mitarbeiter, hoher Schulungsaufwand, wenig Konventionen
    ‣ keine gemeinsame Sprache
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK
    Ausgangssituation:

    View Slide

  10. UNSERE ANFORDERUNGEN
    ‣ Stabilität & Skalierbarkeit
    ‣ Standardisierung
    ‣ Qualität
    ‣ Erweiterbarkeit
    ‣ Community, Support, Events in DE
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK
    Suche nach dem neuen Framework:

    View Slide

  11. UNSERE ANFORDERUNGEN
    Das neue Framework sollte:
    Durch klare Konventionen und geschickte
    Abstraktion dafür sorgen, dass wir als Team
    komplikationsfrei und schnell hochwertige
    Projekte umsetzen können.
    Beispiel: ORM vs. SQL
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK

    View Slide

  12. UNSERE ANFORDERUNGEN
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK
    ‣ Maintenance-Last im Entwickler-Alltag verringern
    ‣ Wissensaustausch im Team fördern
    ‣ Freiräume für Features & neue Projekte
    ‣ weniger „Lowlevel-Kram“ diskutieren
    ‣ besseres Gefühl im Entwicklerteam
    Übergeordnete Ziele:

    View Slide

  13. ÜBER T3N THEMEN POSITIONIERUNG LESER REICHWEITE LEISTUNGEN PREVIEW
    Flow Framework als Default-Lösung
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK

    View Slide

  14. FLOW FRAMEWORK ALS DEFAULT-LÖSUNG
    FLOW3 (seit 2007) wird zu
    TYPO3 Flow (seit 2013) wird zu
    Flow Framework (seit 2015)
    Inzwischen ein Produkt des Neos Projekts 

    und technische Basis des Neos CMS
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK
    Die Sache mit dem Namen:

    View Slide

  15. FLOW FRAMEWORK ALS DEFAULT-LÖSUNG
    ‣ seit 2009 in Entwicklung
    ‣ Grundgerüst für komplexe Business-Projekte
    ‣ hoher Qualitätsanspruch (RFCs, Core-Migrations,..)
    ‣ modern & zukunftssicher (PHP7, DDD, AOP, DI, JobQueue,..)
    ‣ gute Packages (z.B. Media-Package, Amazon S3, Beanstalk..)
    ‣ mit Neos CMS kombinierbar (z.B. für Content Commerce,..)
    ‣ TOP-Community aus Entwicklern, Core-Support & Agenturen in DE
    PRO Flow Framework:
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK

    View Slide

  16. FLOW FRAMEWORK ALS DEFAULT-LÖSUNG
    ‣ nichts, um schnell mal was „dreckig hinzubauen“
    ‣ aktuell noch relativ unbekannt, kein Logo, kein Marketing,…
    ‣ erfordert Einhaltung von Konventionen
    ‣ bei geringen Anforderungen vergleichsweise langsam (z.B. in
    Benchmarks)
    ‣ mächtiges Werkzeug, schwieriger Einstieg
    CONTRA Flow Framework:
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK

    View Slide

  17. FLOW FRAMEWORK ALS DEFAULT-LÖSUNG
    „Da hat Flow wieder irgendeine heftige
    Magic im Hintergrund gemacht“
    Entwickler bei t3n
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK

    View Slide

  18. FLOW FRAMEWORK ALS DEFAULT-LÖSUNG
    ‣ versucht es dem Entwickler so einfach wie möglich zu machen
    ‣ generiert viele Klassen im Hintergrund
    ‣ erlaubt allen möglichen „fancy Stuff“ (Fluch & Segen zugleich)
    Die „Magic“ des Flow Framework:
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK

    View Slide

  19. FLOW FRAMEWORK ALS DEFAULT-LÖSUNG
    ‣ Eine Aufgabe (z.b. PDF-generieren) soll nicht synchron sondern
    asynchron im Hintergrund ausgeführt werden.
    Beispiel für den Einsatz von AOP:
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK
    /**
    * PDF generation for the $user
    * @Job\Defer(queueName="pdf")
    * @return void
    */
    public function generatePdfForUser($user) {

    }
    Durch Hinzufügen der Annotation @Job\Defer wird die PDF-Generierung
    automatisch asynchron ausgeführt. #magic

    View Slide

  20. ÜBER T3N THEMEN POSITIONIERUNG LESER REICHWEITE LEISTUNGEN PREVIEW
    Umgesetzte Projekte
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK

    View Slide

  21. UMGESETZTE PROJEKTE
    Shipr - Versandhandling
    ‣ webbasiert + REST-API
    ‣ DHL Intraship-Schnittstelle
    ‣ mandantenfähig
    ‣ PDF-Generierung (Apache FOP):

    - Packlisten

    - Anschreiben

    - Paketaufkleber
    ‣ >15.000 Sendungen seit Launch
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK

    View Slide

  22. UMGESETZTE PROJEKTE
    Bookr - Buchungssystem
    ‣ webbasiert Buchungen für t3n.de
    und t3n Magazin verwalten
    ‣ Werbezonenplanung
    ‣ Auslastungsanzeige
    ‣ Daten-Workflows (z.B. Banner)
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK

    View Slide

  23. UMGESETZTE PROJEKTE
    t3n.de/firmen
    ‣ Firmenverzeichnis
    ‣ Live-Editing
    ‣ Elasticsearch & Filter
    ‣ Kopplung mit t3n.de/store
    ‣ Kopplung mit t3n.de-SSO
    ‣ Amazon S3 Integration
    ‣ JobQueue für aufwendige Tasks
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK

    View Slide

  24. UMGESETZTE PROJEKTE
    t3n.de/store
    ‣ dediziertes Shop-Frontend-Projekt
    ‣ keine Backend-Logik (kommt per
    HAL-API vom ERP)
    ‣ maximaler Fokus auf UX &
    Conversions
    ‣ Aussteuern von Landingpages &
    Kampagnen
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK

    View Slide

  25. ÜBER T3N THEMEN POSITIONIERUNG LESER REICHWEITE LEISTUNGEN PREVIEW
    Showcase Gurumanage-ERP
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK

    View Slide

  26. SHOWCASE GURUMANAGE-ERP
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK
    ‣ 7 Jahre altes Shop-System (Eigenentwicklung, TYPO3 FE-Plugin):

    16.383 Zeilen PHP-Code in einer Datei
    ‣ kritisches System
    ‣ hoher Truck-Faktor
    ‣ Refactorings & neue Features nahezu unmöglich
    Ausgangssituation (2012):

    View Slide

  27. SHOWCASE GURUMANAGE-ERP
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK
    Wie sollte das neue (coole) ERP aussehen?

    View Slide

  28. SHOWCASE GURUMANAGE-ERP
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK

    View Slide

  29. SHOWCASE GURUMANAGE-ERP
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK
    „Das haben schon ganz andere Leute versucht
    und sind gescheitert!“
    Feedback eines anderen Verlegers

    View Slide

  30. SHOWCASE GURUMANAGE-ERP
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK
    „Wir haben unseren ERP-Eigenlösungsversuch
    nach 3 Jahren eingestampft.“
    Noch ein Feedback eines Verlegers

    View Slide

  31. SHOWCASE GURUMANAGE-ERP
    Gurumanage - ERP
    ‣ mandantenfähig
    ‣ sämtliche Kunden-, Produkt- und
    Backend-Logik
    ‣ Payment & Versand
    ‣ Fakturierung & Mahnwesen
    ‣ Buchungsverwaltung (z.B: Abos)
    ‣ Kopplung mit t3n.de-SSO
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK

    View Slide

  32. SHOWCASE GURUMANAGE-ERP
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK
    ‣ Flow Framework als PHP-Grundgerüst
    ‣ nginx, PHP 5.6, MySQL-Server, Memcache, Redis,…
    ‣ Elasticsearch
    ‣ Beanstalk & Supervisor
    ‣ Pjax für maximalen Frontend-Speed (UX)
    ‣ Apache FOP für PDF-Generierung
    Verwendete Technologie:

    View Slide

  33. SHOWCASE GURUMANAGE-ERP
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK
    Einblicke in Gurumanage

    View Slide

  34. SHOWCASE GURUMANAGE-ERP
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK
    Kundenverwaltung:
    ‣ Alle Aktionen eines Kunden auf
    einen Blick:

    Abos, Aufträge, Rechnungen,…
    ‣ Adressverwaltung, Zahlungsarten,
    weitere Kundendaten
    ‣ Kopplung mit t3n.de-Account und
    t3n.de-Store
    ‣ Audit-Log

    View Slide

  35. SHOWCASE GURUMANAGE-ERP
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK
    Produktverwaltung:
    ‣ intelligente Produkttypen
    (Standard, Intervall,
    Subscription)
    ‣ Produkt-Zyklen & Hierarchien
    ‣ virtuelle und echte Produkte
    ‣ Default-Prämien für Produkte
    ‣ MwSt-Handling, XML-Export,…

    View Slide

  36. SHOWCASE GURUMANAGE-ERP
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK
    ProductRemoteObjects:
    ‣ etwas, das geschaltet werden
    soll: z.B.„PHP-
    Developer“ (id=20893,
    product=Stellenanzeige)
    ‣ Gurumanage kennt alle
    ProduktRemoteObjects inkl.
    Metadaten
    ‣ neue Portale/Produktideen
    einfach integrierbar

    View Slide

  37. SHOWCASE GURUMANAGE-ERP
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK
    Kampagnenmodul:
    ‣ Verwalten von Marketing-
    Kampagnen
    ‣ Landingpages (inkl. Grafiken)
    ‣ Gutscheincodes
    ‣ individuelle Rabatte und Prämien
    ‣ Produkt-Whitelist, Conversion-
    Tracking,..

    View Slide

  38. SHOWCASE GURUMANAGE-ERP
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK
    Auftragsmodul:
    ‣ Auftragserfassung über HAL-API
    ‣ manuelle Auftragserfassung
    ‣ Gutscheine, Rabatte, Prämien
    ‣ Zahlungstypen (gratis, direct,
    extern abgerechnet,..)
    ‣ Audit-Log & Kommentare

    View Slide

  39. SHOWCASE GURUMANAGE-ERP
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK
    Buchungsmodul:
    ‣ Abos & Online-Subscriptions
    ‣ Produkte mit individuellen Addons
    (z.B. Tweet zur Stellenanzeige,
    Printeintrag,..)
    ‣ einmalige Laufzeit (z.B. ein Jahr)
    ‣ Gratis-Buchungen
    ‣ Upgrades & Downgrades

    View Slide

  40. SHOWCASE GURUMANAGE-ERP
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK
    HAL-API (REST-API + Magic):
    ‣ optimale Erweiterbarkeit
    ‣ Integration von Fremdsystemen
    ‣ Definition per Settings.yaml
    ‣ integrierter API-Browser in
    Gurumanage
    ‣ modulares HAL-API-Client-Package

    View Slide

  41. SHOWCASE GURUMANAGE-ERP
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK
    ‣ t3n.de-Portale über HAL-API und Webhooks
    ‣ Payone als Payment-Provider
    ‣ Mailjet für Mailversand
    ‣ Exception-Tracking an Graylog-Server
    ‣ Helpscout-Integration
    ‣ CSV-Exporte (Buchhaltung, Versand,…)
    ‣ Shipr für Nachversandhandling
    Integrationen:

    View Slide

  42. SHOWCASE GURUMANAGE-ERP
    ÜBER T3N ANFORDERUNGEN FLOW FRAMEWORK PROJEKTE BEISPIEL ERP AUSBLICK
    ‣ Entwicklung seit 2012, Livegang 2014
    ‣ größter Schmerz = Altdatenmigration
    ‣ zahlreiche Refactorings seit Launch
    ‣ Truck-Faktor deutlich verbessert
    ‣ Flow-Framework-Updates erstaunlich schmerzfrei
    ‣ oft schlecht gebautes Domain Model/Doctrine2 als Flaschenhals
    Projektfakten & Learnings:

    View Slide

  43. ÜBER T3N THEMEN POSITIONIERUNG LESER REICHWEITE LEISTUNGEN PREVIEW
    Ausblick

    View Slide

  44. AUSBLICK
    ‣ Gurumanage weiter modularisierten & refactoren (Microservices,
    Event-Sourcing).
    ‣ Weitere t3n.de-Projekte mit Flow Framework umsetzen:

    - t3n.de/jobs Rewrite

    - t3n.de/firmen v2
    ‣ Flow Framework in Verbindung mit Neos CMS testen (z.B. für
    t3n.de/store)
    ‣ Noch mehr unserer Flow-Packages veröffentlichen
    ‣ Showcases, Howtos & Erfahrungen teilen
    ÜBER T3N ANFORDERUNGEN PROJEKTE FLOW FRAMEWORK BEISPIEL ERP AUSBLICK

    View Slide

  45. ÜBER T3N THEMEN POSITIONIERUNG LESER REICHWEITE LEISTUNGEN PREVIEW
    Vielen Dank.
    Bei Fragen zu Flow Framework & Neos:
    http://slack.neos.io/ (Chat)

    http://discuss.neos.io/ (Forum)

    View Slide