SlideShare une entreprise Scribd logo
1  sur  39
Télécharger pour lire hors ligne
TYPO3 Flow a solid foundation
for medialib.tv

T3CONDE | Stuttgart | october 2013 | dominique feyer | ttree | www.ttree.ch

Inspiring people to

share
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
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
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
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 simple domain ...

So we can start with it with a really fresh framework !
First user story

User need to watch movie
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” features
Customizable frontend templates
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 ...
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 taking risk, that’s life ?
Where are
we going ?
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
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
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
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
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
Deny everything & Grant what’s needed
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
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!
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
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
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
r
os ad
de plo
vi u
ng n I
li
nd whe
Ha



e

✓ Some tasks need to be async
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

✓ Dedicated to iOS devices and Safari

ow
.W
ee
tr
T

.H
za

ey
sK
l

w
er
rv
Se

o
e

ns
pe
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
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@ttree.ch

Contenu connexe

En vedette

TYPO3 Flow: Beyond the Blog Example (Inspiring Flow 2013)
TYPO3 Flow: Beyond the Blog Example (Inspiring Flow 2013)TYPO3 Flow: Beyond the Blog Example (Inspiring Flow 2013)
TYPO3 Flow: Beyond the Blog Example (Inspiring Flow 2013)Robert Lemke
 
TYPO3 5.0 Experience Concept
TYPO3 5.0 Experience ConceptTYPO3 5.0 Experience Concept
TYPO3 5.0 Experience ConceptJens Hoffmann
 
TYPO3 Flow - PHP Framework for Developer Happiness
TYPO3 Flow - PHP Framework for Developer HappinessTYPO3 Flow - PHP Framework for Developer Happiness
TYPO3 Flow - PHP Framework for Developer HappinessChristian Müller
 
Testing TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with BehatTesting TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with BehatMarkus Goldbeck
 
TYPO3 Neos - past, present and future (T3CON14EU)
TYPO3 Neos - past, present and future (T3CON14EU)TYPO3 Neos - past, present and future (T3CON14EU)
TYPO3 Neos - past, present and future (T3CON14EU)Robert Lemke
 
Using Document Databases with TYPO3 Flow
Using Document Databases with TYPO3 FlowUsing Document Databases with TYPO3 Flow
Using Document Databases with TYPO3 FlowKarsten Dambekalns
 

En vedette (6)

TYPO3 Flow: Beyond the Blog Example (Inspiring Flow 2013)
TYPO3 Flow: Beyond the Blog Example (Inspiring Flow 2013)TYPO3 Flow: Beyond the Blog Example (Inspiring Flow 2013)
TYPO3 Flow: Beyond the Blog Example (Inspiring Flow 2013)
 
TYPO3 5.0 Experience Concept
TYPO3 5.0 Experience ConceptTYPO3 5.0 Experience Concept
TYPO3 5.0 Experience Concept
 
TYPO3 Flow - PHP Framework for Developer Happiness
TYPO3 Flow - PHP Framework for Developer HappinessTYPO3 Flow - PHP Framework for Developer Happiness
TYPO3 Flow - PHP Framework for Developer Happiness
 
Testing TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with BehatTesting TYPO3 Flow Applications with Behat
Testing TYPO3 Flow Applications with Behat
 
TYPO3 Neos - past, present and future (T3CON14EU)
TYPO3 Neos - past, present and future (T3CON14EU)TYPO3 Neos - past, present and future (T3CON14EU)
TYPO3 Neos - past, present and future (T3CON14EU)
 
Using Document Databases with TYPO3 Flow
Using Document Databases with TYPO3 FlowUsing Document Databases with TYPO3 Flow
Using Document Databases with TYPO3 Flow
 

Similaire à TYPO3 Flow a solid foundation for medialib.tv

DevOps: The Right Abstraction Level
DevOps: The Right Abstraction LevelDevOps: The Right Abstraction Level
DevOps: The Right Abstraction LevelOtavio Fernandes
 
Micro services may not be the best idea
Micro services may not be the best ideaMicro services may not be the best idea
Micro services may not be the best ideaSamuel ROZE
 
Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015Mirco Hering
 
Integrate (Yourself) with the Apache Software Foundation - Full Version
Integrate (Yourself) with the Apache Software Foundation - Full VersionIntegrate (Yourself) with the Apache Software Foundation - Full Version
Integrate (Yourself) with the Apache Software Foundation - Full VersionKrzysztof Sobkowiak
 
DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.Vlad Fedosov
 
Handling 1 Billion Requests/hr with Minimal Latency Using Docker
Handling 1 Billion Requests/hr with Minimal Latency Using DockerHandling 1 Billion Requests/hr with Minimal Latency Using Docker
Handling 1 Billion Requests/hr with Minimal Latency Using DockerMatomy
 
20151119 Sensibilisation des Utilisateurs aux coûts d'usage du Cloud
20151119 Sensibilisation des Utilisateurs aux coûts d'usage du Cloud20151119 Sensibilisation des Utilisateurs aux coûts d'usage du Cloud
20151119 Sensibilisation des Utilisateurs aux coûts d'usage du CloudObjectif Libre
 
Intalio create and cloudfoudry - short
Intalio create and cloudfoudry - shortIntalio create and cloudfoudry - short
Intalio create and cloudfoudry - shorthmalphettes
 
Enterprise software needs a PaaS
Enterprise software needs a PaaSEnterprise software needs a PaaS
Enterprise software needs a PaaShmalphettes
 
Bluemix and watson overview - Rencontres IBM et l'Ecole Polytechnique - 3 nov...
Bluemix and watson overview - Rencontres IBM et l'Ecole Polytechnique - 3 nov...Bluemix and watson overview - Rencontres IBM et l'Ecole Polytechnique - 3 nov...
Bluemix and watson overview - Rencontres IBM et l'Ecole Polytechnique - 3 nov...Yves LE CLEACH
 
MyIBBT - Project Collaboration with Alfresco Share
MyIBBT - Project Collaboration with Alfresco ShareMyIBBT - Project Collaboration with Alfresco Share
MyIBBT - Project Collaboration with Alfresco ShareAmplexor
 
TEI based dictionaries
TEI based dictionariesTEI based dictionaries
TEI based dictionariesEduard Drenth
 
Turning huge ships - Open Source and Microsoft
Turning huge ships - Open Source and MicrosoftTurning huge ships - Open Source and Microsoft
Turning huge ships - Open Source and MicrosoftChristian Heilmann
 
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Chocolatey Software
 
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Michel Buczynski
 
Building a vod portal with the flow @ Inspiring Flow 2013
Building a vod portal with the flow @ Inspiring Flow 2013Building a vod portal with the flow @ Inspiring Flow 2013
Building a vod portal with the flow @ Inspiring Flow 2013dfeyer
 
Smau Milano 2016 - Michele Finelli
Smau Milano 2016 - Michele FinelliSmau Milano 2016 - Michele Finelli
Smau Milano 2016 - Michele FinelliSMAU
 

Similaire à TYPO3 Flow a solid foundation for medialib.tv (20)

DevOps: The Right Abstraction Level
DevOps: The Right Abstraction LevelDevOps: The Right Abstraction Level
DevOps: The Right Abstraction Level
 
Micro services may not be the best idea
Micro services may not be the best ideaMicro services may not be the best idea
Micro services may not be the best idea
 
Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015
 
Integrate (Yourself) with the Apache Software Foundation - Full Version
Integrate (Yourself) with the Apache Software Foundation - Full VersionIntegrate (Yourself) with the Apache Software Foundation - Full Version
Integrate (Yourself) with the Apache Software Foundation - Full Version
 
DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.DevOps Fest 2020. immutable infrastructure as code. True story.
DevOps Fest 2020. immutable infrastructure as code. True story.
 
OS Accelerate London - 09/16/15
OS Accelerate London - 09/16/15OS Accelerate London - 09/16/15
OS Accelerate London - 09/16/15
 
Devenport, Ward, and Hoffmann, "ONIX for Serials: Case Studies of Use"
Devenport, Ward, and Hoffmann, "ONIX for Serials: Case Studies of Use"Devenport, Ward, and Hoffmann, "ONIX for Serials: Case Studies of Use"
Devenport, Ward, and Hoffmann, "ONIX for Serials: Case Studies of Use"
 
Handling 1 Billion Requests/hr with Minimal Latency Using Docker
Handling 1 Billion Requests/hr with Minimal Latency Using DockerHandling 1 Billion Requests/hr with Minimal Latency Using Docker
Handling 1 Billion Requests/hr with Minimal Latency Using Docker
 
20151119 Sensibilisation des Utilisateurs aux coûts d'usage du Cloud
20151119 Sensibilisation des Utilisateurs aux coûts d'usage du Cloud20151119 Sensibilisation des Utilisateurs aux coûts d'usage du Cloud
20151119 Sensibilisation des Utilisateurs aux coûts d'usage du Cloud
 
Intalio create and cloudfoudry - short
Intalio create and cloudfoudry - shortIntalio create and cloudfoudry - short
Intalio create and cloudfoudry - short
 
Enterprise software needs a PaaS
Enterprise software needs a PaaSEnterprise software needs a PaaS
Enterprise software needs a PaaS
 
Bluemix and watson overview - Rencontres IBM et l'Ecole Polytechnique - 3 nov...
Bluemix and watson overview - Rencontres IBM et l'Ecole Polytechnique - 3 nov...Bluemix and watson overview - Rencontres IBM et l'Ecole Polytechnique - 3 nov...
Bluemix and watson overview - Rencontres IBM et l'Ecole Polytechnique - 3 nov...
 
MyIBBT - Project Collaboration with Alfresco Share
MyIBBT - Project Collaboration with Alfresco ShareMyIBBT - Project Collaboration with Alfresco Share
MyIBBT - Project Collaboration with Alfresco Share
 
TEI based dictionaries
TEI based dictionariesTEI based dictionaries
TEI based dictionaries
 
Turning huge ships - Open Source and Microsoft
Turning huge ships - Open Source and MicrosoftTurning huge ships - Open Source and Microsoft
Turning huge ships - Open Source and Microsoft
 
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
 
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
Facilitating continuous delivery in a FinTech world with Salt, Jenkins, Nexus...
 
Building a vod portal with the flow @ Inspiring Flow 2013
Building a vod portal with the flow @ Inspiring Flow 2013Building a vod portal with the flow @ Inspiring Flow 2013
Building a vod portal with the flow @ Inspiring Flow 2013
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
 
Smau Milano 2016 - Michele Finelli
Smau Milano 2016 - Michele FinelliSmau Milano 2016 - Michele Finelli
Smau Milano 2016 - Michele Finelli
 

Plus de dfeyer

Liiptalk Neos CMS
Liiptalk Neos CMSLiiptalk Neos CMS
Liiptalk Neos CMSdfeyer
 
Inspiring Conference - architectes.ch case study
Inspiring Conference - architectes.ch case studyInspiring Conference - architectes.ch case study
Inspiring Conference - architectes.ch case studydfeyer
 
Inspiring conference - Automation & external service integration
Inspiring conference -  Automation & external service integrationInspiring conference -  Automation & external service integration
Inspiring conference - Automation & external service integrationdfeyer
 
Typo3 Neos - Introduction - WebMardi - Lausanne
Typo3 Neos - Introduction - WebMardi - LausanneTypo3 Neos - Introduction - WebMardi - Lausanne
Typo3 Neos - Introduction - WebMardi - Lausannedfeyer
 
Inspiring conference 2014 - Node Kingdom
Inspiring conference 2014 - Node KingdomInspiring conference 2014 - Node Kingdom
Inspiring conference 2014 - Node Kingdomdfeyer
 
Traduction des extensions et du core de TYPO3 CMS avec XLIFF
Traduction des extensions et du core de TYPO3 CMS avec XLIFFTraduction des extensions et du core de TYPO3 CMS avec XLIFF
Traduction des extensions et du core de TYPO3 CMS avec XLIFFdfeyer
 
Développer une solution VOD pour les festivals de cinéma
Développer une solution VOD pour les festivals de cinémaDévelopper une solution VOD pour les festivals de cinéma
Développer une solution VOD pour les festivals de cinémadfeyer
 
TYPO3 User Group - Lausanne - 12 novembre 2013
TYPO3 User Group - Lausanne - 12 novembre 2013TYPO3 User Group - Lausanne - 12 novembre 2013
TYPO3 User Group - Lausanne - 12 novembre 2013dfeyer
 
T3DD11 Inspire people to translate
T3DD11 Inspire people to translateT3DD11 Inspire people to translate
T3DD11 Inspire people to translatedfeyer
 

Plus de dfeyer (9)

Liiptalk Neos CMS
Liiptalk Neos CMSLiiptalk Neos CMS
Liiptalk Neos CMS
 
Inspiring Conference - architectes.ch case study
Inspiring Conference - architectes.ch case studyInspiring Conference - architectes.ch case study
Inspiring Conference - architectes.ch case study
 
Inspiring conference - Automation & external service integration
Inspiring conference -  Automation & external service integrationInspiring conference -  Automation & external service integration
Inspiring conference - Automation & external service integration
 
Typo3 Neos - Introduction - WebMardi - Lausanne
Typo3 Neos - Introduction - WebMardi - LausanneTypo3 Neos - Introduction - WebMardi - Lausanne
Typo3 Neos - Introduction - WebMardi - Lausanne
 
Inspiring conference 2014 - Node Kingdom
Inspiring conference 2014 - Node KingdomInspiring conference 2014 - Node Kingdom
Inspiring conference 2014 - Node Kingdom
 
Traduction des extensions et du core de TYPO3 CMS avec XLIFF
Traduction des extensions et du core de TYPO3 CMS avec XLIFFTraduction des extensions et du core de TYPO3 CMS avec XLIFF
Traduction des extensions et du core de TYPO3 CMS avec XLIFF
 
Développer une solution VOD pour les festivals de cinéma
Développer une solution VOD pour les festivals de cinémaDévelopper une solution VOD pour les festivals de cinéma
Développer une solution VOD pour les festivals de cinéma
 
TYPO3 User Group - Lausanne - 12 novembre 2013
TYPO3 User Group - Lausanne - 12 novembre 2013TYPO3 User Group - Lausanne - 12 novembre 2013
TYPO3 User Group - Lausanne - 12 novembre 2013
 
T3DD11 Inspire people to translate
T3DD11 Inspire people to translateT3DD11 Inspire people to translate
T3DD11 Inspire people to translate
 

Dernier

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 

Dernier (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 

TYPO3 Flow a solid foundation for medialib.tv

  • 1. TYPO3 Flow a solid foundation for medialib.tv
 T3CONDE | Stuttgart | october 2013 | dominique feyer | ttree | www.ttree.ch Inspiring people to share
  • 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. 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. 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
  • 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. But the real domain is a bit more complex ... Client User ews N Movie vice Ad rity ecu S Strea m Analytics
  • 8. Key features SaaS / Single application for multiple client Secured stream access Advanced forms “Auto discoverable” features Customizable frontend templates
  • 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. A short video to introduce medialib.tv
  • 11.
  • 12. 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 ?
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. Deny everything & Grant what’s needed
  • 20.
  • 21.
  • 22.
  • 23. 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
  • 24. 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!
  • 25. 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
  • 26. 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
  • 27. Full TypoScript rendering stack ! ✓ More Flexibility ✓ Improve performance ✓ Lazy Loading
  • 30.
  • 31.
  • 32. Performance Memory Usage ✓ Before: 72 Mo ✓ After: 34 Mo -53%
  • 33. 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
  • 34. Moving from monolith to SOA ✓ Signal & Slot ✓ Decoupled ✓ Test ✓ Job Queue / Beanstalk
  • 35. 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
  • 36. 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
  • 38. Thanks 
 for listening You, has a community, can make thing happen, so thank you
  • 39. www.ttree.ch www.medialib.tv ! @dfeyer @ttreeagency @medialibtv ! github.com/ttreeagency 
 github.com/dfeyer ! info@ttree.ch