TYPO3 5.0 The Business Case
-
Upload
robert-lemke -
Category
Documents
-
view
662 -
download
0
description
Transcript of TYPO3 5.0 The Business Case
Gimme Five!The road to TYPO3 5.0 „Phoenix“
TYPO3 5.0 - The Business CasePRINCIPIA PHOENIXTYPO3 Conference 21.09.2007, Karlsruhe / Germany
Inspiring people toshare
Your itineraryThe way to here
Guiding principles
Example projects
Key success factors
Next steps
Inspiring people toshare
the way to here
Inspiring people toshare
What's wrong?TYPO3 4.x‘s architecture is reaching it‘s limit
Content management got more important and professional and with it the challenges have changed
Customers demand more for less (and rightly so)
Software around TYPO3 has moved on
TYPO3 needs to define the standard (like it did in the past) to maintain the lead
The Way To Here
Gimme Five!The road to TYPO3 5.0 „Phoenix“
Born in the Ketchup Mountains
Plan
Momentum
Idea
The Way To Here
Inspiring people toshare
Mission „Ease of Use“From the becoming of the TYPO3 Association to building of a brand, everything we have thought, said and done was meant to bring us here:
to the birth of a new era
to prove that Open Source projects can re-invent themselves
Welcome to Phoenix, the rebirth principle incarnate
The Way To Here
Inspiring people toshare
guiding principles
Inspiring people toshare
Why Principles Matterwith principles we are referring to the conventions and techniques used by TYPO3 5.0
we don‘t build buildings – design decisions can be changed most of the time
refactoring is already an important partof the daily 5.0 development
code changes, principles prevail
Guiding Principles
Inspiring people toshare
TYPO3's Principles
meet real world needs
configuration over development
modularity through Extensions (TER)
... inspiring people to share.
Guiding Principles
Inspiring people toshare
TYPO3's Principles
anticipate real world needs
convention over configuration
modularity everywhere
... inspiring people to share.
Guiding Principles
centralize concerns
efficient development
human readable code
Inspiring people toshare
5 Development MethodsWork where it matters (DDD)
Work where it belongs to (DRY)
No chaos, ever (TDD)
No bad surprises (CI)
Innovation built-in (DI, AOP, GUI)
Guiding Principles
Domain Driven Design
Don't Repeat Yourself
Test Driven Development
ContinuousIntegration Dependency Injection
Aspect Orient ProgrammingGraphical User Interface
Inspiring people toshare
Why focus on Domains?
More time in development is spent on infrastructure instead of user interfaces and business logic.
To hell with this!
Inspiring people toshare
Domain Driven DesignA domain is the activity or business of the user
Domain Driven Design is about
focussing on the domain and domain logic
accurately mapping the domain concepts to software
forming a ubiquitous language among the project members
Inspiring people toshare
Ubiquitous languageThe common vocabulary is an important prerequisitefor successful collaboration
Use the same words for discussion, modeling, developmentand documentation
Inspiring people toshare
Phone Book Domain Model
Inspiring people toshare
More phone book actionsshow phone book entries
check if user may delete phone book entry
export phone book entries
log phone book actions
Inspiring people toshare
More phone book actionsshow phone book entries
check if user may delete phone book entry
export phone book entries
log phone book actions✘ not in the domain of a phone book
Inspiring people toshare
Layered Architecture
Presentation
Domain
Data source
Application Logic (Service Layer)
Domain Model (Domain Layer)
View
Controller
Data Mapper (part of Content Repository)
Data Source Abstraction
Inspiring people toshare
Layered Architecture
Presentation
Domain
Data source
Application Logic (Service Layer)
Domain Model (Domain Layer)
View
Controller
Data Mapper (part of Content Repository)
Data Source Abstraction
Inspiring people toshare
Domain-Driven Design„Cancel the reservation for Mr. Sarkosh“
$person = $partyRepository->findByLastName(‘Sarkosh‘);$reservation = $reservationRepository->findByPerson($person);$reservation->cancel();
Inspiring people toshare
Why Centralize Concerns ?TYPO3 4.x leaves critical concerns and tedious redundant functions to be re-done with every extension.
Burn baby, burn.
Inspiring people toshare
Aspect Oriented ProgrammingAOP is a programming paradigm
complements OOP by separating concerns to improve modularization
OOP modularizes concerns: methods, classes, packages
AOP addresses cross-cutting concerns
Inspiring people toshare
Cross-cutting concerns
Presentation
Domain
Data source
Inspiring people toshare
Cross-cutting concerns
Presentation
Domain
Data source
The concerns
live here
Inspiring people toshare
Cross-cutting concerns
Phone BookDomain Model
Security
Logging
Inspiring people toshare
example projects
Inspiring people toshare
Example ProjectsEvery piece of logic added to a software system makes the next relaunch inch a little closer and threatens the relationship between the service provider and the customer.
Make it feel the heat!
Inspiring people toshare
Regular WebsiteProject phases today:
1. specification and design
2. production
3. adaption
4. support
=> the project‘s progress increasingly limits the adaptive range of the customer and the consultancy.
Example Projects
Functional Range
project progress in time
Inspiring people toshare
Regular Website with 5.0project phases then:
1. specification and design
2. prototype implementation
3. adaption and iterative development
4. support and iterative development
=> „extreme programming“ becomes a business model for the interaction between customer and service provider fostering long-term relationships.
Example Projects
Functional Range
project progress in time
Inspiring people toshare
TYPO3 as a frameworkproject phases now:
1. initial spec and design
2. development, beginning with the data model (!)
3. adaption
4. start all-over...
=> finite loop: changing business objectives collide with the initial data model and business logic
Example Projects
Amount of Code
project progress in time
Inspiring people toshare
TYPO3 as a frameworkproject phases with 5.0:
1. initial spec and design
2. initial development of fundamentalbusiness logic domains
3. adaption-as-you-work „surgically“ addressing business logic largely unhindered by infrastructure.
=> infinite loop: changing business objectives address existing and create new domains of business logic representated in the system.
„high speed, low drag“- principle keeps the troops mobile.
Example Projects
Amount of Code
project progress in time
Inspiring people toshare
key success factors
Inspiring people toshare
Key Success FactorsTYPO3 5.0 consists of two parts:
a framework ready to empower business logic
a CMS setting the next standard
TYPO3 5.0 will complete the „ease of use“-mission, thus „enabling people to communicate“.
Made from the same steel, but sharper, lighter and quicker.
Key Success Factors
Inspiring people toshare
3 Value-creating Principles
VIVID: Vitality in Domains (instead of dead db‘s)
SAFE: Centralized Intelligence Architecture
CLEAN: Look Ma, no chaos
Key Success Factors
Inspiring people toshare
Use Phoenix...to empower a content-driven consultancy
to focus on designing and improving business logic
to create more flexible and therefore long-lasting software solutions to business problems
to empower executive strategy without restraining tactics
to thrive on long-term customer relationships
Key Success Factors
Inspiring people toshare
Key Success Factorsbetter return on investment by making development more efficient
securing investments by extending the life-expectancy of systems
making content more versatile and portable through TYPO3 CR
enabling safer software through centralized security
fostering consistency and thereby vendor-independence... by principle
Inspiring people toshare
next steps
Inspiring people toshare
Mission ObjectivesPhase 0: „Preparation“ of Stakeholdersmuster ideas, ressources and people to plan and prepare the campaign.
Phase 1: „ Winning Hearts and Minds“ of Developerswinning those at the heart of TYPO3‘s success: developers everywhere.
Phase 2: „Making the Wave...“ for Consultanciesmake them work together and create a thriving feedback-production loop.
Phase 3: „and Surfing it“ alltogether!take an active role in the adaption of existing extensions' functions into 5.0-compatible extensions..
Proposal for market introduction
Inspiring people toshare
Phases of FlightPhase 0: „Boarding“:join the Phoenix Marketing Team (to be founded today)
Phase 1: „System Check“early adaption of the 5.0 framework for research projects to learn and adapt the principles.
Phase 2: „Take-Off“push for the design and production of the CMS package based on lessons learned by the 4.x versions.
Phase 3: „ Landing“take an active role in the adaption of existing extensions' functions into 5.0-compatible extensions.
Proposal for market introduction
Inspiring people toshare
What about the roadmap?
When will it be released?
Here is what our press rep has to say!
Gimme Five!The road to TYPO3 5.0 „Phoenix“
burning to rock content management (again)