SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
NOTE:
This presentation is a Work in Progress. The
current copy shared is intended only for
review purposes by the DCD panel.
How “N O T”
to build Drupal
Sites
Tanay Sai
Technical Account Manager
Acquia
Do “NOT” code too much
● Do not program too much
● When you have a hammer
everything looks like a nail
● Don't be in a rush to become
a Drupal "Programmer"
● Do not try to solve the
Problem by Programming
Do “NOT” custom code too much
● Hard to Maintain
● Leverage existing good
contrib modules
● You are just re-inventing the
wheel
● Contrib code tested and
reviewed by many
Do “NOT” hack core
● Why?
● Use Hooks, APIs from core
and contrib
Do “NOT” be too generic
●
●
●
●
●

hook_init, hook_boot
form_alters without check for
form if
Including JS, CSS through these
init hook
403 - Use Drupal's permissions
system instead
Overriding other module’s
behaviour - Use
hook_menu_alter,
hook_form_alter etc instead of
hook_init
Do “NOT” get into trouble
●
●
●

hook_init
hook_boot
hook_exit()

●
●
●

hook_node_access()
hook_node_access_records()
hook_node_access_alter()

●
●

hook_node_grants()
hook_node_grants_alter()
Do “NOT” put code in database
● PHP Filter
● Views PHP module

● Why?
● Common Scenarios
● Alternative better approaches
Do “NOT” clutter your site
● Dozens of unused modules,
content types, vocabularies
● Be a miser
Do “NOT” Content Typify Everything
● Use Custom Entities
wherever Appropriate
Do “NOT” just MYISAM
● InnoDB vs MyISAM
Do “NOT” default PERMISSIONS
●
●

●

Do not leave any permission
checked or unchecked by default
Uncheck all and start checking
one by one after putting some
thought
Whenever is new module is
added check the permissions
added and see the roles that
these permissions were granted
to
Do “NOT” default your FILTERS
● Input Formats
● Filters
Do “NOT” leave out CACHING
●
●
●
●
●
●
●

Block Caching
Page Caching
Views Caching
Entity Cache module
Boost/Varnish
Memcache
APC

●
●
●

Set appropriate cache lifetimes
Page Compression
CSS/JS Aggregation
Do “NOT” Log Everything Everywhere
●
●
●

Disable DB Log
Enable Syslog
Disable Statistics, Use GA or
similar
Do “NOT” leave UI modules enabled
● UI Modules
● Simpletest
● Migrate
● Migrate Extras
● Coder
● Devel
Do “NOT” Use them. Stay Away!
● Statistics
● ..
● ..
●
Do “NOT” Leave behind 404
● Use Fast 404
● Prevent Bootstrap and
Database operations for that
favicon which is always
missing
Do “NOT”

Weitere ähnliche Inhalte

Was ist angesagt?

Java Script Template Engine 비교하기
Java Script Template Engine 비교하기Java Script Template Engine 비교하기
Java Script Template Engine 비교하기SeongSik Choi
 
Mvvm knockout vs angular
Mvvm knockout vs angularMvvm knockout vs angular
Mvvm knockout vs angularBasarat Syed
 
WordPress security & sanitation for beginners
WordPress security & sanitation for beginnersWordPress security & sanitation for beginners
WordPress security & sanitation for beginnersD'nelle Dowis
 
Introduction to Twitter's Bootstrap 2
Introduction to Twitter's Bootstrap 2Introduction to Twitter's Bootstrap 2
Introduction to Twitter's Bootstrap 2Julien Renaux
 
A beginner's guide to twitter bootstrap
A beginner's guide to twitter bootstrapA beginner's guide to twitter bootstrap
A beginner's guide to twitter bootstrapSunanda Bansal
 
Testing JavaScript with Jasmine
Testing JavaScript with JasmineTesting JavaScript with Jasmine
Testing JavaScript with Jasminetechwhizbang
 
Spring framework 4.0
Spring framework 4.0Spring framework 4.0
Spring framework 4.0Diego Pacheco
 
8 Most Common Joomla! Hacks and How to Avoid Them
8 Most Common Joomla! Hacks and How to Avoid Them8 Most Common Joomla! Hacks and How to Avoid Them
8 Most Common Joomla! Hacks and How to Avoid ThemDaniel Kanchev
 
How to develop Magnolia based sites correctly, quickly and efficiently
How to develop Magnolia based sites correctly, quickly and efficiently How to develop Magnolia based sites correctly, quickly and efficiently
How to develop Magnolia based sites correctly, quickly and efficiently Ben Price
 
WordPress Developer tools
WordPress Developer toolsWordPress Developer tools
WordPress Developer toolsSudar Muthu
 
Bootstrap 3 + responsive
Bootstrap 3 + responsiveBootstrap 3 + responsive
Bootstrap 3 + responsivehatchpb
 
Responsive Web Design with Bootstrap
Responsive Web Design with BootstrapResponsive Web Design with Bootstrap
Responsive Web Design with BootstrapJason Stehle
 
The 5 Layers of Web Accessibility
The 5 Layers of Web AccessibilityThe 5 Layers of Web Accessibility
The 5 Layers of Web AccessibilityDirk Ginader
 

Was ist angesagt? (19)

Java Script Template Engine 비교하기
Java Script Template Engine 비교하기Java Script Template Engine 비교하기
Java Script Template Engine 비교하기
 
Mvvm knockout vs angular
Mvvm knockout vs angularMvvm knockout vs angular
Mvvm knockout vs angular
 
WordPress security & sanitation for beginners
WordPress security & sanitation for beginnersWordPress security & sanitation for beginners
WordPress security & sanitation for beginners
 
Introduction to Twitter's Bootstrap 2
Introduction to Twitter's Bootstrap 2Introduction to Twitter's Bootstrap 2
Introduction to Twitter's Bootstrap 2
 
A beginner's guide to twitter bootstrap
A beginner's guide to twitter bootstrapA beginner's guide to twitter bootstrap
A beginner's guide to twitter bootstrap
 
Bootstrap 3.1.1
Bootstrap 3.1.1Bootstrap 3.1.1
Bootstrap 3.1.1
 
Bootstrap ppt
Bootstrap pptBootstrap ppt
Bootstrap ppt
 
Testing JavaScript with Jasmine
Testing JavaScript with JasmineTesting JavaScript with Jasmine
Testing JavaScript with Jasmine
 
Spring framework 4.0
Spring framework 4.0Spring framework 4.0
Spring framework 4.0
 
8 Most Common Joomla! Hacks and How to Avoid Them
8 Most Common Joomla! Hacks and How to Avoid Them8 Most Common Joomla! Hacks and How to Avoid Them
8 Most Common Joomla! Hacks and How to Avoid Them
 
How to develop Magnolia based sites correctly, quickly and efficiently
How to develop Magnolia based sites correctly, quickly and efficiently How to develop Magnolia based sites correctly, quickly and efficiently
How to develop Magnolia based sites correctly, quickly and efficiently
 
WordPress Developer tools
WordPress Developer toolsWordPress Developer tools
WordPress Developer tools
 
Bootstrap 3 + responsive
Bootstrap 3 + responsiveBootstrap 3 + responsive
Bootstrap 3 + responsive
 
Responsive Web Design with Bootstrap
Responsive Web Design with BootstrapResponsive Web Design with Bootstrap
Responsive Web Design with Bootstrap
 
Blogging for hackers (english)
Blogging for hackers (english)Blogging for hackers (english)
Blogging for hackers (english)
 
Gwt
GwtGwt
Gwt
 
WP-Boot
WP-BootWP-Boot
WP-Boot
 
The 5 Layers of Web Accessibility
The 5 Layers of Web AccessibilityThe 5 Layers of Web Accessibility
The 5 Layers of Web Accessibility
 
Web components. Compose the web.
Web components. Compose the web.Web components. Compose the web.
Web components. Compose the web.
 

Andere mochten auch

Behavior Design AMS 3 - Arjan Haring
Behavior Design AMS 3 - Arjan HaringBehavior Design AMS 3 - Arjan Haring
Behavior Design AMS 3 - Arjan HaringBehavior Design AMS
 
Behavior Design AMS 3 - Froukje Sleeswijk Visser
Behavior Design AMS 3 - Froukje Sleeswijk VisserBehavior Design AMS 3 - Froukje Sleeswijk Visser
Behavior Design AMS 3 - Froukje Sleeswijk VisserBehavior Design AMS
 
Behavior Design AMS 3 - Joris Janssen
Behavior Design AMS 3 - Joris JanssenBehavior Design AMS 3 - Joris Janssen
Behavior Design AMS 3 - Joris JanssenBehavior Design AMS
 
Musical Instrumental Management Report
Musical Instrumental Management ReportMusical Instrumental Management Report
Musical Instrumental Management ReportMahendra Sundesha
 
Behavior Design AMS 3 - Boris Surya
Behavior Design AMS 3 - Boris SuryaBehavior Design AMS 3 - Boris Surya
Behavior Design AMS 3 - Boris SuryaBehavior Design AMS
 
Basic Responsive Theming - Somedutta Ghosh
Basic Responsive Theming - Somedutta GhoshBasic Responsive Theming - Somedutta Ghosh
Basic Responsive Theming - Somedutta GhoshDrupal Camp Delhi
 
Musical Instrumental Management
Musical Instrumental ManagementMusical Instrumental Management
Musical Instrumental ManagementMahendra Sundesha
 

Andere mochten auch (7)

Behavior Design AMS 3 - Arjan Haring
Behavior Design AMS 3 - Arjan HaringBehavior Design AMS 3 - Arjan Haring
Behavior Design AMS 3 - Arjan Haring
 
Behavior Design AMS 3 - Froukje Sleeswijk Visser
Behavior Design AMS 3 - Froukje Sleeswijk VisserBehavior Design AMS 3 - Froukje Sleeswijk Visser
Behavior Design AMS 3 - Froukje Sleeswijk Visser
 
Behavior Design AMS 3 - Joris Janssen
Behavior Design AMS 3 - Joris JanssenBehavior Design AMS 3 - Joris Janssen
Behavior Design AMS 3 - Joris Janssen
 
Musical Instrumental Management Report
Musical Instrumental Management ReportMusical Instrumental Management Report
Musical Instrumental Management Report
 
Behavior Design AMS 3 - Boris Surya
Behavior Design AMS 3 - Boris SuryaBehavior Design AMS 3 - Boris Surya
Behavior Design AMS 3 - Boris Surya
 
Basic Responsive Theming - Somedutta Ghosh
Basic Responsive Theming - Somedutta GhoshBasic Responsive Theming - Somedutta Ghosh
Basic Responsive Theming - Somedutta Ghosh
 
Musical Instrumental Management
Musical Instrumental ManagementMusical Instrumental Management
Musical Instrumental Management
 

Ähnlich wie How NOT to build Drupal Sites - Sai Tanay

Architektura html, css i javascript - Jan Kraus
Architektura html, css i javascript - Jan KrausArchitektura html, css i javascript - Jan Kraus
Architektura html, css i javascript - Jan KrausWomen in Technology Poland
 
Becoming A Drupal Master Builder
Becoming A Drupal Master BuilderBecoming A Drupal Master Builder
Becoming A Drupal Master BuilderPhilip Norton
 
HTML, CSS & Javascript Architecture (extended version) - Jan Kraus
HTML, CSS & Javascript Architecture (extended version) - Jan KrausHTML, CSS & Javascript Architecture (extended version) - Jan Kraus
HTML, CSS & Javascript Architecture (extended version) - Jan KrausWomen in Technology Poland
 
Best Practices in Component Development for MODX
Best Practices in Component Development for MODXBest Practices in Component Development for MODX
Best Practices in Component Development for MODXJan Tezner
 
jQuery Conference Austin Sept 2013
jQuery Conference Austin Sept 2013jQuery Conference Austin Sept 2013
jQuery Conference Austin Sept 2013dmethvin
 
Simple Tips to Improve Site Performance (No Coding Required!)
Simple Tips to Improve Site Performance (No Coding Required!)Simple Tips to Improve Site Performance (No Coding Required!)
Simple Tips to Improve Site Performance (No Coding Required!)Acquia
 
Developing word press professionally
Developing word press professionallyDeveloping word press professionally
Developing word press professionallyAustin Gil
 
Tech meetup: Web Applications Performance
Tech meetup: Web Applications PerformanceTech meetup: Web Applications Performance
Tech meetup: Web Applications PerformanceSantex Group
 
Taming Drupal Blocks for Content Editors a.k.a. "Snippets"
Taming Drupal Blocks for Content Editors a.k.a. "Snippets"Taming Drupal Blocks for Content Editors a.k.a. "Snippets"
Taming Drupal Blocks for Content Editors a.k.a. "Snippets"Brian Hay
 
Vitess percona 2012
Vitess percona 2012Vitess percona 2012
Vitess percona 2012Philip Zhong
 
Best practices for JavaScript RIAs
Best practices for JavaScript RIAsBest practices for JavaScript RIAs
Best practices for JavaScript RIAsCarlos Ble
 
There's a Module for That, MIMA Summit 2010
There's a Module for That, MIMA Summit 2010There's a Module for That, MIMA Summit 2010
There's a Module for That, MIMA Summit 2010Emma Jane Hogbin Westby
 
Tools and libraries for common problems (Early Draft)
Tools and libraries for common problems (Early Draft)Tools and libraries for common problems (Early Draft)
Tools and libraries for common problems (Early Draft)rc2209
 
2016 stop writing javascript frameworks by Joe Gregorio
2016 stop writing javascript frameworks by Joe Gregorio2016 stop writing javascript frameworks by Joe Gregorio
2016 stop writing javascript frameworks by Joe GregorioDavid Zapateria Besteiro
 
Drupalcamp performance
Drupalcamp performanceDrupalcamp performance
Drupalcamp performanceFrontkom
 
Customizing the Django Admin
Customizing the Django AdminCustomizing the Django Admin
Customizing the Django AdminLincoln Loop
 
Hanselman lipton asp_connections_ams304_mvc
Hanselman lipton asp_connections_ams304_mvcHanselman lipton asp_connections_ams304_mvc
Hanselman lipton asp_connections_ams304_mvcdenemedeniz
 
Liferay portals in real projects
Liferay portals  in real projectsLiferay portals  in real projects
Liferay portals in real projectsIBACZ
 
Extending CMS Made Simple
Extending CMS Made SimpleExtending CMS Made Simple
Extending CMS Made Simplecmsmssjg
 

Ähnlich wie How NOT to build Drupal Sites - Sai Tanay (20)

Architektura html, css i javascript - Jan Kraus
Architektura html, css i javascript - Jan KrausArchitektura html, css i javascript - Jan Kraus
Architektura html, css i javascript - Jan Kraus
 
Becoming A Drupal Master Builder
Becoming A Drupal Master BuilderBecoming A Drupal Master Builder
Becoming A Drupal Master Builder
 
HTML, CSS & Javascript Architecture (extended version) - Jan Kraus
HTML, CSS & Javascript Architecture (extended version) - Jan KrausHTML, CSS & Javascript Architecture (extended version) - Jan Kraus
HTML, CSS & Javascript Architecture (extended version) - Jan Kraus
 
Best Practices in Component Development for MODX
Best Practices in Component Development for MODXBest Practices in Component Development for MODX
Best Practices in Component Development for MODX
 
jQuery Conference Austin Sept 2013
jQuery Conference Austin Sept 2013jQuery Conference Austin Sept 2013
jQuery Conference Austin Sept 2013
 
Simple Tips to Improve Site Performance (No Coding Required!)
Simple Tips to Improve Site Performance (No Coding Required!)Simple Tips to Improve Site Performance (No Coding Required!)
Simple Tips to Improve Site Performance (No Coding Required!)
 
Developing word press professionally
Developing word press professionallyDeveloping word press professionally
Developing word press professionally
 
Tech meetup: Web Applications Performance
Tech meetup: Web Applications PerformanceTech meetup: Web Applications Performance
Tech meetup: Web Applications Performance
 
Taming Drupal Blocks for Content Editors a.k.a. "Snippets"
Taming Drupal Blocks for Content Editors a.k.a. "Snippets"Taming Drupal Blocks for Content Editors a.k.a. "Snippets"
Taming Drupal Blocks for Content Editors a.k.a. "Snippets"
 
Vitess percona 2012
Vitess percona 2012Vitess percona 2012
Vitess percona 2012
 
Best practices for JavaScript RIAs
Best practices for JavaScript RIAsBest practices for JavaScript RIAs
Best practices for JavaScript RIAs
 
There's a Module for That, MIMA Summit 2010
There's a Module for That, MIMA Summit 2010There's a Module for That, MIMA Summit 2010
There's a Module for That, MIMA Summit 2010
 
Tools and libraries for common problems (Early Draft)
Tools and libraries for common problems (Early Draft)Tools and libraries for common problems (Early Draft)
Tools and libraries for common problems (Early Draft)
 
2016 stop writing javascript frameworks by Joe Gregorio
2016 stop writing javascript frameworks by Joe Gregorio2016 stop writing javascript frameworks by Joe Gregorio
2016 stop writing javascript frameworks by Joe Gregorio
 
Drupalcamp performance
Drupalcamp performanceDrupalcamp performance
Drupalcamp performance
 
Drupal performance
Drupal performanceDrupal performance
Drupal performance
 
Customizing the Django Admin
Customizing the Django AdminCustomizing the Django Admin
Customizing the Django Admin
 
Hanselman lipton asp_connections_ams304_mvc
Hanselman lipton asp_connections_ams304_mvcHanselman lipton asp_connections_ams304_mvc
Hanselman lipton asp_connections_ams304_mvc
 
Liferay portals in real projects
Liferay portals  in real projectsLiferay portals  in real projects
Liferay portals in real projects
 
Extending CMS Made Simple
Extending CMS Made SimpleExtending CMS Made Simple
Extending CMS Made Simple
 

Mehr von Drupal Camp Delhi

Campusdiaries Showcase - Raj Chourasia
Campusdiaries Showcase - Raj ChourasiaCampusdiaries Showcase - Raj Chourasia
Campusdiaries Showcase - Raj ChourasiaDrupal Camp Delhi
 
Generics & Specifics of QA on Web - Sweta Shahi
Generics & Specifics of QA on Web - Sweta ShahiGenerics & Specifics of QA on Web - Sweta Shahi
Generics & Specifics of QA on Web - Sweta ShahiDrupal Camp Delhi
 
Memcache and Drupal - Vaibhav Jain
Memcache and Drupal - Vaibhav JainMemcache and Drupal - Vaibhav Jain
Memcache and Drupal - Vaibhav JainDrupal Camp Delhi
 
Amplify user engagement with Game Mechanics - Vidhatanand
Amplify user engagement with Game Mechanics - VidhatanandAmplify user engagement with Game Mechanics - Vidhatanand
Amplify user engagement with Game Mechanics - VidhatanandDrupal Camp Delhi
 
Future proof your drupal skills - Piyuesh Kumar
Future proof your drupal skills - Piyuesh KumarFuture proof your drupal skills - Piyuesh Kumar
Future proof your drupal skills - Piyuesh KumarDrupal Camp Delhi
 
What is there in Drupal Community & their do's and don't's - Sivaji
What is there in Drupal Community & their do's and don't's - SivajiWhat is there in Drupal Community & their do's and don't's - Sivaji
What is there in Drupal Community & their do's and don't's - SivajiDrupal Camp Delhi
 
Drush to simplify Drupalers work - Sivaji
Drush to simplify Drupalers work - SivajiDrush to simplify Drupalers work - Sivaji
Drush to simplify Drupalers work - SivajiDrupal Camp Delhi
 
Multi lingual implementations – drupal design approaches for different scenar...
Multi lingual implementations – drupal design approaches for different scenar...Multi lingual implementations – drupal design approaches for different scenar...
Multi lingual implementations – drupal design approaches for different scenar...Drupal Camp Delhi
 
Integration of Drupal websites and Android applications - Girish Gupta
Integration of Drupal websites and Android applications - Girish GuptaIntegration of Drupal websites and Android applications - Girish Gupta
Integration of Drupal websites and Android applications - Girish GuptaDrupal Camp Delhi
 
Graphics Designing (Character, Posters, Advertisements, Brochure, Interface B...
Graphics Designing (Character, Posters, Advertisements, Brochure, Interface B...Graphics Designing (Character, Posters, Advertisements, Brochure, Interface B...
Graphics Designing (Character, Posters, Advertisements, Brochure, Interface B...Drupal Camp Delhi
 
Drupal Camp Delhi 2013 - Event Brochure
Drupal Camp Delhi 2013 -  Event BrochureDrupal Camp Delhi 2013 -  Event Brochure
Drupal Camp Delhi 2013 - Event BrochureDrupal Camp Delhi
 

Mehr von Drupal Camp Delhi (13)

Content Migration to Drupal 8
Content Migration to Drupal 8Content Migration to Drupal 8
Content Migration to Drupal 8
 
Drupal Camp Delhi 2015
Drupal Camp Delhi 2015Drupal Camp Delhi 2015
Drupal Camp Delhi 2015
 
Campusdiaries Showcase - Raj Chourasia
Campusdiaries Showcase - Raj ChourasiaCampusdiaries Showcase - Raj Chourasia
Campusdiaries Showcase - Raj Chourasia
 
Generics & Specifics of QA on Web - Sweta Shahi
Generics & Specifics of QA on Web - Sweta ShahiGenerics & Specifics of QA on Web - Sweta Shahi
Generics & Specifics of QA on Web - Sweta Shahi
 
Memcache and Drupal - Vaibhav Jain
Memcache and Drupal - Vaibhav JainMemcache and Drupal - Vaibhav Jain
Memcache and Drupal - Vaibhav Jain
 
Amplify user engagement with Game Mechanics - Vidhatanand
Amplify user engagement with Game Mechanics - VidhatanandAmplify user engagement with Game Mechanics - Vidhatanand
Amplify user engagement with Game Mechanics - Vidhatanand
 
Future proof your drupal skills - Piyuesh Kumar
Future proof your drupal skills - Piyuesh KumarFuture proof your drupal skills - Piyuesh Kumar
Future proof your drupal skills - Piyuesh Kumar
 
What is there in Drupal Community & their do's and don't's - Sivaji
What is there in Drupal Community & their do's and don't's - SivajiWhat is there in Drupal Community & their do's and don't's - Sivaji
What is there in Drupal Community & their do's and don't's - Sivaji
 
Drush to simplify Drupalers work - Sivaji
Drush to simplify Drupalers work - SivajiDrush to simplify Drupalers work - Sivaji
Drush to simplify Drupalers work - Sivaji
 
Multi lingual implementations – drupal design approaches for different scenar...
Multi lingual implementations – drupal design approaches for different scenar...Multi lingual implementations – drupal design approaches for different scenar...
Multi lingual implementations – drupal design approaches for different scenar...
 
Integration of Drupal websites and Android applications - Girish Gupta
Integration of Drupal websites and Android applications - Girish GuptaIntegration of Drupal websites and Android applications - Girish Gupta
Integration of Drupal websites and Android applications - Girish Gupta
 
Graphics Designing (Character, Posters, Advertisements, Brochure, Interface B...
Graphics Designing (Character, Posters, Advertisements, Brochure, Interface B...Graphics Designing (Character, Posters, Advertisements, Brochure, Interface B...
Graphics Designing (Character, Posters, Advertisements, Brochure, Interface B...
 
Drupal Camp Delhi 2013 - Event Brochure
Drupal Camp Delhi 2013 -  Event BrochureDrupal Camp Delhi 2013 -  Event Brochure
Drupal Camp Delhi 2013 - Event Brochure
 

Kürzlich hochgeladen

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Kürzlich hochgeladen (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

How NOT to build Drupal Sites - Sai Tanay

  • 1. NOTE: This presentation is a Work in Progress. The current copy shared is intended only for review purposes by the DCD panel.
  • 2. How “N O T” to build Drupal Sites Tanay Sai Technical Account Manager Acquia
  • 3. Do “NOT” code too much ● Do not program too much ● When you have a hammer everything looks like a nail ● Don't be in a rush to become a Drupal "Programmer" ● Do not try to solve the Problem by Programming
  • 4. Do “NOT” custom code too much ● Hard to Maintain ● Leverage existing good contrib modules ● You are just re-inventing the wheel ● Contrib code tested and reviewed by many
  • 5. Do “NOT” hack core ● Why? ● Use Hooks, APIs from core and contrib
  • 6. Do “NOT” be too generic ● ● ● ● ● hook_init, hook_boot form_alters without check for form if Including JS, CSS through these init hook 403 - Use Drupal's permissions system instead Overriding other module’s behaviour - Use hook_menu_alter, hook_form_alter etc instead of hook_init
  • 7. Do “NOT” get into trouble ● ● ● hook_init hook_boot hook_exit() ● ● ● hook_node_access() hook_node_access_records() hook_node_access_alter() ● ● hook_node_grants() hook_node_grants_alter()
  • 8. Do “NOT” put code in database ● PHP Filter ● Views PHP module ● Why? ● Common Scenarios ● Alternative better approaches
  • 9. Do “NOT” clutter your site ● Dozens of unused modules, content types, vocabularies ● Be a miser
  • 10. Do “NOT” Content Typify Everything ● Use Custom Entities wherever Appropriate
  • 11. Do “NOT” just MYISAM ● InnoDB vs MyISAM
  • 12. Do “NOT” default PERMISSIONS ● ● ● Do not leave any permission checked or unchecked by default Uncheck all and start checking one by one after putting some thought Whenever is new module is added check the permissions added and see the roles that these permissions were granted to
  • 13. Do “NOT” default your FILTERS ● Input Formats ● Filters
  • 14. Do “NOT” leave out CACHING ● ● ● ● ● ● ● Block Caching Page Caching Views Caching Entity Cache module Boost/Varnish Memcache APC ● ● ● Set appropriate cache lifetimes Page Compression CSS/JS Aggregation
  • 15. Do “NOT” Log Everything Everywhere ● ● ● Disable DB Log Enable Syslog Disable Statistics, Use GA or similar
  • 16. Do “NOT” leave UI modules enabled ● UI Modules ● Simpletest ● Migrate ● Migrate Extras ● Coder ● Devel
  • 17. Do “NOT” Use them. Stay Away! ● Statistics ● .. ● .. ●
  • 18. Do “NOT” Leave behind 404 ● Use Fast 404 ● Prevent Bootstrap and Database operations for that favicon which is always missing