SlideShare a Scribd company logo
TYPO3 Backstage Development Oliver Hader 05/2016
Backstage

Development
May 7th, 2016
TYPO3 Backstage Development Oliver Hader 05/2016
• living in Hof (Bavaria, Germany)
• is Freelance Software Engineer
• TYPO3 Core Developer since 2007
• studying at University of Applied Sciences Hof
• in the past release manage & core team leader
whois oliver.hader
TYPO3 Backstage Development Oliver Hader 05/2016
• Backend Apps ~integration & user experience
• Messaging & Job Queue ~system & development
• Event Sourcing ~system & development
Overview
TYPO3 Backstage Development Oliver Hader 05/2016
• for editors
• dealing with News, Events, Products
• focus on a single task at a time
• for developers & integrators
• boilerplate code in backend modules
• configuration over implementation
Backend Apps ~scope
TYPO3 Backstage Development Oliver Hader 05/2016
• research & development in 2015
• master thesis by Andreas Steiger
• analyzing user actions & tasks
• analyzing other products & solutions
• defining components & concepts
Backend Apps ~history
TYPO3 Backstage Development Oliver Hader 05/2016
• reusable
• tree components
• filter components
• toolbar components
• results & preview
• custom components
Backend Apps ~components
Source: Andreas Steiger, Master Thesis
TYPO3 Backstage Development Oliver Hader 05/2016
• DRY & NIH phenomenon
• configuration over implementation
• defined & extensible vocabulary
• YAML, JSON, XML, PHP, …
• compare it to TCA… somehow
Backend Apps ~configuration
TYPO3 Backstage Development Oliver Hader 05/2016
• components as in Web Components?
• which technology to choose?
• native HTML5 Web Components
• Angular2 ~2.0.0-RC1 in May 2016
• Polymer ~1.4.0 in March 2016
Backend Apps ~technology
TYPO3 Backstage Development Oliver Hader 05/2016
• Templates
• Imports
• Custom Elements
• Shadow DOM
Web Components ~overview
Source: http://webcomponents.org
TYPO3 Backstage Development Oliver Hader 05/2016
<head>…

	
  	
  <link	
  rel="import"	
  href="my-­‐component.html">…

</head>

<body>

	
  	
  <my-­‐component	
  text="Some	
  text..."	
  class="css-­‐class"></my-­‐…>

</body>
Web Components ~markup
<template>

	
  	
  <div>

	
  	
  	
  	
  <h1>{{text}}</h1>…<hr>…

	
  	
  </div>

</template>

<script>

	
  	
  var	
  MyComponent	
  =	
  document.registerElement('my-­‐component');

</script>
index.html
my-component.html
TYPO3 Backstage Development Oliver Hader 05/2016
• thesis
• http://t3app.steiger.webseiten.cc/
Masterarbeit_Andreas_Steiger.pdf
• prototype
• http://t3app.steiger.webseiten.cc/start_app.html
• further discussion
• https://wiki.typo3.org/Blueprints/ContentModule
Backend Apps ~resources
TYPO3 Backstage Development Oliver Hader 05/2016
• defer actions that take ”longer”
• split tasks into smaller chunks
• trigger immediate actions
• related to commands in general
• distribute, delegate, transport
Job Queue ~scope
TYPO3 Backstage Development Oliver Hader 05/2016
• Producer & Consumer
• different phases
• single & direct queue
• publish & subscribe pattern
• remote procedure call
• AMQP, MQTT, RabbitMQ, …
Job Queue ~technology
Source: https://www.rabbitmq.com/getstarted.html
TYPO3 Backstage Development Oliver Hader 05/2016
• one task is split into chunks
• one chunk has sub-chunks
• chunks can be nested
• future / promise pattern in PHP
• asynchronous processing
• non-blocking processing
Job Queue ~chunking
Task #3
Chunk A
Chunk B
Chunk B.1 Chunk B.2
Chunk C
TYPO3 Backstage Development Oliver Hader 05/2016
• newsletter delivery
• execute upgrade wizards
• cloning elements & pages
• generate many thumbnails
• perform data encryption
• apply event sourcing application state
Job Queue ~use cases
TYPO3 Backstage Development Oliver Hader 05/2016
• master thesis by Dustin Kinney
• analyzing protocols & solutions
• prototype focussed on jobs & tasks
• ad-hoc & CLI workers
• concept for sophisticated messaging
• daemons & distributed workers
Job Queue ~next:2016
TYPO3 Backstage Development Oliver Hader 05/2016
• replace protocol and history in TYPO3
• record reliable events
• apply and replay series of events
• application state for any time
• evaluate, measure & define
• overcome overlaying flaws
Event Sourcing ~scope
TYPO3 Backstage Development Oliver Hader 05/2016
Event Sourcing ~current
uid pid sorting sys_lang l18n_parent t3ver_wsid t3ver_state t3ver_oid header
296 88 256 0 0 0 0 0 Regular Element #0
297 89 256 0 0 0 0 0 Regular Element #1
298 89 512 0 0 0 0 0 Regular Element #2
299 89 768 0 0 0 0 0 Regular Element #3
300 89 1024 1 299 0 0 0
[Translate to Dansk:]
Regular Element #3
302 89 640 1 298 1 1 0
[Translate to Dansk:]
Regular Element #2
303 -1 640 1 298 1 -1 302
[Translate to Dansk:]
Regular Element #2
301 -1 512 0 0 2 2 298 Regular Element #2
• translation of available content in workspace
TYPO3 Backstage Development Oliver Hader 05/2016
Event Sourcing ~current
123
Workspace

version?
136
149
Localization

to fr_FR?
Move

Placeholder?
135
Workspace

version?
152
151
Move

Placeholder?
155
Localization

to fr_CA?
164Language

fallback?
Workspace

version…
one (1!)

record
Live

Record
TYPO3 Backstage Development Oliver Hader 05/2016
• design pattern by Martin Fowler
• currently final application state only
• no information on how to get there
• only persist events that happened
• apply events to create application state
• … any time, on any target system
Event Sourcing ~technology
TYPO3 Backstage Development Oliver Hader 05/2016
Event Sourcing ~technology
Source: http://martinfowler.com/eaaDev/EventSourcing.html
TYPO3 Backstage Development Oliver Hader 05/2016
• Command Query Response Segregation
• design pattern by Greg Young
• separate domain logic
• read data (response)
• write data (command)
• introduces more complexity
Event Sourcing ~CQRS
TYPO3 Backstage Development Oliver Hader 05/2016
Event Sourcing ~CQRS
Source: http://martinfowler.com/bliki/CQRS.html
TYPO3 Backstage Development Oliver Hader 05/2016
Event Sourcing ~CQRS
Source: http://martinfowler.com/bliki/CQRS.html
TYPO3 Backstage Development Oliver Hader 05/2016
Event Sourcing ~example
Revision Event Status
1 created “tt_content uid: 12
2 hidden “tt_content:123 uid: 123

hidden:
3 updated “tt_content:123”

{ “title”: “Some record” }
uid: 123

hidden: 1

title: “Some record
4 moved “tt_content:123”

{ “to”: “top” }
uid: 123

hidden: 1

sorting: 0

title: “Some record
TYPO3 Backstage Development Oliver Hader 05/2016
Revision Event Status
5 forked “tt_content:123”

{ “workspace”: 1 }
uid: 123

t3ver_wsid: 1

hidden: 1

sorting: 0

title: “Some record
6 updated “tt_content:123”

{ “workspace”: 1, “title”: “Changed” }
uid: 123

t3ver_wsid: 1

hidden: 1

sorting: 0

title: “Changed
7 unhidden “tt_content:123 uid: 123

hidden: 0

sorting: 0

title: “Some record
8 merged “tt_content:123”

{ “workspace”: 1 }
uid: 123

hidden: 0

sorting: 0

title: “Changed
TYPO3 Backstage Development Oliver Hader 05/2016
Event Sourcing ~projections
TYPO3 Backstage Development Oliver Hader 05/2016
• master thesis by Oliver Hader
• analyzing patterns & solutions
• define events and types for TYPO3 context
• introduce event sourcing & logging
• introduce application state behavior
• concept about ”TYPO3 Time Machine”
Event Sourcing ~next:2016
TYPO3 Backstage Development Oliver Hader 05/2016
Thank you!
ohader

@ohader

Oliver_Hader
follow me

More Related Content

PDF
TYPO3 Event Sourcing
PDF
H4CK1N6 - Web Application Security
PDF
SAST für TYPO3 Extensions
PDF
Hacking TYPO3 v9
PDF
Hacking TYPO3 v9 (T3DD19 edition)
PDF
Web Application Security Workshop (T3DD19)
ODP
Automating OWASP ZAP - DevCSecCon talk
PDF
Hunting for the secrets in a cloud forest
TYPO3 Event Sourcing
H4CK1N6 - Web Application Security
SAST für TYPO3 Extensions
Hacking TYPO3 v9
Hacking TYPO3 v9 (T3DD19 edition)
Web Application Security Workshop (T3DD19)
Automating OWASP ZAP - DevCSecCon talk
Hunting for the secrets in a cloud forest

What's hot (11)

PDF
Security Automation using ZAP
PDF
CMS Hacking Tricks - DerbyCon 4 - 2014
PDF
There’s an OpenBullet Attack Config for Your Site – What Should You Do?
PDF
ATT&CKcon 2.0 2019 - Tracking and measuring your ATT&CK coverage with ATT&CK2...
PPTX
Zap vs burp
PDF
Wi-Fi Hotspot Attacks
PDF
Jakob Holderbaum - Managing Shared secrets using basic Unix tools
PDF
REST API Pentester's perspective
PDF
Justin collins - Practical Static Analysis for continuous application delivery
PPTX
Badneedles
PPTX
SANS @Night Talk: SQL Injection Exploited
Security Automation using ZAP
CMS Hacking Tricks - DerbyCon 4 - 2014
There’s an OpenBullet Attack Config for Your Site – What Should You Do?
ATT&CKcon 2.0 2019 - Tracking and measuring your ATT&CK coverage with ATT&CK2...
Zap vs burp
Wi-Fi Hotspot Attacks
Jakob Holderbaum - Managing Shared secrets using basic Unix tools
REST API Pentester's perspective
Justin collins - Practical Static Analysis for continuous application delivery
Badneedles
SANS @Night Talk: SQL Injection Exploited
Ad

Viewers also liked (19)

KEY
La vida de zack brown
PDF
Jociele (1)
PPTX
Narsiza y aida
PPT
Drucker chapter 4
PDF
7df1c46f-90f5-4d0f-af18-d34ce2108ca6-160108121804
DOCX
How to prevent humanitarian debacle in the contemporary world
PPTX
Chapter 6
PDF
The world toward world war 4
DOCX
Duvidas de lei de transporte escolar
PPTX
Maria Fernanda Camacho Aguillon 3.2
PDF
O lúdico na educação infantil
PPT
Chapter 4
PPT
Sopa de letras
PPT
A biblioteca 2.0
PDF
Газета дружба №3
PDF
дружба 16
PDF
Tratamento De ResíDuos SóLidos
PDF
TCC - O LÚDICO NA EDUCAÇÃO INFANTIL
La vida de zack brown
Jociele (1)
Narsiza y aida
Drucker chapter 4
7df1c46f-90f5-4d0f-af18-d34ce2108ca6-160108121804
How to prevent humanitarian debacle in the contemporary world
Chapter 6
The world toward world war 4
Duvidas de lei de transporte escolar
Maria Fernanda Camacho Aguillon 3.2
O lúdico na educação infantil
Chapter 4
Sopa de letras
A biblioteca 2.0
Газета дружба №3
дружба 16
Tratamento De ResíDuos SóLidos
TCC - O LÚDICO NA EDUCAÇÃO INFANTIL
Ad

Similar to TYPO3 Backstage Development (20)

PDF
Automated Production Ready ML at Scale
PDF
Silicon Valley Code Camp 2016 - MongoDB in production
PPTX
Staying Close to Experts with Executable Specifications
PPTX
Bdf16 big-data-warehouse-case-study-data kitchen
PDF
20141024 AgileDC 2014 Conf How much testing is enough for software that can c...
PDF
Beyond DevOps: How Netflix Bridges the Gap?
PDF
Qcon beijing 2010
PPTX
Alfresco Development Framework Basic
PPTX
Introduction to cypress in Angular (Chinese)
PPTX
PPTX
Developer Night - Opticon18
PPTX
Building reliable apps with cdk
PPTX
Cypress.pptx
PDF
[OPD 2019] Governance as a missing part of IT security architecture
PDF
Azure Storage Streaming and Batch Analytics A Guide for Data Engineers 1st Ed...
PPTX
Introduction to angular with a simple but complete project
PDF
Modern Reconnaissance Phase on APT - protection layer
PDF
Agile Secure Cloud Application Development Management
PDF
Benchmarking at Parse
PDF
Advanced Benchmarking at Parse
Automated Production Ready ML at Scale
Silicon Valley Code Camp 2016 - MongoDB in production
Staying Close to Experts with Executable Specifications
Bdf16 big-data-warehouse-case-study-data kitchen
20141024 AgileDC 2014 Conf How much testing is enough for software that can c...
Beyond DevOps: How Netflix Bridges the Gap?
Qcon beijing 2010
Alfresco Development Framework Basic
Introduction to cypress in Angular (Chinese)
Developer Night - Opticon18
Building reliable apps with cdk
Cypress.pptx
[OPD 2019] Governance as a missing part of IT security architecture
Azure Storage Streaming and Batch Analytics A Guide for Data Engineers 1st Ed...
Introduction to angular with a simple but complete project
Modern Reconnaissance Phase on APT - protection layer
Agile Secure Cloud Application Development Management
Benchmarking at Parse
Advanced Benchmarking at Parse

More from Oliver Hader (12)

PDF
T3DD23 Content Security Policy - Concept, Strategies & Pitfalls
PDF
TYPO3camp Munich 2018 - Keynote - "Wo woll'n mer denn hin?"
PDF
TYPO3 CMS - Datenmodifikation & Event Sourcing (Masterarbeit)
PDF
Vor- und Nachteile von Web Components mit Polymer gegenüber AngularJS ohne P...
PDF
WebGL - 3D im Browser - Erfahrungsbericht mit BabylonJS
PDF
Web Components
PDF
Web application security
PDF
Contribute to TYPO3 CMS
PDF
T3CON13DE - TYPO3 CMS Team
PDF
TYPO3camp Regensburg: TYPO3 6.0
PDF
TYPO3 Inline Relational Record Editing (IRRE)
PDF
TYPO3 4.6 & TYPO3 4.7
T3DD23 Content Security Policy - Concept, Strategies & Pitfalls
TYPO3camp Munich 2018 - Keynote - "Wo woll'n mer denn hin?"
TYPO3 CMS - Datenmodifikation & Event Sourcing (Masterarbeit)
Vor- und Nachteile von Web Components mit Polymer gegenüber AngularJS ohne P...
WebGL - 3D im Browser - Erfahrungsbericht mit BabylonJS
Web Components
Web application security
Contribute to TYPO3 CMS
T3CON13DE - TYPO3 CMS Team
TYPO3camp Regensburg: TYPO3 6.0
TYPO3 Inline Relational Record Editing (IRRE)
TYPO3 4.6 & TYPO3 4.7

Recently uploaded (20)

PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Enhancing emotion recognition model for a student engagement use case through...
PPTX
Chapter 5: Probability Theory and Statistics
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Tartificialntelligence_presentation.pptx
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
August Patch Tuesday
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Encapsulation theory and applications.pdf
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PPTX
TLE Review Electricity (Electricity).pptx
PDF
A novel scalable deep ensemble learning framework for big data classification...
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Approach and Philosophy of On baking technology
PDF
1 - Historical Antecedents, Social Consideration.pdf
MIND Revenue Release Quarter 2 2025 Press Release
Enhancing emotion recognition model for a student engagement use case through...
Chapter 5: Probability Theory and Statistics
Digital-Transformation-Roadmap-for-Companies.pptx
Tartificialntelligence_presentation.pptx
Univ-Connecticut-ChatGPT-Presentaion.pdf
Heart disease approach using modified random forest and particle swarm optimi...
August Patch Tuesday
Building Integrated photovoltaic BIPV_UPV.pdf
Encapsulation theory and applications.pdf
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
TLE Review Electricity (Electricity).pptx
A novel scalable deep ensemble learning framework for big data classification...
Group 1 Presentation -Planning and Decision Making .pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Assigned Numbers - 2025 - Bluetooth® Document
Unlocking AI with Model Context Protocol (MCP)
Programs and apps: productivity, graphics, security and other tools
Approach and Philosophy of On baking technology
1 - Historical Antecedents, Social Consideration.pdf

TYPO3 Backstage Development

  • 1. TYPO3 Backstage Development Oliver Hader 05/2016 Backstage
 Development May 7th, 2016
  • 2. TYPO3 Backstage Development Oliver Hader 05/2016 • living in Hof (Bavaria, Germany) • is Freelance Software Engineer • TYPO3 Core Developer since 2007 • studying at University of Applied Sciences Hof • in the past release manage & core team leader whois oliver.hader
  • 3. TYPO3 Backstage Development Oliver Hader 05/2016 • Backend Apps ~integration & user experience • Messaging & Job Queue ~system & development • Event Sourcing ~system & development Overview
  • 4. TYPO3 Backstage Development Oliver Hader 05/2016 • for editors • dealing with News, Events, Products • focus on a single task at a time • for developers & integrators • boilerplate code in backend modules • configuration over implementation Backend Apps ~scope
  • 5. TYPO3 Backstage Development Oliver Hader 05/2016 • research & development in 2015 • master thesis by Andreas Steiger • analyzing user actions & tasks • analyzing other products & solutions • defining components & concepts Backend Apps ~history
  • 6. TYPO3 Backstage Development Oliver Hader 05/2016 • reusable • tree components • filter components • toolbar components • results & preview • custom components Backend Apps ~components Source: Andreas Steiger, Master Thesis
  • 7. TYPO3 Backstage Development Oliver Hader 05/2016 • DRY & NIH phenomenon • configuration over implementation • defined & extensible vocabulary • YAML, JSON, XML, PHP, … • compare it to TCA… somehow Backend Apps ~configuration
  • 8. TYPO3 Backstage Development Oliver Hader 05/2016 • components as in Web Components? • which technology to choose? • native HTML5 Web Components • Angular2 ~2.0.0-RC1 in May 2016 • Polymer ~1.4.0 in March 2016 Backend Apps ~technology
  • 9. TYPO3 Backstage Development Oliver Hader 05/2016 • Templates • Imports • Custom Elements • Shadow DOM Web Components ~overview Source: http://webcomponents.org
  • 10. TYPO3 Backstage Development Oliver Hader 05/2016 <head>…
    <link  rel="import"  href="my-­‐component.html">…
 </head>
 <body>
    <my-­‐component  text="Some  text..."  class="css-­‐class"></my-­‐…>
 </body> Web Components ~markup <template>
    <div>
        <h1>{{text}}</h1>…<hr>…
    </div>
 </template>
 <script>
    var  MyComponent  =  document.registerElement('my-­‐component');
 </script> index.html my-component.html
  • 11. TYPO3 Backstage Development Oliver Hader 05/2016 • thesis • http://t3app.steiger.webseiten.cc/ Masterarbeit_Andreas_Steiger.pdf • prototype • http://t3app.steiger.webseiten.cc/start_app.html • further discussion • https://wiki.typo3.org/Blueprints/ContentModule Backend Apps ~resources
  • 12. TYPO3 Backstage Development Oliver Hader 05/2016 • defer actions that take ”longer” • split tasks into smaller chunks • trigger immediate actions • related to commands in general • distribute, delegate, transport Job Queue ~scope
  • 13. TYPO3 Backstage Development Oliver Hader 05/2016 • Producer & Consumer • different phases • single & direct queue • publish & subscribe pattern • remote procedure call • AMQP, MQTT, RabbitMQ, … Job Queue ~technology Source: https://www.rabbitmq.com/getstarted.html
  • 14. TYPO3 Backstage Development Oliver Hader 05/2016 • one task is split into chunks • one chunk has sub-chunks • chunks can be nested • future / promise pattern in PHP • asynchronous processing • non-blocking processing Job Queue ~chunking Task #3 Chunk A Chunk B Chunk B.1 Chunk B.2 Chunk C
  • 15. TYPO3 Backstage Development Oliver Hader 05/2016 • newsletter delivery • execute upgrade wizards • cloning elements & pages • generate many thumbnails • perform data encryption • apply event sourcing application state Job Queue ~use cases
  • 16. TYPO3 Backstage Development Oliver Hader 05/2016 • master thesis by Dustin Kinney • analyzing protocols & solutions • prototype focussed on jobs & tasks • ad-hoc & CLI workers • concept for sophisticated messaging • daemons & distributed workers Job Queue ~next:2016
  • 17. TYPO3 Backstage Development Oliver Hader 05/2016 • replace protocol and history in TYPO3 • record reliable events • apply and replay series of events • application state for any time • evaluate, measure & define • overcome overlaying flaws Event Sourcing ~scope
  • 18. TYPO3 Backstage Development Oliver Hader 05/2016 Event Sourcing ~current uid pid sorting sys_lang l18n_parent t3ver_wsid t3ver_state t3ver_oid header 296 88 256 0 0 0 0 0 Regular Element #0 297 89 256 0 0 0 0 0 Regular Element #1 298 89 512 0 0 0 0 0 Regular Element #2 299 89 768 0 0 0 0 0 Regular Element #3 300 89 1024 1 299 0 0 0 [Translate to Dansk:] Regular Element #3 302 89 640 1 298 1 1 0 [Translate to Dansk:] Regular Element #2 303 -1 640 1 298 1 -1 302 [Translate to Dansk:] Regular Element #2 301 -1 512 0 0 2 2 298 Regular Element #2 • translation of available content in workspace
  • 19. TYPO3 Backstage Development Oliver Hader 05/2016 Event Sourcing ~current 123 Workspace
 version? 136 149 Localization
 to fr_FR? Move
 Placeholder? 135 Workspace
 version? 152 151 Move
 Placeholder? 155 Localization
 to fr_CA? 164Language
 fallback? Workspace
 version… one (1!)
 record Live
 Record
  • 20. TYPO3 Backstage Development Oliver Hader 05/2016 • design pattern by Martin Fowler • currently final application state only • no information on how to get there • only persist events that happened • apply events to create application state • … any time, on any target system Event Sourcing ~technology
  • 21. TYPO3 Backstage Development Oliver Hader 05/2016 Event Sourcing ~technology Source: http://martinfowler.com/eaaDev/EventSourcing.html
  • 22. TYPO3 Backstage Development Oliver Hader 05/2016 • Command Query Response Segregation • design pattern by Greg Young • separate domain logic • read data (response) • write data (command) • introduces more complexity Event Sourcing ~CQRS
  • 23. TYPO3 Backstage Development Oliver Hader 05/2016 Event Sourcing ~CQRS Source: http://martinfowler.com/bliki/CQRS.html
  • 24. TYPO3 Backstage Development Oliver Hader 05/2016 Event Sourcing ~CQRS Source: http://martinfowler.com/bliki/CQRS.html
  • 25. TYPO3 Backstage Development Oliver Hader 05/2016 Event Sourcing ~example Revision Event Status 1 created “tt_content uid: 12 2 hidden “tt_content:123 uid: 123
 hidden: 3 updated “tt_content:123”
 { “title”: “Some record” } uid: 123
 hidden: 1
 title: “Some record 4 moved “tt_content:123”
 { “to”: “top” } uid: 123
 hidden: 1
 sorting: 0
 title: “Some record
  • 26. TYPO3 Backstage Development Oliver Hader 05/2016 Revision Event Status 5 forked “tt_content:123”
 { “workspace”: 1 } uid: 123
 t3ver_wsid: 1
 hidden: 1
 sorting: 0
 title: “Some record 6 updated “tt_content:123”
 { “workspace”: 1, “title”: “Changed” } uid: 123
 t3ver_wsid: 1
 hidden: 1
 sorting: 0
 title: “Changed 7 unhidden “tt_content:123 uid: 123
 hidden: 0
 sorting: 0
 title: “Some record 8 merged “tt_content:123”
 { “workspace”: 1 } uid: 123
 hidden: 0
 sorting: 0
 title: “Changed
  • 27. TYPO3 Backstage Development Oliver Hader 05/2016 Event Sourcing ~projections
  • 28. TYPO3 Backstage Development Oliver Hader 05/2016 • master thesis by Oliver Hader • analyzing patterns & solutions • define events and types for TYPO3 context • introduce event sourcing & logging • introduce application state behavior • concept about ”TYPO3 Time Machine” Event Sourcing ~next:2016
  • 29. TYPO3 Backstage Development Oliver Hader 05/2016 Thank you! ohader
 @ohader
 Oliver_Hader follow me