Date post: | 17-Jun-2015 |
Category: |
Technology |
Upload: | bojanzivanovic |
View: | 185 times |
Download: | 0 times |
Distribution best practices
Bojan Zivanovic (bojanz)13.04.2013
Bojan Živanović (bojanz)
- Developer from Serbia
Projects: Drupal Commerce, Views, Views Bulk Operations, Inline Entity Form, etc.
Lead developer of Commerce Kickstart v2.
Paris, France
Ann Arbor, Michigan
Commerce Guys is the
Based in
London, UK
COMPANY
Meanwhile, in 2006...
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
Panopoly
• Mobile-ready responsive design
• Panels powered
• In-Place Page Building
• Faceted search
• Streamlined administration
• Apps powered
Drupal Commons• Mobile-ready responsive design
• Community building tools
• Blogs, discussions, documents, wikis, events
• Activity streams
• Faceted search
• Streamlined administration
Expectations from a distribution
Responsive frontend theme Improved admin experience Facetted search
Batteries included Demo content
Basic concepts and problems
Distribution building blocks
1) Install profile
2) Drush make
3) Features
4) Demo content
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
Drush Make
Features – the promise
Features – the promise
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?
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
Default content Easy to create / import, easy to remove.
http://drupal.org/project/defaultcontent
deprecated in favor of “”UID Features”
DIY? Migrate
Community problems
Dealing with (nearly) abandoned projects. Dealing with patches Dealing with old releases
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).
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?
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?
Sustainability
Sustainability
Diving in
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
Customizing the install process
Customizing the install process
Customizing the install process
Customizing the install process
Customizing the install process
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
Facetted search
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
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..)
Other Emails and activity streams- Message & Message Notify
Breadcrumbs:- Crumbs- Path Breadcrumbs
Social links and logins: - Service Links, Sharethis
- OAuth Connector
Now go and build something
Questions & Answers