Hootsuite: eZ Publish Platform 5 and Symfony2

download Hootsuite: eZ Publish Platform 5 and Symfony2

If you can't read please download the document

Transcript of Hootsuite: eZ Publish Platform 5 and Symfony2

Mugo

eZ Publish Platform 5 and Symfony2

Doug Plant and Peter Keung
[email protected]
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

[email protected]

Tweet @mugo

mugo.ca