hootsuite: ez publish platform 5 and symfony2
Post on 16-Apr-2017
801 Views
Preview:
TRANSCRIPT
Mugo
eZ Publish Platform 5 and Symfony2
Doug Plant and Peter Keung
hi@mugo.ca
Twitter @mugo
HootsuiteWorld's leading social media platform
9,000,000 users
Started in 2008
Definitely a tech company
What was the problem?All caused by great organic growth
Hopeless to update
Can no longer scale to needs, especially not able to generate leads
Really hard to fix
And by marketing site - actually a bit more than that
How did they solve it?Decided to adopt an enterprise CMS
Selected eZ Publish as the result of an evaluation process
Hired Mugo as the principal implementor
Did this solve the problem?Good control of the site and its content
Independent of the product stack and more robust
Future-proofed
Content-management practices
Significance of the site within Hootsuite
Model for working with outside developers
Solution detailsProject management: roles and tools
Editorial interface: empowering the marketing team!
Architecture: automation and high performance
eZ Publish 5 tips
Project managementTools: JIRA, Confluence, GitHub
Technical rolesDesigners and content managers
Front-end developers
Back-end developers
SEO tags, URL aliases
Menu management
Menu management
Multi-upload functionality
JavaScript tags
JavaScript tags
Currently working onMigrating more microsites into the CMS
Localization import and export
Editorial workflow and content staging
Personalization
Deeper integration with Hootsuite dashboard / product
Server architecture: How does it all run?
Server architecture goals?High traffic, high availability
Testable
Maintainable and documented
Server architecture solutionAmazon cloud
Automated configurations
Local virtual machines
Load balancereZ Publish + SymfonyMySQLmasterMySQLslave
Hootsuite dashboardVarnishVarnish
Reverse proxy
Visitor #1eZ PublishVarnish1. request2. MISS3. response4. responseVisitor #2Varnish1. request2. HITeZ Publish
zzzzzzzzzzzzzzzzzz
Varnish redundancy for high performanceReverse proxy is essential for eZ Publish 5
Auto cache clearing
Nice solution for deployments
Server architecture goals?High traffic, high availability
Testable
Maintainable and documented
Setting up serversProduction
Staging
Development
Standardized
Automate
Solution: Ansible + Vagrant + VirtualBox
eZ Publish 5 and Symfony2Hootsuite chose eZ Publish because the new stack uses Symfony2
eZ Publish legacy is fully embedded into eZ Publish 5
eZ Publish 4 to 5: what hasn't changed?
Differences between legacy and new stackSeparating business logic from display logic: goodbye template fetch functions
Symfony featurescronjobs = commands
template operator = Twig extension or controller
ezpEvent = listeners
ezjscore = Assetic + UglifyJS2
ConclusionseZ Publish 5 is still eZ Publish
Robust server architecture setup
The Hootsuite marketing team owns their site and has a framework to continue to grow efficiently
Questions?hi@mugo.ca
Tweet @mugo
mugo.ca
top related