2. About Myself
§ Front End Competence Lead and
Senior Developer at Exove
§ I do a bit everything
§ Web Development, (Web) server hacking, SEO, Analytics…
§ Interested in Commodore, DEC Alpha, demo scene,
web sites built with frames and <layers>, Web
Components, Google Knowledge Graph, HTTP/2,
Beowulf Clusters... And everything in between! :)
§ Tweets at @velmu
3. About Exove
Exove is a leading digital services design and
development company focusing on Open
Technologies.
§ Founded in 2006
§ Offices in Finland, Estonia and UK
§ Over 70 people
§ Broad technology mix: WordPress, Drupal,
eZ Publish, Symfony 2, Node.js, Static HTML…
§ Awarded among the best working places in Finland
4. Exove is hiring
§ Finns gave the world Linux,
IRC, SMS, Doctrine…
§ Multiple open positions:
Test Engineer, DevOps
Support Developer,
Node.JS Developer, Full-
stack Developer, Senior
Developer / Architect...
§ See details at
www.exove.com/careers
5. SO WHAT IS BOLT AND
HOW DOES IT COMPARE
TO EZ PLATFORM?
6. What is Bolt CMS?
§ A lightweight Content Management System built
with the Silex Microframework
§ Quite new - in development since 2012
§ Similar to WordPress in many aspects
§ A complete package with WYSIWYG,
media management, permission management, etc.
§ Very easy to install, SQLite DB by default
§ Extensions installable via GUI
7. What is Bolt CMS?
§ Very good for developers, end user experience
still lacking in places
§ Limited in features, but a solid foundation
§ No versioning, multilingual support limited…
§ Quite well documented
§ Extensions installed via admin using Composer
§ Commercial support provided by Two Kings – a
Netherlands webdev shop
8. Shared between
eZ Platform and Bolt
§ Modern PHP apps can share a lot!
§ eZ and Bolt share basic concepts
§ Flexible content model
§ Both based on Symfony Components
§ Configuration formats
§ Console feels the same, etc, etc.
§ Common conventions and lingo
§ Template format and practices (thanks Twig)
9. My experience with Bolt
§ Very quick to get up and running
§ I wish eZ was this easy
§ Up and running in minutes
§ An unknown brand, can’t really use it at work –
everyone wants WordPress
§ I don’t like how the default themes are built
§ Include header, footer –not extending layout
10. My experience with Bolt
§ I run three sites with Bolt now, after some trolling
I’ve hit Hacker News and Slashdot front pages
§ All cool with default cache config, no reverse proxy
§ Solid with HHVM and H2O HTTP/2 web server
§ SQLite to MySQL migrations a bit tricky
§ Upgrading from older versions (1.x to latest 2.x)
smooth
11. Introduction
§ Let’s checkout the common functions real quick
§ Content Entry
§ Content Types
§ Theming
§ Permissions
§ Live site: https://www.symfony.fi/
13. Bolt is and should
remain simple
§ Bolt has a lot less features and complexity
compared to eZ Platform / Publish
§ Multisites not available
§ Multilingual possible, but hacky (think Drupal 7)
§ IMO Bolt should not be extended too far, it’ll just
become another do-it-all behemoth of a CMS
§ Keep Bolt fun to work with while teaching you to
do things right
14. Integrating Bolt and eZ?
§ Both tools are CMSes, so I would not go to far in
trying to tie these two together in the backend
§ Bolt could be a good choice if you want customers to
have a simple interface for blogs
§ It seems like a good choice to get started with
Bolt and then upgrade / migrate to
eZ Platform once you need the it’s features
15. eZ Platform can pick up
from where Bolt leaves
§ Multilingual sites
§ Multisite installations
§ Versioning
§ Content hierarchy
§ Advanced caching
§ Introducing more structure with Symfony 2
§ Integrating with other data models
17. Bolt2eZ Bundle
§ I will migrate a site from Bolt CMS to eZ Platform
I thought I’d write a quick kludge script to do this
§ But if there is demand… why not make a more
general purpose script
§ For this I need your help
18. Bolt2eZ spec validation
§ A bundle with console scripts to interact with Bolt
configs and SQLite DB
§ Import and convert content types from Bolt
§ Import content, mapping to content types, retaining
URLs, relations in content, etc.
§ Could be something along the lines of this
§ php ezpublish/console bolt2ez:import:model --
env=prod --siteaccess=admin --boltroot=../boltsite
20. Reality bites
§ Sales has found a golden opportunity to get their
shoe between the door of a great client
§ Big riches await if we do pull this off!
§ It’s a salvage project of a blog with a hard deadline
§ They call up some developer, who estimates
“Maybe we can hack something together with Bolt”
§ Project is sold as a Bolt project with schedule set by
the client. You’re available so you’ll build it.
§ PM forwards you a few emails, templates and says
this should be fast since “it’s mostly done already”
21. Reality bites
§ This is what you get paid for, solving problems
§ So let’s figure out how to:
§ Install Bolt
§ Create the content model
§ Port the raw theme to Bolt
§ Provide an RSS feed
§ Provide an XML sitemap
§ Import content from WordPress (WXR)