Building a vod portal with the flow @ Inspiring Flow 2013
1. Text
Building a VOD portal with the Flow
Inspiring Flow 2013 Inspiring people to
A short story about a real life projet share
2. medialib.tv - building a real life project with the flow
About our agency
ttree 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 to
A short story about a real life projet share
3. medialib.tv - building a real life project with the flow
About myself
Dominique 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 to
A short story about a real life projet share
5. medialib.tv - building a real life project with the flow
About this presentation
A short introduction and history of the project
How TYPO3 Flow help us
Live demonstration of the current development version
Questions & Answers
Inspiring people to
A short story about a real life projet share
6. medialib.tv - building a real life project with the flow
First real life projet with TYPO3 Flow
Short development period
Kickoff of the project in september 2012
First private beta in mid november
Release of the 1.0 early in 2013
du ct
We need to be lean
p ro
ab le
al vi
inim
m
8. 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 !
First user story
User need to watch movie
9. medialib.tv - building a real life project with the flow
But the real domain is a bit more complex ...
Client
User Strea
Movie m
News pic
Advice To
10. medialib.tv - building a real life project with the flow
Key features
Multi-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
11. medialib.tv - building a real life project with the flow
Time to code
Rapid prototyping
Focus on the domain
No authentication, no log, no security, ...
But a full working prototype
Validated learning
12. 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
13. medialib.tv - building a real life project with the flow
Feedback Loop
Build - Mesure - Learn
Min
imiz
e th
e to
tal
tim
e th
rou
gh t th
e lo
op
14. 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 !!
15. medialib.tv - building a real life project with the flow
Quality Assurance
✓ Functional Test are awesome
✓ Unit Test
Avo
myself t, please
id r
N ote for
test and
egr
e more
e ssio
n writ
, cli
ent sse TD D/BDD
d on’ embra
t like
it
16. medialib.tv - building a real life project with the flow
Private Beta & Continous Improvement
We code to solve real problems
Who know the problems ?
Ask or challenge your final user
Understand the problems, discuss & adapt
3 real customers during 2 sprints of 2 weeks each
A really intensive period
18. medialib.tv - building a real life project with the flow
Multi domain in the same datastore
Any DO can be “private” or “shared”
Features that help us
AOP + Domain object Annotations
Content Security
Missing features
A way to extend TYPO3FlowSecurityAccount
Property introduction with AOP don’t work
19. medialib.tv - building a real life project with the flow
PlayToken
Handle the security access to our
Yes
Wowza Streaming Server cluster we
cur bro
ren ken
tly, one
hel uni
Features that help us pw t te
elc st
om
TYPO3.Soap e
Contributions during the project
TYPO3.Soap Flow 2.0 support
20. medialib.tv - building a real life project with the flow
Multi level administration roles
Our clients need to delegate some administration task, like user
management & content management.
Features that help us
Content Security & Policy
Missing features
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
21. medialib.tv - building a real life project with the flow
Backoffice & Complex form
Form need to be composed by
multiple DO
Features that help us
TYPO3.Fluid awesome form support
PropertyMapper & Validator flexibility
Aloha Editor
22. medialib.tv - building a real life project with the flow
Custom Interface Vocabulary
Client must be able to customize vocabulary used by the service.
Features that help us
Aloha Editor + RestController
23. medialib.tv - building a real life project with the flow
Custom Notifications
Notifications template can be
edited with Aloha Editor
Features that help us
Aloha Editor + RestController
TYPO3.Fluid + Custom Parser
What’s next
TYPO3 Flow package to
use this in any project
24. medialib.tv - building a real life project with the flow
External webservice
Modern webapplication can use a lots of different API over HTTP
Features that help us
TYPO3FlowHttpClientBrowser + Curl Engine
Contributions during the project
Ttree.Oembed - oEmbed Consumer with auto discovery
Ttree.Tmdb - Client Interface for The Movie Database API
25. medialib.tv - building a real life project with the flow
Public API
A clean and modern RESTFull interface to
integrate the service with external applications
Features that help us
RestController + JsonView