distribution best practices
DESCRIPTION
http://www.drupalalpeadria.org/session/distribution-best-practicesTRANSCRIPT
![Page 1: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/1.jpg)
Distribution best practices
Bojan Zivanovic (bojanz)13.04.2013
![Page 2: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/2.jpg)
Bojan Živanović (bojanz)
- Developer from Serbia
Projects: Drupal Commerce, Views, Views Bulk Operations, Inline Entity Form, etc.
Lead developer of Commerce Kickstart v2.
![Page 3: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/3.jpg)
Paris, France
Ann Arbor, Michigan
Commerce Guys is the
Based in
London, UK
COMPANY
![Page 4: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/4.jpg)
Meanwhile, in 2006...
![Page 5: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/5.jpg)
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
![Page 6: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/6.jpg)
Panopoly
• Mobile-ready responsive design
• Panels powered
• In-Place Page Building
• Faceted search
• Streamlined administration
• Apps powered
![Page 7: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/7.jpg)
Drupal Commons• Mobile-ready responsive design
• Community building tools
• Blogs, discussions, documents, wikis, events
• Activity streams
• Faceted search
• Streamlined administration
![Page 8: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/8.jpg)
Expectations from a distribution
Responsive frontend theme Improved admin experience Facetted search
Batteries included Demo content
![Page 9: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/9.jpg)
Basic concepts and problems
![Page 10: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/10.jpg)
Distribution building blocks
1) Install profile
2) Drush make
3) Features
4) Demo content
![Page 11: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/11.jpg)
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
![Page 12: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/12.jpg)
Drush Make
![Page 13: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/13.jpg)
Features – the promise
![Page 14: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/14.jpg)
Features – the promise
![Page 15: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/15.jpg)
Features – reality
Can't depend one on another. Not uninstallable. Not interoperable (across distributions) Not optimized for “default configuration”. What to do about default content?
![Page 16: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/16.jpg)
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
![Page 17: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/17.jpg)
Default content Easy to create / import, easy to remove.
http://drupal.org/project/defaultcontent
deprecated in favor of “”UID Features”
DIY? Migrate
![Page 18: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/18.jpg)
Community problems
Dealing with (nearly) abandoned projects. Dealing with patches Dealing with old releases
![Page 19: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/19.jpg)
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).
![Page 20: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/20.jpg)
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?
![Page 21: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/21.jpg)
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?
![Page 22: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/22.jpg)
Sustainability
![Page 23: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/23.jpg)
Sustainability
![Page 24: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/24.jpg)
Diving in
![Page 25: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/25.jpg)
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
![Page 26: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/26.jpg)
Customizing the install process
![Page 27: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/27.jpg)
Customizing the install process
![Page 28: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/28.jpg)
Customizing the install process
![Page 29: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/29.jpg)
Customizing the install process
![Page 30: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/30.jpg)
Customizing the install process
![Page 31: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/31.jpg)
Fixing the admin UX Don't 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
![Page 32: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/32.jpg)
Facetted search
![Page 33: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/33.jpg)
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
![Page 34: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/34.jpg)
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..)
![Page 35: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/35.jpg)
Other Emails and activity streams- Message & Message Notify
Breadcrumbs:- Crumbs- Path Breadcrumbs
Social links and logins: - Service Links, Sharethis
- OAuth Connector
![Page 36: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/36.jpg)
Now go and build something
![Page 37: Distribution best practices](https://reader033.vdocuments.site/reader033/viewer/2022060116/5580c271d8b42a8e558b468c/html5/thumbnails/37.jpg)
Questions & Answers