SlideShare a Scribd company logo
START  WITH  BOLT
AND  GO  EZ
27.8.2015
Jani Tarvainen
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
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
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
SO  WHAT  IS  BOLT  AND
HOW  DOES  IT  COMPARE  
TO  EZ PLATFORM?
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
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
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)
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
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
Introduction
§ Let’s  checkout  the  common  functions  real  quick
§ Content  Entry
§ Content  Types
§ Theming
§ Permissions
§ Live  site:  https://www.symfony.fi/
SWITCH  TO  EZ PLATFORM?
WHEN,  WHY  AND  HOW?
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
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
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
BOLT2EZ  BRIDGE
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
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
A  HYPOTHETICAL  STORY
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”
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)
Introduction
http://ezbolt.ezsc
END

More Related Content

What's hot

What is the Responsibility of Plugin Developers?
What is the Responsibility of Plugin Developers?What is the Responsibility of Plugin Developers?
What is the Responsibility of Plugin Developers?
Takayuki Miyoshi
 
Modern Web App Architectures
Modern Web App ArchitecturesModern Web App Architectures
Modern Web App Architectures
Raphael Stary
 
11 Live Node.js CMS Frameworks
11 Live Node.js CMS Frameworks11 Live Node.js CMS Frameworks
11 Live Node.js CMS Frameworks
iScripts
 
Joomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiencesJoomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiences
Andy_Gaskell
 
How composer saved PHP
How composer saved PHPHow composer saved PHP
How composer saved PHP
Ryan Kilfedder
 
1ST TECH TALK: "Yii : The MVC framework" by Benedicto B. Balilo Jr.
1ST TECH TALK: "Yii : The MVC framework" by Benedicto B. Balilo Jr.1ST TECH TALK: "Yii : The MVC framework" by Benedicto B. Balilo Jr.
1ST TECH TALK: "Yii : The MVC framework" by Benedicto B. Balilo Jr.Bicol IT.org
 
The Future of-the CMS (Twin Cities DrupalCamp 2015)
The Future of-the CMS (Twin Cities DrupalCamp 2015)The Future of-the CMS (Twin Cities DrupalCamp 2015)
The Future of-the CMS (Twin Cities DrupalCamp 2015)
Todd Ross Nienkerk
 
6 web development trends to follow in 2021
6 web development trends to follow in 20216 web development trends to follow in 2021
6 web development trends to follow in 2021
World Web Technology Pvt Ltd
 
Learn How To Develop With CakePHP
Learn How To Develop With CakePHPLearn How To Develop With CakePHP
Learn How To Develop With CakePHP
Michael Bourque
 
Php naked
Php nakedPhp naked
Symfony workshop introductory slides
Symfony workshop introductory slidesSymfony workshop introductory slides
Symfony workshop introductory slides
Stefan Koopmanschap
 
Web Development In 2018
Web Development In 2018Web Development In 2018
Web Development In 2018
Traversy Media
 
WordPress as a Service
WordPress as a ServiceWordPress as a Service
WordPress as a Service
Andrew Bauer
 
WebMatrix
WebMatrixWebMatrix
WebMatrix
Robert MacLean
 
Symfony for non-techies
Symfony for non-techiesSymfony for non-techies
Symfony for non-techies
Stefan Koopmanschap
 
Introduction to webassembly
Introduction to webassemblyIntroduction to webassembly
Introduction to webassembly
Gabriele Falasca
 
Progressive Enhancement with Flash
Progressive Enhancement with FlashProgressive Enhancement with Flash
Progressive Enhancement with Flash
spjwebster
 
Lecture 11 - Web components
Lecture 11 - Web componentsLecture 11 - Web components
Lecture 11 - Web components
Bryan Ollendyke
 
Introduction to Web Technology Stacks
Introduction to Web Technology StacksIntroduction to Web Technology Stacks
Introduction to Web Technology Stacks
Prakarsh -
 
Content as a Service: What to Know About Decoupled CMS
Content as a Service: What to Know About Decoupled CMSContent as a Service: What to Know About Decoupled CMS
Content as a Service: What to Know About Decoupled CMS
Pantheon
 

What's hot (20)

What is the Responsibility of Plugin Developers?
What is the Responsibility of Plugin Developers?What is the Responsibility of Plugin Developers?
What is the Responsibility of Plugin Developers?
 
Modern Web App Architectures
Modern Web App ArchitecturesModern Web App Architectures
Modern Web App Architectures
 
11 Live Node.js CMS Frameworks
11 Live Node.js CMS Frameworks11 Live Node.js CMS Frameworks
11 Live Node.js CMS Frameworks
 
Joomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiencesJoomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiences
 
How composer saved PHP
How composer saved PHPHow composer saved PHP
How composer saved PHP
 
1ST TECH TALK: "Yii : The MVC framework" by Benedicto B. Balilo Jr.
1ST TECH TALK: "Yii : The MVC framework" by Benedicto B. Balilo Jr.1ST TECH TALK: "Yii : The MVC framework" by Benedicto B. Balilo Jr.
1ST TECH TALK: "Yii : The MVC framework" by Benedicto B. Balilo Jr.
 
The Future of-the CMS (Twin Cities DrupalCamp 2015)
The Future of-the CMS (Twin Cities DrupalCamp 2015)The Future of-the CMS (Twin Cities DrupalCamp 2015)
The Future of-the CMS (Twin Cities DrupalCamp 2015)
 
6 web development trends to follow in 2021
6 web development trends to follow in 20216 web development trends to follow in 2021
6 web development trends to follow in 2021
 
Learn How To Develop With CakePHP
Learn How To Develop With CakePHPLearn How To Develop With CakePHP
Learn How To Develop With CakePHP
 
Php naked
Php nakedPhp naked
Php naked
 
Symfony workshop introductory slides
Symfony workshop introductory slidesSymfony workshop introductory slides
Symfony workshop introductory slides
 
Web Development In 2018
Web Development In 2018Web Development In 2018
Web Development In 2018
 
WordPress as a Service
WordPress as a ServiceWordPress as a Service
WordPress as a Service
 
WebMatrix
WebMatrixWebMatrix
WebMatrix
 
Symfony for non-techies
Symfony for non-techiesSymfony for non-techies
Symfony for non-techies
 
Introduction to webassembly
Introduction to webassemblyIntroduction to webassembly
Introduction to webassembly
 
Progressive Enhancement with Flash
Progressive Enhancement with FlashProgressive Enhancement with Flash
Progressive Enhancement with Flash
 
Lecture 11 - Web components
Lecture 11 - Web componentsLecture 11 - Web components
Lecture 11 - Web components
 
Introduction to Web Technology Stacks
Introduction to Web Technology StacksIntroduction to Web Technology Stacks
Introduction to Web Technology Stacks
 
Content as a Service: What to Know About Decoupled CMS
Content as a Service: What to Know About Decoupled CMSContent as a Service: What to Know About Decoupled CMS
Content as a Service: What to Know About Decoupled CMS
 

Similar to Start with Bolt and Go Ez - eZ Publish Summer Camp 2015

Portal - Lego set for app development
Portal - Lego set for app developmentPortal - Lego set for app development
Portal - Lego set for app development
bdaw
 
INTRODUCTIONS OF HTML
INTRODUCTIONS OF HTMLINTRODUCTIONS OF HTML
INTRODUCTIONS OF HTML
SURYANARAYANBISWAL1
 
Plone Futures, Plone Conference 2016 Keynote by Eric Steele
Plone Futures, Plone Conference 2016 Keynote by Eric SteelePlone Futures, Plone Conference 2016 Keynote by Eric Steele
Plone Futures, Plone Conference 2016 Keynote by Eric Steele
T. Kim Nguyen
 
Plone Futures
Plone FuturesPlone Futures
Plone Futures
Eric Steele
 
Building rich interface components with SharePoint
Building rich interface components with SharePointBuilding rich interface components with SharePoint
Building rich interface components with SharePointLouis-Philippe Lavoie
 
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ PublishContent Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Jani Tarvainen
 
Creating and Maintaining an Open Source Library
Creating and Maintaining an Open Source LibraryCreating and Maintaining an Open Source Library
Creating and Maintaining an Open Source Library
Nicholas Schweitzer
 
JS digest. Decemebr 2017
JS digest. Decemebr 2017JS digest. Decemebr 2017
JS digest. Decemebr 2017
ElifTech
 
Hinting at a better web
Hinting at a better webHinting at a better web
Hinting at a better web
Christian Heilmann
 
Going native with html5 web components
Going native with html5 web componentsGoing native with html5 web components
Going native with html5 web components
James York
 
Open Source at Salesforce.com
Open Source at Salesforce.comOpen Source at Salesforce.com
Open Source at Salesforce.com
Salesforce Developers
 
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
SocialBiz UserGroup
 
JS digest. May 2017
JS digest. May 2017JS digest. May 2017
JS digest. May 2017
ElifTech
 
SharePoint Framework 101 (SPFx)
SharePoint Framework 101 (SPFx)SharePoint Framework 101 (SPFx)
SharePoint Framework 101 (SPFx)
Matthew J. Bailey , MCT
 
OSS SW Basics Lecture 03: Fundamental parts of open-source projects
OSS SW Basics Lecture 03: Fundamental parts of open-source projectsOSS SW Basics Lecture 03: Fundamental parts of open-source projects
OSS SW Basics Lecture 03: Fundamental parts of open-source projects
Jeongkyu Shin
 
Open Apereo - Web components workshop
Open Apereo - Web components workshopOpen Apereo - Web components workshop
Open Apereo - Web components workshop
btopro
 
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
Marc D Anderson
 
Whats next in templating
Whats next in templatingWhats next in templating
Whats next in templating
Filip Bruun Bech-Larsen
 
Phonegap Day 2016: Ember/JS & Hybrid Apps Tips
Phonegap Day 2016: Ember/JS & Hybrid Apps TipsPhonegap Day 2016: Ember/JS & Hybrid Apps Tips
Phonegap Day 2016: Ember/JS & Hybrid Apps Tips
Alex Blom
 
Training presentation.pptx
Training presentation.pptxTraining presentation.pptx
Training presentation.pptx
NishchaiyaBayla1
 

Similar to Start with Bolt and Go Ez - eZ Publish Summer Camp 2015 (20)

Portal - Lego set for app development
Portal - Lego set for app developmentPortal - Lego set for app development
Portal - Lego set for app development
 
INTRODUCTIONS OF HTML
INTRODUCTIONS OF HTMLINTRODUCTIONS OF HTML
INTRODUCTIONS OF HTML
 
Plone Futures, Plone Conference 2016 Keynote by Eric Steele
Plone Futures, Plone Conference 2016 Keynote by Eric SteelePlone Futures, Plone Conference 2016 Keynote by Eric Steele
Plone Futures, Plone Conference 2016 Keynote by Eric Steele
 
Plone Futures
Plone FuturesPlone Futures
Plone Futures
 
Building rich interface components with SharePoint
Building rich interface components with SharePointBuilding rich interface components with SharePoint
Building rich interface components with SharePoint
 
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ PublishContent Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
 
Creating and Maintaining an Open Source Library
Creating and Maintaining an Open Source LibraryCreating and Maintaining an Open Source Library
Creating and Maintaining an Open Source Library
 
JS digest. Decemebr 2017
JS digest. Decemebr 2017JS digest. Decemebr 2017
JS digest. Decemebr 2017
 
Hinting at a better web
Hinting at a better webHinting at a better web
Hinting at a better web
 
Going native with html5 web components
Going native with html5 web componentsGoing native with html5 web components
Going native with html5 web components
 
Open Source at Salesforce.com
Open Source at Salesforce.comOpen Source at Salesforce.com
Open Source at Salesforce.com
 
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
 
JS digest. May 2017
JS digest. May 2017JS digest. May 2017
JS digest. May 2017
 
SharePoint Framework 101 (SPFx)
SharePoint Framework 101 (SPFx)SharePoint Framework 101 (SPFx)
SharePoint Framework 101 (SPFx)
 
OSS SW Basics Lecture 03: Fundamental parts of open-source projects
OSS SW Basics Lecture 03: Fundamental parts of open-source projectsOSS SW Basics Lecture 03: Fundamental parts of open-source projects
OSS SW Basics Lecture 03: Fundamental parts of open-source projects
 
Open Apereo - Web components workshop
Open Apereo - Web components workshopOpen Apereo - Web components workshop
Open Apereo - Web components workshop
 
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
 
Whats next in templating
Whats next in templatingWhats next in templating
Whats next in templating
 
Phonegap Day 2016: Ember/JS & Hybrid Apps Tips
Phonegap Day 2016: Ember/JS & Hybrid Apps TipsPhonegap Day 2016: Ember/JS & Hybrid Apps Tips
Phonegap Day 2016: Ember/JS & Hybrid Apps Tips
 
Training presentation.pptx
Training presentation.pptxTraining presentation.pptx
Training presentation.pptx
 

More from Exove

Data security in the age of GDPR – most common data security problems
Data security in the age of GDPR – most common data security problemsData security in the age of GDPR – most common data security problems
Data security in the age of GDPR – most common data security problems
Exove
 
Provisioning infrastructure to AWS using Terraform – Exove
Provisioning infrastructure to AWS using Terraform – ExoveProvisioning infrastructure to AWS using Terraform – Exove
Provisioning infrastructure to AWS using Terraform – Exove
Exove
 
Advanced custom fields in Wordpress
Advanced custom fields in WordpressAdvanced custom fields in Wordpress
Advanced custom fields in Wordpress
Exove
 
Introduction to Robot Framework – Exove
Introduction to Robot Framework – ExoveIntroduction to Robot Framework – Exove
Introduction to Robot Framework – Exove
Exove
 
Jenkins and visual regression – Exove
Jenkins and visual regression – ExoveJenkins and visual regression – Exove
Jenkins and visual regression – Exove
Exove
 
Server-side React with Headless CMS – Exove
Server-side React with Headless CMS – ExoveServer-side React with Headless CMS – Exove
Server-side React with Headless CMS – Exove
Exove
 
WebSockets in Bravo Dashboard – Exove
WebSockets in Bravo Dashboard – ExoveWebSockets in Bravo Dashboard – Exove
WebSockets in Bravo Dashboard – Exove
Exove
 
Diversity in recruitment
Diversity in recruitmentDiversity in recruitment
Diversity in recruitment
Exove
 
Saavutettavuus liiketoimintana
Saavutettavuus liiketoimintanaSaavutettavuus liiketoimintana
Saavutettavuus liiketoimintana
Exove
 
Saavutettavuus osana Eläkeliiton verkkosivu-uudistusta
Saavutettavuus osana Eläkeliiton verkkosivu-uudistustaSaavutettavuus osana Eläkeliiton verkkosivu-uudistusta
Saavutettavuus osana Eläkeliiton verkkosivu-uudistusta
Exove
 
Mitä saavutettavuusdirektiivi pitää sisällään
Mitä saavutettavuusdirektiivi pitää sisälläänMitä saavutettavuusdirektiivi pitää sisällään
Mitä saavutettavuusdirektiivi pitää sisällään
Exove
 
Creating Landing Pages for Drupal 8
Creating Landing Pages for Drupal 8Creating Landing Pages for Drupal 8
Creating Landing Pages for Drupal 8
Exove
 
GDPR for developers
GDPR for developersGDPR for developers
GDPR for developers
Exove
 
Managing Complexity and Privacy Debt with Drupal
Managing Complexity and Privacy Debt with DrupalManaging Complexity and Privacy Debt with Drupal
Managing Complexity and Privacy Debt with Drupal
Exove
 
Life with digital services after GDPR
Life with digital services after GDPRLife with digital services after GDPR
Life with digital services after GDPR
Exove
 
GDPR - no beginning no end
GDPR - no beginning no endGDPR - no beginning no end
GDPR - no beginning no end
Exove
 
Developing truly personalised experiences
Developing truly personalised experiencesDeveloping truly personalised experiences
Developing truly personalised experiences
Exove
 
Customer Experience and Personalisation
Customer Experience and PersonalisationCustomer Experience and Personalisation
Customer Experience and Personalisation
Exove
 
Adventures In Programmatic Branding – How To Design With Algorithms And How T...
Adventures In Programmatic Branding – How To Design With Algorithms And How T...Adventures In Programmatic Branding – How To Design With Algorithms And How T...
Adventures In Programmatic Branding – How To Design With Algorithms And How T...
Exove
 
Dataohjattu asiakaskokemus
Dataohjattu asiakaskokemusDataohjattu asiakaskokemus
Dataohjattu asiakaskokemus
Exove
 

More from Exove (20)

Data security in the age of GDPR – most common data security problems
Data security in the age of GDPR – most common data security problemsData security in the age of GDPR – most common data security problems
Data security in the age of GDPR – most common data security problems
 
Provisioning infrastructure to AWS using Terraform – Exove
Provisioning infrastructure to AWS using Terraform – ExoveProvisioning infrastructure to AWS using Terraform – Exove
Provisioning infrastructure to AWS using Terraform – Exove
 
Advanced custom fields in Wordpress
Advanced custom fields in WordpressAdvanced custom fields in Wordpress
Advanced custom fields in Wordpress
 
Introduction to Robot Framework – Exove
Introduction to Robot Framework – ExoveIntroduction to Robot Framework – Exove
Introduction to Robot Framework – Exove
 
Jenkins and visual regression – Exove
Jenkins and visual regression – ExoveJenkins and visual regression – Exove
Jenkins and visual regression – Exove
 
Server-side React with Headless CMS – Exove
Server-side React with Headless CMS – ExoveServer-side React with Headless CMS – Exove
Server-side React with Headless CMS – Exove
 
WebSockets in Bravo Dashboard – Exove
WebSockets in Bravo Dashboard – ExoveWebSockets in Bravo Dashboard – Exove
WebSockets in Bravo Dashboard – Exove
 
Diversity in recruitment
Diversity in recruitmentDiversity in recruitment
Diversity in recruitment
 
Saavutettavuus liiketoimintana
Saavutettavuus liiketoimintanaSaavutettavuus liiketoimintana
Saavutettavuus liiketoimintana
 
Saavutettavuus osana Eläkeliiton verkkosivu-uudistusta
Saavutettavuus osana Eläkeliiton verkkosivu-uudistustaSaavutettavuus osana Eläkeliiton verkkosivu-uudistusta
Saavutettavuus osana Eläkeliiton verkkosivu-uudistusta
 
Mitä saavutettavuusdirektiivi pitää sisällään
Mitä saavutettavuusdirektiivi pitää sisälläänMitä saavutettavuusdirektiivi pitää sisällään
Mitä saavutettavuusdirektiivi pitää sisällään
 
Creating Landing Pages for Drupal 8
Creating Landing Pages for Drupal 8Creating Landing Pages for Drupal 8
Creating Landing Pages for Drupal 8
 
GDPR for developers
GDPR for developersGDPR for developers
GDPR for developers
 
Managing Complexity and Privacy Debt with Drupal
Managing Complexity and Privacy Debt with DrupalManaging Complexity and Privacy Debt with Drupal
Managing Complexity and Privacy Debt with Drupal
 
Life with digital services after GDPR
Life with digital services after GDPRLife with digital services after GDPR
Life with digital services after GDPR
 
GDPR - no beginning no end
GDPR - no beginning no endGDPR - no beginning no end
GDPR - no beginning no end
 
Developing truly personalised experiences
Developing truly personalised experiencesDeveloping truly personalised experiences
Developing truly personalised experiences
 
Customer Experience and Personalisation
Customer Experience and PersonalisationCustomer Experience and Personalisation
Customer Experience and Personalisation
 
Adventures In Programmatic Branding – How To Design With Algorithms And How T...
Adventures In Programmatic Branding – How To Design With Algorithms And How T...Adventures In Programmatic Branding – How To Design With Algorithms And How T...
Adventures In Programmatic Branding – How To Design With Algorithms And How T...
 
Dataohjattu asiakaskokemus
Dataohjattu asiakaskokemusDataohjattu asiakaskokemus
Dataohjattu asiakaskokemus
 

Recently uploaded

Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 

Recently uploaded (20)

Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 

Start with Bolt and Go Ez - eZ Publish Summer Camp 2015

  • 1. START  WITH  BOLT AND  GO  EZ 27.8.2015 Jani Tarvainen
  • 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/
  • 12. SWITCH  TO  EZ PLATFORM? WHEN,  WHY  AND  HOW?
  • 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)
  • 23. END