SlideShare a Scribd company logo
Drupal audits made
FASTR
1
Hello!
2
I am David Ferlay
Web Architect
from Paris with Love
I am Alexey Gaydabura
Software Architect
El beast from Kharkov
3
Summary
For several years, we did
numerous audits for small to big
websites, web agencies and huge
corporations, and often faced the
same issues.
▫ What should you look for when
running a website audit?
▫ What tools could help you?
▫ At which level of disaster you
should advice your customer to
recode entirely the website?
Table of contents
1. Why even care ?
▪ Issues commonly faced
2. What solutions ?
▪ From pre-sale to reporting
3. What results ?
▪ Based on a few recents audits
4
4. The political message
of an audit report
5. Surprise
1.
Why even care ?
Let’s start with the issues commonly faced with audits
1. Why even care ?
▫ "Audit" can mean different things for different people
▪ Business side, top manager side, project manager side
▪ Development team side
▫ "Audit" can be about different scopes
▪ it's about project as a whole
▪ Anomalies identified to put into perspective
▫ Conducting audits in a different way each time
▪ When we actually always looks at the same things
▪ So it could be written, iterated, updated together
6
1. Why even care ?
▫ Losing time on audit setup
▪ Re-deploying locally takes (un-accounted for) ressources
▪ Reproducing prod env can be complex
▫ Redacting report results differently each time
▪ Every dev has its own way
▪ Every client has its own expectations
▪ Every tool has its own reporting "format"
7
2.
What solutions did we find ?
An audit methodology from pre-sale to reporting,
making extensive use of templates
2. What solutions did we find ?
▫ Pre-sale with a mind map
▪ Define client’s expectations ...
▪ Scope
▪ Direction
▪ Goal
▪ … using a generic mindmap
▪ Themes
▪ User stories
9
▫ A strict methodology : Who do what + how
▪ Gitlab Wiki repository
▪ Themes, User stories
▪ Acceptance criterias
▪ Gitlab Code repository
▪ Sources to audit
▪ Resolved tasks .md output
▪ Story task branches
▪ Delivery in MR, use of comments
10
2. What solutions did we find ?
11Example of gitlab wiki : Theme “Information structure”
��
12Example of gitlab wiki : Theme “Information structure”
��
13Example of gitlab wiki : User Story “Content type”
14Example of gitlab task : Output template
15Example of gitlab task : User Story “Content type”
16Example of gitlab MR list, created for each task & story
17Example of gitlab task : User Story “Content type”
▫ A strict methodology : Who do what + how
▪ Automated tools : For analysing source code & generating reports
▪ PHP version support (PHP Code Fixer)
▪ Drupal standards (PHP Code Sniffer)
▪ Code complexity (PHP Mess Detector)
▪ Static Analysis Tool (PHP Stan)
▪ PHP Copy/Paste Detector (PHP Cpd)
▪ Symfony Security Checker
18
2. What solutions did we find ?
▫ Audit setup with sources only
▪ no DB, no local build
= tons of time/money saved
+ GDPR compliant
▫ So how ? ag, grep, vim
▪ D8 > yml config files
▪ D7 > feature files
▪ Php custom code
19
2. What solutions did we find ?
▫ Using standard templates for report
▪ Main report :
▪ Presentation template to use as starter
Summary > rating by theme > recommended actions
▪ Oral strategic presentation & discussion
▪ Annexes :
▪ .md task output converted to .pdf (using md-to-pdf)
▪ Included for a more technical audience
20
2. What solutions did we find ?
Let’s summarize
Pre-sale with a mind map
Show all that’s possible
Define scope with client
Listen to direction/focus
given
Write down acceptance
criterias
For each and all user stories
Confront opinions of devs &
pms
Iterate and improve all along
Distributes work meaningfully
Do not leak data & accesses
given by client
PM also has tasks (docs)
Plan for dev-pm discussions
21
Conduct audit
Look at code, not content
Don’t spin up site locally
Use automated tools in
docker
Use your CLI skills (ag, grep)
Deliver audit result
Use an audit task template
Use branches and MR
Use comments to discuss
Use git to version task
results
Format reports
Start from a generic ppt template
Stick to the same plan (audience)
Convert markdown output to pdf
Package all and send in advance
➊ ➋ ➌
➍ ➎ ➏
3.
What results
with this new methodology ?
REX from a few audits performed that way
Better everything
▫ Time spent, global planning, report quality +
knowledge gained + data responsibility
▫ Better guidelines and communication
▫ Set the base for more automated audits
▫ Distribute & scale tasks in a meaningful way : PM, devs
23
Downsides
▫ Unsettling approach (client, dev)
▫ Would be harder in certain cases (D7 without feature)
▫ Automated reports are verbose
▫ Writing final report (presentation) still takes time
4.
The political message of
an audit report
Think twice
Typical quirk
▫ Audits are often asked to "condemn"
▫ Don’t fall into this trap
What you can do about it
▫ Use them as the opportunity to
▪ learn from someone else's mistakes
▪ Provide constructive feedbacks
▪ Show the directions for improvements
▪ Good occasion to spread good practices
25
4. Advices on the political message of audit report
That’s how we grow as a Community
5.
Surprise
Alexey will now tell you
his best joke
also ...
27
28
29
hires worldwide
Backenders, Frontenders, QA, DM, PM, PD, DevOps
30
Thanks!
Any questions?
You can find us around our Drupalcamp stand
& on drupal.org or skilld.fr
This template is free to use under Creative Commons Attribution license and courtesy of www.slidescarnival.com
31Our generic pre-sale mindmap (using freemind)

More Related Content

What's hot

German Testing Day 2015 - How behavior-driven development fuses developers an...
German Testing Day 2015 - How behavior-driven development fuses developers an...German Testing Day 2015 - How behavior-driven development fuses developers an...
German Testing Day 2015 - How behavior-driven development fuses developers an...
Bastian Seehaus
 
OpenCms Days 2013 - OpenCms Partner Program
OpenCms Days 2013 - OpenCms Partner ProgramOpenCms Days 2013 - OpenCms Partner Program
OpenCms Days 2013 - OpenCms Partner Program
Alkacon Software GmbH & Co. KG
 
Kirill Korobov - How to Work with Non-Functional Requirements
Kirill Korobov - How to Work with Non-Functional RequirementsKirill Korobov - How to Work with Non-Functional Requirements
Kirill Korobov - How to Work with Non-Functional Requirements
Lviv Startup Club
 
Андрій Просов "Fixed Price Agile Projects: Challenges for Project Manager" Kh...
Андрій Просов "Fixed Price Agile Projects: Challenges for Project Manager" Kh...Андрій Просов "Fixed Price Agile Projects: Challenges for Project Manager" Kh...
Андрій Просов "Fixed Price Agile Projects: Challenges for Project Manager" Kh...
Lviv Startup Club
 
Agile Business Intelligence
Agile Business IntelligenceAgile Business Intelligence
Agile Business Intelligence
Alex Meadows
 
SKS in git ops mode
SKS in git ops modeSKS in git ops mode
SKS in git ops mode
Raphaël PINSON
 
2. Agile methodologies/Scrum
2. Agile methodologies/Scrum2. Agile methodologies/Scrum
2. Agile methodologies/Scrum
Julija Melnika
 
WIT lecture / Waterfall and Agile methodologies
WIT lecture / Waterfall and Agile methodologiesWIT lecture / Waterfall and Agile methodologies
WIT lecture / Waterfall and Agile methodologies
Julija Melnika
 
Getting out of the monolith hell
Getting out of the monolith hellGetting out of the monolith hell
Getting out of the monolith hell
mimmozzo_
 

What's hot (9)

German Testing Day 2015 - How behavior-driven development fuses developers an...
German Testing Day 2015 - How behavior-driven development fuses developers an...German Testing Day 2015 - How behavior-driven development fuses developers an...
German Testing Day 2015 - How behavior-driven development fuses developers an...
 
OpenCms Days 2013 - OpenCms Partner Program
OpenCms Days 2013 - OpenCms Partner ProgramOpenCms Days 2013 - OpenCms Partner Program
OpenCms Days 2013 - OpenCms Partner Program
 
Kirill Korobov - How to Work with Non-Functional Requirements
Kirill Korobov - How to Work with Non-Functional RequirementsKirill Korobov - How to Work with Non-Functional Requirements
Kirill Korobov - How to Work with Non-Functional Requirements
 
Андрій Просов "Fixed Price Agile Projects: Challenges for Project Manager" Kh...
Андрій Просов "Fixed Price Agile Projects: Challenges for Project Manager" Kh...Андрій Просов "Fixed Price Agile Projects: Challenges for Project Manager" Kh...
Андрій Просов "Fixed Price Agile Projects: Challenges for Project Manager" Kh...
 
Agile Business Intelligence
Agile Business IntelligenceAgile Business Intelligence
Agile Business Intelligence
 
SKS in git ops mode
SKS in git ops modeSKS in git ops mode
SKS in git ops mode
 
2. Agile methodologies/Scrum
2. Agile methodologies/Scrum2. Agile methodologies/Scrum
2. Agile methodologies/Scrum
 
WIT lecture / Waterfall and Agile methodologies
WIT lecture / Waterfall and Agile methodologiesWIT lecture / Waterfall and Agile methodologies
WIT lecture / Waterfall and Agile methodologies
 
Getting out of the monolith hell
Getting out of the monolith hellGetting out of the monolith hell
Getting out of the monolith hell
 

Similar to DRUPAL AUDITS MADE FASTR

BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...
BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...
BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...
BA and Beyond
 
Professional Graduation Project
Professional Graduation ProjectProfessional Graduation Project
Professional Graduation Project
PiTechnologies
 
Discovery 101
Discovery 101Discovery 101
Discovery 101
creed
 
Prashant technical practices-tdd for xebia event
Prashant   technical practices-tdd for xebia eventPrashant   technical practices-tdd for xebia event
Prashant technical practices-tdd for xebia event
Xebia India
 
03_AgilePM.pptx
03_AgilePM.pptx03_AgilePM.pptx
03_AgilePM.pptx
MaheshPatil527151
 
Tech-Talk Tuesday: How to Develop and Grow Your Optimization Efforts Into a S...
Tech-Talk Tuesday: How to Develop and Grow Your Optimization Efforts Into a S...Tech-Talk Tuesday: How to Develop and Grow Your Optimization Efforts Into a S...
Tech-Talk Tuesday: How to Develop and Grow Your Optimization Efforts Into a S...
Daniel Caridi
 
How to successfully implement change in your organization (REX Dashlane) (EN)
How to successfully implement change in your organization (REX Dashlane) (EN)How to successfully implement change in your organization (REX Dashlane) (EN)
How to successfully implement change in your organization (REX Dashlane) (EN)
Agile En Seine
 
Measure and Accelerate Your Software Delivery
Measure and Accelerate Your Software DeliveryMeasure and Accelerate Your Software Delivery
Measure and Accelerate Your Software Delivery
Anand Chauhan
 
Large drupal site builds a workshop for sxsw interactive - march 17, 2015
Large drupal site builds   a workshop for sxsw interactive - march 17, 2015Large drupal site builds   a workshop for sxsw interactive - march 17, 2015
Large drupal site builds a workshop for sxsw interactive - march 17, 2015
rgristroph
 
Agile Governance for Hybrid Programs
Agile Governance for Hybrid ProgramsAgile Governance for Hybrid Programs
Agile Governance for Hybrid Programs
Cprime
 
Creating UI Marketers Won't F*Up
Creating UI Marketers Won't F*UpCreating UI Marketers Won't F*Up
Creating UI Marketers Won't F*Up
LOIC BURDET
 
Technical Debt.pptx
Technical Debt.pptxTechnical Debt.pptx
Technical Debt.pptx
Atish Narlawar
 
Software Project management
Software Project managementSoftware Project management
Software Project management
sameer farooq
 
Scrum + bdd + ddd
Scrum + bdd + dddScrum + bdd + ddd
Scrum + bdd + ddd
Helder De Oliveira
 
É possível medir se um gigante é ágil?
É possível medir se um gigante é ágil?É possível medir se um gigante é ágil?
É possível medir se um gigante é ágil?
Alan Braz
 
Excalibur: best practices for virtual desktop operations leveraging Citrix Di...
Excalibur: best practices for virtual desktop operations leveraging Citrix Di...Excalibur: best practices for virtual desktop operations leveraging Citrix Di...
Excalibur: best practices for virtual desktop operations leveraging Citrix Di...
Citrix
 
Project management driven by the top ten critical improvements qu…
Project management driven by the top ten critical improvements qu…Project management driven by the top ten critical improvements qu…
Project management driven by the top ten critical improvements qu…
Association for Project Management
 
How to manage successfully a Consulting Project
How to manage successfully a Consulting ProjectHow to manage successfully a Consulting Project
How to manage successfully a Consulting Project
Asen Gyczew
 
Brief introduction to project management and project management tools
Brief introduction to project management and project management toolsBrief introduction to project management and project management tools
Brief introduction to project management and project management tools
Nathan Petralia
 
Agile Methods and Data Warehousing (2016 update)
Agile Methods and Data Warehousing (2016 update)Agile Methods and Data Warehousing (2016 update)
Agile Methods and Data Warehousing (2016 update)
Kent Graziano
 

Similar to DRUPAL AUDITS MADE FASTR (20)

BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...
BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...
BA and Beyond 20 - Elke Steegmans and David Vandenbroeck - Behaviour-driven d...
 
Professional Graduation Project
Professional Graduation ProjectProfessional Graduation Project
Professional Graduation Project
 
Discovery 101
Discovery 101Discovery 101
Discovery 101
 
Prashant technical practices-tdd for xebia event
Prashant   technical practices-tdd for xebia eventPrashant   technical practices-tdd for xebia event
Prashant technical practices-tdd for xebia event
 
03_AgilePM.pptx
03_AgilePM.pptx03_AgilePM.pptx
03_AgilePM.pptx
 
Tech-Talk Tuesday: How to Develop and Grow Your Optimization Efforts Into a S...
Tech-Talk Tuesday: How to Develop and Grow Your Optimization Efforts Into a S...Tech-Talk Tuesday: How to Develop and Grow Your Optimization Efforts Into a S...
Tech-Talk Tuesday: How to Develop and Grow Your Optimization Efforts Into a S...
 
How to successfully implement change in your organization (REX Dashlane) (EN)
How to successfully implement change in your organization (REX Dashlane) (EN)How to successfully implement change in your organization (REX Dashlane) (EN)
How to successfully implement change in your organization (REX Dashlane) (EN)
 
Measure and Accelerate Your Software Delivery
Measure and Accelerate Your Software DeliveryMeasure and Accelerate Your Software Delivery
Measure and Accelerate Your Software Delivery
 
Large drupal site builds a workshop for sxsw interactive - march 17, 2015
Large drupal site builds   a workshop for sxsw interactive - march 17, 2015Large drupal site builds   a workshop for sxsw interactive - march 17, 2015
Large drupal site builds a workshop for sxsw interactive - march 17, 2015
 
Agile Governance for Hybrid Programs
Agile Governance for Hybrid ProgramsAgile Governance for Hybrid Programs
Agile Governance for Hybrid Programs
 
Creating UI Marketers Won't F*Up
Creating UI Marketers Won't F*UpCreating UI Marketers Won't F*Up
Creating UI Marketers Won't F*Up
 
Technical Debt.pptx
Technical Debt.pptxTechnical Debt.pptx
Technical Debt.pptx
 
Software Project management
Software Project managementSoftware Project management
Software Project management
 
Scrum + bdd + ddd
Scrum + bdd + dddScrum + bdd + ddd
Scrum + bdd + ddd
 
É possível medir se um gigante é ágil?
É possível medir se um gigante é ágil?É possível medir se um gigante é ágil?
É possível medir se um gigante é ágil?
 
Excalibur: best practices for virtual desktop operations leveraging Citrix Di...
Excalibur: best practices for virtual desktop operations leveraging Citrix Di...Excalibur: best practices for virtual desktop operations leveraging Citrix Di...
Excalibur: best practices for virtual desktop operations leveraging Citrix Di...
 
Project management driven by the top ten critical improvements qu…
Project management driven by the top ten critical improvements qu…Project management driven by the top ten critical improvements qu…
Project management driven by the top ten critical improvements qu…
 
How to manage successfully a Consulting Project
How to manage successfully a Consulting ProjectHow to manage successfully a Consulting Project
How to manage successfully a Consulting Project
 
Brief introduction to project management and project management tools
Brief introduction to project management and project management toolsBrief introduction to project management and project management tools
Brief introduction to project management and project management tools
 
Agile Methods and Data Warehousing (2016 update)
Agile Methods and Data Warehousing (2016 update)Agile Methods and Data Warehousing (2016 update)
Agile Methods and Data Warehousing (2016 update)
 

More from DrupalCamp Kyiv

Speed up the site building with Drupal's Bootstrap Layout Builder
Speed up the site building with Drupal's Bootstrap Layout BuilderSpeed up the site building with Drupal's Bootstrap Layout Builder
Speed up the site building with Drupal's Bootstrap Layout Builder
DrupalCamp Kyiv
 
Performance Monitoring with Google Lighthouse
Performance Monitoring with Google LighthousePerformance Monitoring with Google Lighthouse
Performance Monitoring with Google Lighthouse
DrupalCamp Kyiv
 
Oleg Bogut - Decoupled Drupal: how to build stable solution with JSON:API, Re...
Oleg Bogut - Decoupled Drupal: how to build stable solution with JSON:API, Re...Oleg Bogut - Decoupled Drupal: how to build stable solution with JSON:API, Re...
Oleg Bogut - Decoupled Drupal: how to build stable solution with JSON:API, Re...
DrupalCamp Kyiv
 
Acquia BLT for the Win, or How to speed up the project setup, development an...
Acquia BLT for the Win, or  How to speed up the project setup, development an...Acquia BLT for the Win, or  How to speed up the project setup, development an...
Acquia BLT for the Win, or How to speed up the project setup, development an...
DrupalCamp Kyiv
 
Upgrading to Drupal 9
Upgrading to Drupal 9Upgrading to Drupal 9
Upgrading to Drupal 9
DrupalCamp Kyiv
 
THE INTERNET OF THINGS IS GETTING REAL
THE INTERNET OF THINGS IS GETTING REALTHE INTERNET OF THINGS IS GETTING REAL
THE INTERNET OF THINGS IS GETTING REAL
DrupalCamp Kyiv
 
FRONT-END COMPONENTS IN DRUPAL THEME. "KAIZEN" - DRUPAL 8 THEME FROM SKILLD
FRONT-END COMPONENTS IN DRUPAL THEME. "KAIZEN" - DRUPAL 8 THEME FROM SKILLDFRONT-END COMPONENTS IN DRUPAL THEME. "KAIZEN" - DRUPAL 8 THEME FROM SKILLD
FRONT-END COMPONENTS IN DRUPAL THEME. "KAIZEN" - DRUPAL 8 THEME FROM SKILLD
DrupalCamp Kyiv
 
DRUPAL AND ELASTICSEARCH
DRUPAL AND ELASTICSEARCHDRUPAL AND ELASTICSEARCH
DRUPAL AND ELASTICSEARCH
DrupalCamp Kyiv
 
WHAT WE LEARNED FROM OPEN SOCIAL IN 3 YEARS, MOVING FROM AN AGENCY TO A PRODU...
WHAT WE LEARNED FROM OPEN SOCIAL IN 3 YEARS, MOVING FROM AN AGENCY TO A PRODU...WHAT WE LEARNED FROM OPEN SOCIAL IN 3 YEARS, MOVING FROM AN AGENCY TO A PRODU...
WHAT WE LEARNED FROM OPEN SOCIAL IN 3 YEARS, MOVING FROM AN AGENCY TO A PRODU...
DrupalCamp Kyiv
 
Blackfire Workshop
Blackfire WorkshopBlackfire Workshop
Blackfire Workshop
DrupalCamp Kyiv
 
DRUPAL 8 STORAGES OVERVIEW
DRUPAL 8 STORAGES OVERVIEWDRUPAL 8 STORAGES OVERVIEW
DRUPAL 8 STORAGES OVERVIEW
DrupalCamp Kyiv
 
ONE MORE TIME ABOUT CODE STANDARDS AND BEST PRACTICES
ONE MORE TIME ABOUT CODE STANDARDS AND BEST PRACTICESONE MORE TIME ABOUT CODE STANDARDS AND BEST PRACTICES
ONE MORE TIME ABOUT CODE STANDARDS AND BEST PRACTICES
DrupalCamp Kyiv
 
1-1 MEETING: STEP-BY-STEP-HOW-TO
1-1 MEETING: STEP-BY-STEP-HOW-TO1-1 MEETING: STEP-BY-STEP-HOW-TO
1-1 MEETING: STEP-BY-STEP-HOW-TO
DrupalCamp Kyiv
 
UX DURING MODULE INSTALLATION AND CONFIGURATION
UX DURING MODULE INSTALLATION AND CONFIGURATIONUX DURING MODULE INSTALLATION AND CONFIGURATION
UX DURING MODULE INSTALLATION AND CONFIGURATION
DrupalCamp Kyiv
 
SWITCHING FROM QA ENGINEER TO PROJECT MANAGER - LEVEL UP OR DOWN?
SWITCHING FROM QA ENGINEER TO PROJECT MANAGER - LEVEL UP OR DOWN?SWITCHING FROM QA ENGINEER TO PROJECT MANAGER - LEVEL UP OR DOWN?
SWITCHING FROM QA ENGINEER TO PROJECT MANAGER - LEVEL UP OR DOWN?
DrupalCamp Kyiv
 
TECHNOLOGIES-POWERED WEB AND THE POST-BROWSER ERA
TECHNOLOGIES-POWERED WEB AND THE POST-BROWSER ERATECHNOLOGIES-POWERED WEB AND THE POST-BROWSER ERA
TECHNOLOGIES-POWERED WEB AND THE POST-BROWSER ERA
DrupalCamp Kyiv
 
PROTECTED CONTENT: END-TO-END PGP ENCRYPTION FOR DRUPAL
PROTECTED CONTENT: END-TO-END PGP ENCRYPTION FOR DRUPALPROTECTED CONTENT: END-TO-END PGP ENCRYPTION FOR DRUPAL
PROTECTED CONTENT: END-TO-END PGP ENCRYPTION FOR DRUPAL
DrupalCamp Kyiv
 
FROM DISTRO TO CUSTOM - HOW WE CREATE GREAT COMMUNITIES FOR EVERY ORGANIZATIO...
FROM DISTRO TO CUSTOM - HOW WE CREATE GREAT COMMUNITIES FOR EVERY ORGANIZATIO...FROM DISTRO TO CUSTOM - HOW WE CREATE GREAT COMMUNITIES FOR EVERY ORGANIZATIO...
FROM DISTRO TO CUSTOM - HOW WE CREATE GREAT COMMUNITIES FOR EVERY ORGANIZATIO...
DrupalCamp Kyiv
 
SEARCH API: TIPS AND TRICKS - FROM BEGINNING TO CUSTOM SOLUTIONS
SEARCH API: TIPS AND TRICKS - FROM BEGINNING TO CUSTOM SOLUTIONSSEARCH API: TIPS AND TRICKS - FROM BEGINNING TO CUSTOM SOLUTIONS
SEARCH API: TIPS AND TRICKS - FROM BEGINNING TO CUSTOM SOLUTIONS
DrupalCamp Kyiv
 
DEVOPS & THE DEATH AND REBIRTH OF CHILDHOOD INNOCENCE
DEVOPS & THE DEATH AND REBIRTH OF CHILDHOOD INNOCENCEDEVOPS & THE DEATH AND REBIRTH OF CHILDHOOD INNOCENCE
DEVOPS & THE DEATH AND REBIRTH OF CHILDHOOD INNOCENCE
DrupalCamp Kyiv
 

More from DrupalCamp Kyiv (20)

Speed up the site building with Drupal's Bootstrap Layout Builder
Speed up the site building with Drupal's Bootstrap Layout BuilderSpeed up the site building with Drupal's Bootstrap Layout Builder
Speed up the site building with Drupal's Bootstrap Layout Builder
 
Performance Monitoring with Google Lighthouse
Performance Monitoring with Google LighthousePerformance Monitoring with Google Lighthouse
Performance Monitoring with Google Lighthouse
 
Oleg Bogut - Decoupled Drupal: how to build stable solution with JSON:API, Re...
Oleg Bogut - Decoupled Drupal: how to build stable solution with JSON:API, Re...Oleg Bogut - Decoupled Drupal: how to build stable solution with JSON:API, Re...
Oleg Bogut - Decoupled Drupal: how to build stable solution with JSON:API, Re...
 
Acquia BLT for the Win, or How to speed up the project setup, development an...
Acquia BLT for the Win, or  How to speed up the project setup, development an...Acquia BLT for the Win, or  How to speed up the project setup, development an...
Acquia BLT for the Win, or How to speed up the project setup, development an...
 
Upgrading to Drupal 9
Upgrading to Drupal 9Upgrading to Drupal 9
Upgrading to Drupal 9
 
THE INTERNET OF THINGS IS GETTING REAL
THE INTERNET OF THINGS IS GETTING REALTHE INTERNET OF THINGS IS GETTING REAL
THE INTERNET OF THINGS IS GETTING REAL
 
FRONT-END COMPONENTS IN DRUPAL THEME. "KAIZEN" - DRUPAL 8 THEME FROM SKILLD
FRONT-END COMPONENTS IN DRUPAL THEME. "KAIZEN" - DRUPAL 8 THEME FROM SKILLDFRONT-END COMPONENTS IN DRUPAL THEME. "KAIZEN" - DRUPAL 8 THEME FROM SKILLD
FRONT-END COMPONENTS IN DRUPAL THEME. "KAIZEN" - DRUPAL 8 THEME FROM SKILLD
 
DRUPAL AND ELASTICSEARCH
DRUPAL AND ELASTICSEARCHDRUPAL AND ELASTICSEARCH
DRUPAL AND ELASTICSEARCH
 
WHAT WE LEARNED FROM OPEN SOCIAL IN 3 YEARS, MOVING FROM AN AGENCY TO A PRODU...
WHAT WE LEARNED FROM OPEN SOCIAL IN 3 YEARS, MOVING FROM AN AGENCY TO A PRODU...WHAT WE LEARNED FROM OPEN SOCIAL IN 3 YEARS, MOVING FROM AN AGENCY TO A PRODU...
WHAT WE LEARNED FROM OPEN SOCIAL IN 3 YEARS, MOVING FROM AN AGENCY TO A PRODU...
 
Blackfire Workshop
Blackfire WorkshopBlackfire Workshop
Blackfire Workshop
 
DRUPAL 8 STORAGES OVERVIEW
DRUPAL 8 STORAGES OVERVIEWDRUPAL 8 STORAGES OVERVIEW
DRUPAL 8 STORAGES OVERVIEW
 
ONE MORE TIME ABOUT CODE STANDARDS AND BEST PRACTICES
ONE MORE TIME ABOUT CODE STANDARDS AND BEST PRACTICESONE MORE TIME ABOUT CODE STANDARDS AND BEST PRACTICES
ONE MORE TIME ABOUT CODE STANDARDS AND BEST PRACTICES
 
1-1 MEETING: STEP-BY-STEP-HOW-TO
1-1 MEETING: STEP-BY-STEP-HOW-TO1-1 MEETING: STEP-BY-STEP-HOW-TO
1-1 MEETING: STEP-BY-STEP-HOW-TO
 
UX DURING MODULE INSTALLATION AND CONFIGURATION
UX DURING MODULE INSTALLATION AND CONFIGURATIONUX DURING MODULE INSTALLATION AND CONFIGURATION
UX DURING MODULE INSTALLATION AND CONFIGURATION
 
SWITCHING FROM QA ENGINEER TO PROJECT MANAGER - LEVEL UP OR DOWN?
SWITCHING FROM QA ENGINEER TO PROJECT MANAGER - LEVEL UP OR DOWN?SWITCHING FROM QA ENGINEER TO PROJECT MANAGER - LEVEL UP OR DOWN?
SWITCHING FROM QA ENGINEER TO PROJECT MANAGER - LEVEL UP OR DOWN?
 
TECHNOLOGIES-POWERED WEB AND THE POST-BROWSER ERA
TECHNOLOGIES-POWERED WEB AND THE POST-BROWSER ERATECHNOLOGIES-POWERED WEB AND THE POST-BROWSER ERA
TECHNOLOGIES-POWERED WEB AND THE POST-BROWSER ERA
 
PROTECTED CONTENT: END-TO-END PGP ENCRYPTION FOR DRUPAL
PROTECTED CONTENT: END-TO-END PGP ENCRYPTION FOR DRUPALPROTECTED CONTENT: END-TO-END PGP ENCRYPTION FOR DRUPAL
PROTECTED CONTENT: END-TO-END PGP ENCRYPTION FOR DRUPAL
 
FROM DISTRO TO CUSTOM - HOW WE CREATE GREAT COMMUNITIES FOR EVERY ORGANIZATIO...
FROM DISTRO TO CUSTOM - HOW WE CREATE GREAT COMMUNITIES FOR EVERY ORGANIZATIO...FROM DISTRO TO CUSTOM - HOW WE CREATE GREAT COMMUNITIES FOR EVERY ORGANIZATIO...
FROM DISTRO TO CUSTOM - HOW WE CREATE GREAT COMMUNITIES FOR EVERY ORGANIZATIO...
 
SEARCH API: TIPS AND TRICKS - FROM BEGINNING TO CUSTOM SOLUTIONS
SEARCH API: TIPS AND TRICKS - FROM BEGINNING TO CUSTOM SOLUTIONSSEARCH API: TIPS AND TRICKS - FROM BEGINNING TO CUSTOM SOLUTIONS
SEARCH API: TIPS AND TRICKS - FROM BEGINNING TO CUSTOM SOLUTIONS
 
DEVOPS & THE DEATH AND REBIRTH OF CHILDHOOD INNOCENCE
DEVOPS & THE DEATH AND REBIRTH OF CHILDHOOD INNOCENCEDEVOPS & THE DEATH AND REBIRTH OF CHILDHOOD INNOCENCE
DEVOPS & THE DEATH AND REBIRTH OF CHILDHOOD INNOCENCE
 

Recently uploaded

Francesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptxFrancesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptx
EduSkills OECD
 
Polish students' mobility in the Czech Republic
Polish students' mobility in the Czech RepublicPolish students' mobility in the Czech Republic
Polish students' mobility in the Czech Republic
Anna Sz.
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
Jean Carlos Nunes Paixão
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
JosvitaDsouza2
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
Thiyagu K
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
vaibhavrinwa19
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
Ashokrao Mane college of Pharmacy Peth-Vadgaon
 
Embracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic ImperativeEmbracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic Imperative
Peter Windle
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
SACHIN R KONDAGURI
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
Tamralipta Mahavidyalaya
 
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCECLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
BhavyaRajput3
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
Peter Windle
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
EverAndrsGuerraGuerr
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Thiyagu K
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
TechSoup
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
Pavel ( NSTU)
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
DhatriParmar
 
Honest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptxHonest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptx
timhan337
 
The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
heathfieldcps1
 

Recently uploaded (20)

Francesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptxFrancesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptx
 
Polish students' mobility in the Czech Republic
Polish students' mobility in the Czech RepublicPolish students' mobility in the Czech Republic
Polish students' mobility in the Czech Republic
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
 
Embracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic ImperativeEmbracing GenAI - A Strategic Imperative
Embracing GenAI - A Strategic Imperative
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
 
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCECLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
 
Honest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptxHonest Reviews of Tim Han LMA Course Program.pptx
Honest Reviews of Tim Han LMA Course Program.pptx
 
The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
 

DRUPAL AUDITS MADE FASTR

  • 2. Hello! 2 I am David Ferlay Web Architect from Paris with Love I am Alexey Gaydabura Software Architect El beast from Kharkov
  • 3. 3 Summary For several years, we did numerous audits for small to big websites, web agencies and huge corporations, and often faced the same issues. ▫ What should you look for when running a website audit? ▫ What tools could help you? ▫ At which level of disaster you should advice your customer to recode entirely the website?
  • 4. Table of contents 1. Why even care ? ▪ Issues commonly faced 2. What solutions ? ▪ From pre-sale to reporting 3. What results ? ▪ Based on a few recents audits 4 4. The political message of an audit report 5. Surprise
  • 5. 1. Why even care ? Let’s start with the issues commonly faced with audits
  • 6. 1. Why even care ? ▫ "Audit" can mean different things for different people ▪ Business side, top manager side, project manager side ▪ Development team side ▫ "Audit" can be about different scopes ▪ it's about project as a whole ▪ Anomalies identified to put into perspective ▫ Conducting audits in a different way each time ▪ When we actually always looks at the same things ▪ So it could be written, iterated, updated together 6
  • 7. 1. Why even care ? ▫ Losing time on audit setup ▪ Re-deploying locally takes (un-accounted for) ressources ▪ Reproducing prod env can be complex ▫ Redacting report results differently each time ▪ Every dev has its own way ▪ Every client has its own expectations ▪ Every tool has its own reporting "format" 7
  • 8. 2. What solutions did we find ? An audit methodology from pre-sale to reporting, making extensive use of templates
  • 9. 2. What solutions did we find ? ▫ Pre-sale with a mind map ▪ Define client’s expectations ... ▪ Scope ▪ Direction ▪ Goal ▪ … using a generic mindmap ▪ Themes ▪ User stories 9
  • 10. ▫ A strict methodology : Who do what + how ▪ Gitlab Wiki repository ▪ Themes, User stories ▪ Acceptance criterias ▪ Gitlab Code repository ▪ Sources to audit ▪ Resolved tasks .md output ▪ Story task branches ▪ Delivery in MR, use of comments 10 2. What solutions did we find ?
  • 11. 11Example of gitlab wiki : Theme “Information structure” ��
  • 12. 12Example of gitlab wiki : Theme “Information structure” ��
  • 13. 13Example of gitlab wiki : User Story “Content type”
  • 14. 14Example of gitlab task : Output template
  • 15. 15Example of gitlab task : User Story “Content type”
  • 16. 16Example of gitlab MR list, created for each task & story
  • 17. 17Example of gitlab task : User Story “Content type”
  • 18. ▫ A strict methodology : Who do what + how ▪ Automated tools : For analysing source code & generating reports ▪ PHP version support (PHP Code Fixer) ▪ Drupal standards (PHP Code Sniffer) ▪ Code complexity (PHP Mess Detector) ▪ Static Analysis Tool (PHP Stan) ▪ PHP Copy/Paste Detector (PHP Cpd) ▪ Symfony Security Checker 18 2. What solutions did we find ?
  • 19. ▫ Audit setup with sources only ▪ no DB, no local build = tons of time/money saved + GDPR compliant ▫ So how ? ag, grep, vim ▪ D8 > yml config files ▪ D7 > feature files ▪ Php custom code 19 2. What solutions did we find ?
  • 20. ▫ Using standard templates for report ▪ Main report : ▪ Presentation template to use as starter Summary > rating by theme > recommended actions ▪ Oral strategic presentation & discussion ▪ Annexes : ▪ .md task output converted to .pdf (using md-to-pdf) ▪ Included for a more technical audience 20 2. What solutions did we find ?
  • 21. Let’s summarize Pre-sale with a mind map Show all that’s possible Define scope with client Listen to direction/focus given Write down acceptance criterias For each and all user stories Confront opinions of devs & pms Iterate and improve all along Distributes work meaningfully Do not leak data & accesses given by client PM also has tasks (docs) Plan for dev-pm discussions 21 Conduct audit Look at code, not content Don’t spin up site locally Use automated tools in docker Use your CLI skills (ag, grep) Deliver audit result Use an audit task template Use branches and MR Use comments to discuss Use git to version task results Format reports Start from a generic ppt template Stick to the same plan (audience) Convert markdown output to pdf Package all and send in advance ➊ ➋ ➌ ➍ ➎ ➏
  • 22. 3. What results with this new methodology ? REX from a few audits performed that way
  • 23. Better everything ▫ Time spent, global planning, report quality + knowledge gained + data responsibility ▫ Better guidelines and communication ▫ Set the base for more automated audits ▫ Distribute & scale tasks in a meaningful way : PM, devs 23 Downsides ▫ Unsettling approach (client, dev) ▫ Would be harder in certain cases (D7 without feature) ▫ Automated reports are verbose ▫ Writing final report (presentation) still takes time
  • 24. 4. The political message of an audit report Think twice
  • 25. Typical quirk ▫ Audits are often asked to "condemn" ▫ Don’t fall into this trap What you can do about it ▫ Use them as the opportunity to ▪ learn from someone else's mistakes ▪ Provide constructive feedbacks ▪ Show the directions for improvements ▪ Good occasion to spread good practices 25 4. Advices on the political message of audit report That’s how we grow as a Community
  • 27. Alexey will now tell you his best joke also ... 27
  • 28. 28
  • 30. 30 Thanks! Any questions? You can find us around our Drupalcamp stand & on drupal.org or skilld.fr This template is free to use under Creative Commons Attribution license and courtesy of www.slidescarnival.com
  • 31. 31Our generic pre-sale mindmap (using freemind)