Kunstmaan - presentatie_nontech

Kunstmaan - presentatie_nontech

Een niet technische uitleg over de Kunstmaan bundles en hun functionaliteit.

35617c1bde6460e06755ffada7d55ee8?s=128

Bart Van den Brande

June 17, 2015
Tweet

Transcript

  1. Bundle up your cms worries Kunstmaan bundles for Symfony 2

  2. Bart Van den Brande @denbatte

  3. 65 Communication Agency @ Leuven - Belgium 65 employees (21

    developers) Campaign, corporate websites and web applications
  4. 1. Why Kunstmaan bundles? 2. Some examples 3. Bundles and

    their functions 4. What’s next? Today’s show!
  5. Why did we create the Kunstmaan bundles?

  6. Why Kunstmaan bundles? • The previous 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
  7. Why Kunstmaan bundles? • We 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
  8. What where our options? (November 2011)

  9. • Play! framework • Fast • Lightweight • Developer friendly

    workflow • No built in, nor third party localisation options available • 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
  10. Why we chose Symfony 1. Flexible yet stable 2. It

    should work out of the box 3. Multilingual 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 7. Ability to add 3th party packages
  11. 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
  12. Some examples

  13. None
  14. • Belgium • Netherlands • France • Australia • Canada

    • Czech Republic • New Zealand • Equador • Germany • Tunisia • Lithuania • Austria • Bulgaria • Poland • Belarus • Ukraine • UK • ... We built it, who is using it?
  15. Bundles and their function

  16. Requirements • Basic web stack • Composer • Symfony requirements

    • Npm (frontend requirements) OSX LINUX WINDOWS (thanks to contributors)
  17. Backend interface • Fully responsive • Smooth Google Analythics integration

    • Client friendly
  18. Managing pages • Overview in tree • Powerfull filtering •

    Easy add different types (sub)pages
  19. Editing a page • Page types • Page type templates

    • Template regions • Region pageparts • ACL’s for permissions • Versioning • SEO • Social media management
  20. Media library • Consistant media manager • Bulk management •

    Drag and drop support • Update your media in one place • Images • Files • Video • Slides
  21. Admin lists • CRUD solution • Powerful filtering • Export

    functions
  22. Translations • Multilingual • Inline translations • Import from translation

    files • Translatable pages
  23. Search • Automatic indexing • Elasticsearch as backend

  24. Dev tools • Behat and Unit test •  Generatorbundle

  25. Kunstmaan generators • Doing the same things over and over…

    •  Optimize our workflow •  Very flexible: generate and adapt if needed
  26. Generating pages and pageparts • Just entities •  Very easy

    to generate •  Different kinds • Auto generated behat tests
  27. Adminlist •  Generate the entity • Add the adminlist •

    Change filters, columns, ...
  28. What’s next?

  29. What’s next? • Community is important •  Speed things up

    even more •  Increase number of tests •  Further document our workflow • Try to increase contributions futher • Expose api’s • Decouple sub bundles
  30. Questions?