Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Neos Conference 2021: Event Sourced Content Rep...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Sebastian Kurfürst
September 22, 2021
Technology
0
50
Neos Conference 2021: Event Sourced Content Repository - the current status
Sebastian Kurfürst
September 22, 2021
Tweet
Share
More Decks by Sebastian Kurfürst
See All by Sebastian Kurfürst
How To Write Unmaintainable Code - PHPDD 2024
skurfuerst
0
94
How To Write Unmaintainable Code
skurfuerst
0
77
PHPDD23: Practical Debugging and Performance Profiling
skurfuerst
0
82
Neos Con 2023: Migrating a Project to Neos 9
skurfuerst
0
42
Neos Con 2022: The New Content Repository
skurfuerst
0
50
2020: Sandstorm Technology Radar
skurfuerst
0
39
Neos Conference 2020: Event Sourced Content Repository - the current status
skurfuerst
0
32
Plone-Tagung Dresden 2020 - Patterns und Best Practices für die Entwicklung erweiterbarer und leistungsstarker React SPAs am Beispiel der Neos CMS-Benutzeroberfläche
skurfuerst
1
230
Neos Conference 2019: Announcing the Event Sourced Content Repository Alpha 1
skurfuerst
0
79
Other Decks in Technology
See All in Technology
「ストレッチゾーンに挑戦し続ける」ことって難しくないですか? メンバーの持続的成長を支えるEMの環境設計
sansantech
PRO
1
310
メタデータ同期に潜んでいた問題 〜 Cache Stampede 時の Cycle Wait を⾒つけた話
lycorptech_jp
PRO
0
150
管理者向けGitHub Enterpriseの運用Tips紹介: 人にもAIにも優しいプラットフォームづくり
yuriemori
0
110
AI Agentにおける評価指標とAgent GPA
tsho
1
290
EMからICへ、二周目人材としてAI全振りのプロダクト開発で見つけた武器
yug1224
3
380
大規模な組織におけるAI Agent活用の促進と課題
lycorptech_jp
PRO
6
7.7k
「使いにくい」も「運用疲れ」も卒業する UIデザイナーとエンジニアが創る持続可能な内製開発
nrinetcom
PRO
1
780
20260305_【白金鉱業】分析者が地理情報を武器にするための軽量なアドホック分析環境
yucho147
1
160
社内でAWS BuilderCards体験会を立ち上げ、得られた気づき / 20260225 Masaki Okuda
shift_evolve
PRO
1
160
クラウド時代における一時権限取得
krrrr38
1
160
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
4
22k
製造業ドメインにおける LLMプロダクト構築: 複雑な文脈へのアプローチ
caddi_eng
1
450
Featured
See All Featured
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
The browser strikes back
jonoalderson
0
760
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
110
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
210
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
150
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Optimising Largest Contentful Paint
csswizardry
37
3.6k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
Thoughts on Productivity
jonyablonski
75
5.1k
Transcript
The Event Sourced Content Repository: The Current Status
Introduction
Content Repository Asset Storage Fusion Flow Framework Neos Neos UI
Event Store Content Graph Commands Read API Write API Doctrine
DBAL
It's a big change behind the scenes.
Content Repository Asset Storage Fusion Flow Framework Neos Neos UI
Why are we doing the rewrite?
Model modify read classical Database Architecture Database
update projections append events Event Sourced Architecture Events "modify" read*
Event Store e1 e1 Node properties were updated e2 Node was created e3 Node properties were updated e4 Workspace was created
"Model", e.g. with Doctrine ORM update projection read the "model"
Projections DB Tables
Projections can be rebuilt DB Tables Empty DB Tables apply
event 1 DB Tables apply event 2 apply event 3 apply event 4 apply event 1000
write side read side (projections) Event store (DB Table) Content
Graph Commands Events Routing …
We know what has happened.
basis for Proper History and Undo
Editing Noti fi cations
Synchronization
already fi ve years in the making
December 2016: First Workshop
September 2017: ES CR Workshop Kiel
March 2018: ES CR Workshop Dresden
May 2018: Neos Conference Hamburg
May 2019: Neos Conference Dresden
May 2020: Neos Conference Online
What did we do since last year?
We want to use it for real. Node Type Changes
Automatically adjustable node:repair -> Structure Adjustments Node Type Changes Manually adjustable Node migrations Bugs Unplanned! Integrity Violation Detection
None
None
my personal brain nut 4 hours of coding 1 hour
of thinking 1 hour of discussing new insights
my personal brain nut 1 hour of coding 2 hours
of thinking 4 hours of discussing new insights
Things happened Smaller Features Event Sourced Routing Performance / Postgres
Support (WIP) Node Accessors (WIP)
Smaller Features Value Object Support in Properties Customizable Property Serializers
Property Scopes Access Control Support (WIP)
Property Scopes Product DE Product EN SKU, Price Across all
(or some) dimensions
Things happened Smaller Features Event Sourced Routing Performance / Postgres
Support (WIP) Node Accessors (WIP)
Things happened Smaller Features Event Sourced Routing Performance / Postgres
Support (WIP) Node Accessors (WIP)
Excourse: The Content Graph 2022 Node (Title: Next Year) Homepage
Node (Title: NeosCon) CS: live CS: user-sebastian
Excourse: The Content Graph 2022 Node (Title: Next Year) Homepage
Node (Title: NeosCon) CS: live CS: user-sebastian 2022 Node (Title: Next Year’s Con)
Excourse: The Content Graph 2022 Node (Title: Next Year) Homepage
Node (Title: NeosCon) CS: live DSP: EN CS: user-sebastian DSP: EN DE
Excourse: The Content Graph 2022 Node (Title: Next Year) Homepage
Node (Title: NeosCon) CS: live DSP: EN CS: user-sebastian DSP: EN DE 2022 Node (Title: Next Year’s Con)
None
Things happened Smaller Features Event Sourced Routing Performance / Postgres
Support (WIP) Node Accessors
Node Traversal Part Data Access Part
Node Traversal Part Data Access Part Node Accessor
Subgraph Node Accessor Content Subgraph Neos UI Menu Rendering Fusion
Outside API Storage API
Virtual Node Accessor Content Subgraph Neos UI Menu Rendering Fusion
Subgraph Node Accessor Virtual Node implementation WIP!
None
Roadmap
None
Webinar / QA Session / Deep Dive 21.05.2021 09:30 -
12:00 #project-cr-rewrite
None
None