SlideShare a Scribd company logo
1 of 20
Download to read offline
Case Study: In-Fisherman.com – Building an Enterprise Level Drupal Site An overview of the development process, lessons learned and successful techniques for team-based development projects Presented by Paul Chason & Josh Estep
Presenter Bio: Paul Chason, Managing Partner Mediacurrent Founder – established March 2004 Master’s Degree Medical Illustration Stints at WebMD, Home Depot Bring left and right brain expertise to Mediacurrent Self-taught web developer ASP.NET / SQL Server, PHP / MySQL, Flash Actionscript, Javascript, CSS, XHTML Adobe CS Expert
Presenter Bio: Josh Estep, Drupal Developer BS Computer Science Drupal “Swiss Army Knife” – themer, module developer, MySQL guru 4 years Drupal development experience at large media company XHTML, CSS, Photoshop, Javascript, Perl, PHP, Linux, C++, Java
Client Profile InterMedia Outdoors, Inc. (IMO), is the leading multimedia company serving the needs of outdoors enthusiasts Boasts the largest network of websites (16 total) dedicated to hunting, shooting and fishing Websites serve to complement print magazines
Challenge Ensure site could be easily managed by in-house development team Build a scalable site that can perform under averages of  67,789 user visits, 266,379 page visits, and an average of 4:1 page visits/user visits in a typical month Leverage Drupal’s social-networking features such as tagging, commenting and user generated content to entice new users
Why Drupal? Scalability - Drupal was perceived as the most scalable and extensible open source option Cost - No licensing fees Multi-site / multi-database architecture - Drupal’s flexible multi-site configuration would allow IMO to store content and user data in multiple databases for a single site.  Hosting - The expected traffic for the site demanded a low-cost enterprise level hosting environmen; Drupaland the LAMP stack were a natural fit
Why Drupal? Flexibility - IMO's previous CMS was inflexible, making it difficult to implement new and innovative features. Drupal’s modular framework, API and theme override capabilities made it the top choice  Theme customization - Drupal’s separation of presentation and business logic through the theme layer allowed the In-Fisherman.com UI to undergo significant revisions during and after development  Active development community - A fragile economy encouraged open source software vs. a proprietary vendor solution and allowed IMO to not be “locked in” to one vendor
In-Fisherman.com Goals Better User Experience - Create an engaging web experience for users by leveraging IMO’s vast repository of sportsman-related content and video Branding - Provide a more modern, contemporary look and feel that reinforced the magazine brand Intriguing Content - Give anglers the ability to quickly find the information they’re seeking by using a well defined taxonomy structure and lists of articles tailored toward a user’s individual preferences Scalability - Careful consideration needed to be given to scaling, isolating points of failure and configuring the site to fail “gracefully”
Hosting Architecture “Shuttle” servers store cached content Page requests routed through Cisco Load Balancer, balancer identifies open shuttle MySQL DB master / slave
Development Process UI design completed without Drupal in mind Loose set of requirements Agile approach Active Collab for project management  Weekly stand up calls with client Use Skype for up to the minute communication among development team Oh Noooo!
Design & Theming Worked with NYC-based Brooklyn Design Foundry to implement custom theme Adapted UI design to Zen theme Built “Custom Content” module in place of Panels Developed custom modules for generating Flash widgets and associated XML data Flexibility of Zen allowed for numerous design tweaks during final theming phase
Obstacles & Solutions Timeline - Developing 3-4 enterprise class sites in a compressed timeframe (5 or 6 months) Limited information architecture specifications - Project stakeholders met often to discuss items such as data query logic for blocks and layout format of node edit pages Multiple themers - With several developers involved in theming, the team needed to coordinate everyone’s efforts Search - For a general site searching, the Google Search Appliance (GSA) was used
Obstacles & Solutions Sharing Data across multiple domains - The In-Fisherman.com site uses several databases to support high-volume traffic Block Flattener module Multidomain module Optimization of multipage nodes - The article content type needed to present up to 6 pages of content Combination of theme overrides in template.php and customization in the node.tpl file Custom module to intercept the clean URL and detect a page number at the end
Obstacles & Solutions Data Import - IMO had lots of content (1200+ fishing articles) to be imported from Filemaker Pro database Enterprise level hosting and establishing fault-tolerance – In-Fisherman.com traffic demanded a hosting infrastucture capable of high load Multiple Drupal databases with master/slave database servers If one section of site fails, the other section doesn’t fail with it Partition user data, editorial content  and user-generated content
In-Fisherman.com Contributed Modules Nice Menus: This easy-to-configure module gave the site’s primary navigation a set JavaScript drop down menus. Fivestar: Allows site users to rate content. Workflow: Gives content contributors the ability to promote content and have it approved by an editor before it’s published. Transliteration: This module “sanitizes” file names for user uploaded content, helping oddly named files become readable by the file server. String Overrides: Gives site administrators a simple way to replace text that’s passed through the Drupal API t() function. TinyMCE: A WYSIWYG editor that gives content contributors the ability to style web site copy.
In-Fisherman.com Custom Modules Alternating Content Background Manager: This allows site administrators to update the background images used by an accordion flash widget without having to update XML manually. New images are saved to specific filenames referenced in the XML. Block Flattener and Block Flattener Reader: These modules allow block data to be shared between subdomains without directly accessing a database for block content. Gear Related Articles: This module outputs block content to a flat file for sharing across subdomains, similar to the Block Flattener module. Profanity Input Filter: This provides rudimentary, context-based input filtering via a modifiable set of rules. Site administrators can insert custom string rules of prohibited content. The module then replaces the prohibited strings with asterisks. Fish Profile: Adds radio button-based fields to the profile form and reorganizes the fields. Gear Related Articles Export: Saves block data to a flat file for use by blocks in other subdomains thereby reducing cross domain database calls.
In-Fisherman.com Custom Modules IMO import Fix: A helper module that assists in correcting file paths, taxonomy assignments and string replacements during the article import process. In-Fisherman Form Alters: Handles all form alter logic for In-Fisherman.com. Multidomain: Manages the subdomain links for a multi-site Drupalinstall. Node Process: Processes node page calls, allowing nodes to have multiple pages. Profanity Input Filter: Provides an input that can filter profane words or phrases based on a set of rules. SolunarMonth: The In-Fisherman site provides solunar calendars, which provide the best lunar fishing phase in any given month. This module supplies the solunar_month content type for the calendar. CCK couldn’t be utilized because the number of fields required by this content type consistently maxed out PHP’s memory allocation when loading the node edit form. The module also supplies a dynamic XML menu item for a given month and year together. WWW Advanced Search: Generates an advanced search form page, containing category-based filters.
Training & Documentation Never overlook the level of effort needed Used Drupal for documentation repository, leveraging the book module Targeted toward developers and content managers Give simple directions and use examples
Lessons Learned Break the project down into chunks Use a proven recipe of modules Acquire 3rd party code as soon as possible Orient designers on the “Drupal way”
For more information on Mediacurrent Visit www.mediacurrent.com www.twitter.com/mediacurrent paul.chason@mediacurrent.com josh.estep@mediacurrent.com

More Related Content

What's hot

Hire Drupal Developers For Your Website
Hire Drupal Developers For Your WebsiteHire Drupal Developers For Your Website
Hire Drupal Developers For Your Websiteajohnson85
 
Blooming SharePoint Design
Blooming SharePoint DesignBlooming SharePoint Design
Blooming SharePoint DesignKathy Hughes
 
SharePoint 2013 for Administrators and IT Pro's
SharePoint 2013 for Administrators and IT Pro'sSharePoint 2013 for Administrators and IT Pro's
SharePoint 2013 for Administrators and IT Pro'sLearning SharePoint
 
What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5Vinayak Tavargeri
 
Websphere Portal
Websphere PortalWebsphere Portal
Websphere Portaldominion
 
IBM WebSphere Portal References Education
IBM WebSphere Portal References EducationIBM WebSphere Portal References Education
IBM WebSphere Portal References EducationDvir Reznik
 
Modern SharePoint Content Management Training
Modern SharePoint Content Management TrainingModern SharePoint Content Management Training
Modern SharePoint Content Management TrainingIT Industry
 
Drupal Distributions
Drupal DistributionsDrupal Distributions
Drupal DistributionsAnne Stefanyk
 
Internet Sites with Microsoft Office SharePoint Server 2007
Internet Sites with Microsoft Office SharePoint Server 2007Internet Sites with Microsoft Office SharePoint Server 2007
Internet Sites with Microsoft Office SharePoint Server 2007goodfriday
 
SharePoint Site templates, site definitions, feature stapling
SharePoint Site templates, site definitions, feature staplingSharePoint Site templates, site definitions, feature stapling
SharePoint Site templates, site definitions, feature staplingSalaudeen Rajack
 
Rhumba with Joomla! Using a CMS to Build Community
Rhumba with Joomla! Using a CMS to Build CommunityRhumba with Joomla! Using a CMS to Build Community
Rhumba with Joomla! Using a CMS to Build CommunityCatherine Buck Morgan
 
Rhumba With Joomla
Rhumba With JoomlaRhumba With Joomla
Rhumba With Joomlakwan2020
 
Managing Content In Portal Wcm
Managing Content In Portal WcmManaging Content In Portal Wcm
Managing Content In Portal Wcmtchaitanya
 

What's hot (17)

Hire Drupal Developers For Your Website
Hire Drupal Developers For Your WebsiteHire Drupal Developers For Your Website
Hire Drupal Developers For Your Website
 
Blooming SharePoint Design
Blooming SharePoint DesignBlooming SharePoint Design
Blooming SharePoint Design
 
SharePoint 2013 for Administrators and IT Pro's
SharePoint 2013 for Administrators and IT Pro'sSharePoint 2013 for Administrators and IT Pro's
SharePoint 2013 for Administrators and IT Pro's
 
What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5
 
IBM WebSphere Portal
IBM WebSphere PortalIBM WebSphere Portal
IBM WebSphere Portal
 
Websphere Portal
Websphere PortalWebsphere Portal
Websphere Portal
 
IBM WebSphere Portal References Education
IBM WebSphere Portal References EducationIBM WebSphere Portal References Education
IBM WebSphere Portal References Education
 
SharePoint Tools Concepts
SharePoint Tools ConceptsSharePoint Tools Concepts
SharePoint Tools Concepts
 
Modern SharePoint Content Management Training
Modern SharePoint Content Management TrainingModern SharePoint Content Management Training
Modern SharePoint Content Management Training
 
Drupal Distributions
Drupal DistributionsDrupal Distributions
Drupal Distributions
 
E pi server
E pi serverE pi server
E pi server
 
Internet Sites with Microsoft Office SharePoint Server 2007
Internet Sites with Microsoft Office SharePoint Server 2007Internet Sites with Microsoft Office SharePoint Server 2007
Internet Sites with Microsoft Office SharePoint Server 2007
 
SharePoint Site templates, site definitions, feature stapling
SharePoint Site templates, site definitions, feature staplingSharePoint Site templates, site definitions, feature stapling
SharePoint Site templates, site definitions, feature stapling
 
Rhumba with Joomla! Using a CMS to Build Community
Rhumba with Joomla! Using a CMS to Build CommunityRhumba with Joomla! Using a CMS to Build Community
Rhumba with Joomla! Using a CMS to Build Community
 
Rhumba With Joomla
Rhumba With JoomlaRhumba With Joomla
Rhumba With Joomla
 
Managing Content In Portal Wcm
Managing Content In Portal WcmManaging Content In Portal Wcm
Managing Content In Portal Wcm
 
Content management system
Content management systemContent management system
Content management system
 

Similar to In-Fisherman.com - Building an Enterprise Level Drupal Site

Case study infisherman
Case study infishermanCase study infisherman
Case study infishermanmrquy
 
Beginner's guide to drupal
Beginner's guide to drupalBeginner's guide to drupal
Beginner's guide to drupalmayank.grd
 
Mlb drupal bizday_presentation
Mlb drupal bizday_presentationMlb drupal bizday_presentation
Mlb drupal bizday_presentationerlee72
 
Open Source Content Management Systems
Open Source Content Management SystemsOpen Source Content Management Systems
Open Source Content Management SystemsMatthew Turland
 
Drupal seminar at DDIT Nadiad
Drupal seminar at DDIT NadiadDrupal seminar at DDIT Nadiad
Drupal seminar at DDIT Nadiadkarmraj
 
Building Dynamic Websites With Joomla CMS
Building Dynamic Websites With Joomla CMSBuilding Dynamic Websites With Joomla CMS
Building Dynamic Websites With Joomla CMSThomas Siegers
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To DrupalLauren Roth
 
WordPress 3.x for the sake of your sanity
WordPress 3.x for the sake of your sanityWordPress 3.x for the sake of your sanity
WordPress 3.x for the sake of your sanityShelley Keith, MSIQ
 
JIIT PORTAL based on Drupal
JIIT PORTAL based on DrupalJIIT PORTAL based on Drupal
JIIT PORTAL based on DrupalPrashant Saini
 
Adobe Experience Manager Core Components
Adobe Experience Manager Core ComponentsAdobe Experience Manager Core Components
Adobe Experience Manager Core ComponentsGabriel Walt
 
How To Implement a CMS
How To Implement a CMSHow To Implement a CMS
How To Implement a CMSJonathan Smith
 
A Comprehensive Guide on Building Lightning-Fast Websites with React Static S...
A Comprehensive Guide on Building Lightning-Fast Websites with React Static S...A Comprehensive Guide on Building Lightning-Fast Websites with React Static S...
A Comprehensive Guide on Building Lightning-Fast Websites with React Static S...Inexture Solutions
 
Develop Engaging and High Performance Portal Themes That Power Exceptional Di...
Develop Engaging and High Performance Portal Themes That Power Exceptional Di...Develop Engaging and High Performance Portal Themes That Power Exceptional Di...
Develop Engaging and High Performance Portal Themes That Power Exceptional Di...shesmer
 
Drupal and Winona360
Drupal and Winona360Drupal and Winona360
Drupal and Winona360Jose de Leon
 
Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Thomas Daly
 

Similar to In-Fisherman.com - Building an Enterprise Level Drupal Site (20)

Case study infisherman
Case study infishermanCase study infisherman
Case study infisherman
 
Beginner's guide to drupal
Beginner's guide to drupalBeginner's guide to drupal
Beginner's guide to drupal
 
Open Source CMS
Open Source CMSOpen Source CMS
Open Source CMS
 
Mlb drupal bizday_presentation
Mlb drupal bizday_presentationMlb drupal bizday_presentation
Mlb drupal bizday_presentation
 
Site Manager rocks!
Site Manager rocks!Site Manager rocks!
Site Manager rocks!
 
Open Source Content Management Systems
Open Source Content Management SystemsOpen Source Content Management Systems
Open Source Content Management Systems
 
Drupal seminar at DDIT Nadiad
Drupal seminar at DDIT NadiadDrupal seminar at DDIT Nadiad
Drupal seminar at DDIT Nadiad
 
Building Dynamic Websites With Joomla CMS
Building Dynamic Websites With Joomla CMSBuilding Dynamic Websites With Joomla CMS
Building Dynamic Websites With Joomla CMS
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To Drupal
 
Drupal_cubet seminar
Drupal_cubet seminarDrupal_cubet seminar
Drupal_cubet seminar
 
WordPress 3.x for the sake of your sanity
WordPress 3.x for the sake of your sanityWordPress 3.x for the sake of your sanity
WordPress 3.x for the sake of your sanity
 
JIIT PORTAL based on Drupal
JIIT PORTAL based on DrupalJIIT PORTAL based on Drupal
JIIT PORTAL based on Drupal
 
Adobe Experience Manager Core Components
Adobe Experience Manager Core ComponentsAdobe Experience Manager Core Components
Adobe Experience Manager Core Components
 
Drupal
DrupalDrupal
Drupal
 
Php Web Frameworks
Php Web FrameworksPhp Web Frameworks
Php Web Frameworks
 
How To Implement a CMS
How To Implement a CMSHow To Implement a CMS
How To Implement a CMS
 
A Comprehensive Guide on Building Lightning-Fast Websites with React Static S...
A Comprehensive Guide on Building Lightning-Fast Websites with React Static S...A Comprehensive Guide on Building Lightning-Fast Websites with React Static S...
A Comprehensive Guide on Building Lightning-Fast Websites with React Static S...
 
Develop Engaging and High Performance Portal Themes That Power Exceptional Di...
Develop Engaging and High Performance Portal Themes That Power Exceptional Di...Develop Engaging and High Performance Portal Themes That Power Exceptional Di...
Develop Engaging and High Performance Portal Themes That Power Exceptional Di...
 
Drupal and Winona360
Drupal and Winona360Drupal and Winona360
Drupal and Winona360
 
Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Developing Branding Solutions for 2013
Developing Branding Solutions for 2013
 

More from Mediacurrent

Penn State News: Pivoting to Decoupled Drupal with Gatsby
Penn State News: Pivoting to Decoupled Drupal with GatsbyPenn State News: Pivoting to Decoupled Drupal with Gatsby
Penn State News: Pivoting to Decoupled Drupal with GatsbyMediacurrent
 
Evolving How We Measure Digital Success in Higher Ed
Evolving How We Measure Digital Success in Higher EdEvolving How We Measure Digital Success in Higher Ed
Evolving How We Measure Digital Success in Higher EdMediacurrent
 
Penn State scales static Drupal to new heights
Penn State scales static Drupal to new heightsPenn State scales static Drupal to new heights
Penn State scales static Drupal to new heightsMediacurrent
 
Delivering Meaningful Digital Experiences in Higher Ed
Delivering Meaningful Digital Experiences in Higher EdDelivering Meaningful Digital Experiences in Higher Ed
Delivering Meaningful Digital Experiences in Higher EdMediacurrent
 
Content Strategy: Building Connections with Your Audience
Content Strategy: Building Connections with Your AudienceContent Strategy: Building Connections with Your Audience
Content Strategy: Building Connections with Your AudienceMediacurrent
 
Decoupled Drupal and Gatsby in the Real World
Decoupled Drupal and Gatsby in the Real WorldDecoupled Drupal and Gatsby in the Real World
Decoupled Drupal and Gatsby in the Real WorldMediacurrent
 
A Better Way to Build and Manage Sites with Rain for Drupal 9
A Better Way to Build and Manage Sites with Rain for Drupal 9A Better Way to Build and Manage Sites with Rain for Drupal 9
A Better Way to Build and Manage Sites with Rain for Drupal 9Mediacurrent
 
Drupal Security: What You Need to Know
Drupal Security: What You Need to KnowDrupal Security: What You Need to Know
Drupal Security: What You Need to KnowMediacurrent
 
Leveraging Design Systems to Streamline Web Projects
Leveraging Design Systems to Streamline Web ProjectsLeveraging Design Systems to Streamline Web Projects
Leveraging Design Systems to Streamline Web ProjectsMediacurrent
 
Reimagining Your Higher Ed Web Strategy
Reimagining Your Higher Ed Web StrategyReimagining Your Higher Ed Web Strategy
Reimagining Your Higher Ed Web StrategyMediacurrent
 
How to Digitally Transform Higher Ed with Drupal
How to Digitally Transform Higher Ed with DrupalHow to Digitally Transform Higher Ed with Drupal
How to Digitally Transform Higher Ed with DrupalMediacurrent
 
Is my website accessible? Common mistakes (and how to fix them)
Is my website accessible? Common mistakes (and how to fix them)Is my website accessible? Common mistakes (and how to fix them)
Is my website accessible? Common mistakes (and how to fix them)Mediacurrent
 
Managing Images In Large Scale Drupal 8 & 9 Websites
Managing Images In Large Scale Drupal 8 & 9 WebsitesManaging Images In Large Scale Drupal 8 & 9 Websites
Managing Images In Large Scale Drupal 8 & 9 WebsitesMediacurrent
 
Paragraphs v Layout Builder - The Final Showdown
Paragraphs v Layout Builder - The Final ShowdownParagraphs v Layout Builder - The Final Showdown
Paragraphs v Layout Builder - The Final ShowdownMediacurrent
 
MagMutual.com: On the JAMStack with Gatsby and Drupal 8
 MagMutual.com: On the JAMStack with Gatsby and Drupal 8 MagMutual.com: On the JAMStack with Gatsby and Drupal 8
MagMutual.com: On the JAMStack with Gatsby and Drupal 8Mediacurrent
 
Creating an Organizational Culture of Giving Back to Drupal
Creating an Organizational Culture of Giving Back to DrupalCreating an Organizational Culture of Giving Back to Drupal
Creating an Organizational Culture of Giving Back to DrupalMediacurrent
 
Level Up Your Team: Front-End Development Best Practices
Level Up Your Team: Front-End Development Best PracticesLevel Up Your Team: Front-End Development Best Practices
Level Up Your Team: Front-End Development Best PracticesMediacurrent
 
Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9Mediacurrent
 
How to Prove Marketing ROI: Overcoming Digital Marketing Challenges
How to Prove Marketing ROI: Overcoming Digital Marketing ChallengesHow to Prove Marketing ROI: Overcoming Digital Marketing Challenges
How to Prove Marketing ROI: Overcoming Digital Marketing ChallengesMediacurrent
 
Prepare Your Drupal 9 Action Plan
Prepare Your Drupal 9 Action Plan Prepare Your Drupal 9 Action Plan
Prepare Your Drupal 9 Action Plan Mediacurrent
 

More from Mediacurrent (20)

Penn State News: Pivoting to Decoupled Drupal with Gatsby
Penn State News: Pivoting to Decoupled Drupal with GatsbyPenn State News: Pivoting to Decoupled Drupal with Gatsby
Penn State News: Pivoting to Decoupled Drupal with Gatsby
 
Evolving How We Measure Digital Success in Higher Ed
Evolving How We Measure Digital Success in Higher EdEvolving How We Measure Digital Success in Higher Ed
Evolving How We Measure Digital Success in Higher Ed
 
Penn State scales static Drupal to new heights
Penn State scales static Drupal to new heightsPenn State scales static Drupal to new heights
Penn State scales static Drupal to new heights
 
Delivering Meaningful Digital Experiences in Higher Ed
Delivering Meaningful Digital Experiences in Higher EdDelivering Meaningful Digital Experiences in Higher Ed
Delivering Meaningful Digital Experiences in Higher Ed
 
Content Strategy: Building Connections with Your Audience
Content Strategy: Building Connections with Your AudienceContent Strategy: Building Connections with Your Audience
Content Strategy: Building Connections with Your Audience
 
Decoupled Drupal and Gatsby in the Real World
Decoupled Drupal and Gatsby in the Real WorldDecoupled Drupal and Gatsby in the Real World
Decoupled Drupal and Gatsby in the Real World
 
A Better Way to Build and Manage Sites with Rain for Drupal 9
A Better Way to Build and Manage Sites with Rain for Drupal 9A Better Way to Build and Manage Sites with Rain for Drupal 9
A Better Way to Build and Manage Sites with Rain for Drupal 9
 
Drupal Security: What You Need to Know
Drupal Security: What You Need to KnowDrupal Security: What You Need to Know
Drupal Security: What You Need to Know
 
Leveraging Design Systems to Streamline Web Projects
Leveraging Design Systems to Streamline Web ProjectsLeveraging Design Systems to Streamline Web Projects
Leveraging Design Systems to Streamline Web Projects
 
Reimagining Your Higher Ed Web Strategy
Reimagining Your Higher Ed Web StrategyReimagining Your Higher Ed Web Strategy
Reimagining Your Higher Ed Web Strategy
 
How to Digitally Transform Higher Ed with Drupal
How to Digitally Transform Higher Ed with DrupalHow to Digitally Transform Higher Ed with Drupal
How to Digitally Transform Higher Ed with Drupal
 
Is my website accessible? Common mistakes (and how to fix them)
Is my website accessible? Common mistakes (and how to fix them)Is my website accessible? Common mistakes (and how to fix them)
Is my website accessible? Common mistakes (and how to fix them)
 
Managing Images In Large Scale Drupal 8 & 9 Websites
Managing Images In Large Scale Drupal 8 & 9 WebsitesManaging Images In Large Scale Drupal 8 & 9 Websites
Managing Images In Large Scale Drupal 8 & 9 Websites
 
Paragraphs v Layout Builder - The Final Showdown
Paragraphs v Layout Builder - The Final ShowdownParagraphs v Layout Builder - The Final Showdown
Paragraphs v Layout Builder - The Final Showdown
 
MagMutual.com: On the JAMStack with Gatsby and Drupal 8
 MagMutual.com: On the JAMStack with Gatsby and Drupal 8 MagMutual.com: On the JAMStack with Gatsby and Drupal 8
MagMutual.com: On the JAMStack with Gatsby and Drupal 8
 
Creating an Organizational Culture of Giving Back to Drupal
Creating an Organizational Culture of Giving Back to DrupalCreating an Organizational Culture of Giving Back to Drupal
Creating an Organizational Culture of Giving Back to Drupal
 
Level Up Your Team: Front-End Development Best Practices
Level Up Your Team: Front-End Development Best PracticesLevel Up Your Team: Front-End Development Best Practices
Level Up Your Team: Front-End Development Best Practices
 
Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9Best Practices for Moving to Drupal 9
Best Practices for Moving to Drupal 9
 
How to Prove Marketing ROI: Overcoming Digital Marketing Challenges
How to Prove Marketing ROI: Overcoming Digital Marketing ChallengesHow to Prove Marketing ROI: Overcoming Digital Marketing Challenges
How to Prove Marketing ROI: Overcoming Digital Marketing Challenges
 
Prepare Your Drupal 9 Action Plan
Prepare Your Drupal 9 Action Plan Prepare Your Drupal 9 Action Plan
Prepare Your Drupal 9 Action Plan
 

Recently uploaded

Data Analytics Strategy Toolkit and Templates
Data Analytics Strategy Toolkit and TemplatesData Analytics Strategy Toolkit and Templates
Data Analytics Strategy Toolkit and TemplatesAurelien Domont, MBA
 
1911 Gold Corporate Presentation Apr 2024.pdf
1911 Gold Corporate Presentation Apr 2024.pdf1911 Gold Corporate Presentation Apr 2024.pdf
1911 Gold Corporate Presentation Apr 2024.pdfShaun Heinrichs
 
GUIDELINES ON USEFUL FORMS IN FREIGHT FORWARDING (F) Danny Diep Toh MBA.pdf
GUIDELINES ON USEFUL FORMS IN FREIGHT FORWARDING (F) Danny Diep Toh MBA.pdfGUIDELINES ON USEFUL FORMS IN FREIGHT FORWARDING (F) Danny Diep Toh MBA.pdf
GUIDELINES ON USEFUL FORMS IN FREIGHT FORWARDING (F) Danny Diep Toh MBA.pdfDanny Diep To
 
NAB Show Exhibitor List 2024 - Exhibitors Data
NAB Show Exhibitor List 2024 - Exhibitors DataNAB Show Exhibitor List 2024 - Exhibitors Data
NAB Show Exhibitor List 2024 - Exhibitors DataExhibitors Data
 
Lessons from Shanavas M.P. (AKA SHAN) For The Mastering in Entrepreneurship
Lessons from Shanavas M.P. (AKA SHAN) For The Mastering in EntrepreneurshipLessons from Shanavas M.P. (AKA SHAN) For The Mastering in Entrepreneurship
Lessons from Shanavas M.P. (AKA SHAN) For The Mastering in EntrepreneurshipDoge Mining Website
 
Intermediate Accounting, Volume 2, 13th Canadian Edition by Donald E. Kieso t...
Intermediate Accounting, Volume 2, 13th Canadian Edition by Donald E. Kieso t...Intermediate Accounting, Volume 2, 13th Canadian Edition by Donald E. Kieso t...
Intermediate Accounting, Volume 2, 13th Canadian Edition by Donald E. Kieso t...ssuserf63bd7
 
Neha Jhalani Hiranandani: A Guide to Her Life and Career
Neha Jhalani Hiranandani: A Guide to Her Life and CareerNeha Jhalani Hiranandani: A Guide to Her Life and Career
Neha Jhalani Hiranandani: A Guide to Her Life and Careerr98588472
 
MEP Plans in Construction of Building and Industrial Projects 2024
MEP Plans in Construction of Building and Industrial Projects 2024MEP Plans in Construction of Building and Industrial Projects 2024
MEP Plans in Construction of Building and Industrial Projects 2024Chandresh Chudasama
 
Planetary and Vedic Yagyas Bring Positive Impacts in Life
Planetary and Vedic Yagyas Bring Positive Impacts in LifePlanetary and Vedic Yagyas Bring Positive Impacts in Life
Planetary and Vedic Yagyas Bring Positive Impacts in LifeBhavana Pujan Kendra
 
Cyber Security Training in Office Environment
Cyber Security Training in Office EnvironmentCyber Security Training in Office Environment
Cyber Security Training in Office Environmentelijahj01012
 
How do I Check My Health Issues in Astrology.pdf
How do I Check My Health Issues in Astrology.pdfHow do I Check My Health Issues in Astrology.pdf
How do I Check My Health Issues in Astrology.pdfshubhamaapkikismat
 
Driving Business Impact for PMs with Jon Harmer
Driving Business Impact for PMs with Jon HarmerDriving Business Impact for PMs with Jon Harmer
Driving Business Impact for PMs with Jon HarmerAggregage
 
The McKinsey 7S Framework: A Holistic Approach to Harmonizing All Parts of th...
The McKinsey 7S Framework: A Holistic Approach to Harmonizing All Parts of th...The McKinsey 7S Framework: A Holistic Approach to Harmonizing All Parts of th...
The McKinsey 7S Framework: A Holistic Approach to Harmonizing All Parts of th...Operational Excellence Consulting
 
Unveiling the Soundscape Music for Psychedelic Experiences
Unveiling the Soundscape Music for Psychedelic ExperiencesUnveiling the Soundscape Music for Psychedelic Experiences
Unveiling the Soundscape Music for Psychedelic ExperiencesDoe Paoro
 
Technical Leaders - Working with the Management Team
Technical Leaders - Working with the Management TeamTechnical Leaders - Working with the Management Team
Technical Leaders - Working with the Management TeamArik Fletcher
 
How Generative AI Is Transforming Your Business | Byond Growth Insights | Apr...
How Generative AI Is Transforming Your Business | Byond Growth Insights | Apr...How Generative AI Is Transforming Your Business | Byond Growth Insights | Apr...
How Generative AI Is Transforming Your Business | Byond Growth Insights | Apr...Hector Del Castillo, CPM, CPMM
 
Introducing the Analogic framework for business planning applications
Introducing the Analogic framework for business planning applicationsIntroducing the Analogic framework for business planning applications
Introducing the Analogic framework for business planning applicationsKnowledgeSeed
 
How To Simplify Your Scheduling with AI Calendarfly The Hassle-Free Online Bo...
How To Simplify Your Scheduling with AI Calendarfly The Hassle-Free Online Bo...How To Simplify Your Scheduling with AI Calendarfly The Hassle-Free Online Bo...
How To Simplify Your Scheduling with AI Calendarfly The Hassle-Free Online Bo...SOFTTECHHUB
 

Recently uploaded (20)

Data Analytics Strategy Toolkit and Templates
Data Analytics Strategy Toolkit and TemplatesData Analytics Strategy Toolkit and Templates
Data Analytics Strategy Toolkit and Templates
 
Authentically Social - presented by Corey Perlman
Authentically Social - presented by Corey PerlmanAuthentically Social - presented by Corey Perlman
Authentically Social - presented by Corey Perlman
 
1911 Gold Corporate Presentation Apr 2024.pdf
1911 Gold Corporate Presentation Apr 2024.pdf1911 Gold Corporate Presentation Apr 2024.pdf
1911 Gold Corporate Presentation Apr 2024.pdf
 
GUIDELINES ON USEFUL FORMS IN FREIGHT FORWARDING (F) Danny Diep Toh MBA.pdf
GUIDELINES ON USEFUL FORMS IN FREIGHT FORWARDING (F) Danny Diep Toh MBA.pdfGUIDELINES ON USEFUL FORMS IN FREIGHT FORWARDING (F) Danny Diep Toh MBA.pdf
GUIDELINES ON USEFUL FORMS IN FREIGHT FORWARDING (F) Danny Diep Toh MBA.pdf
 
NAB Show Exhibitor List 2024 - Exhibitors Data
NAB Show Exhibitor List 2024 - Exhibitors DataNAB Show Exhibitor List 2024 - Exhibitors Data
NAB Show Exhibitor List 2024 - Exhibitors Data
 
Lessons from Shanavas M.P. (AKA SHAN) For The Mastering in Entrepreneurship
Lessons from Shanavas M.P. (AKA SHAN) For The Mastering in EntrepreneurshipLessons from Shanavas M.P. (AKA SHAN) For The Mastering in Entrepreneurship
Lessons from Shanavas M.P. (AKA SHAN) For The Mastering in Entrepreneurship
 
Intermediate Accounting, Volume 2, 13th Canadian Edition by Donald E. Kieso t...
Intermediate Accounting, Volume 2, 13th Canadian Edition by Donald E. Kieso t...Intermediate Accounting, Volume 2, 13th Canadian Edition by Donald E. Kieso t...
Intermediate Accounting, Volume 2, 13th Canadian Edition by Donald E. Kieso t...
 
Neha Jhalani Hiranandani: A Guide to Her Life and Career
Neha Jhalani Hiranandani: A Guide to Her Life and CareerNeha Jhalani Hiranandani: A Guide to Her Life and Career
Neha Jhalani Hiranandani: A Guide to Her Life and Career
 
MEP Plans in Construction of Building and Industrial Projects 2024
MEP Plans in Construction of Building and Industrial Projects 2024MEP Plans in Construction of Building and Industrial Projects 2024
MEP Plans in Construction of Building and Industrial Projects 2024
 
Planetary and Vedic Yagyas Bring Positive Impacts in Life
Planetary and Vedic Yagyas Bring Positive Impacts in LifePlanetary and Vedic Yagyas Bring Positive Impacts in Life
Planetary and Vedic Yagyas Bring Positive Impacts in Life
 
Cyber Security Training in Office Environment
Cyber Security Training in Office EnvironmentCyber Security Training in Office Environment
Cyber Security Training in Office Environment
 
How do I Check My Health Issues in Astrology.pdf
How do I Check My Health Issues in Astrology.pdfHow do I Check My Health Issues in Astrology.pdf
How do I Check My Health Issues in Astrology.pdf
 
Driving Business Impact for PMs with Jon Harmer
Driving Business Impact for PMs with Jon HarmerDriving Business Impact for PMs with Jon Harmer
Driving Business Impact for PMs with Jon Harmer
 
The McKinsey 7S Framework: A Holistic Approach to Harmonizing All Parts of th...
The McKinsey 7S Framework: A Holistic Approach to Harmonizing All Parts of th...The McKinsey 7S Framework: A Holistic Approach to Harmonizing All Parts of th...
The McKinsey 7S Framework: A Holistic Approach to Harmonizing All Parts of th...
 
Unveiling the Soundscape Music for Psychedelic Experiences
Unveiling the Soundscape Music for Psychedelic ExperiencesUnveiling the Soundscape Music for Psychedelic Experiences
Unveiling the Soundscape Music for Psychedelic Experiences
 
Technical Leaders - Working with the Management Team
Technical Leaders - Working with the Management TeamTechnical Leaders - Working with the Management Team
Technical Leaders - Working with the Management Team
 
How Generative AI Is Transforming Your Business | Byond Growth Insights | Apr...
How Generative AI Is Transforming Your Business | Byond Growth Insights | Apr...How Generative AI Is Transforming Your Business | Byond Growth Insights | Apr...
How Generative AI Is Transforming Your Business | Byond Growth Insights | Apr...
 
Introducing the Analogic framework for business planning applications
Introducing the Analogic framework for business planning applicationsIntroducing the Analogic framework for business planning applications
Introducing the Analogic framework for business planning applications
 
How To Simplify Your Scheduling with AI Calendarfly The Hassle-Free Online Bo...
How To Simplify Your Scheduling with AI Calendarfly The Hassle-Free Online Bo...How To Simplify Your Scheduling with AI Calendarfly The Hassle-Free Online Bo...
How To Simplify Your Scheduling with AI Calendarfly The Hassle-Free Online Bo...
 
WAM Corporate Presentation April 12 2024.pdf
WAM Corporate Presentation April 12 2024.pdfWAM Corporate Presentation April 12 2024.pdf
WAM Corporate Presentation April 12 2024.pdf
 

In-Fisherman.com - Building an Enterprise Level Drupal Site

  • 1. Case Study: In-Fisherman.com – Building an Enterprise Level Drupal Site An overview of the development process, lessons learned and successful techniques for team-based development projects Presented by Paul Chason & Josh Estep
  • 2. Presenter Bio: Paul Chason, Managing Partner Mediacurrent Founder – established March 2004 Master’s Degree Medical Illustration Stints at WebMD, Home Depot Bring left and right brain expertise to Mediacurrent Self-taught web developer ASP.NET / SQL Server, PHP / MySQL, Flash Actionscript, Javascript, CSS, XHTML Adobe CS Expert
  • 3. Presenter Bio: Josh Estep, Drupal Developer BS Computer Science Drupal “Swiss Army Knife” – themer, module developer, MySQL guru 4 years Drupal development experience at large media company XHTML, CSS, Photoshop, Javascript, Perl, PHP, Linux, C++, Java
  • 4. Client Profile InterMedia Outdoors, Inc. (IMO), is the leading multimedia company serving the needs of outdoors enthusiasts Boasts the largest network of websites (16 total) dedicated to hunting, shooting and fishing Websites serve to complement print magazines
  • 5. Challenge Ensure site could be easily managed by in-house development team Build a scalable site that can perform under averages of 67,789 user visits, 266,379 page visits, and an average of 4:1 page visits/user visits in a typical month Leverage Drupal’s social-networking features such as tagging, commenting and user generated content to entice new users
  • 6. Why Drupal? Scalability - Drupal was perceived as the most scalable and extensible open source option Cost - No licensing fees Multi-site / multi-database architecture - Drupal’s flexible multi-site configuration would allow IMO to store content and user data in multiple databases for a single site. Hosting - The expected traffic for the site demanded a low-cost enterprise level hosting environmen; Drupaland the LAMP stack were a natural fit
  • 7. Why Drupal? Flexibility - IMO's previous CMS was inflexible, making it difficult to implement new and innovative features. Drupal’s modular framework, API and theme override capabilities made it the top choice Theme customization - Drupal’s separation of presentation and business logic through the theme layer allowed the In-Fisherman.com UI to undergo significant revisions during and after development Active development community - A fragile economy encouraged open source software vs. a proprietary vendor solution and allowed IMO to not be “locked in” to one vendor
  • 8. In-Fisherman.com Goals Better User Experience - Create an engaging web experience for users by leveraging IMO’s vast repository of sportsman-related content and video Branding - Provide a more modern, contemporary look and feel that reinforced the magazine brand Intriguing Content - Give anglers the ability to quickly find the information they’re seeking by using a well defined taxonomy structure and lists of articles tailored toward a user’s individual preferences Scalability - Careful consideration needed to be given to scaling, isolating points of failure and configuring the site to fail “gracefully”
  • 9. Hosting Architecture “Shuttle” servers store cached content Page requests routed through Cisco Load Balancer, balancer identifies open shuttle MySQL DB master / slave
  • 10. Development Process UI design completed without Drupal in mind Loose set of requirements Agile approach Active Collab for project management Weekly stand up calls with client Use Skype for up to the minute communication among development team Oh Noooo!
  • 11. Design & Theming Worked with NYC-based Brooklyn Design Foundry to implement custom theme Adapted UI design to Zen theme Built “Custom Content” module in place of Panels Developed custom modules for generating Flash widgets and associated XML data Flexibility of Zen allowed for numerous design tweaks during final theming phase
  • 12. Obstacles & Solutions Timeline - Developing 3-4 enterprise class sites in a compressed timeframe (5 or 6 months) Limited information architecture specifications - Project stakeholders met often to discuss items such as data query logic for blocks and layout format of node edit pages Multiple themers - With several developers involved in theming, the team needed to coordinate everyone’s efforts Search - For a general site searching, the Google Search Appliance (GSA) was used
  • 13. Obstacles & Solutions Sharing Data across multiple domains - The In-Fisherman.com site uses several databases to support high-volume traffic Block Flattener module Multidomain module Optimization of multipage nodes - The article content type needed to present up to 6 pages of content Combination of theme overrides in template.php and customization in the node.tpl file Custom module to intercept the clean URL and detect a page number at the end
  • 14. Obstacles & Solutions Data Import - IMO had lots of content (1200+ fishing articles) to be imported from Filemaker Pro database Enterprise level hosting and establishing fault-tolerance – In-Fisherman.com traffic demanded a hosting infrastucture capable of high load Multiple Drupal databases with master/slave database servers If one section of site fails, the other section doesn’t fail with it Partition user data, editorial content and user-generated content
  • 15. In-Fisherman.com Contributed Modules Nice Menus: This easy-to-configure module gave the site’s primary navigation a set JavaScript drop down menus. Fivestar: Allows site users to rate content. Workflow: Gives content contributors the ability to promote content and have it approved by an editor before it’s published. Transliteration: This module “sanitizes” file names for user uploaded content, helping oddly named files become readable by the file server. String Overrides: Gives site administrators a simple way to replace text that’s passed through the Drupal API t() function. TinyMCE: A WYSIWYG editor that gives content contributors the ability to style web site copy.
  • 16. In-Fisherman.com Custom Modules Alternating Content Background Manager: This allows site administrators to update the background images used by an accordion flash widget without having to update XML manually. New images are saved to specific filenames referenced in the XML. Block Flattener and Block Flattener Reader: These modules allow block data to be shared between subdomains without directly accessing a database for block content. Gear Related Articles: This module outputs block content to a flat file for sharing across subdomains, similar to the Block Flattener module. Profanity Input Filter: This provides rudimentary, context-based input filtering via a modifiable set of rules. Site administrators can insert custom string rules of prohibited content. The module then replaces the prohibited strings with asterisks. Fish Profile: Adds radio button-based fields to the profile form and reorganizes the fields. Gear Related Articles Export: Saves block data to a flat file for use by blocks in other subdomains thereby reducing cross domain database calls.
  • 17. In-Fisherman.com Custom Modules IMO import Fix: A helper module that assists in correcting file paths, taxonomy assignments and string replacements during the article import process. In-Fisherman Form Alters: Handles all form alter logic for In-Fisherman.com. Multidomain: Manages the subdomain links for a multi-site Drupalinstall. Node Process: Processes node page calls, allowing nodes to have multiple pages. Profanity Input Filter: Provides an input that can filter profane words or phrases based on a set of rules. SolunarMonth: The In-Fisherman site provides solunar calendars, which provide the best lunar fishing phase in any given month. This module supplies the solunar_month content type for the calendar. CCK couldn’t be utilized because the number of fields required by this content type consistently maxed out PHP’s memory allocation when loading the node edit form. The module also supplies a dynamic XML menu item for a given month and year together. WWW Advanced Search: Generates an advanced search form page, containing category-based filters.
  • 18. Training & Documentation Never overlook the level of effort needed Used Drupal for documentation repository, leveraging the book module Targeted toward developers and content managers Give simple directions and use examples
  • 19. Lessons Learned Break the project down into chunks Use a proven recipe of modules Acquire 3rd party code as soon as possible Orient designers on the “Drupal way”
  • 20. For more information on Mediacurrent Visit www.mediacurrent.com www.twitter.com/mediacurrent paul.chason@mediacurrent.com josh.estep@mediacurrent.com