Upload
symetris
View
417
Download
0
Embed Size (px)
Citation preview
W.T.F.
***
Where To Focus when taking over
a Drupal Project
Drupal Camp Ottawa 2014 – Symetris.ca
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
About me
Brad Muncs
President @ Symetris
Loves travelling
New dad
Strives to create
simplicity from
complexity
WhyWTF? Context Observe Act Conclusion
What we’ll be talking about today
• Why is this talk relevant?
• Context
• Observation phase
• Action phase
• Conclusion
WhyWTF? Context Observe Act Conclusion
Why is discussing
taking on
existing projects
relevant?
WhyWTF? Context Observe Act Conclusion
The web used to be
an uninhabited
klondike.
WhyWTF? Context Observe Act Conclusion
It’s now a bustling city.
WhyWTF? Context Observe Act Conclusion
WhyWTF? Context Observe Act Conclusion
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
Taking over existing Drupal projects
THE CONTEXT
WhyWTF? Context Observe Act Conclusion
WhyWTF? Context Observe Act Conclusion
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
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
You’re client
doesn’t need « the
rebound guy ».
You should both be
aiming for a long-
term relationship.
WhyWTF? Context Observe Act Conclusion
Taking over existing Drupal projects
OBSERVATION PHASE
Don’t start playing in the code
and configurations just yet
WhyWTF? Context Observe Act Conclusion
We need to analyse the map to develop a
strategy.
WhyWTF? Context Observe Act Conclusion
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
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
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
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
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
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
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
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
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
Taking over existing Drupal projects
ACTION PHASE
Time to start playing
around with the site
WhyWTF? Context Observe Act Conclusion
Mark your territory
WhyWTF? Context Observe Act Conclusion
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
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
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
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
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
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
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
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
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
Conclusion
WhyWTF? Context Observe Act Conclusion
AGENCIES
CLIENTS
WhyWTF? Context Observe Act Conclusion
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
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
WhyWTF? Context Observe Act Conclusion
Thank you!
Any questions?
www.symetris.ca
Presentation available on slideshare
@symetris