This document discusses how to make clients happy by creating reusable components for building Drupal sites. Reusable components like slideshows, news listings, and events listings can be created as features in Drupal to make them easily portable between sites. Custom entities can also be built as reusable components using entity construction kit (ECK) and other modules. Developing components as products provides benefits like improved quality, easier project planning and documentation. Creating reusable components, treating them as products, and ensuring documentation and support can lead to happier clients through easier site building and management.
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Making you, and your Clients Happy, by Using Reusable Components to Build Drupal Sites
1. Make You, & Your Clients, Happy
by using Reusable Components
to Build Drupal Sites
Trent Stromkins
Front End Development Lead
trent@imagexmedia.com • github.com/bmx269 • @bmx269 • d.o: bmx269
7. 1760
Mass production of screws using lathes
1841
J Witworth suggests standardizing thread pitch & count per diameter
1860
His proposal became standard practice in Britain
100 YEARS AFTER MASS PRODUCTION
!!!
12. Events Listing
Example Reusable Component
Exporting the work to a Feature is one step of making a
component. Making the component reusable by the client / site
admin / developer makes it valuable.
Drupal Piece Specific Item Description
Event Content Type Event Category Taxonomy Used to categorize the Events.
Display Suite View Modes •IMG Left Teaser
•IMG Top Teaser
•Featured Teaser
•etc
Build the layouts of your displays
Views Content Pane •Exposed Taxonomy Filter
•Content: (your View Mode)
•Allow Pane Settings
This is where the magic happens. Exposing
the Views settings to the Panel editor.
Panels / Panelizer Staff Name Edit and formatting
Panopoly Magic Views Content Panes Better UI. Previews & exposed View
Modes
18. Splash Image / Slideshow
Example Reusable Component
This is a dynamic optional Splash Image or Slideshow. Using ECK,
Flexslider 2, Entity Reference, Inline Entity Form, and Views.
I wanted to make the slideshow management experience as easy to manage as adding images to a node.
Considerations:
Option to add a Splash image or Slideshow to any page
Easy to use and manage by the client
Reusable Slides
Reusable on other projects
Methods:
Separate Content Type / Views (Flexslider View Display) - More training. Not easily managed.
Rotating Banner Slideshow Module – Easy to use. Non-reusable Slides. Block Training
Field Collection / Views (Flexslider View Display) – Easy to use. Poor UI. Reusable with some work.
ECK, Entity Ref., Inline Entity Form, Views (Flexslider View Display) – Easy to use. Better UI. Reusable.
19. Use ECK to create the Entity
Use an Entity Reference Field
24. Exporting the work
This is not that hard to do.
Create your Feature, keeping naming generic, &
version it.
You will need to save the Content Type, Entity Types,
Fields, Taxonomy, Display Suite settings, View Modes,
Views, along with any other parts to your component.
You now have a few Reusable Components.
If you don’t know how to use Drupal Features, there are a lot of
helpful tutorials, and helper modules.
26. Products
Own each component
When each Reusable Component is considered a product on it’s
own, we can provide a higher quality result, with less time spent
per website developed. This means more money.
This may sound like hopes and dreams, but in reality, it is the essence of the industrial revolution.
Benefits of components as Products:
Better with Reuse
Feature Set Refinement
Quality Control
Business Analysis
Project Planning
Documentation is Clear
Training and Augmentation
30. Products
Own each component
Benefits of components as Products:
Better with Reuse
Feature Set Refinement
Quality Control
Business Analysis
Project Planning
Documentation is Clear
Training and Augmentation
33. Client SupportDevelopment
Sales Documentation
Easier Estimation
Clear Feature Set
Pricing Structure
Business Analysis
Project Planning
Training and Augmentation
Developer Documentation
Better with Reuse
Feature Set Refinement
Development Speed
Sales / PM
34. Client SupportDevelopment
Sales Documentation
Easier Estimation
Clear Feature Set
Pricing Structure
Business Analysis
Project Planning
Training and Augmentation
Developer Documentation
Better with Reuse
Feature Set Refinement
Development Speed
Client Documentation
Ensured Quality
Set Training for Components
Sales / PM
36. Make You, & Your Clients, Happy
by using Reusable Components
to Build Drupal Sites
Trent Stromkins
Front End Development Lead
trent@imagexmedia.com • github.com/bmx269 • @bmx269 • d.o: bmx269
Thank You
Editor's Notes
COVER 1 – A sample for the cover
Reusable, Repurposed for any client. Built it generic, then brand it specific to the client.
Components that can build many different results.
Components can scale. From a treehouse to the building we are in today.
This about how it can be used, outside the current use case. USB: Mouse, Data Cable, Charging, Phone, Computer, Camera, Audio Devices, Diagnostic tools for vehicles
If at all possible, use or set a standard for all your components.
CONTENT 1 – A sample for the content page
CONTENT 1 – A sample for the content page
Using the same content type, we can use 1 View with display variations to build these.
CONTENT 1 – A sample for the content page
TABLE CONTENT – Tables can be created in Word or Excel and dragged in here. They can also be generated directly in PowerPoint. This is what the overall look and feel is
CONTENT 1 – A sample for the content page
CONTENT 1 – A sample for the content page
CONTENT 1 – A sample for the content page
CONTENT 1 – A sample for the content page
CONTENT 1 – A sample for the content page
TABLE CONTENT – Tables can be created in Word or Excel and dragged in here. They can also be generated directly in PowerPoint. This is what the overall look and feel is