Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Bundle up your cms worries: here’s Kunstmaan Bu...

Bundle up your cms worries: here’s Kunstmaan Bundles!

Websites should be flexible and customizable. Setting them up should be easy and not time consuming. Budget and deadline constraints are important but the end result should be easy to adapt and flexible enough for expansions and growth. Not satisfied with the existing solutions (and we tried quite a few), we developed Kunstmaan Bundles, powered by Symfony. We’ll show you how Kunstmaan Bundles enables you to easily build a powerful cms, with just a few commands and… in no time.

Avatar for Kim Ausloos

Kim Ausloos

May 21, 2014
Tweet

Other Decks in Programming

Transcript

  1. 65 Communication Agency @ Leuven Kunstmaan 65 employees (21 developers)

    Campaign, corporate websites and web applications
  2. 1. The Kunstmaan itch 2. Some examples 3. Getting things

    going 4. What’s next? Today’s show!
  3. The Kunstmaan itch • Current CMS system was built in

    Java • Did everything: • CMS • Mass mailer • CRM • E-commerce • Every functionality was built and maintained by Kunstmaan for our customers • Open source...but only used by Kunstmaan
  4. The Kunstmaan itch • Needed a new solution for our

    clients • Fast to build, fast to run (~150ms), flexible • Easy to set up, easy to maintain • Less own code to maintain to fight the not invented here syndrome • No longer getting up at all hours because some site had an out-of-memory exception
  5. • Play! framework • Fast • Lightweight • Developer friendly

    workflow • No built in, nor third party localisation options available
  6. • Zend Framework • ZF1 was old • ZF2 was

    suffering of Perpetual Alpha Release Syndrome • First stable version about 1 year after we needed a solution • Symfony 2 • Pretty new but very good • Lots of support
  7. • Symfony CMF • Required java because of jackrabbit •

    Extremely basic: no versioning, translations, ... • “Not the prettiest” • Sonata project • CRUD • Also, “not the prettiest”
  8. Why we chose something else 1. Flexible yet stable 2.

    It should work out of the box 3. Multilanguage 4. Versioning 5. Proven technology: mysql, php, symfony 2, doctrine ORM 6. It should look good and be easy to use for non tech profiles
  9. A three tier solution • We started with the Symfony

    standard edition • We used as much community bundles as possible • KnpMenu, Liip imagine, Pagerfanta, FOS User Bundle, CMF Routing, … • If it’s great, use it (community works) • Add cms functionality, admin interface and example frontend through our own bundles
  10. 1. Flexible yet stable 2. Out of the box 5.

    Proven technology 6. Look good and easy to use
  11. 1. Flexible yet stable 2. Out of the box 3.

    Multilanguage 5. Proven technology 6. Look good and easy to use
  12. • Belgium • Netherlands • France • Australia • Canada

    • Czech Republic • New Zealand • Equador • Germany • Tunisia We built it… Who is using it?
  13. Requirements • Basic lamp/oamp/lemp/… stack • Composer should run •

    Symfony requirements • Nodejs & npm install (frontend requirements) • Sass, compass, bower, grunt, uglifyjs, uglifycss
  14. Backend interface • Start with admin bundle • Smooth Google

    Analytics integration with the dashboard bundle
  15. Media library • Mediabundle • Consistant media manager • Update

    your media in one place • Images • Files • Video • Slides
  16. Dev tools • Special ‘require-dev’ bundles • Made for the

    developers • Live reloadbundle • Behatbundle • Generatorbundle
  17. Kunstmaan generators • Doing the same things over and over…

    • Optimize our workflow • Very flexible: generate and adapt if needed
  18. Test generators • Generate behat tests for backend • Yes,

    automatically • Also for generated pageparts
  19. Website and feature generators • Bringing the generators together •

    Article/news detail page • Overview page • Adminlist • Packaged for ease of use: in ~90% of our projects
  20. What’s next? • Community is important • Speed things up

    even more • Increase number of tests • Further document our workflow • Try to increase contributors futher