building a vod portal with the flow @ inspiring flow 2013
TRANSCRIPT
Inspiring people toshare
Inspiring Flow 2013
A short story about a real life projet
Text
Building a VOD portal with the Flow
Inspiring people toshareA short story about a real life projet
medialib.tv - building a real life project with the flow
About our agencyttree ltd pronounced “tea-tree”
Small but nice webagency based in Lausanne, Switzerland
More that 10 years of experience with TYPO3 CMS
VOD solutions providers for major film festivals since 2008
Inspiring people toshareA short story about a real life projet
medialib.tv - building a real life project with the flow
About myselfDominique Feyer
Cofounder of ttree agency
One of the men behind the TYPO3 CMS XLIFF support
Leader of the translation team
Work with TYPO3 since 2000 and with TYPO3 Flow since 2012
Member of a nice family, a girlfriend and a 5 years old daughter
Inspiring people toshareA short story about a real life projet
TopictextStop to promote your self !
Inspiring people toshareA short story about a real life projet
medialib.tv - building a real life project with the flow
About this presentationA short introduction and history of the project
How TYPO3 Flow help us
Live demonstration of the current development version
Questions & Answers
medialib.tv - building a real life project with the flow
First real life projet with TYPO3 FlowShort development period
Kickoff of the project in september 2012
First private beta in mid november
Release of the 1.0 early in 2013
We need to be lean
minimal viable product
A short history of the project
medialib.tv - building a real life project with the flow
What’s the goal of the project ?
Hey men, that’s simple ...I just need to watch movies, you understand ?
Look like a simple domain ...So we can start with it with a really fresh framework !
User need to watch movie
First user story
medialib.tv - building a real life project with the flow
But the real domain is a bit more complex ...
MovieStream
Client
User
NewsTopic
Advice
medialib.tv - building a real life project with the flow
Key featuresMulti-domain support in the same datastore
Handle security access (PlayToken) for our Wowza Streaming Server cluster
Clear backoffice with easy to use forms
“Auto discoverable” features
Customizable frontend & notifications templates
medialib.tv - building a real life project with the flow
Time to codeRapid prototyping
Focus on the domain
No authentication, no log, no security, ...
But a full working prototype
Validated learning
medialib.tv - building a real life project with the flow
First contact with Flow
✓ Really clean code base
✓ A lots of new concept to learn
✓ But the learning curve is not so strong
✓ Documentation in constant improvement
✓ Awesome community support
medialib.tv - building a real life project with the flow
Feedback LoopBuild - Mesure - Learn
Minimize the total time throught the loop
medialib.tv - building a real life project with the flow
Does TYPO3 Flow support the loop ?No, he did not support it, it’s just a framework ! But ...
+ TYPO3.Flow
+ TYPO3.Surf
+ GIT
+ Continous Intergration Server
That support the loop well !!
medialib.tv - building a real life project with the flow
Quality Assurance
Avoid regression, client don’t like it
✓ Functional Test are awesome
✓ Unit Test
Note for myselft, please
write more test and
embrasse TDD/BDD
medialib.tv - building a real life project with the flow
Private Beta & Continous Improvement
Understand the problems, discuss & adapt
3 real customers during 2 sprints of 2 weeks each
A really intensive period
We code to solve real problems
Who know the problems ?
Ask or challenge your final user
How TYPO3 Flow help us to implement our key features ?
medialib.tv - building a real life project with the flow
Multi domain in the same datastoreAny DO can be “private” or “shared”
AOP + Domain object Annotations
Content Security
Features that help us
A way to extend \TYPO3\Flow\Security\Account
Property introduction with AOP don’t work
Missing features
medialib.tv - building a real life project with the flow
PlayTokenHandle the security access to our Wowza Streaming Server cluster
TYPO3.Soap
Features that help us
TYPO3.Soap Flow 2.0 support
Contributions during the project
Yes we broken one unit test
currently, help welcome
medialib.tv - building a real life project with the flow
Multi level administration rolesOur clients need to delegate some administration task, like user management & content management.
Content Security & Policy
Features that help us
A brain capable of correctly understanding policy configuration
More documentation around this subject, with real life exemple
A solution to disable content security for a specific query
Missing features
medialib.tv - building a real life project with the flow
Backoffice & Complex formForm need to be composed by multiple DO
TYPO3.Fluid awesome form support
PropertyMapper & Validator flexibility
Aloha Editor
Features that help us
medialib.tv - building a real life project with the flow
Custom Interface VocabularyClient must be able to customize vocabulary used by the service.
Aloha Editor + RestController
Features that help us
medialib.tv - building a real life project with the flow
Custom NotificationsNotifications template can be edited with Aloha Editor
Aloha Editor + RestController
TYPO3.Fluid + Custom Parser
Features that help us
TYPO3 Flow package to use this in any project
What’s next
medialib.tv - building a real life project with the flow
External webserviceModern webapplication can use a lots of different API over HTTP
\TYPO3\Flow\Http\Client\Browser + Curl Engine
Features that help us
Ttree.Oembed - oEmbed Consumer with auto discovery
Ttree.Tmdb - Client Interface for The Movie Database API
Contributions during the project
medialib.tv - building a real life project with the flow
Public APIA clean and modern RESTFull interface to integrate the service with external applications
RestController + JsonView
Features that help us
Is TYPO3 Flow a good choice ?
YESmedialib.tv - building a real life project with the flow
Do you want to view a live demonstration ?
medialib.tv - building a real life project with the flow
Questions & Answers
medialib.tv - building a real life project with the flow
Thanks you !
medialib.tv - building a real life project with the flow
www.ttree.ch www.medialib.tv
@ttreeagency @medialibtv
http://github.com/dfeyerhttp://github.com/ttreeagency