42
W.T.F. *** Where To Focus when taking over a Drupal Project Drupal Camp Ottawa 2014 Symetris.ca

WTF: Where To Focus when you take over a Drupal project

Embed Size (px)

Citation preview

Page 1: WTF: Where To Focus when you take over a Drupal project

W.T.F.

***

Where To Focus when taking over

a Drupal Project

Drupal Camp Ottawa 2014 – Symetris.ca

Page 2: WTF: Where To Focus when you take over a Drupal project

Symetris unlocks your web potential

***

• Founded in 2004 – 10 years ago!

• 11 web specialists

• Develop websites that go beyond marketing

• Mastery of open-source CMS platforms

• Optimize sites for mobiles

WhyWTF? Context Observe Act Conclusion

Page 3: WTF: Where To Focus when you take over a Drupal project

About me

Brad Muncs

President @ Symetris

Loves travelling

New dad

Strives to create

simplicity from

complexity

WhyWTF? Context Observe Act Conclusion

Page 4: WTF: Where To Focus when you take over a Drupal project

What we’ll be talking about today

• Why is this talk relevant?

• Context

• Observation phase

• Action phase

• Conclusion

WhyWTF? Context Observe Act Conclusion

Page 5: WTF: Where To Focus when you take over a Drupal project

Why is discussing

taking on

existing projects

relevant?

WhyWTF? Context Observe Act Conclusion

Page 6: WTF: Where To Focus when you take over a Drupal project

The web used to be

an uninhabited

klondike.

WhyWTF? Context Observe Act Conclusion

Page 7: WTF: Where To Focus when you take over a Drupal project

It’s now a bustling city.

WhyWTF? Context Observe Act Conclusion

Page 8: WTF: Where To Focus when you take over a Drupal project

WhyWTF? Context Observe Act Conclusion

Page 9: WTF: Where To Focus when you take over a Drupal project

The current situation

• 3 open-source CMS platforms dominate

• Most clients already have a CMS website

• Most current CMS are mature and

allow for upgrades and scalability

WhyWTF? Context Observe Act Conclusion

Page 10: WTF: Where To Focus when you take over a Drupal project

Taking over existing Drupal projects

THE CONTEXT

WhyWTF? Context Observe Act Conclusion

Page 11: WTF: Where To Focus when you take over a Drupal project

WhyWTF? Context Observe Act Conclusion

Page 12: WTF: Where To Focus when you take over a Drupal project

Context elements to consider 1/2

• Client has a history, past experiences. • If it turned sour, they might be defensive.

• Why do they want to change web partner

now? • Important not to repeat same mistakes…

WhyWTF? Context Observe Act Conclusion

Page 13: WTF: Where To Focus when you take over a Drupal project

Context elements to consider 2/2

• Who are the stakeholders? • Who will be important to get on your side moving

forward?

• Workflow: How does the client use his

website? • Ex: they might have the admin panel active, but

don’t use

WhyWTF? Context Observe Act Conclusion

Page 14: WTF: Where To Focus when you take over a Drupal project

You’re client

doesn’t need « the

rebound guy ».

You should both be

aiming for a long-

term relationship.

WhyWTF? Context Observe Act Conclusion

Page 15: WTF: Where To Focus when you take over a Drupal project

Taking over existing Drupal projects

OBSERVATION PHASE

Don’t start playing in the code

and configurations just yet

WhyWTF? Context Observe Act Conclusion

Page 16: WTF: Where To Focus when you take over a Drupal project

We need to analyse the map to develop a

strategy.

WhyWTF? Context Observe Act Conclusion

Page 17: WTF: Where To Focus when you take over a Drupal project

Programmers like to build stuff from scratch.

Having to delve into someone else’s code, we often

expect the worst.

WhyWTF? Context Observe Act Conclusion

Page 18: WTF: Where To Focus when you take over a Drupal project

Common apprehensions:

• It’s not my code (so it’s shitty)

• The code is not built

according to my standards

• There is no documentation

available

• There are not diagrams,

tutorials or workflows

WhyWTF? Context Observe Act Conclusion

Page 19: WTF: Where To Focus when you take over a Drupal project

Give whoever was working

on the site before you some slack

• Other developers are like you –

they build with best intentions,

but real life gets in the way

http://theoatmeal.com/comics/design_hell

WhyWTF? Context Observe Act Conclusion

Page 20: WTF: Where To Focus when you take over a Drupal project

Step 1: Inventory of current website

• Inventory of Modules, Themes, Plugins

(external libraries)• Any import/export functionnality?

Migrate or Feed modules

• Check if core was hacked• Install « Hacked » and

« Diff » modules

WhyWTF? Context Observe Act Conclusion

Page 21: WTF: Where To Focus when you take over a Drupal project

Step 1: Inventory of current backend

• List of « standard modules »

(and their version)

• List of « custom modules » • These are going to be the challenges to update,

enhance in the future

• Are there any « garbage » modules?• Not used in the website, but installed for testing

purposes by previous dev

WhyWTF? Context Observe Act Conclusion

Page 22: WTF: Where To Focus when you take over a Drupal project

Step 1: Inventory of current website

• Open the readme.txt and upgrade.txt• Might be written « do not upgrade! »

• Open fields and blocks• Is PHPfilter module activated?

• Check views headers/footers:

There might be custom code

• /sites/modules/• How is it structured?

WhyWTF? Context Observe Act Conclusion

Page 23: WTF: Where To Focus when you take over a Drupal project

Step 2: Front-end matters

• How many page templates are there?

• Are there parent/child themes?

• Responsive or mobile theme?

• How is CSS structured? (LESS? SASS?)

• Ask: « Is that content generated by a block, a

view, a module, a context, a node, php? »

WhyWTF? Context Observe Act Conclusion

Page 24: WTF: Where To Focus when you take over a Drupal project

Step 3: Tech inventory

• Server configuration and technologies

• Deployment strategy

• Versionning system (Git, SVN, etc)

• Automatic testing system• Unit tests?

• SimpleTest module?

WhyWTF? Context Observe Act Conclusion

Page 25: WTF: Where To Focus when you take over a Drupal project

Step 3: Tech inventory

• .htaccess: what are the specifications?

(Drupal core update will destroy this)

• Any third party connexions?• Solr, SSL, Web services, Databases

WhyWTF? Context Observe Act Conclusion

Page 26: WTF: Where To Focus when you take over a Drupal project

Taking over existing Drupal projects

ACTION PHASE

Time to start playing

around with the site

WhyWTF? Context Observe Act Conclusion

Page 27: WTF: Where To Focus when you take over a Drupal project

Mark your territory

WhyWTF? Context Observe Act Conclusion

Page 28: WTF: Where To Focus when you take over a Drupal project

A few beginner tips:

• Don’t start working on the live site.

• Create your own environment

(or use a client dev environment)

before touching anything

• Make sure the configs are the same as the

live website

WhyWTF? Context Observe Act Conclusion

Page 29: WTF: Where To Focus when you take over a Drupal project

Don’t be scared of versionning

• You’ll be married to the project, so don’t think

it’s a an unnecessary evil

• Import their branches to your VCS to see the

site’s previous progress

• Clean up the files• There is probably a lot of unnecessary files

• DAMN YOU .DS_store and _notes !!

WhyWTF? Context Observe Act Conclusion

Page 30: WTF: Where To Focus when you take over a Drupal project

Before performing updates

• Check if the website you inherit has any

« pendings » in update.php

• Sometimes websites are buggy because this

hasn’t been done in a while

WhyWTF? Context Observe Act Conclusion

Page 31: WTF: Where To Focus when you take over a Drupal project

Perform updates

• Step 1: Cross your fingers

• Step 2: Update core and modules

• Step 3: Check if the site is broken

• Step 4: Rollback if necessary• drush pm-update –-lock=og

WhyWTF? Context Observe Act Conclusion

Page 32: WTF: Where To Focus when you take over a Drupal project

Install the modules you like working with

• PathoLogic• Automatically repairs URLs that client didn't write

correctly

• Path Redirect• Point missing urls to correct pages

• Cache Exclude• Exclude pages from cache instead of disabling it

to not slow down the site

WhyWTF? Context Observe Act Conclusion

Page 33: WTF: Where To Focus when you take over a Drupal project

Start adressing the first client todos

• Take control: Rebuild vs. Patch• You often feel you should either

completely rebuild or just sloppily patch

• If you can identify specific components that you

can enhance – take the baby step to make the

site better

• You can flush stuff that is irrelevant

WhyWTF? Context Observe Act Conclusion

Page 34: WTF: Where To Focus when you take over a Drupal project

Maintain your integrity

• From now on, the site will be

built according to your

standards

• Don’t be lazy because the

rest of the site is not

• Document your work

• You’ll be more productive

within

your team

WhyWTF? Context Observe Act Conclusion

Page 35: WTF: Where To Focus when you take over a Drupal project

Extra Quality Control

• Changes you make have

repercussions you might

not expect

• Test Front-end,

Functionnality & code

• Check our DrupalCamp

Montreal conference : Devil’s

in the details

WhyWTF? Context Observe Act Conclusion

Page 36: WTF: Where To Focus when you take over a Drupal project

Your goal

• OWN the website and become an expert with

it

• If the old team takes the website back,

they shouldn’t feel it’s « theirs » anymore

• You’re going to be working with the site for a long

time, so you’d better like it

WhyWTF? Context Observe Act Conclusion

Page 37: WTF: Where To Focus when you take over a Drupal project

Conclusion

WhyWTF? Context Observe Act Conclusion

Page 38: WTF: Where To Focus when you take over a Drupal project

AGENCIES

CLIENTS

WhyWTF? Context Observe Act Conclusion

Page 39: WTF: Where To Focus when you take over a Drupal project

WhyWTF? Context Observe Act Conclusion

Be the web agency of their dreams

• They want to trust you

• Prove to your new client that you’re made for

each other

Page 40: WTF: Where To Focus when you take over a Drupal project

Which means

• Take the time to listen and understand why

your new client decided to leave their

previous relationship

• Take the time to get to know

your new website in and out

• Pretend you’re the one that built it in the first

place – OWN IT

WhyWTF? Context Observe Act Conclusion

Page 41: WTF: Where To Focus when you take over a Drupal project

WhyWTF? Context Observe Act Conclusion

Page 42: WTF: Where To Focus when you take over a Drupal project

Thank you!

Any questions?

[email protected]

www.symetris.ca

Presentation available on slideshare

@symetris