Distribution best practices


Published on


Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Distribution best practices

  1. 1. Distribution best practicesBojan Zivanovic (bojanz)13.04.2013
  2. 2. Bojan Živanović (bojanz)- Developer from SerbiaProjects: Drupal Commerce, Views,Views Bulk Operations, Inline Entity Form, etc.Lead developer of Commerce Kickstart v2.
  3. 3. Commerce Guys is the COMPANYBased inParis, FranceAnn Arbor, MichiganLondon, UK
  4. 4. Meanwhile, in 2006...
  5. 5. Commerce Kickstart v2• Mobile-ready responsive design• Enhanced product marketing (image zooms, fancy attributes, slideshows)• Faceted product search• Streamlined administration• Built-in payment gateways, analytics
  6. 6. Panopoly• Mobile-ready responsive design• Panels powered• In-Place Page Building• Faceted search• Streamlined administration• Apps powered
  7. 7. Drupal Commons• Mobile-ready responsive design• Community building tools• Blogs, discussions, documents, wikis, events• Activity streams• Faceted search• Streamlined administration
  8. 8. Expectations from a distribution Responsive frontend theme Improved admin experience Facetted search Batteries included Demo content
  9. 9. Basic concepts and problems
  10. 10. Distribution building blocks1) Install profile2) Drush make3) Features4) Demo content
  11. 11. Installation profile- The heart of a Drupal installation- Enables the basic (or not so basic) set of modules, sets the default theme- Can add any number of pages and tasks to the installer, and alter its appeariance- Can implement hooks
  12. 12. Drush Make
  13. 13. Features – the promise
  14. 14. Features – the promise
  15. 15. Features – reality Cant depend one on another. Not uninstallable. Not interoperable (across distributions) Not optimized for “default configuration”. What to do about default content?
  16. 16. Default configuration Installed initially, restorable. Modifiable by the user (everything can be deleted, export not marked as “overridden”) Possible solution: http://drupal.org/project/defaultconfig
  17. 17. Default content Easy to create / import, easy to remove. http://drupal.org/project/defaultcontent deprecated in favor of “”UID Features” DIY? Migrate
  18. 18. Community problems Dealing with (nearly) abandoned projects. Dealing with patches Dealing with old releases
  19. 19. Handling updates Distributions need to be updated as a whole Hide update status for included projects The need for more frequent releases Security updates need to be fast ( < 48h).
  20. 20. Support and maintenance - Get off your island. - Separate bug reports from the support requests - Send the support requests to StackExchange - Send any relevant bug reports to contribs - How can we keep this sustainable?
  21. 21. Sustainability- Distributions are expensive- Currently mostly a lead generation tool.- Low usage: Drupal core installs: 869 852 Commerce Kickstart installs: 7 041 Next 10 distributions combined: 4300 Distributions make up 1.2% of all Drupal installs- App stores?
  22. 22. Sustainability
  23. 23. Sustainability
  24. 24. Diving in
  25. 25. Customizing the install process Theme it! Hide redundant pages Custom pages for additional configuration Additional tasks for creating demo content, enabling additional modules. Post-installation help
  26. 26. Customizing the install process
  27. 27. Customizing the install process
  28. 28. Customizing the install process
  29. 29. Customizing the install process
  30. 30. Customizing the install process
  31. 31. Fixing the admin UX Dont be afraid to create a custom theme Or use ours: Shiny Views & VBO for all listings (admin_views) Date Chosen / Select2 Module Filter Backport, Special Menu Admin
  32. 32. Facetted search
  33. 33. Responsive design Being responsive is no longer optional. Start with a base theme: - Omega (Commerce Kickstart, Recruiter) - Adaptivetheme (Commons) - Zen - Admin pages are not responsive http://drupal.org/project/navbar http://drupal.org/project/responsive_tables
  34. 34. Panels Are you using it today? Different layouts for different pages Responsive layouts In-place page building Layouts for forms too (node add / edit) Used by most distributions (Panopoly, Commons, Recruiter, Nodestream..)
  35. 35. Other Emails and activity streams - Message & Message Notify Breadcrumbs: - Crumbs - Path Breadcrumbs Social links and logins: - Service Links, Sharethis - OAuth Connector
  36. 36. Now go and build something
  37. 37. Questions & Answers
  38. 38. Thank you!bojan@commerceguys.com