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

My favorite 10 things that did (not) make it in...

My favorite 10 things that did (not) make it into TYPO3 v10

My slides of the TYPO3 Online Community Event 2020 talk about my favorite 10 things that I use in TYPO3 v10, and 10 things that didn't show up in TYPO3 v10 (and might never will be added in TYPO3 Core)

Benni Mack

August 01, 2020
Tweet

More Decks by Benni Mack

Other Decks in Programming

Transcript

  1. @bennimack Aug 1st, 2020 Disclaimer • Hello, I'm Benni! •

    I'm TYPO3 Project Lead • I hit the release button • Plan, review and build functionality for TYPO3 Core • I also USE TYPO3 • Set up TYPO3 • Add content in TYPO3 • Develop functionality
  2. @bennimack Aug 1st, 2020 Hello, I'm Benni! • I work

    at a company called b13 • Website b13.com • Twitter: @weareb13 • We want to use the latest versions as soon as possible • We don't have to discuss large updates anymore • We have 20-25 running TYPO3 Projects • Approx. 10 installations run TYPO3 v10 • Others mostly v9
  3. @bennimack Aug 1st, 2020 #10 Password Reset • Enable it

    for just editors, or for admins as well • Send resets as Admins via CLI or the Backend Users module • Be sure to add email addresses to all of your Backend Users
  4. @bennimack Aug 1st, 2020 #8 Accessibility • Navigate through the

    page tree and module menu with your arrow keys
  5. @bennimack Aug 1st, 2020 #7 HTML Emails • System Emails

    • Login & Backend Notifications • Frontend Login Plugin (EXT:felogin) • Workspace Notifications • Default Styling shipped, overridable with Fluid • Simple API for custom extensions
  6. @bennimack Aug 1st, 2020 #6 Dependency Injection • Why? •

    "Inversion of Control" • You can write PHP code without having to know all the details • Configuration happens somewhere else • Inject Factories, Repositories, Services in your PHP constructor
  7. @bennimack Aug 1st, 2020 #6 Dependency Injection • Faster: Dependencies

    in PHP classes are done during "composer install" or only when flushing caches • Usable throughout all TYPO3 Core and custom extensions • Not only for PHP classes but also for wiring options and state • Standardized through out PHP ("constructor injection")
  8. @bennimack Aug 1st, 2020 #6 Dependency Injection • Registration via

    Configuration/Services.php or Configuration/Services.yaml • CLI Commands, Events, Caches etc. can be registered here as well • Faster: Build time vs. runtime
  9. @bennimack Aug 1st, 2020 #4 Lazy Image Loading • HTML5

    standard • Implemented in Chrome, Firefox, Edge, Safari (experimental feature) • "Optin feature" • Options are "lazy", "eager" or none • Have the browser know what to do • No more JavaScript hacks for that • Usable in all HTML today, but active for Fluid Styled Content in TYPO3 v10
  10. @bennimack Aug 1st, 2020 #4 Lazy Image Loading • Check

    out https://web.dev/native-lazy-loading/
  11. @bennimack Aug 1st, 2020 #3 Asset Collector • Base Premise:

    Only add the styles you need • A new API collecting JavaScript and CSS resources (and code) • Available as Fluid ViewHelpers or via PHP API • Helpful if you use AMP-based websites • A first step into having more fine-grained controls over JS/CSS
  12. @bennimack Aug 1st, 2020 #2 PSR-14 Event Handling • Why?

    • Signal Slots and Hooks are not unified • Signal Slots / Hooks → done during runtime • Only usable in the TYPO3 Bubble • I like it, because I helped shape it in the PSR-14 Working Group
  13. @bennimack Aug 1st, 2020 #2 PSR-14 Event Handling • TYPO3

    v10 • Signal Slots are migrated, but can be used still • Hooks haven't been migrated yet • Use it in your own extensions, create custom Events is just a PHP class • I like it, because I helped shape it in the PSR-14 Working Group
  14. @bennimack Aug 1st, 2020 #1 Easy Upgrade • Except for

    dropped Internet Explorer 11 Support, everything is just better • Upgrade faster than any other previous versions since TYPO3 v7 • Upgrading to v10 shows you what you forgot in the v9 upgrade :) • If you're upgrading to v9, why not go to v10 directly?