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

Keynote Contao Agenturtag 2020

Keynote Contao Agenturtag 2020

Keynote zum Contao Agenturtag zum Release von Contao 4.9

Yanick Witschi

March 06, 2020
Tweet

More Decks by Yanick Witschi

Other Decks in Technology

Transcript

  1. Contao
    4.9
    Contao Agenturtag 2020, 6. März 2020

    Yanick Witschi

    @toflar

    View Slide

  2. View Slide

  3. Packagist
    https://packagist.org/packages/contao/core-bundle/stats#major/4

    View Slide

  4. „Contao 4.4 LTS erschien
    im Juni 2017, so viel kann
    sich doch gar nicht
    verändert haben…“

    View Slide

  5. Oh, Boy!

    View Slide

  6. Das Projekt
    seit Contao 4.4

    View Slide

  7. Contao Manager 1.0.0

    View Slide

  8. 320.000+

    Jobs in einem Jahr!

    (= 37 Updates pro Stunde, inkl. Wochenenden und Nachteulen)

    (= 1,7 Updates pro Minute, bei 5 Tagen die Woche und 12h-Arbeitstagen)
    Composer Cloud

    View Slide

  9. extensions.contao.org

    View Slide

  10. Neue Dokumentation

    View Slide

  11. Monorepository

    View Slide

  12. Neuer Reviewprozess

    View Slide

  13. Automatisierte Tests
    Version Anzahl Unit Tests Anzahl Functional Tests
    3.5 0 0
    4.4
    712 Tests

    2.272 Assertions
    0
    4.9
    2.186 Tests

    7.944 Assertions
    86 Tests

    236 Assertions

    View Slide

  14. Features
    seit Contao 4.4

    View Slide

  15. Das Whiteboard

    View Slide

  16. Aliase nach Locale
    • Hinzugefügt in Versionen:

    • 4.5

    • Autoren: Martin

    View Slide

  17. 2FA
    • Hinzugefügt in Versionen:

    • 4.6 (Backend)

    • 4.8 (Frontend)

    • 4.9 (Backup Codes,
    Trusted Devices)

    • Autoren: David, Andreas

    View Slide

  18. User Impersonation
    • Hinzugefügt in Versionen:

    • 4.5

    • Autoren: Andreas

    View Slide

  19. Sortierung Newsliste
    • Hinzugefügt in Versionen:

    • 4.5 (alphabetische
    Sortierung nach x)

    • 4.8 (Featured zuerst)

    • Autoren: Fritz

    View Slide

  20. robots.txt & favicon.ico
    • Hinzugefügt in Versionen:

    • 4.9

    • Autoren: Yanick

    View Slide

  21. Deferred Image Resize
    • Hinzugefügt in Versionen:

    • 4.8

    • Autoren: Martin

    View Slide

  22. WEBP
    • Hinzugefügt in Versionen:

    • 4.8

    • Autoren: Martin

    View Slide

  23. Image Lazy Loading
    • Hinzugefügt in Versionen:

    • 4.9

    • Autoren: Martin

    View Slide

  24. SERP Preview
    • Hinzugefügt in Versionen:

    • 4.9

    • Autoren: Leo

    View Slide

  25. Argon2
    • Hinzugefügt in Versionen:

    • 4.8, 4.9

    • Autoren: Yanick

    View Slide

  26. Debug Modus auf Klick
    • Hinzugefügt in Versionen:

    • 4.8

    • Autoren: Andreas

    View Slide

  27. Player Verbesserungen
    • Hinzugefügt in Versionen:

    • 4.5 (weitere Optionen)

    • 4.6 (Responsiveness)

    • Autoren: Leo, Chris, Nicky

    View Slide

  28. Caching
    • Hinzugefügt in Versionen:

    • 4.5, 4.6, 4.7, 4.8, 4.9

    • Autoren: Yanick

    View Slide

  29. Lightbox im Seitenlayout
    • Hinzugefügt in Versionen:

    • 4.8

    • Autoren: Leo

    View Slide

  30. Universal Picker
    • Hinzugefügt in Versionen:

    • 4.9

    • Autoren: Andreas

    View Slide

  31. Drag n’ Drop
    • Hinzugefügt in Versionen:

    • 4.6 (Dateimanager, Picker)

    • 4.7 (Templates)

    • Autoren: Martin

    View Slide

  32. FE-Vorschau ohne iFrame
    • Hinzugefügt in Versionen:

    • 4.9

    • Autoren: Richard, Yanick

    View Slide

  33. Migration Framework
    • Hinzugefügt in Versionen:

    • 4.9

    • Autoren: Martin

    View Slide

  34. ce_access & mehr
    • Hinzugefügt in Versionen:

    • 4.9

    • Autoren: Leo

    View Slide

  35. Crawler
    • Hinzugefügt in Versionen:

    • 4.9

    • Autoren: Yanick

    View Slide

  36. und noch so viel mehr…
    • Splash Bilder bei Player Element (Fritz)

    • Opt-In Framework (Leo)

    • Dateien nicht synchronisieren in der Dateiverwaltung (Leo)

    • Markup komprimieren pro Seitenlayout (Leo)

    • DSGVO, IP-Anonymisierung, in Logs nach 7 Tagen löschen (Leo)

    • {{iflng* Insert Tag (Leo)

    • Externe JavaScript-Dateien auswählen im Seitenlayout (Leo)

    • Keine „Ein Contao-Konto wurde gesperrt“ E-Mails mehr (Andreas)

    • …

    View Slide

  37. Update-
    Hinweise

    View Slide

  38. PHP 7.2

    View Slide

  39. 2 neue Bundles
    •contao/tcpdf-bundle

    •contao/mobile-page-layout-bundle

    View Slide

  40. Backup

    View Slide

  41. Zukunft

    View Slide

  42. Version Veröffentlichung Bugfixes Security
    Contao 3.5 Juni 2015 Juni 2018 Mai 2019
    Contao 4.4 Juni 2017 Dezember 2020 Dezember 2021
    Contao 4.9 Februar 2020 Februar 2023 Februar 2024
    Contao 4.13 Februar 2022 Februar 2025 Februar 2026
    Release Plan
    https://contao.org/de/release-plan.html

    View Slide

  43. Contao 4.9
    •Neue LTS ganz im Zeichen von Stabilität

    •Bewusst gewisse Features anderen
    vorgezogen

    View Slide

  44. Und nu?
    Contao 5?

    View Slide

  45. Contao 4
    •4.0.0, geboren am 09.06.2015

    •Seither (4.5 Jahre !) stetig verbessert

    •Vieles ist viel besser

    •Vieles ist aber auch schon wieder alt

    •Unzählige BC-Layers

    •Irgendwann™ ist ein Schnitt unvermeidbar, um Platz
    für neue technologische Innovation zu schaffen

    View Slide

  46. Contao 5?
    •Zurzeit noch kein Thema

    •Wollen spürbaren Enthusiasmus in der
    Community nicht bremsen

    •Wollen bewährten Weg weiterverfolgen und
    Schritt für Schritt migrieren

    •Legen technischen Fokus auf allem was uns in
    Richtung API bringt

    •User Features kommen „along the way“

    View Slide

  47. Contao
    4.10

    View Slide

  48. Doctrine Entities
    •Generierung von Doctrine Entities,
    langfristiger Ersatz für Models.

    •Industrie-Standard

    •n:m Relationen

    •Query-Builder
    API

    View Slide

  49. Permissions
    •Wiederverwendbare Security Voter statt
    DCA onload_callbacks
    API

    View Slide

  50. Install-Tool
    •Soll im Contao Manager integriert werden

    •Kommandozeile

    •contao:user:add

    •contao:user:list
    User

    View Slide

  51. Routing
    •Sämtliche Routing-Einstellungen in die
    Root-Seiten

    •Trennung von Seitensprache und
    Sprach-URL-Präfix (prepend_locale)

    •URL-Suffix

    •Folder-URL
    User

    View Slide

  52. Fragen?
    Fragen bleiben jung.

    Antworten altern rasch.

    View Slide

  53. Leo’s Stats
    seit November 2019

    View Slide

  54. Downloads
    Stichtag Downloads Veränderung Zeitraum Downloads/Tag
    27.02.2020 1’653’218 + 43.374 149 Tage 291 ( )
    02.10.2019 1’609’844 + 74.127 208 Tage 356
    08.03.2019 1.535.7172) + 92.122 280 Tage 329
    01.06.2018 1’443’595 + 138.360 359 Tage 385
    07.06.2017 1.305.2351) + 114.906 394 Tage 351
    10.05.2016 1’144’765 + 106.716 359 Tage 297
    18.05.2015 1’038’049 + 94.260 302 Tage 312
    21.07.2014 943’789 - - -
    1) Enthält erstmals auch die Git-Installs (29.795 contao/core und 15.769 contao/core-bundle).

    2) Seit der Umstellung auf das Monorepo contao/contao werden die Dev-Installs nicht mehr mitgezählt.

    View Slide

  55. Land Marktanteil TOP 3
    Deutschland 4.38% -0,04 % Platz 5
    Wordpress

    TYPO3

    Joomla!
    42,66 %

    11,69 %

    11,82 %
    +1,09 %

    -0,36 %

    -0,04 %
    Schweiz 3.13% -0,04 % Platz 5
    Wordpress

    Joomla!

    TYPO3
    42,00 %

    13,70 %

    9,44 %
    +1,30 %

    -0,44 %

    -0,45 %
    Österreich 4.05% -0,08% Platz 4
    Wordpress

    TYPO3

    Joomla!
    45,20 %

    14,84 %

    12,31 %
    +1,33 %

    -0,30 %

    -0,49 %
    Contao liegt bei CMSCrawler auf Platz 12 von 821 Systemen.
    Die Veränderungen beziehen sich auf die Zahlen der letzten Konferenz im November 2019.
    Marktanteil

    View Slide

  56. Laut BuiltWith wurden insgesamt 162.371 Webseiten mit Contao erstellt.
    9.0%
    5.7%
    8.2%
    12.3%
    64.8%
    Deutschland USA Schweiz Österreich Andere
    Webseiten

    View Slide

  57. Updaten
    auf Contao 4.9

    View Slide

  58. Update 3.5 -> 4.9
    •Alle Erweiterungen und Contao (auf 3.5.40)
    aktualisieren

    •Parallel eine Contao 4.9 aufsetzen und alle
    benötigten Erweiterungen installieren

    •Kopie der 3.5 Datenbank

    •Installtool oder contao:migrate

    View Slide

  59. Update 4.4 -> 4.9
    •Von 4.4.* auf 4.9.*

    •«Änderungen anwenden» im Contao
    Manager, «composer up» auf CLI

    •Installtool oder contao:migrate

    View Slide

  60. Daten aus der 3.5 übernehmen
    Contao 3.5 Contao 4.9
    files/… -> files/…
    system/config/dcaconfig.php -> contao/dca/..
    system/config/langconfig.php -> contao/languages/..
    system/config/initconfig.php -> system/config/initconfig.php
    system/modules/… -> system/modules/…
    templates/… -> templates/…
    Den Cache über den Contao Manager oder die Kommandozeile leeren.

    View Slide

  61. Letzte Schritte
    •CSS Anpassungen

    •Die gewünschten Verzeichnisse in der
    Dateiverwaltung inklusive aller
    Unterverzeichnisse veröffentlichen

    View Slide