Upload
alexkirmse
View
104
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Presentation from Do It With Drupal Conference 2011
Citation preview
Dear DIWD,
Slides: slideshare.com/zappos-fez/diwd-2011
Twitter: @zappos_diwd
Jeorbs: goo.gl/mwiwkjobs.zappos.com
Love,Zappos
We represent Zappos, Drupal was raised out in Holland
photo by Adria Richardshttp://www.flickr.com/photos/adriarichards/
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
the early days…(2006-2008)
Our small front-end team….
10+ sites to maintain
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!
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
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
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/
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/
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
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
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
Compare both platforms: -Clearspace (theme and add new Blogs)-Drupal on About.Zappos.com-Switch developers!
Which is easier to develop on, customize, extend?
About.Zappos.com – POWERED BY Drupal
- Easy updates and maintenance – no code pushes or deploys- Quick turnaround on projects- Customization and plugins easily available
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
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
Challenge 1: Combining two technology stacks into 1 experience
Solution 1: Use our in-house proxy/rewrite engine to combine into1 experience.
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.
Mission: Create category shopping landing pages
Requirements:
-Expose categories-Independent management of links-Image management-Pull information dynamically from product catalog
Challenge 1: Pull information product catalog
Solution 2: Make a bunch of calls to internal APIs including SOLR
Challenge 2: Make an admin for non-technical users
Solution 2: Use a variety of contributed Drupal modules including:
- CCK- Filefield- Link- Nodehierachy- Views
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
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
Baffin
Baffin: Layouts
Baffin: Components
Baffin: Request Cycle
Baffin: Layouts
info file | template file | class file
Baffin: Components
Baffin: Components
class file | view file
CCK: Leveraging (?:In|Ex)ternal APIs
• Search• Product• Generated Imagery• Reviews
Baffin: Shoes Page
Baffin: Shoes Internally
Baffin: Internal Admin
Baffin: Admin Management
Baffin: CCK Field
Baffin: Final Outcome
Components With Attitude
Super awesome ya
Content Management System / ALP
Content Management System / ALP
System Solidarity / Iterations
Content Management System / ALP
System Solidarity / Iterations
Super awesomely cool stuff
Cat-Skillz
Content Management System / ALP
System Solidarity / Iterations
Super awesomely cool stuff
Cat-Skillz
Open SourceMaybe?
...Hopefully? (probably not)
Content Management System / ALP
System Solidarity / Iterations
Super awesomely cool stuff
Mo Problems Mo Solutions
flickr.com/people/rakkhi/
link video
Product Ticker
link video
Geolocation Product Ticker
link video
Hero Video
link video
Zappos Video
link video
Grid Selector
link video
Limited Access
link video
Limited Access
A Top Secret City For Zappos VIP?
??
?
?
????? ?
?
?
?
link flickr.com/people/snoguitar/
on Flickr by INTVGene
Application Support
Where I come from…
Started in ZCLT in 2005
Helped manage Powered by Zappos sites 2006-2010
Became an ASS in 2010
Application Support Specialist
spice via Danielphoto via: flickr.com/people/alces/
Get It? ... GET IT???!
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...
Stop, Collaborate and Listen...
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
Permissions
User categories
Teams that own pages• Visual Merchandising• Information Architecture
Teams that update pages• Visual Design• Content
Permissions: Versatile Roles
Permissions: Well, kinda versatile.
Permissions: Examples
Information Architecture team
Permissions: Examples
Visual Design
Documentation
Just in case someone reads it, we put some together...
Documentation
Documentation: Components
Documentation: Visual DiagramsHomepage layout Three-Column Layout
Homepage layout Three-Column Layout
Documentation: Visual Diagrams
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
BCP: Baffin Control Panel
Login Pages
Uninspiring and generally useless login page:
New and improved!
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
JIRA: Landing Page Queue
• Purpose• How will this page be
found• Expectations• Live Date• Expiration
JIRA: Landing Page Queue
• Notify relevant departments
• Track pages to completion and beyond
Just the tip of the iceberg
• Role grows as the platform does• Doing more with less• Every day is different
Drupal Progression 2008 to Present
Do It With Us!Jobs.zappos.com
Check out our booth at DIWD
Thanks for coming!
Dear DIWD,
Slides: slideshare.com/zappos-fez/diwd-2011
Twitter: @zappos_diwd
Jeorbs: goo.gl/mwiwkjobs.zappos.com
Love,Zappos