SlideShare a Scribd company logo
1 of 22
Download to read offline
Content Repository,
Versioning and Workspaces
     in TYPO3 Phoenix
   Karsten Dambekalns <karsten@typo3.org>




                                     Inspiring people to
                                    share
History 101
 back in 2006 we looked for a storage solution
 we found JCR, back then in the form of JSR-170
 started to use and port it
 adopted JSR-283 along the way




                                            Inspiring people to
                                            share
Java vs. PHP
 Name clashes

 •   clone, and

 Method signatures

 •   optional parameters

 •   different parameter order

 too many objects




                                 Inspiring people to
                                 share
History 101
 transparent object persistence on top of TYPO3CR

                                 TYPO3

                          FLOW3 Persistence

                      TYPO3 Content Repository
                      PDO                            ...
             SQLite         PgSQL       MySQL                     ...

                                            Inspiring people to
                                            share
History 101
 wanted to move TYPO3CR on top of FLOW3

                               TYPO3

                        FLOW3 Persistence

                     TYPO3 Content Repository
                     PDO                           ...
            SQLite         PgSQL     MySQL                      ...

                                          Inspiring people to
                                          share
History 101
 wanted to move TYPO3CR on top of FLOW3

                               TYPO3

                     TYPO3 Content Repository

                        FLOW3 Persistence
                     PDO                           ...
            SQLite         PgSQL     MySQL                      ...

                                          Inspiring people to
                                          share
History 101
 we decided to not use TYPO3CR anymore at all
 now we use it again after starting from scratch


 http://bit.ly/froscamp2010




                                      Inspiring people to
                                      share
What do we need?
 website content

 •   (sort of) unstructured

 •   dependent on use case

 •   little logic
 domain models

 •   for complex business logic
 display both on a website


                                  Inspiring people to
                                  share
TYPO3CR today
 inspired by—but not bound to—JCR and Sling
 not implementing any specification
 has what we need for TYPO3
 leaves out a loft of cruft
 can combine unstructured content and domain
 models just fine
 spicy workspaces the way we like ‘em

                                        Inspiring people to
                                        share
Using nodes in TYPO3
 website content usually stored in nodes
 content types define properties of content
 Fluid templates and TypoScript define rendering
 paths are the base, context provides details




                                      Inspiring people to
                                      share
/sites/typo3.org/homepage/
typo3.org                                             /sites/typo3.org/homepage/section:main/welcometxt1

                      mul                        en              en
                      ZZ                         EN              EN

             homepage              section:main       welcometxt1

             title: Home                               content: ...


                                                 en              en
                                                 EN              EN

                                   section:side        moreinfo1

                                                       content: ...


                                                 en              en                     en
                                                 EN              EN                     EN

                                         about        section:main            abouttxt1
                                                                                                /sites/typo3.org/homepage/about/section:main/twocolumn1/section:left/lefttxt1
                                   title: About                               content: ...


                                                                                        en                     en                        en
                                                                                        EN                     EN                        EN

                                                                             twocolumn1              section:left             lefttxt1

                                                                            content: void                                    content: ...


                                                                                                               en                        en
                                                                                                               EN                        EN

                                                                                                    section:right             righttxt1

                                                                                                                             content: ...


                                                                                                               de                        de
                                                                                                               DE                        DE

                                                                                                    section:right             righttxt1

                                                                                                                             content: ...
                                                                 en                     en
                                                                 EN                     EN

                                                      section:side            moreinfo2

                                                                              content: ...
                                                                                                                           Inspiring people to
                                                                                                                           share
                                                 de              de                     de
en               en
                                                         EN               EN

                                               section:right    righttxt1

                                                                content: ...


                                                         de               de
                                                         DE               DE

                                               section:right    righttxt1

                                                               content: ...
                           en             en
                           EN             EN

                 section:side   moreinfo2

                                content: ...


            de             de             de
            ZZ             ZZ             DE

  spenden        section:main   spendentxt1

title: Spenden                  content: ...


                                          de
                                          CH

                                spendentxt2

                                content: ...


                           de             de
                           ZZ             DE

                 section:side   mehrinfo1

                                content: ...
            es
            ES

   donar

title: Donar


            en
            EN

   donate

title: Donate                                                  Inspiring people to
                                                               share
Workspaces
 built into TYPO3 right away
 shine through with copy-on-write




                                    Inspiring people to
                                    share
typo3.org

                     mul
                     ZZ

            homepage

            title: Home


                                      en
                                      EN

                              about

                           title: About



                                      de
                                      ZZ

                             spenden

                           title: Spenden




            “live”

                                            Inspiring people to
                                            share
typo3.org                                   typo3.org

                     mul                                            mul
                     ZZ                                             ZZ

            homepage                                       homepage

            title: Home                                    title: Home


                                      en                                                  en
                                      EN                                                  EN

                              about                                               about

                           title: About                                        title: About



                                      de                                                  de
                                      ZZ                                                  ZZ

                             spenden                                             spenden

                           title: Spenden                                      title: Spenden




            “live”                                      “user-liga”

                                                                          Inspiring people to
                                                                          share
typo3.org                                   typo3.org

                     mul                                            mul
                     ZZ                                             ZZ

            homepage                                       homepage

            title: Home                                    title: Home


                                      en                                                  en
                                      EN                                                  EN

                              about                                               about

                           title: About                                        title: About



                                      de                                                  de
                                                                                          lv
                                      ZZ                                                  ZZ
                                                                                          LV

                             spenden                                             spenden
                                                                                  ziedot

                           title: Spenden                                      title: Spenden
                                                                                title: Ziedot




            “live”                                      “user-liga”

                                                                          Inspiring people to
                                                                          share
Workspaces
 can be nested at will
 no editing in live
 every user has a personal workspace




                                 Inspiring people to
                                 share
Versioning
 currently in planning phase
 will be a FLOW3 persistence feature
 TYPO3 user interface will expose the
 underlying data




                                        Inspiring people to
                                        share
Inspiring people to
share
Questions!

        Inspiring people to
        share
Thank you!
Follow me on twitter
twitter.com/k_fish
                       Inspiring people to
                       share
Content Repository, Versioning and Workspaces in TYPO3 Phoenix

More Related Content

Viewers also liked

Label fail pd_p
Label fail pd_pLabel fail pd_p
Label fail pd_pJazli Joe
 
P6.C Explaining Refraction
P6.C Explaining RefractionP6.C Explaining Refraction
P6.C Explaining Refractionpaulbhill
 
AUD Review issue 7_Extract
AUD Review issue 7_ExtractAUD Review issue 7_Extract
AUD Review issue 7_ExtractKevin Martin
 
Rc064 010d Core Html 1
Rc064 010d Core Html 1Rc064 010d Core Html 1
Rc064 010d Core Html 1troopergreen
 
A Content Repository for TYPO3 5.0
A Content Repository for TYPO3 5.0A Content Repository for TYPO3 5.0
A Content Repository for TYPO3 5.0Karsten Dambekalns
 
Sept 19 jobseekers 1
Sept 19 jobseekers 1Sept 19 jobseekers 1
Sept 19 jobseekers 1Hack the Hood
 
Implementing a JSR-283 Content Repository in PHP
Implementing a JSR-283 Content Repository in PHPImplementing a JSR-283 Content Repository in PHP
Implementing a JSR-283 Content Repository in PHPKarsten Dambekalns
 
4.1 My Works About Test & Launch
4.1 My Works About Test  &  Launch4.1 My Works About Test  &  Launch
4.1 My Works About Test & LaunchRuby Kuo
 
Ataque Al Corazon
Ataque Al CorazonAtaque Al Corazon
Ataque Al CorazonJoel Ferro
 
How to start an online business:7 stories of success
How to start an online business:7 stories of successHow to start an online business:7 stories of success
How to start an online business:7 stories of successE-Web Marketing
 
Sept 20 2012 ona show me the numbers
Sept 20 2012 ona  show me the numbersSept 20 2012 ona  show me the numbers
Sept 20 2012 ona show me the numbersHack the Hood
 
Hex Colors At A Glance
Hex Colors At A GlanceHex Colors At A Glance
Hex Colors At A GlanceDino Baskovic
 
Fotos im Internet präsentieren
Fotos im Internet präsentierenFotos im Internet präsentieren
Fotos im Internet präsentierenIvan Blatter
 
02 - La Stratégie de Spécialisation Intelligente : Vecteur de Croissance des ...
02 - La Stratégie de Spécialisation Intelligente : Vecteur de Croissance des ...02 - La Stratégie de Spécialisation Intelligente : Vecteur de Croissance des ...
02 - La Stratégie de Spécialisation Intelligente : Vecteur de Croissance des ...Mohamed Larbi BEN YOUNES
 
How to Build a Successful API Certification Program - Integrate 2015
How to Build a Successful API Certification Program - Integrate 2015How to Build a Successful API Certification Program - Integrate 2015
How to Build a Successful API Certification Program - Integrate 2015Loke Tan
 
Do The Adverts Fool Us
Do The Adverts Fool UsDo The Adverts Fool Us
Do The Adverts Fool Usjordi
 

Viewers also liked (20)

6г клас
6г клас6г клас
6г клас
 
Getstarted Vembustoregrid V1
Getstarted Vembustoregrid V1Getstarted Vembustoregrid V1
Getstarted Vembustoregrid V1
 
Label fail pd_p
Label fail pd_pLabel fail pd_p
Label fail pd_p
 
P6.C Explaining Refraction
P6.C Explaining RefractionP6.C Explaining Refraction
P6.C Explaining Refraction
 
AUD Review issue 7_Extract
AUD Review issue 7_ExtractAUD Review issue 7_Extract
AUD Review issue 7_Extract
 
Rc064 010d Core Html 1
Rc064 010d Core Html 1Rc064 010d Core Html 1
Rc064 010d Core Html 1
 
A Content Repository for TYPO3 5.0
A Content Repository for TYPO3 5.0A Content Repository for TYPO3 5.0
A Content Repository for TYPO3 5.0
 
Princess pyrene
Princess pyrenePrincess pyrene
Princess pyrene
 
Sept 19 jobseekers 1
Sept 19 jobseekers 1Sept 19 jobseekers 1
Sept 19 jobseekers 1
 
Implementing a JSR-283 Content Repository in PHP
Implementing a JSR-283 Content Repository in PHPImplementing a JSR-283 Content Repository in PHP
Implementing a JSR-283 Content Repository in PHP
 
4.1 My Works About Test & Launch
4.1 My Works About Test  &  Launch4.1 My Works About Test  &  Launch
4.1 My Works About Test & Launch
 
Ataque Al Corazon
Ataque Al CorazonAtaque Al Corazon
Ataque Al Corazon
 
How to start an online business:7 stories of success
How to start an online business:7 stories of successHow to start an online business:7 stories of success
How to start an online business:7 stories of success
 
Sept 20 2012 ona show me the numbers
Sept 20 2012 ona  show me the numbersSept 20 2012 ona  show me the numbers
Sept 20 2012 ona show me the numbers
 
Hex Colors At A Glance
Hex Colors At A GlanceHex Colors At A Glance
Hex Colors At A Glance
 
11!137 sou
11!137 sou11!137 sou
11!137 sou
 
Fotos im Internet präsentieren
Fotos im Internet präsentierenFotos im Internet präsentieren
Fotos im Internet präsentieren
 
02 - La Stratégie de Spécialisation Intelligente : Vecteur de Croissance des ...
02 - La Stratégie de Spécialisation Intelligente : Vecteur de Croissance des ...02 - La Stratégie de Spécialisation Intelligente : Vecteur de Croissance des ...
02 - La Stratégie de Spécialisation Intelligente : Vecteur de Croissance des ...
 
How to Build a Successful API Certification Program - Integrate 2015
How to Build a Successful API Certification Program - Integrate 2015How to Build a Successful API Certification Program - Integrate 2015
How to Build a Successful API Certification Program - Integrate 2015
 
Do The Adverts Fool Us
Do The Adverts Fool UsDo The Adverts Fool Us
Do The Adverts Fool Us
 

More from Karsten Dambekalns

The Perfect Neos Project Setup
The Perfect Neos Project SetupThe Perfect Neos Project Setup
The Perfect Neos Project SetupKarsten Dambekalns
 
Sawubona! Content Dimensions with Neos
Sawubona! Content Dimensions with NeosSawubona! Content Dimensions with Neos
Sawubona! Content Dimensions with NeosKarsten Dambekalns
 
Deploying TYPO3 Neos websites using Surf
Deploying TYPO3 Neos websites using SurfDeploying TYPO3 Neos websites using Surf
Deploying TYPO3 Neos websites using SurfKarsten Dambekalns
 
Profiling TYPO3 Flow Applications
Profiling TYPO3 Flow ApplicationsProfiling TYPO3 Flow Applications
Profiling TYPO3 Flow ApplicationsKarsten Dambekalns
 
Using Document Databases with TYPO3 Flow
Using Document Databases with TYPO3 FlowUsing Document Databases with TYPO3 Flow
Using Document Databases with TYPO3 FlowKarsten Dambekalns
 
How Git and Gerrit make you more productive
How Git and Gerrit make you more productiveHow Git and Gerrit make you more productive
How Git and Gerrit make you more productiveKarsten Dambekalns
 
How Domain-Driven Design helps you to migrate into the future
How Domain-Driven Design helps you to migrate into the futureHow Domain-Driven Design helps you to migrate into the future
How Domain-Driven Design helps you to migrate into the futureKarsten Dambekalns
 
Transparent Object Persistence (within FLOW3)
Transparent Object Persistence (within FLOW3)Transparent Object Persistence (within FLOW3)
Transparent Object Persistence (within FLOW3)Karsten Dambekalns
 
Transparent Object Persistence with FLOW3
Transparent Object Persistence with FLOW3Transparent Object Persistence with FLOW3
Transparent Object Persistence with FLOW3Karsten Dambekalns
 
Implementing a JSR-283 Content Repository in PHP
Implementing a JSR-283 Content Repository in PHPImplementing a JSR-283 Content Repository in PHP
Implementing a JSR-283 Content Repository in PHPKarsten Dambekalns
 
Knowledge Management in der TYPO3 Community
Knowledge Management in der TYPO3 CommunityKnowledge Management in der TYPO3 Community
Knowledge Management in der TYPO3 CommunityKarsten Dambekalns
 
Introduction to Source Code Management
Introduction to Source Code ManagementIntroduction to Source Code Management
Introduction to Source Code ManagementKarsten Dambekalns
 
It Works! Presenting DBAL use in real life
It Works! Presenting DBAL use in real lifeIt Works! Presenting DBAL use in real life
It Works! Presenting DBAL use in real lifeKarsten Dambekalns
 
DB API Usage - How to write DBAL compliant code
DB API Usage - How to write DBAL compliant codeDB API Usage - How to write DBAL compliant code
DB API Usage - How to write DBAL compliant codeKarsten Dambekalns
 

More from Karsten Dambekalns (20)

The Perfect Neos Project Setup
The Perfect Neos Project SetupThe Perfect Neos Project Setup
The Perfect Neos Project Setup
 
Sawubona! Content Dimensions with Neos
Sawubona! Content Dimensions with NeosSawubona! Content Dimensions with Neos
Sawubona! Content Dimensions with Neos
 
Deploying TYPO3 Neos websites using Surf
Deploying TYPO3 Neos websites using SurfDeploying TYPO3 Neos websites using Surf
Deploying TYPO3 Neos websites using Surf
 
Profiling TYPO3 Flow Applications
Profiling TYPO3 Flow ApplicationsProfiling TYPO3 Flow Applications
Profiling TYPO3 Flow Applications
 
Using Document Databases with TYPO3 Flow
Using Document Databases with TYPO3 FlowUsing Document Databases with TYPO3 Flow
Using Document Databases with TYPO3 Flow
 
i18n and L10n in TYPO3 Flow
i18n and L10n in TYPO3 Flowi18n and L10n in TYPO3 Flow
i18n and L10n in TYPO3 Flow
 
FLOW3-Workshop F3X12
FLOW3-Workshop F3X12FLOW3-Workshop F3X12
FLOW3-Workshop F3X12
 
Doctrine in FLOW3
Doctrine in FLOW3Doctrine in FLOW3
Doctrine in FLOW3
 
How Git and Gerrit make you more productive
How Git and Gerrit make you more productiveHow Git and Gerrit make you more productive
How Git and Gerrit make you more productive
 
How Domain-Driven Design helps you to migrate into the future
How Domain-Driven Design helps you to migrate into the futureHow Domain-Driven Design helps you to migrate into the future
How Domain-Driven Design helps you to migrate into the future
 
Transparent Object Persistence (within FLOW3)
Transparent Object Persistence (within FLOW3)Transparent Object Persistence (within FLOW3)
Transparent Object Persistence (within FLOW3)
 
JavaScript for PHP Developers
JavaScript for PHP DevelopersJavaScript for PHP Developers
JavaScript for PHP Developers
 
Transparent Object Persistence with FLOW3
Transparent Object Persistence with FLOW3Transparent Object Persistence with FLOW3
Transparent Object Persistence with FLOW3
 
TDD (with FLOW3)
TDD (with FLOW3)TDD (with FLOW3)
TDD (with FLOW3)
 
Implementing a JSR-283 Content Repository in PHP
Implementing a JSR-283 Content Repository in PHPImplementing a JSR-283 Content Repository in PHP
Implementing a JSR-283 Content Repository in PHP
 
Knowledge Management in der TYPO3 Community
Knowledge Management in der TYPO3 CommunityKnowledge Management in der TYPO3 Community
Knowledge Management in der TYPO3 Community
 
Unicode & PHP6
Unicode & PHP6Unicode & PHP6
Unicode & PHP6
 
Introduction to Source Code Management
Introduction to Source Code ManagementIntroduction to Source Code Management
Introduction to Source Code Management
 
It Works! Presenting DBAL use in real life
It Works! Presenting DBAL use in real lifeIt Works! Presenting DBAL use in real life
It Works! Presenting DBAL use in real life
 
DB API Usage - How to write DBAL compliant code
DB API Usage - How to write DBAL compliant codeDB API Usage - How to write DBAL compliant code
DB API Usage - How to write DBAL compliant code
 

Recently uploaded

What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 

Content Repository, Versioning and Workspaces in TYPO3 Phoenix

  • 1. Content Repository, Versioning and Workspaces in TYPO3 Phoenix Karsten Dambekalns <karsten@typo3.org> Inspiring people to share
  • 2. History 101 back in 2006 we looked for a storage solution we found JCR, back then in the form of JSR-170 started to use and port it adopted JSR-283 along the way Inspiring people to share
  • 3. Java vs. PHP Name clashes • clone, and Method signatures • optional parameters • different parameter order too many objects Inspiring people to share
  • 4. History 101 transparent object persistence on top of TYPO3CR TYPO3 FLOW3 Persistence TYPO3 Content Repository PDO ... SQLite PgSQL MySQL ... Inspiring people to share
  • 5. History 101 wanted to move TYPO3CR on top of FLOW3 TYPO3 FLOW3 Persistence TYPO3 Content Repository PDO ... SQLite PgSQL MySQL ... Inspiring people to share
  • 6. History 101 wanted to move TYPO3CR on top of FLOW3 TYPO3 TYPO3 Content Repository FLOW3 Persistence PDO ... SQLite PgSQL MySQL ... Inspiring people to share
  • 7. History 101 we decided to not use TYPO3CR anymore at all now we use it again after starting from scratch http://bit.ly/froscamp2010 Inspiring people to share
  • 8. What do we need? website content • (sort of) unstructured • dependent on use case • little logic domain models • for complex business logic display both on a website Inspiring people to share
  • 9. TYPO3CR today inspired by—but not bound to—JCR and Sling not implementing any specification has what we need for TYPO3 leaves out a loft of cruft can combine unstructured content and domain models just fine spicy workspaces the way we like ‘em Inspiring people to share
  • 10. Using nodes in TYPO3 website content usually stored in nodes content types define properties of content Fluid templates and TypoScript define rendering paths are the base, context provides details Inspiring people to share
  • 11. /sites/typo3.org/homepage/ typo3.org /sites/typo3.org/homepage/section:main/welcometxt1 mul en en ZZ EN EN homepage section:main welcometxt1 title: Home content: ... en en EN EN section:side moreinfo1 content: ... en en en EN EN EN about section:main abouttxt1 /sites/typo3.org/homepage/about/section:main/twocolumn1/section:left/lefttxt1 title: About content: ... en en en EN EN EN twocolumn1 section:left lefttxt1 content: void content: ... en en EN EN section:right righttxt1 content: ... de de DE DE section:right righttxt1 content: ... en en EN EN section:side moreinfo2 content: ... Inspiring people to share de de de
  • 12. en en EN EN section:right righttxt1 content: ... de de DE DE section:right righttxt1 content: ... en en EN EN section:side moreinfo2 content: ... de de de ZZ ZZ DE spenden section:main spendentxt1 title: Spenden content: ... de CH spendentxt2 content: ... de de ZZ DE section:side mehrinfo1 content: ... es ES donar title: Donar en EN donate title: Donate Inspiring people to share
  • 13. Workspaces built into TYPO3 right away shine through with copy-on-write Inspiring people to share
  • 14. typo3.org mul ZZ homepage title: Home en EN about title: About de ZZ spenden title: Spenden “live” Inspiring people to share
  • 15. typo3.org typo3.org mul mul ZZ ZZ homepage homepage title: Home title: Home en en EN EN about about title: About title: About de de ZZ ZZ spenden spenden title: Spenden title: Spenden “live” “user-liga” Inspiring people to share
  • 16. typo3.org typo3.org mul mul ZZ ZZ homepage homepage title: Home title: Home en en EN EN about about title: About title: About de de lv ZZ ZZ LV spenden spenden ziedot title: Spenden title: Spenden title: Ziedot “live” “user-liga” Inspiring people to share
  • 17. Workspaces can be nested at will no editing in live every user has a personal workspace Inspiring people to share
  • 18. Versioning currently in planning phase will be a FLOW3 persistence feature TYPO3 user interface will expose the underlying data Inspiring people to share
  • 20. Questions! Inspiring people to share
  • 21. Thank you! Follow me on twitter twitter.com/k_fish Inspiring people to share