SlideShare a Scribd company logo
Secret Ingredients for A Better Web
How Not to Be Conned
by Your Drupal Vendor!
Secret Ingredients for A Better Web
http://dilbert.com/strips/comic/2002-03-27/
Secret Ingredients for A Better Web
•  SJ for short, Solihin Jinata is my full name
•  Co-founder of Pixel Onion
•  Started from Drupal 5
•  Drupal experience:
developer, site builder, solution architect, “part-time” themer
•  Drupal projects & clients:
Earth Hour, SMUv, SingTel, Scholastic, Oradan, I2R, NIE,
Stanley Black & Decker, PlugIn@Blk71, CapitaLand
v SMU site won Acquia Partner Site of the Year Awards for higher education category in 2013
About me
Secret Ingredients for A Better Web
Topic background
•  Recently we encountered more and more Drupal projects handed to
us in terrible conditions
•  Local community members have seen and heard Drupal sites having
more than their fair share of lousy implementation
•  Having lousy implementation is bad for whole Drupal industry, locally
and globally, as it damages Drupal reputation
•  While it is hard to agree on what it means to have the right Drupal
implementation, it is easier to spot bad Drupal site by simply
checking how it is themed, built and customised
•  Despite the title, this presentation aims to shed some lights to both
clients & vendors on how to execute acceptable Drupal projects,
focusing on asking the following 10 questions
Secret Ingredients for A Better Web
Here are 10 questions you can ask
yourself and/or your vendors
Secret Ingredients for A Better Web
1. What am I building?
Secret Ingredients for A Better Web
Simple site?
Secret Ingredients for A Better Web
Complex site?
Secret Ingredients for A Better Web
•  Static vs dynamic site
•  Closed vs membership site
•  Corporate vs commerce site
•  100 visitors vs >1,000,000 visitors per month
•  US$100 project vs >US$100,000 project
Any combination of the above may give you different
solutions: WordPress, Joomla, Drupal, Magento, Shopify,
or custom build with PHP framework. Or even other
languages: Python, Ruby, .NET, etc.
Know your scope
Secret Ingredients for A Better Web
•  Are you clear on what kind of site you want to build?
•  Does the vendor try to understand you and offer different
solutions or advices?
For the remaining slides, the context is:
building scalable and easily maintainable site for medium-large
organisations, while empowering laymen to do simple updates to
the site without breaking anything
Know your scope
Secret Ingredients for A Better Web
2. How is the project managed?
Secret Ingredients for A Better Web
•  Waterfall?? Agile!!!
•  Time constraint: deploying custom Drupal site within 1
week might be impossible
•  Tools
Pivotal Tracker, Basecamp, Asana, Redmine, Trello
•  Issue tracker
•  Frequent interaction and communication for project
updates
Project management
Secret Ingredients for A Better Web
3. Is the theme done the right way?
Secret Ingredients for A Better Web
Theming
Secret Ingredients for A Better Web
Theming
✖

 ✔
Secret Ingredients for A Better Web
•  MVC: separation of business logic and theming
•  Static sites are probably OK to hardcode? Dynamic sites
are BIG NO NO to hardcode
•  Theming using tons of .tpl.php?
Ø Advantage: version control
Ø Disadvantages: extremely difficult to visualise and
understand for non-developer, difficult to track how a
particular page is layout
Theming
Secret Ingredients for A Better Web
4. Is the site built to be future-proof?
Secret Ingredients for A Better Web
<h1>CURRENT COMPANIES</h1>
<ul>
<li>item1</li>
<li>item2</li>
<li>item3</li>
</ul>
Site building
or
=
?
Secret Ingredients for A Better Web
<h1>CURRENT COMPANIES</h1>
<ul>
<li>item1</li>
<li>item2</li>
<li>item3</li>
</ul>
Site building
or
=
?✖

 ✔
Secret Ingredients for A Better Web
•  Normally standard modules are used for extensibility:
Ø Core’s node, field API, taxonomy
Ø Views: why write SQL queries when we can point and click?
Ø Display suite
Ø Panels
Ø Context
Site building
Secret Ingredients for A Better Web
5. How about the high level
architecture?
Secret Ingredients for A Better Web
•  Usually there are more than 1 way to use Drupal to
achieve the same goal. How many ways does a vendor
know? Does a vendor know each pros & cons?
E.g. multisite is such a common requirement nowadays. The
following are alternative ways to achieve multisite: multi
machines/vhosts, multisite in sites folder, domain access,
organic group
•  Choice of modules and achieving requirement with least
# of modules
Architecture
Secret Ingredients for A Better Web
6. Is the site built with speed in mind?
Secret Ingredients for A Better Web
•  It is a humongous topic by itself
•  Various types of improvement/caching:
Ø Reverse proxy
Ø CDN
Ø Drupal caching (page/block/views/entity)
Ø Opcode caching (APC)
Ø DB query caching (memcache/redis)
Ø DB server optimisation
•  Some reference: http://goo.gl/YZZqM
Performance
Secret Ingredients for A Better Web
7. Do I need custom modules?
Secret Ingredients for A Better Web
•  Not everything needs to be custom built
•  One of the few reasons for choosing Drupal
Ø For business people: ~7,000 contributed modules
Ø Developers / hackers: great extensible core framework,
difficult to pick up at first, but little Computer Science
knowledge is required to do extensive customisation
à double edged sword that can render your site unscalable
•  Vendor can consider contributing patches instead of
creating new modules
“There’s a module for that!”
Secret Ingredients for A Better Web
8. Is the custom module developed with
Drupal coding standards?
Secret Ingredients for A Better Web
•  No hacking of core files or contrib modules!!
•  Have the vendor tried rules module instead?
•  Coding standards!! http://goo.gl/rTt5sx
For a non techie client, probably the easiest to observe. Your
site usually still works well with non-standard custom modules,
but you then wonder why the vendor doesn’t respect basic
Drupal coding standards.
Ø Indent of 2 spaces, not tab!
Ø No closing php tag ?>
Module development
Secret Ingredients for A Better Web
•  Are all db insertion and text rendering sanitised using
check_plain() or t() function?
•  You can install coder module to identify if the custom
modules are written to coding standard
•  You can install hacked module to identify if any core and
contrib modules are hacked
Module development
Secret Ingredients for A Better Web
9. How will future enhancements,
features, and maintenance be done?
Secret Ingredients for A Better Webhttp://atouchard.github.io/drupal-continuous-integration/
Secret Ingredients for A Better Web
•  For complex sites with many developers / vendors /
content populators, CI is a must
•  Simple sites will benefit, too
•  Complexity comes from the fact that <D7 database mixes
configuration and content, D8 aims to reduce or even
eliminate this complexity
Continuous Integration
Secret Ingredients for A Better Web
•  At least the following should be observed
Ø Version control with an agreed workflow
Ø Configuration management: the best so far is through
features module for D7, there is Configuration Management
Initiatives for D8 to make this much simpler
Ø Unit test of custom modules
•  More advanced topics
Ø Automatic build for creating staging server upon pull
request
Ø Automatic integration, functional test (behat)
Continuous Integration
Secret Ingredients for A Better Web
10. What’s my gut feel about this
vendor?
Secret Ingredients for A Better Web
Thank you!
sj at pixelonion.com

More Related Content

PPT
Higher Ed Web 2013 presentation - Field of Dreams, build it and they will come
PPTX
Front End page speed performance improvements for Drupal
PPTX
An Expert's Guide to Making a Website Slow - Chicago Webmasters Meetup 6/5/2012
KEY
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
PPTX
Testing Drupal Site Performance Across Browsers, Geographies and Networks
PPTX
Web Standards And Protocols
PDF
Web Design
PDF
Addictomatic
Higher Ed Web 2013 presentation - Field of Dreams, build it and they will come
Front End page speed performance improvements for Drupal
An Expert's Guide to Making a Website Slow - Chicago Webmasters Meetup 6/5/2012
HTML5 is the Future of Mobile, PhoneGap Takes You There Today
Testing Drupal Site Performance Across Browsers, Geographies and Networks
Web Standards And Protocols
Web Design
Addictomatic

What's hot (20)

PDF
Responsive Design in Drupal with Zen and Zen Grids
PPTX
How to make WordPress your friend
PPTX
WordPress SEO 101 - Dayton 2016 WordCamp
PDF
11 Amazing things I Learnt At Word Camp Sydney 2014
PDF
HK CodeConf 2015 - Your WebPerf Sucks
PPTX
14 Things You Must Do Before Launching a Website
PDF
Tech Thursdays: Building Products
PDF
Automated testing DrupalCamp in Asheville
PPT
Requirements & Drupal: Planning for Successful Projects
PDF
Create Your Own Starter Files
PPTX
PDF
Drag-and-drop WordPress Themes, featuring Themify Builder
PDF
DevOps for Drupal: Why We Cook With Chef
PDF
Cheat Sheet to a Lean Website
PDF
Zurb foundation
PPTX
WordPress Hosting Basics
PDF
WordPress for Designers
PDF
WordPress Themes Demystified
PPTX
Web design basics_01
PDF
Drupal project timeline
Responsive Design in Drupal with Zen and Zen Grids
How to make WordPress your friend
WordPress SEO 101 - Dayton 2016 WordCamp
11 Amazing things I Learnt At Word Camp Sydney 2014
HK CodeConf 2015 - Your WebPerf Sucks
14 Things You Must Do Before Launching a Website
Tech Thursdays: Building Products
Automated testing DrupalCamp in Asheville
Requirements & Drupal: Planning for Successful Projects
Create Your Own Starter Files
Drag-and-drop WordPress Themes, featuring Themify Builder
DevOps for Drupal: Why We Cook With Chef
Cheat Sheet to a Lean Website
Zurb foundation
WordPress Hosting Basics
WordPress for Designers
WordPress Themes Demystified
Web design basics_01
Drupal project timeline
Ad

Similar to How Not to Be Conned by Your Drupal Vendor! (20)

PDF
[drupalday2017] - Speed-up your Drupal instance!
PDF
Speed up your Drupal instance!!
PDF
State of Drupal keynote, DrupalCon New Orleans
PDF
Making Support Fun & Profitable: DrupalCon Portland
PDF
Cache all the things #DCLondon
PPT
Open / Drupal Camp Presentation: Brent Bice
PDF
Top 8 priorities for websites in 2014
PDF
Startup Engineering Cookbook
PDF
There's a Module for That, MIMA Summit 2010
PPTX
Drupal8 corporate training in Hyderabad
PDF
Drupal performance and scalability
PPT
Make Drupal Run Fast - increase page load speed
PPT
Drupal for small business
PDF
DrupalCon 2013 Making Support Fun & Profitable
PPTX
Kicking Web Butt - Small Business Web Strategy Planning
PDF
SEO Fundamentals Outline Lecture 2
PDF
Drupal 7 performance and optimization
PDF
Big Business Websites for Small Budgets
PPT
Are you ready for Drupal 8?
PDF
Stop Playing Hide and Seek with Google: Drupal SEO for Non-profits
[drupalday2017] - Speed-up your Drupal instance!
Speed up your Drupal instance!!
State of Drupal keynote, DrupalCon New Orleans
Making Support Fun & Profitable: DrupalCon Portland
Cache all the things #DCLondon
Open / Drupal Camp Presentation: Brent Bice
Top 8 priorities for websites in 2014
Startup Engineering Cookbook
There's a Module for That, MIMA Summit 2010
Drupal8 corporate training in Hyderabad
Drupal performance and scalability
Make Drupal Run Fast - increase page load speed
Drupal for small business
DrupalCon 2013 Making Support Fun & Profitable
Kicking Web Butt - Small Business Web Strategy Planning
SEO Fundamentals Outline Lecture 2
Drupal 7 performance and optimization
Big Business Websites for Small Budgets
Are you ready for Drupal 8?
Stop Playing Hide and Seek with Google: Drupal SEO for Non-profits
Ad

Recently uploaded (20)

PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
PDF
Advanced Soft Computing BINUS July 2025.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
Advanced Soft Computing BINUS July 2025.pdf
Electronic commerce courselecture one. Pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Mobile App Security Testing_ A Comprehensive Guide.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
NewMind AI Weekly Chronicles - August'25 Week I
GamePlan Trading System Review: Professional Trader's Honest Take
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Spectral efficient network and resource selection model in 5G networks
Review of recent advances in non-invasive hemoglobin estimation
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
Unlocking AI with Model Context Protocol (MCP)
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
The AUB Centre for AI in Media Proposal.docx
Diabetes mellitus diagnosis method based random forest with bat algorithm
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication

How Not to Be Conned by Your Drupal Vendor!

  • 1. Secret Ingredients for A Better Web How Not to Be Conned by Your Drupal Vendor!
  • 2. Secret Ingredients for A Better Web http://dilbert.com/strips/comic/2002-03-27/
  • 3. Secret Ingredients for A Better Web •  SJ for short, Solihin Jinata is my full name •  Co-founder of Pixel Onion •  Started from Drupal 5 •  Drupal experience: developer, site builder, solution architect, “part-time” themer •  Drupal projects & clients: Earth Hour, SMUv, SingTel, Scholastic, Oradan, I2R, NIE, Stanley Black & Decker, PlugIn@Blk71, CapitaLand v SMU site won Acquia Partner Site of the Year Awards for higher education category in 2013 About me
  • 4. Secret Ingredients for A Better Web Topic background •  Recently we encountered more and more Drupal projects handed to us in terrible conditions •  Local community members have seen and heard Drupal sites having more than their fair share of lousy implementation •  Having lousy implementation is bad for whole Drupal industry, locally and globally, as it damages Drupal reputation •  While it is hard to agree on what it means to have the right Drupal implementation, it is easier to spot bad Drupal site by simply checking how it is themed, built and customised •  Despite the title, this presentation aims to shed some lights to both clients & vendors on how to execute acceptable Drupal projects, focusing on asking the following 10 questions
  • 5. Secret Ingredients for A Better Web Here are 10 questions you can ask yourself and/or your vendors
  • 6. Secret Ingredients for A Better Web 1. What am I building?
  • 7. Secret Ingredients for A Better Web Simple site?
  • 8. Secret Ingredients for A Better Web Complex site?
  • 9. Secret Ingredients for A Better Web •  Static vs dynamic site •  Closed vs membership site •  Corporate vs commerce site •  100 visitors vs >1,000,000 visitors per month •  US$100 project vs >US$100,000 project Any combination of the above may give you different solutions: WordPress, Joomla, Drupal, Magento, Shopify, or custom build with PHP framework. Or even other languages: Python, Ruby, .NET, etc. Know your scope
  • 10. Secret Ingredients for A Better Web •  Are you clear on what kind of site you want to build? •  Does the vendor try to understand you and offer different solutions or advices? For the remaining slides, the context is: building scalable and easily maintainable site for medium-large organisations, while empowering laymen to do simple updates to the site without breaking anything Know your scope
  • 11. Secret Ingredients for A Better Web 2. How is the project managed?
  • 12. Secret Ingredients for A Better Web •  Waterfall?? Agile!!! •  Time constraint: deploying custom Drupal site within 1 week might be impossible •  Tools Pivotal Tracker, Basecamp, Asana, Redmine, Trello •  Issue tracker •  Frequent interaction and communication for project updates Project management
  • 13. Secret Ingredients for A Better Web 3. Is the theme done the right way?
  • 14. Secret Ingredients for A Better Web Theming
  • 15. Secret Ingredients for A Better Web Theming ✖ ✔
  • 16. Secret Ingredients for A Better Web •  MVC: separation of business logic and theming •  Static sites are probably OK to hardcode? Dynamic sites are BIG NO NO to hardcode •  Theming using tons of .tpl.php? Ø Advantage: version control Ø Disadvantages: extremely difficult to visualise and understand for non-developer, difficult to track how a particular page is layout Theming
  • 17. Secret Ingredients for A Better Web 4. Is the site built to be future-proof?
  • 18. Secret Ingredients for A Better Web <h1>CURRENT COMPANIES</h1> <ul> <li>item1</li> <li>item2</li> <li>item3</li> </ul> Site building or = ?
  • 19. Secret Ingredients for A Better Web <h1>CURRENT COMPANIES</h1> <ul> <li>item1</li> <li>item2</li> <li>item3</li> </ul> Site building or = ?✖ ✔
  • 20. Secret Ingredients for A Better Web •  Normally standard modules are used for extensibility: Ø Core’s node, field API, taxonomy Ø Views: why write SQL queries when we can point and click? Ø Display suite Ø Panels Ø Context Site building
  • 21. Secret Ingredients for A Better Web 5. How about the high level architecture?
  • 22. Secret Ingredients for A Better Web •  Usually there are more than 1 way to use Drupal to achieve the same goal. How many ways does a vendor know? Does a vendor know each pros & cons? E.g. multisite is such a common requirement nowadays. The following are alternative ways to achieve multisite: multi machines/vhosts, multisite in sites folder, domain access, organic group •  Choice of modules and achieving requirement with least # of modules Architecture
  • 23. Secret Ingredients for A Better Web 6. Is the site built with speed in mind?
  • 24. Secret Ingredients for A Better Web •  It is a humongous topic by itself •  Various types of improvement/caching: Ø Reverse proxy Ø CDN Ø Drupal caching (page/block/views/entity) Ø Opcode caching (APC) Ø DB query caching (memcache/redis) Ø DB server optimisation •  Some reference: http://goo.gl/YZZqM Performance
  • 25. Secret Ingredients for A Better Web 7. Do I need custom modules?
  • 26. Secret Ingredients for A Better Web •  Not everything needs to be custom built •  One of the few reasons for choosing Drupal Ø For business people: ~7,000 contributed modules Ø Developers / hackers: great extensible core framework, difficult to pick up at first, but little Computer Science knowledge is required to do extensive customisation à double edged sword that can render your site unscalable •  Vendor can consider contributing patches instead of creating new modules “There’s a module for that!”
  • 27. Secret Ingredients for A Better Web 8. Is the custom module developed with Drupal coding standards?
  • 28. Secret Ingredients for A Better Web •  No hacking of core files or contrib modules!! •  Have the vendor tried rules module instead? •  Coding standards!! http://goo.gl/rTt5sx For a non techie client, probably the easiest to observe. Your site usually still works well with non-standard custom modules, but you then wonder why the vendor doesn’t respect basic Drupal coding standards. Ø Indent of 2 spaces, not tab! Ø No closing php tag ?> Module development
  • 29. Secret Ingredients for A Better Web •  Are all db insertion and text rendering sanitised using check_plain() or t() function? •  You can install coder module to identify if the custom modules are written to coding standard •  You can install hacked module to identify if any core and contrib modules are hacked Module development
  • 30. Secret Ingredients for A Better Web 9. How will future enhancements, features, and maintenance be done?
  • 31. Secret Ingredients for A Better Webhttp://atouchard.github.io/drupal-continuous-integration/
  • 32. Secret Ingredients for A Better Web •  For complex sites with many developers / vendors / content populators, CI is a must •  Simple sites will benefit, too •  Complexity comes from the fact that <D7 database mixes configuration and content, D8 aims to reduce or even eliminate this complexity Continuous Integration
  • 33. Secret Ingredients for A Better Web •  At least the following should be observed Ø Version control with an agreed workflow Ø Configuration management: the best so far is through features module for D7, there is Configuration Management Initiatives for D8 to make this much simpler Ø Unit test of custom modules •  More advanced topics Ø Automatic build for creating staging server upon pull request Ø Automatic integration, functional test (behat) Continuous Integration
  • 34. Secret Ingredients for A Better Web 10. What’s my gut feel about this vendor?
  • 35. Secret Ingredients for A Better Web Thank you! sj at pixelonion.com