diwd 2011-111011223430-phpapp01

91
Dear DIWD, Slides: slideshare.com/zappos-fez/diwd -2011 Twitter: @zappos_diwd Jeorbs: goo.gl/mwiwk jobs.zappos.com Love, Zappos

Upload: alexkirmse

Post on 28-Jan-2015

104 views

Category:

Technology


0 download

DESCRIPTION

Presentation from Do It With Drupal Conference 2011

TRANSCRIPT

Page 1: Diwd 2011-111011223430-phpapp01

Dear DIWD,

Slides: slideshare.com/zappos-fez/diwd-2011

Twitter: @zappos_diwd

Jeorbs: goo.gl/mwiwkjobs.zappos.com

Love,Zappos

Page 2: Diwd 2011-111011223430-phpapp01

We represent Zappos, Drupal was raised out in Holland

photo by Adria Richardshttp://www.flickr.com/photos/adriarichards/

Page 3: Diwd 2011-111011223430-phpapp01

Introductions

Alex Kirmse @alexkirmse History of early days pre-CMS, pre-Drupal, first Drupal project, Drupal growth and Advanced Landing Pages

Geoff Berger @geoffberger

Technical look into Advanced Landing Pages, Baffin and what’s under the hood.

Daniel Lopez @deshawnbw

Dynamic Components and building on top of the Baffin platform

Stephen Hayden @mestevo

Application, End-User Support and Documentation with Drupal

Page 4: Diwd 2011-111011223430-phpapp01

the early days…(2006-2008)

Our small front-end team….

Page 5: Diwd 2011-111011223430-phpapp01

10+ sites to maintain

Page 6: Diwd 2011-111011223430-phpapp01

Zappos Classic

- Perl/MySQL platform, proprietary templating system- non e-commerce content needed managing- Many requests to make link, image and wording changes- No Content Management System!

Page 7: Diwd 2011-111011223430-phpapp01

Typical Requests…

"We need to change the 3rd sentence in the Terms and Conditions….baah!"

"Please change the image and link on page..."

"We need a simple FAQ..."Baaah!Baaah!

Photo by: Aunt Owwee http://www.flickr.com/photos/aunto

Page 8: Diwd 2011-111011223430-phpapp01

Blogs and the first taste of a CMS- End of 2007 implemented a 3rd party Blogs platform for blogs.zappos.com

- Clearspace, J2EE Enterprise Social Collaboration Platform

- Used for blogs, but potentially planned for forums, wikis and customer interaction

+ Feature rich out of the box: User management, Forums, Wikis, Friends, Commenting, themeing  

+ Nice to have content be manageable via a CMS

Page 9: Diwd 2011-111011223430-phpapp01

Blogs.Zappos.com - In The WildBy early 2008 Clearspace was in production, under active use:

Developers we’re theming and customizing Blogs

Sys admins in production, sending traffic to site and managing the servers

Bloggers we’re writing 3-4 blog posts a day

Photo by Eric Miragliahttp://www.flickr.com/photos/equanimity/

Page 10: Diwd 2011-111011223430-phpapp01

Development Team:- not easily customizable- strange template conventions - front-end issues

End Users/Bloggers- Problematic rich text editor- Lack of 3rd party tools

Sys Admins- Performance and logging issues- Tough upgrade path- Longer deploy cycles

Blogs Feedback

photo by Patricia van Casterenhttp://www.flickr.com/photos/patries71/

Page 11: Diwd 2011-111011223430-phpapp01

Sidebar: Why Clearspace and not Wordpress?

- Sys team questioned the "enterprise"ness of Wordpress

- Engineer: Single Sign-on easier with Java than with PHP

- New site revamp is Java

Page 12: Diwd 2011-111011223430-phpapp01

Hearing about Drupal- SXSW 2008 CMS Roundup

- IA Summit, talked to maintainers of the Yahoo Designs Pattern library that uses Drupal

- Very flexible platform, but definitely requires deeper knowledge if you customize it

photo by Stephen hizKNITShttp://www.flickr.com/photos/hmalbert

Page 13: Diwd 2011-111011223430-phpapp01

An opportunity...

- Tony had an idea to create a new site: About.Zappos.com

- Primarily static content or content that needed easy updating by business users

- No e-commerce parts

- Stand-alone site

- New site, not replacing 

Let's give Drupal a try!

Tony Hsieh, CEO Zappos.com

Page 14: Diwd 2011-111011223430-phpapp01

Compare both platforms: -Clearspace (theme and add new Blogs)-Drupal on About.Zappos.com-Switch developers!

Which is easier to develop on, customize, extend?

Page 15: Diwd 2011-111011223430-phpapp01

About.Zappos.com – POWERED BY Drupal

- Easy updates and maintenance – no code pushes or deploys- Quick turnaround on projects- Customization and plugins easily available

Page 16: Diwd 2011-111011223430-phpapp01

Zappos ZETA

- In 2008, Zappos was building a new Zappos site from the ground up- New templating system, new back-end code (Java), cleaner front-end code, new search indexer (SOLR)- Let's optimize the front-end to be more self-service and include a CMS for all the static content- FAQ, Legal, Customer Service pages to be managed in Drupal

Page 17: Diwd 2011-111011223430-phpapp01

FAQ, Customer Service Pages and Terms & Conditions

- Simple static content, frequent updates and additions- No complicated functionality- Simple for Drupal, Some challenges to combine 2 platforms

Page 18: Diwd 2011-111011223430-phpapp01

Challenge 1: Combining two technology stacks into 1 experience

Solution 1: Use our in-house proxy/rewrite engine to combine into1 experience.

Page 19: Diwd 2011-111011223430-phpapp01

Challenge 2: Dealing with common/shared code on both platforms.Make updates on both platforms?

Solution 2: Parse blank Zeta template into Drupal to share common code.

Page 20: Diwd 2011-111011223430-phpapp01

 

Mission: Create category shopping landing pages

Requirements:

-Expose categories-Independent management of links-Image management-Pull information dynamically from product catalog

Page 21: Diwd 2011-111011223430-phpapp01

Challenge 1: Pull information product catalog

Solution 2: Make a bunch of calls to internal APIs including SOLR

Page 22: Diwd 2011-111011223430-phpapp01

Challenge 2: Make an admin for non-technical users

Solution 2: Use a variety of contributed Drupal modules including:

- CCK- Filefield- Link- Nodehierachy- Views

Page 23: Diwd 2011-111011223430-phpapp01

Lessons LearnedUse a platform that works for your company, culture and development style. 

Clearspace == Feature rich, out of the box, not meant to be modified heavily or often, not easily upgraded

Zappos == heavy customization, iterative changes, rapid deploys, flexible

Drupal better fit for Zappos company and development style

Leverage the creativity of your team to bend technologies to meet business needs

Solutions don’t have to be documented or blessed

Remote template

Hybrid

Usage of API’s

Page 24: Diwd 2011-111011223430-phpapp01

Moving on from ALPs

• Quick Turn Around• Automation isn’t always

the answer• Limitations of the

existing toolset• Allow for more

configuration/flexibility within reason

Page 25: Diwd 2011-111011223430-phpapp01

Baffin

Page 26: Diwd 2011-111011223430-phpapp01

Baffin: Layouts

Page 27: Diwd 2011-111011223430-phpapp01

Baffin: Components

Page 28: Diwd 2011-111011223430-phpapp01

Baffin: Request Cycle

Page 30: Diwd 2011-111011223430-phpapp01

Baffin: Components

Page 31: Diwd 2011-111011223430-phpapp01

Baffin: Components

class file | view file

Page 32: Diwd 2011-111011223430-phpapp01

CCK: Leveraging (?:In|Ex)ternal APIs

• Search• Product• Generated Imagery• Reviews

Page 33: Diwd 2011-111011223430-phpapp01

Baffin: Shoes Page

Page 34: Diwd 2011-111011223430-phpapp01

Baffin: Shoes Internally

Page 35: Diwd 2011-111011223430-phpapp01

Baffin: Internal Admin

Page 36: Diwd 2011-111011223430-phpapp01

Baffin: Admin Management

Page 37: Diwd 2011-111011223430-phpapp01

Baffin: CCK Field

Page 38: Diwd 2011-111011223430-phpapp01

Baffin: Final Outcome

Page 39: Diwd 2011-111011223430-phpapp01

Components With Attitude

Super awesome ya

Page 40: Diwd 2011-111011223430-phpapp01
Page 41: Diwd 2011-111011223430-phpapp01

Content Management System / ALP

Page 42: Diwd 2011-111011223430-phpapp01

Content Management System / ALP

System Solidarity / Iterations

Page 43: Diwd 2011-111011223430-phpapp01

Content Management System / ALP

System Solidarity / Iterations

Super awesomely cool stuff

Page 44: Diwd 2011-111011223430-phpapp01

Cat-Skillz

Content Management System / ALP

System Solidarity / Iterations

Super awesomely cool stuff

Page 45: Diwd 2011-111011223430-phpapp01

Cat-Skillz

Open SourceMaybe?

...Hopefully? (probably not)

Content Management System / ALP

System Solidarity / Iterations

Super awesomely cool stuff

Page 46: Diwd 2011-111011223430-phpapp01

Mo Problems Mo Solutions

flickr.com/people/rakkhi/

Page 47: Diwd 2011-111011223430-phpapp01
Page 48: Diwd 2011-111011223430-phpapp01

link video

Product Ticker

Page 49: Diwd 2011-111011223430-phpapp01

link video

Geolocation Product Ticker

Page 50: Diwd 2011-111011223430-phpapp01

link video

Hero Video

Page 51: Diwd 2011-111011223430-phpapp01

link video

Zappos Video

Page 52: Diwd 2011-111011223430-phpapp01

link video

Grid Selector

Page 53: Diwd 2011-111011223430-phpapp01

link video

Limited Access

Page 54: Diwd 2011-111011223430-phpapp01
Page 55: Diwd 2011-111011223430-phpapp01
Page 56: Diwd 2011-111011223430-phpapp01
Page 57: Diwd 2011-111011223430-phpapp01
Page 58: Diwd 2011-111011223430-phpapp01

link video

Limited Access

Page 59: Diwd 2011-111011223430-phpapp01

A Top Secret City For Zappos VIP?

??

?

?

????? ?

?

?

?

link flickr.com/people/snoguitar/

Page 60: Diwd 2011-111011223430-phpapp01

on Flickr by INTVGene

Page 61: Diwd 2011-111011223430-phpapp01

Application Support

 

Page 62: Diwd 2011-111011223430-phpapp01

Where I come from…

Started in ZCLT in 2005

Helped manage Powered by Zappos sites 2006-2010

Became an ASS in 2010

Page 63: Diwd 2011-111011223430-phpapp01

Application Support Specialist

 spice  via Danielphoto via: flickr.com/people/alces/

Get It? ... GET IT???!

Page 64: Diwd 2011-111011223430-phpapp01

Great, we have help, now what?   

Own some processes, stop the frustration• Permissions• Login pages• Documentation

Help the business collaborate • Do more with existing tools

Listen to business needs, identify pain points• JIRA

Put all that together...

Page 65: Diwd 2011-111011223430-phpapp01

Stop, Collaborate and Listen...

Page 66: Diwd 2011-111011223430-phpapp01

Permissions

Permission levels

Layouts• Homepage• Three-Column• Vertical• Trends

Components• Category Navigation• Page Content• ...and a bunch of others

Fields• URL aliases• Google Analytics settings

Page 67: Diwd 2011-111011223430-phpapp01

Permissions

User categories

Teams that own pages• Visual Merchandising• Information Architecture

Teams that update pages• Visual Design• Content

 

Page 68: Diwd 2011-111011223430-phpapp01

Permissions: Versatile Roles

Page 69: Diwd 2011-111011223430-phpapp01

Permissions: Well, kinda versatile.

Page 70: Diwd 2011-111011223430-phpapp01

Permissions: Examples

Information Architecture team

Page 71: Diwd 2011-111011223430-phpapp01

Permissions: Examples

Visual Design

Page 72: Diwd 2011-111011223430-phpapp01

Documentation

Just in case someone reads it, we put some together...

Page 73: Diwd 2011-111011223430-phpapp01

Documentation

Page 74: Diwd 2011-111011223430-phpapp01

Documentation: Components

Page 75: Diwd 2011-111011223430-phpapp01

Documentation: Visual DiagramsHomepage layout Three-Column Layout

Page 76: Diwd 2011-111011223430-phpapp01

Homepage layout Three-Column Layout

Documentation: Visual Diagrams

Page 77: Diwd 2011-111011223430-phpapp01

BCP: Baffin Control Panel

Acronyms are cool, especially if they don't make sense

• Just a way to view our content internally• Diving into the admin to find content wasnt fun 

Page 78: Diwd 2011-111011223430-phpapp01

BCP: Baffin Control Panel

Page 79: Diwd 2011-111011223430-phpapp01

Login Pages

Uninspiring and generally useless login page:

Page 80: Diwd 2011-111011223430-phpapp01

New and improved!

Page 81: Diwd 2011-111011223430-phpapp01

JIRA

• Our Swiss Army Knife that we use Task management • 60 projects, 450 custom fields• All IT requests, asset management, customer feedback, lost

shoes/items• Prioritization, resourcing

Page 82: Diwd 2011-111011223430-phpapp01

JIRA: Landing Page Queue

• Purpose• How will this page be

found• Expectations• Live Date• Expiration

Page 83: Diwd 2011-111011223430-phpapp01

JIRA: Landing Page Queue

• Notify relevant departments

• Track pages to completion and beyond

Page 84: Diwd 2011-111011223430-phpapp01

Just the tip of the iceberg

• Role grows as the platform does• Doing more with less• Every day is different

Page 85: Diwd 2011-111011223430-phpapp01

Drupal Progression 2008 to Present

Page 86: Diwd 2011-111011223430-phpapp01
Page 87: Diwd 2011-111011223430-phpapp01
Page 88: Diwd 2011-111011223430-phpapp01
Page 89: Diwd 2011-111011223430-phpapp01
Page 90: Diwd 2011-111011223430-phpapp01

Do It With Us!Jobs.zappos.com

Check out our booth at DIWD

Thanks for coming!

Page 91: Diwd 2011-111011223430-phpapp01

Dear DIWD,

Slides: slideshare.com/zappos-fez/diwd-2011

Twitter: @zappos_diwd

Jeorbs: goo.gl/mwiwkjobs.zappos.com

Love,Zappos