TYPO3 Flow a solid foundation for medialib.tv
-
Upload
dfeyer -
Category
Technology
-
view
634 -
download
2
description
Transcript of TYPO3 Flow a solid foundation for medialib.tv
![Page 1: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/1.jpg)
Inspiring people toshare
T3CONDE | Stuttgart | october 2013 | dominique feyer | ttree | www.ttree.ch
TYPO3 Flow a solid foundation for medialib.tv
![Page 2: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/2.jpg)
Inspiring people toshareFlow a solid foundation for medialib.tv
About our agencyttree 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
![Page 3: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/3.jpg)
Inspiring people toshareFlow a solid foundation for medialib.tv
About myselfDominique 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
![Page 4: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/4.jpg)
Inspiring people toshareFlow a solid foundation for medialib.tv
About medialib.tvSaaS video streaming portal
Easy & Friendly to use
Customizable
In constant evolution
![Page 5: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/5.jpg)
A short history of the project
![Page 6: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/6.jpg)
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
![Page 7: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/7.jpg)
But the real domain is a bit more complex ...
MovieStream
Client
User
NewsAnalytics
Advice
Security
![Page 8: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/8.jpg)
Key featuresSaaS / Single application for multiple client
Secured stream access
Advanced forms
“Auto discoverable” features
Customizable frontend templates
![Page 9: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/9.jpg)
History2009: 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 ...
![Page 10: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/10.jpg)
A short video to introduce medialib.tv
![Page 11: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/11.jpg)
![Page 12: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/12.jpg)
Why do we choose TYPO3 Flow ?
Question Being an early adopter can be risky & challenging, no ?Answer Yes, but why not taking risk, that’s life ?
![Page 13: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/13.jpg)
Where are we going ?
![Page 14: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/14.jpg)
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
![Page 15: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/15.jpg)
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
![Page 16: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/16.jpg)
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
![Page 17: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/17.jpg)
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
![Page 18: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/18.jpg)
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
![Page 19: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/19.jpg)
Deny everything & Grant what’s needed
![Page 20: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/20.jpg)
![Page 21: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/21.jpg)
![Page 22: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/22.jpg)
![Page 23: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/23.jpg)
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
more about TypoScri
pt2/EEL later
![Page 24: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/24.jpg)
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!
![Page 25: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/25.jpg)
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
![Page 26: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/26.jpg)
Stabilize & Near continous delivery
✓ Bugfixing
✓ TDD + BDD
✓ «Near» Continous Delivery
Don’t release during the night, w
hen you can sleep
![Page 27: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/27.jpg)
Full TypoScript rendering stack !
✓ More Flexibility
✓ Improve performance
✓ Lazy Loading
![Page 28: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/28.jpg)
Controller
View
![Page 29: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/29.jpg)
Controller
View
TypoScript
![Page 30: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/30.jpg)
![Page 31: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/31.jpg)
![Page 32: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/32.jpg)
Performance
Memory Usage
✓ Before: 72 Mo
✓ After: 34 Mo
-53%
![Page 33: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/33.jpg)
Service Oriented Architecture
✓ Currently the application is monolithic
✓ Some tasks need to be async
Handling videos remember m
e the nice time
when I upload images on a BBS
![Page 34: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/34.jpg)
Moving from monolith to SOA
✓ Signal & Slot
✓ Decoupled
✓ Test
✓ Job Queue / Beanstalk
![Page 35: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/35.jpg)
HLS DRM Server Key
✓ Connected to Wowza Streaming Server (SOAP)
✓ Delvier key over HTTPS
✓ Key Rotation
✓ Dedicated to iOS devices and Safari
Ttree.Wowza.HlsKeyServer will b
e opensourced
![Page 36: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/36.jpg)
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
![Page 37: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/37.jpg)
Questions & Answers
![Page 38: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/38.jpg)
Thanks for listening You, has a community, can make thing happen, so thank you
![Page 39: TYPO3 Flow a solid foundation for medialib.tv](https://reader030.fdocuments.net/reader030/viewer/2022020122/554bd852b4c9058f6c8b52dd/html5/thumbnails/39.jpg)
www.ttree.ch www.medialib.tv !
@dfeyer @ttreeagency @medialibtv !
github.com/ttreeagency github.com/dfeyer !