29
http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/uploader/wallpapers/january11/january-11-drupal_7_is_coming__62-calendar-1680x1050.jpg Building, maintaining and adapting Drupal projects: How to challenge the long run Author: Alexandre Israël Date: 22/02/2013 Reference: webinar Version: 1.0_EN Drupal Factory [email protected]

Building, maintaining and adapting Drupal projects: How to challenge the long run

  • Upload
    acquia

  • View
    3.221

  • Download
    1

Embed Size (px)

DESCRIPTION

Want to learn more about Acquia’s products, services, and happenings in the Drupal Community? Visit our site: http://bit.ly/yLaHO5. Many organizations have identified Drupal as one of the most open and reliable web platform. Easy to deploy, robust enough to integrate their Information Systems. Complex and high-quality websites can now be delivered in much less time than with other technologies, while respecting high security requirements. Long run maintainability and centrally developed web platforms are the new expectations Drupal is challenging. Web factory approach, rationalized design and pre-configured site profiles provide answers. Adapting these methods to existing large IS, migrating web history and respecting in-time delivery demands a high level experts team. In this webinar, Capgemini will explain the technical and management choices made to deliver this and beyong. Topics that will be covered during this session include: • Features and Costs expectations • Long run specific risks • Platform consistent security and features management • Continuous integration, quality control & centralised monitoring • Shortening new websites deployment • Reducing costs through homogeneous Drupal platform

Citation preview

Page 1: Building, maintaining and adapting Drupal projects: How to challenge the long run

http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/uploader/wallpapers/january11/january-11-drupal_7_is_coming__62-calendar-1680x1050.jpg

Building, maintaining and adapting Drupal projects: How to challenge the long run

Author: Alexandre Israël Date: 22/02/2013 Reference: webinar Version: 1.0_EN

Drupal Factory

[email protected]

Page 2: Building, maintaining and adapting Drupal projects: How to challenge the long run

Copyright © Capgemini 2012. All Rights Reserved http://www.qbase.co.in/wp-content/uploads/2012/04/drupal_v2_1920x1200_orange.png

ADC

Introduction

I. Built…

II. …to be run!

Large Drupal Projects

2

Webinar - 03-07-2013 - How to challenge the long run?

Page 3: Building, maintaining and adapting Drupal projects: How to challenge the long run

Copyright © Capgemini 2012. All Rights Reserved http://www.qbase.co.in/wp-content/uploads/2012/04/drupal_v2_1920x1200_blue.png

ADC

Large projects specificities

Many features expectations

IS Complexity

Project costs

Long run

Many dimensions

Main risks

Attention points

Introduction

3

Webinar - 03-07-2013 - How to challenge the long run?

Page 4: Building, maintaining and adapting Drupal projects: How to challenge the long run

Copyright © Capgemini 2012. All Rights Reserved

ADC

Large Projects Specificities Many features expectations

Corporate

Community

Large sites

Motorised by DrupalCommerce

Interfaced with an ERP

E-commerce

http://drupal.org/files/project-images/ck-main-v2-josh-large.jpg

http://drupal.org/files/DrupalTime.png

Sites factory

Drupal Profiles

Drush / Aegir

Drupal Gardens

On-line Apps / Services

Beyond contents

Should we go with…

# Mono-site installation

# Multi-site installation

# Aegir multi-platforms and muti-sites

# Drush managed platform (no-Aegir)

What about the distribution?

# Official Drupal.org

# Official Acquia

# Pressflow

# Drupal Commerce

# Commons

# Atrium

# OpenPublic

# … (too many!)

4

Webinar - 03-07-2013 - How to challenge the long run?

Page 5: Building, maintaining and adapting Drupal projects: How to challenge the long run

Copyright © Capgemini 2012. All Rights Reserved

ADC

Large Projects Specificities IS complexity vs Drupal

Team

Software

History

Development Environment

Test-Preprod Environments

Prod Environment Security

http://www.sapling-inc.com/blog/wp-content/uploads/2011/10/Security-wide.jpg

http://www.phase2technology.com/sites/phase2technology.com/files/distro-vs-profileNov23-2011.png

Always keep Drupal

structure in mind

You can’t avoid taking

History into account

# Tech team knowledge

# Web history

# Drupal history

# The rest of the IS

Drupal choice won’t win against

ISD’s Security policy

# LDAP / AD / SSO

# ClamAV antivirus

# Module validation policy

# Existing validated Drupal platform

Explain & respect

Drupal architecture

5

Webinar - 03-07-2013 - How to challenge the long run?

Page 6: Building, maintaining and adapting Drupal projects: How to challenge the long run

Copyright © Capgemini 2012. All Rights Reserved

ADC

Large Projects Specificities Project costs

Expertise mix

Localization mix

Schedule priorities

http://www.solutionsforce.com/images/cmg/OurExpertise.jpg

Jigsaw created on dumpr.net

http://www.ambysoft.com/artwork/agileProjectPlanningFinal.gif

Client’s vision maturity

A Lead Dev should not

create the easy block

View…

6

Webinar - 03-07-2013 - How to challenge the long run?

Page 7: Building, maintaining and adapting Drupal projects: How to challenge the long run

Copyright © Capgemini 2012. All Rights Reserved

ADC

Long Run Many dimensions

Features

Web Services

Changing

Keep adapting

http://www.sapling-inc.com/blog/wp-content/uploads/2011/10/Security-wide.jpg

http://s3.amazonaws.com/webgen_einsteinwebsites/public/assets/36029/green_checklist.jpg

Editorial

Translation

Community

Updating content

Theming & Design

Standards

Graphics chart

Site, Sections, Categories…

Modules choice should anticipate

change.

Give priority to:

# API provided to add new features

# Popular modules that are more

controled and better maintained

7

Webinar - 03-07-2013 - How to challenge the long run?

Page 8: Building, maintaining and adapting Drupal projects: How to challenge the long run

Copyright © Capgemini 2012. All Rights Reserved

ADC

Long Run Main risks

Developments focalized

on initial delivery

http://www.jesuiscultive.com/IMG/jpg/iceberg_Clevenger.jpg

http://www.ccorpusa.com/wp-content/uploads/2011/08/project_management3.jpg

http://24.media.tumblr.com/tumblr_lkkif5i75J1qb6i6bo1_500.jpg

http://www.stop-o-bugs.fr/crbst_refencement1.jpg

Maintenance

explosion

Delivery issues

on release

Management stability

Technical design must be focalized

on future maintenance risks and

process

Test and don’t go without:

# A platform workflow

# Clear delivery and

validated processes

8

Webinar - 03-07-2013 - How to challenge the long run?

Page 9: Building, maintaining and adapting Drupal projects: How to challenge the long run

Copyright © Capgemini 2012. All Rights Reserved

ADC

Long Run Attention points

http://2012.badcamp.net/sites/default/files/slides/Features%20BADcamp_0.pdf

Modify database from Code

Test update from Development

to Pre-production environments

Export config from DB

…to Code

Maintainability driven

developments Features + hook_update()

Deployment / Delivery

processes

Urgent Normal

This will also help to:

# Monitor quality through

version control tools

# Fully test before delivery

# Optimize (e.g. Views)

9

Webinar - 03-07-2013 - How to challenge the long run?

Page 10: Building, maintaining and adapting Drupal projects: How to challenge the long run

Copyright © Capgemini 2012. All Rights Reserved http://www.qbase.co.in/wp-content/uploads/2012/04/drupal_v2_1920x1200_blue.png

ADC

Drupal Best Practices

Architecture optimization

Capgemini Delivery

Build it right

10

Webinar - 03-07-2013 - How to challenge the long run?

Page 11: Building, maintaining and adapting Drupal projects: How to challenge the long run

Copyright © Capgemini 2012. All Rights Reserved

ADC

Drupal Best Practices Design

Select the right

Community modules

http://nsyll.net/files/dont_hack_drupal_core.png

http://www.kassblog.com/wp-content/uploads/2012/10/the-periodic-table-of-drupal-modules-600x424.jpeg

Don’t hack Core

Custom modules:

maxi 15-20%

Beyond 25%, you should more question:

# Is there a Community module for that?

# Should I publish/sponsor a module?

# Is Drupal the right tool?

11

Webinar - 03-07-2013 - How to challenge the long run?

Page 12: Building, maintaining and adapting Drupal projects: How to challenge the long run

Copyright © Capgemini 2012. All Rights Reserved

ADC

Drupal Best Practices Development

http://www.aspgw.com/sites/default/files/styles/aspgw_pages_image/public/Drupal_services_build2.png

http://asiashipdesign.com/sites/default/files/styles/portfolio_slideshow_view/public/assembly_img/quality%20approved_0.jpeg

Comply to coding standards

Use QC tools

A few links:

# http://drupal.org/best-practices

# http://drupal.org/writing-secure-code

# http://drupal.org/security/secure-configuration

# Full project applications: http://drupal.org/node/894256

12

Webinar - 03-07-2013 - How to challenge the long run?

Page 13: Building, maintaining and adapting Drupal projects: How to challenge the long run

Copyright © Capgemini 2012. All Rights Reserved

ADC

Drupal Best Practices Deployment

http://compsoc.nuigalway.ie/wiki/_media/how_to:subversion_logo.png

http://git-scm.com/images/logos/downloads/Git-Logo-2Color.png

http://www.ipodtouchisapro.com/wp-content/uploads/2011/10/software-update.png

http://drupalshorts.com/sites/default/files/styles/large/public/field/image/drush-flat.png

http://www.mediacurrent.com/sites/default/files/imagecache/thumb_blog_spotlight/drupal-feature_0.jpg

Manage everything with drush

Update database

with hook_update Package database

settings with Features

Code versioning with subversion / git

Prefer Git if you can

# VCS for Drupal community

# Transition cost

Drupal shell

# Local and Remote

# Use alias

# Integrate your modules

with drush

# Works on windows too

# http://www.drush.org

13

Webinar - 03-07-2013 - How to challenge the long run?

Page 14: Building, maintaining and adapting Drupal projects: How to challenge the long run

Copyright © Capgemini 2012. All Rights Reserved

ADC

Architecture Optimization Platforms

Managed by

Capgemini

Managed by

the Client

Deployment triggered

by Capgemini validation

Deployment triggered

by the Client validation

Reload from a Drupal

archive backup (Files + Database)

Developper Stations

Integration Server

Integration Acceptance Pre-

production Production

or a unique TEST environment

Create/Restore Drupal

archive with drush

14

Webinar - 03-07-2013 - How to challenge the long run?

Page 15: Building, maintaining and adapting Drupal projects: How to challenge the long run

Copyright © Capgemini 2012. All Rights Reserved

ADC

Architecture Optimization LAMP components

Proxy / CDN-like cache

http://www.sapling-inc.com/blog/wp-content/uploads/2011/10/Security-wide.jpg

Memcached: Data caching

APC: PHP accelerator

# apt-get install php-apc

# http://xerosphere.net/optimizing-apc-for-drupal

# http://memcached.org/

# http://drupal.org/project/memcache

# Settings example:

http://drupal.org/node/1181968#comment-5855430

# https://www.varnish-cache.org/

# http://drupal.org/project/varnish

# Doc: http://drupal.org/node/1054886

# http://drupal.org/project/purge

15

Webinar - 03-07-2013 - How to challenge the long run?

Page 16: Building, maintaining and adapting Drupal projects: How to challenge the long run

Copyright © Capgemini 2012. All Rights Reserved

ADC

HP Quality

Center

Jenkins

Capgemini Delivery Project Management

OWB / Clarity (schedule)

CollabNet

These are Capgemini tools,

you have your own…

# Schedule

# Tracking tasks

# Tracking quality

# Continuous integration

# and more.

Scripts

Identified plugins

16

Webinar - 03-07-2013 - How to challenge the long run?

Page 17: Building, maintaining and adapting Drupal projects: How to challenge the long run

Copyright © Capgemini 2012. All Rights Reserved

ADC

Capgemini Delivery Risk Management

Schedule

Team Management

Budget

Team Composition

Dream Team vs RL Team

# Architect

# Lead Developer

# Senior / Junior

# Themer

# Tester

# Availability

# Ramp-up the team

# Prepare Maintenance phase

17

Webinar - 03-07-2013 - How to challenge the long run?

Page 18: Building, maintaining and adapting Drupal projects: How to challenge the long run

Copyright © Capgemini 2012. All Rights Reserved

ADC

Scrum

Capgemini Delivery 2 main methodologies

Iterative No Vision, No Scrum

Treat the client’s transparency expectations

Full specifications vs Short schedule

No Product Owner,

No Scrum either

18

Webinar - 03-07-2013 - How to challenge the long run?

Page 19: Building, maintaining and adapting Drupal projects: How to challenge the long run

Copyright © Capgemini 2012. All Rights Reserved http://www.qbase.co.in/wp-content/uploads/2012/04/drupal_v2_1920x1200_blue.png

ADC

Large range of tasks

Tracking quality

Keep it running

19

Webinar - 03-07-2013 - How to challenge the long run?

Page 20: Building, maintaining and adapting Drupal projects: How to challenge the long run

Copyright © Capgemini 2012. All Rights Reserved

ADC

Evolution / Maintenance Tasks Features

Theming

Search engine

Helpers

Content types, Menu, Profiles

20

Webinar - 03-07-2013 - How to challenge the long run?

Page 21: Building, maintaining and adapting Drupal projects: How to challenge the long run

Copyright © Capgemini 2012. All Rights Reserved

ADC

Evolution / Maintenance Tasks Content

http://1.bp.blogspot.com/_P_3ZXXQMMlg/TCrd2QIXIrI/AAAAAAAAAnA/B5K2htarxnQ/s1600/a-thoughtfull-pen-writing-3647581-2560-1702.jpg

Secure treatments

inside Drupal

Update processed by

an external agency

Regular data migration tasks

Regular sync tasks

through WS

Securing strings

# http://drupal.org/writing-secure-code

# http://drupal.org/node/28984

Import/Export with Drupal

# Ouput: Services, Views data export

# Input: Feeds, Migrate

21

Webinar - 03-07-2013 - How to challenge the long run?

Page 22: Building, maintaining and adapting Drupal projects: How to challenge the long run

Copyright © Capgemini 2012. All Rights Reserved

ADC

Evolution / Maintenance Tasks Translation

http://www.expertmarket.co.uk/sites/default/files/filemanager/Translation.jpg

http://dculs.dcu.ie/wp-content/uploads/2011/11/Languages1.png

Translation process

by an external agency

Introducing a

new language

UI translation update

Translation workflow

Impacts in many ways your website

UI translation available?

Contents management, and menus,

and blocks, and…

BO impacted or not?

Theme behaviour may change

(arabic, hebrew, chinese, japanese…)

22

Webinar - 03-07-2013 - How to challenge the long run?

Page 23: Building, maintaining and adapting Drupal projects: How to challenge the long run

Copyright © Capgemini 2012. All Rights Reserved

ADC

Quality Global Quality

http://www.symphonythemes.com/system/files/drupal7h/d7h_available_updates_500.jpeg

Status update

Acquia Partnership: Insight

# https://insight.acquia.com

# http://drupal.org/project/insight

Some modules for quality control on

Drupal sites:

# Security review, SEO tools,

Localization update

Rescue project Checklist:

# http://groups.drupal.org/node/267758

23

Webinar - 03-07-2013 - How to challenge the long run?

Page 24: Building, maintaining and adapting Drupal projects: How to challenge the long run

Copyright © Capgemini 2012. All Rights Reserved

ADC

Quality Security

Status update

D.O. Security Team alerts

Localization update

Hacked

Community code

(Core + Modules + Themes)

Custom modules

Coder

Coder Tough Love

Security Review

PAReview

SEO Review

Some modules for quality control on Drupal sites:

# Coder , SimpleTest, Security review, Hacked!, md5check

Online sandbox tests

# http://ventral.org

24

Webinar - 03-07-2013 - How to challenge the long run?

Page 25: Building, maintaining and adapting Drupal projects: How to challenge the long run

Copyright © Capgemini 2012. All Rights Reserved

ADC

Quality Continuous Integration

UnitTest integrated with Drupal

Trigger with drush

when possible

Functional tests

automation

W3C Validator

# http://simpletest.org

# http://drupal.org/simpletest

# http://seleniumhq.org/

# WebDriver: http://drupal.org/project/selenium

# Remote Control (RC): deprecated

25

Webinar - 03-07-2013 - How to challenge the long run?

Page 26: Building, maintaining and adapting Drupal projects: How to challenge the long run

Copyright © Capgemini 2012. All Rights Reserved

ADC

Quality Performance

26

Webinar - 03-07-2013 - How to challenge the long run?

Some modules for monitoring Drupal sites:

# Production check & Production monitor

# Nagios

# Insight

Tracking loss of performance

Page 27: Building, maintaining and adapting Drupal projects: How to challenge the long run

Copyright © Capgemini 2012. All Rights Reserved http://www.qbase.co.in/wp-content/uploads/2012/04/drupal_v2_1920x1200_blue.png

ADC

Now, it’s your turn: Any Question?

Thank you!

31

Webinar - 03-07-2013 - How to challenge the long run?

Page 28: Building, maintaining and adapting Drupal projects: How to challenge the long run

http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/uploader/wallpapers/january11/january-11-drupal_7_is_coming__62-calendar-1680x1050.jpg

Contact

Drupal Factory

[email protected]

Page 29: Building, maintaining and adapting Drupal projects: How to challenge the long run

The information contained in this presentation is proprietary.

© 2012 Capgemini. All rights reserved.

www.capgemini.com

About Capgemini

With more than 120,000 people in 40 countries, Capgemini is one

of the world's foremost providers of consulting, technology and

outsourcing services. The Group reported 2011 global revenues

of EUR 9.7 billion.

Together with its clients, Capgemini creates and delivers

business and technology solutions that fit their needs and drive

the results they want. A deeply multicultural organization,

Capgemini has developed its own way of working, the

Collaborative Business ExperienceTM, and draws on Rightshore ®,

its worldwide delivery model.

Rightshore® is a trademark belonging to Capgemini