Inspiring people to share Content Repository, Versioning and Workspaces in TYPO3 Phoenix Karsten Dambekalns <[email protected]>
Inspiring people toshare
Content Repository, Versioning and Workspaces
in TYPO3 PhoenixKarsten Dambekalns <[email protected]>
Inspiring people toshare
History 101back 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 toshare
Java vs. PHPName clashes
• clone, and
Method signatures
• optional parameters
• different parameter order
too many objects
Inspiring people toshare
History 101transparent object persistence on top of TYPO3CR
SQLite PgSQL MySQL ...
TYPO3 Content Repository
PDO ...
FLOW3 Persistence
TYPO3
Inspiring people toshare
History 101wanted to move TYPO3CR on top of FLOW3
SQLite PgSQL MySQL ...
TYPO3 Content Repository
PDO ...
FLOW3 Persistence
TYPO3
Inspiring people toshare
History 101wanted to move TYPO3CR on top of FLOW3
SQLite PgSQL MySQL ...
TYPO3 Content Repository
PDO ...
FLOW3 Persistence
TYPO3
Inspiring people toshare
History 101we decided to not use TYPO3CR anymore at all
now we use it again after starting from scratch
http://bit.ly/froscamp2010
Inspiring people toshare
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 toshare
TYPO3CR todayinspired 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 toshare
Using nodes in TYPO3website 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 toshare
typo3.org
title: Home
mulZZ
homepage
title: About
enEN
about
title: Donate
enEN
donate
title: Spenden
deZZ
spenden
title: Donar
esES
donar
content: ...
enEN
abouttxt1
content: void
enEN
twocolumn1
content: ...
enEN
moreinfo2
content: ...
enEN
welcometxt1
content: ...
enEN
moreinfo1
content: ...
deDE
spendentxt1
content: ...
deDE
mehrinfo1
content: ...
enEN
lefttxt1
content: ...
enEN
righttxt1
content: ...
deDE
righttxt1
enEN
section:main
enEN
section:side
enEN
section:main
enEN
section:left
enEN
section:right
deDE
section:right
content: ...
deCH
spendentxt2
enEN
section:side
deZZ
section:main
deZZ
section:side
/sites/typo3.org/homepage//sites/typo3.org/homepage/section:main/welcometxt1
/sites/typo3.org/homepage/about/section:main/twocolumn1/section:left/lefttxt1
Inspiring people toshare
typo3.org
title: Home
mulZZ
homepage
title: About
enEN
about
title: Donate
enEN
donate
title: Spenden
deZZ
spenden
title: Donar
esES
donar
content: ...
enEN
abouttxt1
content: void
enEN
twocolumn1
content: ...
enEN
moreinfo2
content: ...
enEN
welcometxt1
content: ...
enEN
moreinfo1
content: ...
deDE
spendentxt1
content: ...
deDE
mehrinfo1
content: ...
enEN
lefttxt1
content: ...
enEN
righttxt1
content: ...
deDE
righttxt1
enEN
section:main
enEN
section:side
enEN
section:main
enEN
section:left
enEN
section:right
deDE
section:right
content: ...
deCH
spendentxt2
enEN
section:side
deZZ
section:main
deZZ
section:side
/sites/typo3.org/homepage//sites/typo3.org/homepage/section:main/welcometxt1
/sites/typo3.org/homepage/about/section:main/twocolumn1/section:left/lefttxt1
Inspiring people toshare
Workspacesbuilt into TYPO3 right away
shine through with copy-on-write
Inspiring people toshare
“live”
typo3.org
title: Home
mulZZ
homepage
title: About
enEN
about
title: Spenden
deZZ
spenden
Inspiring people toshare
“live”
typo3.org
title: Home
mulZZ
homepage
title: About
enEN
about
title: Spenden
deZZ
spenden
“user-liga”
typo3.org
title: Home
mulZZ
homepage
title: About
enEN
about
title: Spenden
deZZ
spenden
Inspiring people toshare
“live”
typo3.org
title: Home
mulZZ
homepage
title: About
enEN
about
title: Spenden
deZZ
spenden
“user-liga”
typo3.org
title: Home
mulZZ
homepage
title: About
enEN
about
title: Spenden
deZZ
spenden
title: Ziedot
lvLV
ziedot
Inspiring people toshare
Workspacescan be nested at will
no editing in live
every user has a personal workspace
Inspiring people toshare
Versioningcurrently in planning phase
will be a FLOW3 persistence feature
TYPO3 user interface will expose the underlying data
Inspiring people toshare
Inspiring people toshare
Questions!
Inspiring people toshare
Thank you!
Follow me on twitter
twitter.com/k_fish