Your SlideShare is downloading. ×
0
Gimme Five!The road to TYPO3 5.0 „Phoenix“
Phoenix
Phoenix
Overview  Starting point: Why we need TYPO3 5.0  Beyond the horizon: Objectives of the project  Project status: What has h...
Why we need TYPO3 5.0
Some reasons for 5.0 ...  Complexity - the TYPO3 core architecture reached its limit and  takes quite some time to learn  ...
Some more reasons for 5.0 ...  In the mid term TYPO3 will have about 10.000 extensions - of  varying quality in terms of c...
Objectives of the project
Core objectives  Creation of a clean code base  Protection of TYPO3‘s „soul“  Modularity and abstraction of the core funct...
Challenge: architecture  Layered architecture: pretty easy    pretty: lowest level meets highest aesthetic requirements   ...
Migration and acceptance  Development of TYPO3 4.x and 5.x continues in parallel  Protection of investment into knowledge ...
Impact roadmap  Core objective “Ease of use “:
What has happened so far
Initial ideas  Decision for creating a version 5.0 with a new architecture has  been taken at the R&D committee meeting in...
Project start  Official start at the TYPO3 Developer Days 2006 in  Dietikon / Switzerland  Brainstorming sessions had the s...
Teams and contribution  Foster diversity and innovation by different teams  Have your own mind – do research, create sketc...
A new architecture
Tabula rasa  TYPO3 5.0 development starts from scratch  Improved Coding Guidelines and Coding Style Guide with  glossary  ...
Components  Virtually any part of TYPO3 can be replaced by a  new component providing the same API  Components have sub (-...
Component examples
The content repository
Current situation: RDBMS via DBAL  Trees are stored in different tables  Data is stored in table fields  Adding properties ...
Flexible data structuresin TYPO3 4.x  The data structure of tt_content is fixed  The flexible data structure is stored as XM...
Flexible data structuresin TYPO3 4.x  The data structure of tt_content is fixed  The flexible data structure is stored as XM...
B-Trees and other plants
B-Trees and other plants
B-Trees and other plants
B-Trees and other plants
TYPO3 CR: ODBMS  A CR is a kind of object database for storing hierarchical data  On top of a regular data source (MySQL, ...
Advantages of aContent Repository  Flexible and extensible data structure    eg. data structures of TemplaVoilá‘s Flexible...
Advantages of aContent Repository  Data source abstraction instead of database abstraction    Data can be stored in differ...
JSR-170  Java Specification Request N° 170  Specifies a standard API to access content repositories in Java  independent of ...
JSR-170 and TYPO3 ?  In TYPO3 5.0 we want a content repository based on generic  nodes and properties  JSR-170 defines a fu...
JSR-170 and TYPO3 ?  The Java bridge allows us to access a Jackrabbit repository  from PHP – that‘s a temporary shortcut! ...
An initial roadmap
Inital Roadmap     http://typo3.org/teams/5.0-development/roadmap/
Inital Roadmap         http://typo3.org/teams/5.0-development/roadmap/ Milestone one: Raw content access Milestone two: Us...
Links & resources  TYPO3 5.0 Development Team:  http://typo3.org/gimmefive  These slides and other resources:  http://typo3...
Gimme Five!The road to TYPO3 5.0 „Phoenix“Inspiring People To Share
The road to TYPO3 5.0 Phoenix
The road to TYPO3 5.0 Phoenix
The road to TYPO3 5.0 Phoenix
Upcoming SlideShare
Loading in...5
×

The road to TYPO3 5.0 Phoenix

1,174

Published on

Slides of the talk at T3CON06 at 07.10.2006 in Karlsruhe by Robert Lemke and Karsten Dambekalns. It outlines the plans for TYPO3 5.0 and gives an overview of what has happened so far.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,174
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "The road to TYPO3 5.0 Phoenix"

  1. 1. Gimme Five!The road to TYPO3 5.0 „Phoenix“
  2. 2. Phoenix
  3. 3. Phoenix
  4. 4. Overview Starting point: Why we need TYPO3 5.0 Beyond the horizon: Objectives of the project Project status: What has happened so far A flexible foundation: The content repository The road to Phoenix: An initial roadmap
  5. 5. Why we need TYPO3 5.0
  6. 6. Some reasons for 5.0 ... Complexity - the TYPO3 core architecture reached its limit and takes quite some time to learn Data model – the current approach is not flexible enough and direct database access (even through DBAL) causes problems PHP5 – the new features of PHP5 allow for a much cleaner and developer-friendly architecture Connectivity – a future architecture will provide much better support for external access (SOAP, WebDAV, 3rd party tools)
  7. 7. Some more reasons for 5.0 ... In the mid term TYPO3 will have about 10.000 extensions - of varying quality in terms of code and security In large-scale enterprises and medium-sized businesses TYPO3 is increasingly used in critical areas The developer teams will grow and require a more modular and accessible software New CMS projects can use new technologies irrespective of legacy – why shouldn‘t we?
  8. 8. Objectives of the project
  9. 9. Core objectives Creation of a clean code base Protection of TYPO3‘s „soul“ Modularity and abstraction of the core functions Flexible and scalable architecture Use of standards and established techniques Ease of use on all levels Realistic migration path
  10. 10. Challenge: architecture Layered architecture: pretty easy pretty: lowest level meets highest aesthetic requirements easy: highest level is easy to use - even for PHP rookies Built-in security (examples): data access through objects Cross-site-scripting and SQL injection is not possible Upfront recycle design with radical refactoring
  11. 11. Migration and acceptance Development of TYPO3 4.x and 5.x continues in parallel Protection of investment into knowledge and development Early integration of the community Easy migration of important components Well-proven concepts are preserved
  12. 12. Impact roadmap Core objective “Ease of use “:
  13. 13. What has happened so far
  14. 14. Initial ideas Decision for creating a version 5.0 with a new architecture has been taken at the R&D committee meeting in May 2005 First R&D meeting specifically about 5.0 took place in December 2005 Final R&D meeting with brainstorming sessions in June 2006
  15. 15. Project start Official start at the TYPO3 Developer Days 2006 in Dietikon / Switzerland Brainstorming sessions had the same results as previous sessions and most of the discussions in the mailing lists A project website and a mailing list for general discussion has been created Karsten and Robert have (almost) weekly meetings for planning the 5.0 project
  16. 16. Teams and contribution Foster diversity and innovation by different teams Have your own mind – do research, create sketches, play with code Create your own stand on the bazar
  17. 17. A new architecture
  18. 18. Tabula rasa TYPO3 5.0 development starts from scratch Improved Coding Guidelines and Coding Style Guide with glossary Some base components are designed and implemented, then other components are shaped and filled with code from the 4.x branch
  19. 19. Components Virtually any part of TYPO3 can be replaced by a new component providing the same API Components have sub (-sub, ...) components Each component has a well-defined interface. Encapsulation is enforced Frontend plugins and backend modules are components, too. They just fall into a certain category
  20. 20. Component examples
  21. 21. The content repository
  22. 22. Current situation: RDBMS via DBAL Trees are stored in different tables Data is stored in table fields Adding properties means adding fields to the table structure Nested records are stored as XML in one table field Records can be queried via SQL Abstraction on query-level (no transactions, procedures etc.) Not all data is stored in the database but in files
  23. 23. Flexible data structuresin TYPO3 4.x The data structure of tt_content is fixed The flexible data structure is stored as XML in one field:
  24. 24. Flexible data structuresin TYPO3 4.x The data structure of tt_content is fixed The flexible data structure is stored as XML in one field: B AD!
  25. 25. B-Trees and other plants
  26. 26. B-Trees and other plants
  27. 27. B-Trees and other plants
  28. 28. B-Trees and other plants
  29. 29. TYPO3 CR: ODBMS A CR is a kind of object database for storing hierarchical data On top of a regular data source (MySQL, Oracle, CSV, Excel ...) Trees are stored as nodes, data natively as properties Nested „records“ are just stored as sub nodes Data can be queried through SQL and XPATH All storage and retrieval of data is handled through objects All content (even files) is stored in the content repository
  30. 30. Advantages of aContent Repository Flexible and extensible data structure eg. data structures of TemplaVoilá‘s Flexible Content Elements are stored directly in the repository and can be queried Object based storage and retrieval Combines all advantages of navigational and relational databases Security can be enforced on a higher level Cleaner and easier to use for the developer
  31. 31. Advantages of aContent Repository Data source abstraction instead of database abstraction Data can be stored in different ways, a database is only one of them Due to the higher level of abstraction, database specific functions and specialties like transactions, stored procedures, partitioning ... can be used on the CR implementation level Speed Depending on the CR implementation the speed gain for read access to the content tree can be immense
  32. 32. JSR-170 Java Specification Request N° 170 Specifies a standard API to access content repositories in Java independent of the implementation JCR implementations: DAY CRX (reference implementation) Jackrabbit (open source)
  33. 33. JSR-170 and TYPO3 ? In TYPO3 5.0 we want a content repository based on generic nodes and properties JSR-170 defines a full featured API to access such a repository, including Session handling Transactions Workspaces Why reinvent the wheel?
  34. 34. JSR-170 and TYPO3 ? The Java bridge allows us to access a Jackrabbit repository from PHP – that‘s a temporary shortcut! TYPO3 5.0 will still run completely without Java - by accessing the PHP-based TYPO3 CR, based on the APIs defined in JSR-170 The goal: A flexible and powerful content repository for TYPO3 written in PHP 5 TYPO3 CR uses the JSR-170 interfaces where possible Maybe only 98% of the standard will be implemented
  35. 35. An initial roadmap
  36. 36. Inital Roadmap http://typo3.org/teams/5.0-development/roadmap/
  37. 37. Inital Roadmap http://typo3.org/teams/5.0-development/roadmap/ Milestone one: Raw content access Milestone two: Users, Rights and Localization / Translation Milestone three: Rebirth of the frontend Milestone four: Rebirth of the backend Preview 1: Migration of backend extensions starts Preview 2: Migration of frontend extensions starts
  38. 38. Links & resources TYPO3 5.0 Development Team: http://typo3.org/gimmefive These slides and other resources: http://typo3.org/teams/5.0-development/resources/ The initial roadmap http://typo3.org/teams/5.0-development/roadmap/ The TYPO3 Association Paypal account paypal@typo3.org
  39. 39. Gimme Five!The road to TYPO3 5.0 „Phoenix“Inspiring People To Share
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×