TYPO3 Flow a solid foundation
for medialib.tv

T3CONDE | Stuttgart | october 2013 | dominique feyer | ttree | www.ttree.ch...
About our agency
ttree ltd pronounced “tea-tree”
Small but nice webagency based in Lausanne, Switzerland
> 10 years of exp...
About myself
Dominique Feyer
Cofounder of ttree ltd + medialib.tv ltd
One of the men behind the TYPO3 CMS XLIFF support
Le...
About medialib.tv
SaaS video streaming portal
Easy & Friendly to use
Customizable
In constant evolution

Inspiring people ...
A short
history
of the
project
What’s the goal of the project ?
Hey men, that’s simple ...

I just need to watch movies, you understand ?
Look like a sim...
But the real domain is a bit more complex ...
Client
User

ews
N

Movie

vice
Ad

rity
ecu

S
Strea
m

Analytics
Key features
SaaS / Single application for multiple client
Secured stream access
Advanced forms
“Auto discoverable” featur...
History
2009: informal discussion with some movie producers
2010: first working prototype based on Symfony 1.4
2012: Relaun...
A short video to introduce

medialib.tv
Why do we choose TYPO3 Flow ?
Question
Answer

Being an early adopter can be risky & challenging, no ?
Yes, but why not ta...
Where are
we going ?
But first, what do we need ?
✓ A complete & flexible MVC stack
✓ A productive framework
✓ A clean code base & documentation
...
MVC Stack & Productive Framework
Question

Did you know Extbase / Fluid ?

Answer

So you can build an MVC application wit...
A clean code base & documentation
✓ Documentation improve every day
✓ A framework is targeted for developper
✓ The code is...
A powerful & flexible form handling
✓ The first prototype of medialib.tv is based on Symfony 1.4
✓ The form handling / valid...
A way to take care about security
Question

How do you handle your application security ?

Answer

Joker, can you ask an o...
Deny everything & Grant what’s needed
A highly flexible template system
✓ Fluid is good Templating System
✓ TypoScript2 give you a lots more flexibility
✓ EEL pus...
An awesome community
✓ The TYPO3 Community is full of really innovative people
✓ IRC channel is really friendly and helpfu...
Our current projects
We are just 6 monthes after the launch ...
✓ Stabilize & Near continous delivery
✓ Full TypoScript re...
Stabilize & Near continous delivery

✓ Bugfixing
✓ TDD + BDD
✓ «Near» Continous Delivery

th
g

ni
e

on
D

el
tr
’

se
ea
...
Full TypoScript rendering stack

!

✓ More Flexibility
✓ Improve performance
✓ Lazy Loading
View
Controller
View
TypoScript
Controller
Performance
Memory Usage
✓ Before: 72 Mo
✓ After:

34 Mo

-53%
Service Oriented Architecture
✓ Currently the application is monolithic

tim
ice
n
he BS
t
e
B
m
a
r
be s on
em ge
em ima
...
Moving from monolith to SOA
✓ Signal & Slot
✓ Decoupled
✓ Test
✓ Job Queue / Beanstalk
HLS DRM Server Key
✓ Connected to Wowza Streaming Server (SOAP)

ed
rc
ou

✓ Delvier key over HTTPS
✓ Key Rotation

lb
il
...
What about the futur
✓ Public API / RESTfull
✓ Templating Server / Remote template delivery system
✓ ElasticSearch integra...
Questions & Answers
Thanks 

for listening
You, has a community, can make
thing happen, so thank you
www.ttree.ch www.medialib.tv
!

@dfeyer @ttreeagency @medialibtv
!

github.com/ttreeagency 

github.com/dfeyer
!

info@ttr...
TYPO3 Flow a solid foundation for medialib.tv
TYPO3 Flow a solid foundation for medialib.tv
TYPO3 Flow a solid foundation for medialib.tv
TYPO3 Flow a solid foundation for medialib.tv
TYPO3 Flow a solid foundation for medialib.tv
TYPO3 Flow a solid foundation for medialib.tv
Upcoming SlideShare
Loading in...5
×

TYPO3 Flow a solid foundation for medialib.tv

700

Published on

During this talk I present why we choose TYPO3 Flow as our main PHP framework and has a foundation for our VOD SaaS service medialib.tv

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

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

No notes for slide

TYPO3 Flow a solid foundation for medialib.tv

  1. 1. TYPO3 Flow a solid foundation for medialib.tv
 T3CONDE | Stuttgart | october 2013 | dominique feyer | ttree | www.ttree.ch Inspiring people to share
  2. 2. About our agency ttree ltd pronounced “tea-tree” Small but nice webagency based in Lausanne, Switzerland > 10 years of experience with TYPO3 CMS Early Flow / Neos adopter & supporter Clean code addicted Inspiring people to Flow a solid foundation for medialib.tv share
  3. 3. About myself Dominique Feyer Cofounder of ttree ltd + medialib.tv ltd One of the men behind the TYPO3 CMS XLIFF support Leader of the TYPO3 translation team If you can’t produce clean code, try to improve yourself Inspiring people to Flow a solid foundation for medialib.tv share
  4. 4. About medialib.tv SaaS video streaming portal Easy & Friendly to use Customizable In constant evolution Inspiring people to Flow a solid foundation for medialib.tv share
  5. 5. A short history of the project
  6. 6. 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
  7. 7. But the real domain is a bit more complex ... Client User ews N Movie vice Ad rity ecu S Strea m Analytics
  8. 8. Key features SaaS / Single application for multiple client Secured stream access Advanced forms “Auto discoverable” features Customizable frontend templates
  9. 9. History 2009: informal discussion with some movie producers 2010: first working prototype based on Symfony 1.4 2012: Relaunch based on TYPO3 Flow 2.0 (master) 2013: Service launched in France 2014: You know that’s the future ...
  10. 10. A short video to introduce medialib.tv
  11. 11. Why do we choose TYPO3 Flow ? Question Answer Being an early adopter can be risky & challenging, no ? Yes, but why not taking risk, that’s life ?
  12. 12. Where are we going ?
  13. 13. But first, what do we need ? ✓ A complete & flexible MVC stack ✓ A productive framework ✓ A clean code base & documentation ✓ A powerful & easy form handling ✓ A way to take care about the security ✓ A highly flexible templating system ✓ An awesome community support and feedback
  14. 14. MVC Stack & Productive Framework Question Did you know Extbase / Fluid ? Answer So you can build an MVC application with TYPO3.Flow ✓ Easy learning curve from Extbase / Fluid ✓ Add feature (security, AOP, ...) when you feel confortable ✓ AOP is complex but really powerful ✓ Security Framework is a key feature
  15. 15. A clean code base & documentation ✓ Documentation improve every day ✓ A framework is targeted for developper ✓ The code is the «real documentation» ✓ Flow has a really clean code base ✓ Take time to understand it ✓ Contributing is the best way to improve your skills
  16. 16. A powerful & flexible form handling ✓ The first prototype of medialib.tv is based on Symfony 1.4 ✓ The form handling / validation was a nightmare ✓ Things change in version 2.0 and higher, but that not perfect ✓ With Flow we handle more than twelve model in a single form ✓ Complexe validation ✓ Easy to write template ✓ Consitent configuration of the validation
  17. 17. A way to take care about security Question How do you handle your application security ? Answer Joker, can you ask an other question ? Policy.yaml Firewall Style
  18. 18. Deny everything & Grant what’s needed
  19. 19. A highly flexible template system ✓ Fluid is good Templating System ✓ TypoScript2 give you a lots more flexibility ✓ EEL push the limit a bit higher ✓ So TS2 + EEL + Fluid = awesome templating o m a re oS yp T ut bo pt ri c EE 2/ l L er at
  20. 20. An awesome community ✓ The TYPO3 Community is full of really innovative people ✓ IRC channel is really friendly and helpfull ✓ Active mailing list ✓ Don’t be a ... try to contribute early ! In a Nutshell, TYPO3 Flow...! ...has had 4,852 commits made by 78 contributors ! representing 91,215 lines of code! ...is mostly written in PHP ! with a well-commented source code! ...has a well established, mature codebase ! maintained by a very large development team ! with decreasing Y-O-Y commits! ...took an estimated 23 years of effort (COCOMO model) ! starting with its first commit in February, 2008 ! ending with its most recent commit 9 days ago!
  21. 21. Our current projects We are just 6 monthes after the launch ... ✓ Stabilize & Near continous delivery ✓ Full TypoScript rendering stack ✓ Service Oriented Architecture ✓ Digital Right Management for HLS
  22. 22. Stabilize & Near continous delivery ✓ Bugfixing ✓ TDD + BDD ✓ «Near» Continous Delivery th g ni e on D el tr ’ se ea rin du t, gh he w yo n ca u s n ep le
  23. 23. Full TypoScript rendering stack ! ✓ More Flexibility ✓ Improve performance ✓ Lazy Loading
  24. 24. View Controller
  25. 25. View TypoScript Controller
  26. 26. Performance Memory Usage ✓ Before: 72 Mo ✓ After: 34 Mo -53%
  27. 27. Service Oriented Architecture ✓ Currently the application is monolithic tim ice n he BS t e B m a r be s on em ge em ima r os ad de plo vi u ng n I li nd whe Ha 
 e ✓ Some tasks need to be async
  28. 28. Moving from monolith to SOA ✓ Signal & Slot ✓ Decoupled ✓ Test ✓ Job Queue / Beanstalk
  29. 29. HLS DRM Server Key ✓ Connected to Wowza Streaming Server (SOAP) ed rc ou ✓ Delvier key over HTTPS ✓ Key Rotation lb il ✓ Dedicated to iOS devices and Safari ow .W ee tr T .H za ey sK l w er rv Se o e ns pe
  30. 30. What about the futur ✓ Public API / RESTfull ✓ Templating Server / Remote template delivery system ✓ ElasticSearch integration, based on Flowpack.ElasticSearch ✓ Riak CS adaptor for Flow 2.1 RessourceManager ✓ Semantic Web & Accesibility ✓ Neos integration
  31. 31. Questions & Answers
  32. 32. Thanks 
 for listening You, has a community, can make thing happen, so thank you
  33. 33. www.ttree.ch www.medialib.tv ! @dfeyer @ttreeagency @medialibtv ! github.com/ttreeagency 
 github.com/dfeyer ! info@ttree.ch
  1. A particular slide catching your eye?

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

×