+ All Categories
Home > Documents > Understanding the Dark Side · [email protected] CTO / Senior Architect 20+ years tech 13 years of...

Understanding the Dark Side · [email protected] CTO / Senior Architect 20+ years tech 13 years of...

Date post: 21-Jul-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
46
Understanding the Dark Side An Analysis of Drupal (and Other!) Worst Practices Kristen Pol
Transcript
Page 1: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

Understanding the Dark Side

An Analysis of Drupal (and Other!) Worst Practices

Kristen Pol

Page 2: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

Understanding the Dark Side �An Analysis of �Drupal (and Other!) �Worst Practices�

Image Source: http://bit.ly/1PB9En9

Kristen Pol

Page 3: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

  CTO / Senior Architect  20+ years tech  13 years of Drupal!  [email protected]  @kristen_pol  hook42.com

My name is �Kristen.�

Image Source: http://bit.ly/1jwnfjC

Page 4: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected] Image Source: http://bit.ly/1ZPBe4z

Page 5: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

Bad devops and processes… �Image Source: http://bit.ly/1PslpgD

Page 6: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

Bad devops and processes… �  No backups   No development workflow   No error/uptime/speed monitoring   Outdated core & contrib   Forget to run drush fra & updb   Overriding Features on live

Page 7: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

No or poor documentation…�Image Source: http://bit.ly/1PETFVa

Page 8: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

No or poor documentation…�  No or useless READMEs   No or poor code comments   No patch information   Bad or inconsistent naming   No theme style guide   Not using Drupal coding standards

Page 9: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

Allowing too much control… �Image Source: http://bit.ly/1KmVor1

Page 10: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

Allowing too much control… �

  Php filter   Javascript injector   Permissive text filters   Body field with “all” the HTML Wysiwyg with “all” the buttons   User 1 or admin is used by all

Page 11: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

Having too many “things”…�Image Source: http://bit.ly/1Lmx90c

Page 12: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

Having too many “things”…�

  Display Suite + Panels + Context…   Duplicated fields   Files at top/same directory   Add files, backups, etc. to repository

  Lots of views, content types, blocks…   Install ALL THE MODULES!!!

Page 13: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

HACKING�CORE & CONTRIB�

Image Source: http://bit.ly/1koCf3f

Page 14: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected] Image Source: http://bit.ly/1PBdjRR

If you don’t know Drupal… �

Page 15: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

You will make mistakes... �

Image Source: http://bit.ly/1MNXM0g

Page 16: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected] Image Source: http://bit.ly/1PBdjRR

So… �

Page 17: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected] Image Source: http://wrd.cm/1PEYP3n

Questions? �

Page 18: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected]

Have more questions?�[email protected]! �

Image Source: http://bit.ly/1GgOUPA

Page 19: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

THANK YOU!

WHAT DID YOU THINK?

Locate this session at the DrupalCon Baltimore website: http://baltimore2017.drupal.org/schedule Take the survey! https://www.surveymonkey.com/r/drupalconbaltimore

Page 20: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

More stuff… �Image Source: http://bit.ly/1ZPOCWm

Page 21: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected] Image Source: http://bit.ly/1ZPBe4z

Page 22: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected]

Site Builder?

Project Manager?

Intermediate?

Developer?

Newbie?

Who are you? �

Image Source: http://bit.ly/1Lx4zqP

Expert?

Themer?

Page 23: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

Let’s talk about… �  UX   Devops

  Front-end   Architecture

  Security   Coding

  Maintenance   Questions

Page 24: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

Let’s talk about… �  UX   Devops

  Front-end   Architecture

  Security   Coding

  Maintenance   Questions

Page 25: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

Forgetting to clean up…�Image Source: http://bit.ly/1hReGxZ

Page 26: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

Forgetting to clean up…�  Lots of dummy & test “things” dpm, print_r, debugging   Modules in wrong or multiple places   Patch and forget   Forget to uninstall evaluation modules   Remove module before uninstall   Dev modules enabled on live   Deleting fields “wrong”

Page 27: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

SEO �Image Source: http://bit.ly/1ZPOCWm

Page 28: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

SEO �  “Click here”   Hidden text   Broken links   Text on images

  No alt or title text   www vs non-www

  Duplicate content   Duplicate page title   Duplicate meta description Sitemap.xml shows unwanted content

Page 29: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

QA �Image Source: http://bit.ly/1LBLbZG

Page 30: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

QA �  No peer review   No unit testing   No user testing   No load testing   No regression testing   No QA process   No dev or staging server for testing   No documentation

Page 31: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

UX �Image Source: http://bit.ly/1koRlFT

Page 32: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

UX �Autoplay   Low contrast content   Unnecessary fields   Just wysiwyg and body field   Neglect content strategy   Hard for content editors to edit

Page 33: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

Bad Devops and Dev Processes �

Image Source: http://bit.ly/1PslpgD

Page 34: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

Devops�  No code repository   No or bad commit messages   No backups   No caching   No performance monitoring   No downtime monitoring   No development workflow   Run all daily cron jobs at once

Page 35: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

Front-end�Image Source: http://bit.ly/1MSQXKT

Page 36: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

Front-end�  No style guide   Don’t use component library   Promise pixel perfect pages   Logic in the template files

Page 37: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

Security�  Php filter   User 1 is used by all   Liberal permissions   Client has full admin rights   No security updates   Insecure passwords   Unencrypted sensitive data

Page 38: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

Architecture �Image Source: http://bit.ly/1Lmx90c

Page 39: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

Architecture �  Not reusing fields   Misuse distributions   Config not saved to code*   Files at top level directory   Install ALL THE MODULES   Contrib vs custom code usage   Save too much data to variable table

Page 40: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

Coding �Image Source: http://bit.ly/1PETFVa

Page 41: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

Coding �  Not using hook_update_N   Not using Drupal coding standards   t() misused or not used   Hardcoded links   Put all code in .module   Debug comments or no comments   Don’t contribute patches back

Page 42: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

Maintenance �Image Source: http://bit.ly/1hReGxZ

Page 43: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

Maintenance �  Put contrib/custom in “wrong” place   Same module in multiple places   Name module same as theme   Forget to uninstall evaluation modules   Patch and forget   Remove module before uninstall   Dev modules enabled on live

Page 44: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

Maintenance �  Not updating core and contrib   Not updating db when updating modules   Not using maintenance mode*   Update config on live when in feature   Site files in repository   Settings files in repository*   Deleting fields “wrong”

Page 45: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected]

Takeaways �Image Source: http://bit.ly/1knj3CP

Page 46: Understanding the Dark Side · answers@hook42.com CTO / Senior Architect 20+ years tech 13 years of Drupal! kristen@hook42.com @kristen_pol hook42.com My name is

[email protected] [email protected] Image Source: http://bit.ly/1KiZ8df


Recommended