This presetentation talk about medialib.tv, a SaaS streaming service, based on the opensource PHP framework, TYPO3 Flow.
Location: Inspiring Flow 2013, Friday, April 19th 2013
http://www.inspiring-flow.com/program.html
1. Text
Building a VOD portal with the Flow
Inspiring Flow 2013
A short story about a real life projet
Inspiring people to
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
A short story about a real life projet
Inspiring people to
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
A short story about a real life projet
Inspiring people to
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
A short story about a real life projet
Inspiring people to
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
We need to be lean
m
im
in
vi
al
le
ab
ro
p
ct
du
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
ews
N
Strea
m
Movie
vice
Ad
pic
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
thro
ugh
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
✓
✓
Avo
id
Functional Test are awesome
Unit Test
reg
ress
ion
, cli
ent
don
’t li
ke i
t
, please
myselft
ote for
N
test and
e more
writ
D/BDD
sse TD
embra
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
Wowza Streaming Server cluster
Features that help us
TYPO3.Soap
Contributions during the project
TYPO3.Soap Flow 2.0 support
Yes
we
bro
cur
ken
ren
one
tly,
uni
hel
t te
pw
st
elc
om
e
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