SlideShare une entreprise Scribd logo
1  sur  37
Drupaling a
             Development Plan


Jon Skulski
Drupal Architect, Chapter Three
http://twitter.com/jonskulski
Hello, 7x7.
Hello, Development Plan
Plan. Organize. Structure.
        •   Discover the hard parts, know your
            enemies.

        •   Identify repeated patterns, solve problems
            once.

        •   Explore contributed modules, don’t write
            code if you don’t have to.

        •   Communicate your methods, clients and
            developers like it.

        •   Determine your approach, create a to-do
            list.
Hello, Home Page.
Home Page.
       Top Region




Main Region         Right Region
Dev Plan: Layout


• 3 region, 2 column ‘stacked’ layout
Home Page.
      Logo, Menu, Search


 Blog carousel               Ad


                     Newsletter
                     subscription
                           Sharing
Blog entries (all)
                     List of most
                     popular blog
                        entries
Dev Plan: Pages
  • •Homepage
       Front page of the site: /home
   •   2-column ‘stacked’ layout
   •   Top: logo, menu and search pane
   •   Main:
       •   Blog carousel
       •   All Blog entries
   •   Right:
       •   Ad
       •   Newsletter
       •   Share this
       •   Most Popular view
Top: Logo, Menu, Search

    •   Drupal menu

    •   Search.module or apachesolr

    •   Theme the menu to include logo

    •   Since this is on every page, do a
        custom block or panel pane.
Dev Plan:
Custom Block/Pane


• Logo, Menu, Search
Main: Blog Carousel



  •   Views + Views Carousel

  •   Filter by ‘blog’ type and sort by
      random or most viewed

  •   Potential editorial control with
      nodequeue
Modules
•   node
•   wysiwyg
•   cck
    •     textarea
    •     userreference


•
    •     imagefield
    imagecache (resizes images   • views_carousel
                                 • nodequeue
    dynamically)
•   taxonomy
•   taxonomy_menu
•   search
•   views
•   panels
•   ctools
Dev Plan:Views

• Front Page Carousel
 • Filter by ‘blog’ type
 • Sort by nodequeue
Main: All Blog Entries


           •   Views

           •   Filter by type ‘blog’

           •   Sort by most recent
Dev Plan:Views

• Main Page Blog List
 • all blog entries, sorted by most
        recent
    • use pager after 10
•   Front Page Carousel

    •   Filter by ‘blog’ type, sort by nodequeue
Right: Advertisement




  •   Custom or contributed integration
      with embedded ads service (TBD!)
Dev Plan:
Custom Block/Pane

• Advertisement integration (tbd,
    possible contrib module)
•   Logo, Menu, Search
Right: Newsletter



 •   Constant Contact module provides
     integration and block.

 •   If the form is not themable enough,
     we’ll have to write a custom form.
Right: ShareThis



•   ShareThis module provides a block
    and very themable.
Modules
•   node
•   wysiwyg
•   cck
    •     textarea
    •     userreference


•
    •     imagefield
    imagecache (resizes images
                                 • constant_contact
•
    dynamically)
    taxonomy
                                 • share_this
•   taxonomy_menu
•   search
•   panels
•   ctools
Right: Most Popular




  •   View + statistics

  •   Filtered by all ‘blog’ posts

  •   Sorted by most views
Modules
•   node
•   wysiwyg
•   cck
    •
                                 • statistics (core)
          textarea
    •     userreference
    •     imagefield
•   imagecache (resizes images
    dynamically)
                                 • constant_contact
•
•
    taxonomy
    taxonomy_menu
                                 • share_this
•   search
•   panels
•   ctools
Dev Plan:Views
•   Most Popular Blog Entries list
    •   all blog entries, sorted by most viewed
    •   limit to 5, no pager
    •   use statistics.module for ‘most viewed’ metric
•   Main Page Blog List

    •   all blog entries, sorted by most recent

    •   use pager after 10

•   Front Page Carousel

    •   Filter by ‘blog’ type, sort by nodequeue
Home Page.
      Logo, Menu, Search


 Blog carousel               Ad


                     Newsletter
                     subscription
                           Sharing
Blog entries (all)
                     List of most
                     popular blog
                        entries
Hello, Panels.
Hello, Home Page.
Hello, Blog Entry.
Blog Entry, simplified.
Title

Image
(specific width)


Image caption
(html capable)


Body
Content Types

• Blog Entry
 • Title (node)
 • Body (node)
 • Image (cck, imagefield, imagecache)
 • Image caption w/ html (cck, textarea)
Blog Entry, continued.


Body
(html capable)




Categories
(tags)
Content Types

• Blog Entry
 • Title (node)
 • Body w/ html (node, wysiwyg, tinymce)
 • Image (cck, imagefield, imagecache)
 • Image caption w/ html (cck, textarea)
 • Category and Free tagging (taxonomy)
Dev Plan: Modules
•   node
•   wysiwyg
•   cck
    •     textarea
    •     userreference
    •     imagefield
•   imagecache (resizes images dynamically)
•   taxonomy
•   taxonomy_menu
•   search
Taxonomies

• Free tags
• Category
 •   Eat & Drink

 •   Lifestyle

 •   Arts & Entertainment

 •   Fashion
Rinse & Repeat.
For every distinct group of content.
Hello, Website.
Thank you!


Jon Skulski
Drupal Architect, Chapter Three
http://twitter.com/jonskulski

Contenu connexe

Tendances

Creating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon BaltimoreCreating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon BaltimoreSuzanne Dergacheva
 
Drupal overview-training
Drupal overview-trainingDrupal overview-training
Drupal overview-trainingSam Davis
 
Drupal - Blocks vs Context vs Panels
Drupal - Blocks vs Context vs PanelsDrupal - Blocks vs Context vs Panels
Drupal - Blocks vs Context vs PanelsDavid Burns
 
Put A Map On It! Enhanced geolocation in WordPress with Geo Mashup
Put A Map On It! Enhanced geolocation in WordPress with Geo MashupPut A Map On It! Enhanced geolocation in WordPress with Geo Mashup
Put A Map On It! Enhanced geolocation in WordPress with Geo MashupJer Clarke
 
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon Dublin
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon DublinCreating Layouts and Landing Pages for Drupal 8 - DrupalCon Dublin
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon DublinSuzanne Dergacheva
 
MIE Toolbox, a Case for Drupal as an Application Framework
MIE Toolbox, a Case for Drupal as an Application FrameworkMIE Toolbox, a Case for Drupal as an Application Framework
MIE Toolbox, a Case for Drupal as an Application FrameworkLev Tsypin
 
Fastest Way to DRUPAL
Fastest Way to DRUPALFastest Way to DRUPAL
Fastest Way to DRUPALBrahm
 
Creating a Reusable Drupal Website for Higher Education - Webinar
Creating a Reusable Drupal Website for Higher Education - WebinarCreating a Reusable Drupal Website for Higher Education - Webinar
Creating a Reusable Drupal Website for Higher Education - WebinarSuzanne Dergacheva
 
Blogging with drupal
Blogging with drupalBlogging with drupal
Blogging with drupalChris Ward
 
Zurb foundation
Zurb foundationZurb foundation
Zurb foundationsean_todd
 
Synapse india reviews on drupal intro
Synapse india reviews on drupal introSynapse india reviews on drupal intro
Synapse india reviews on drupal introTarunsingh198
 
The Foundations of Being Sassy in Drupal
The Foundations of Being Sassy in DrupalThe Foundations of Being Sassy in Drupal
The Foundations of Being Sassy in DrupalEllie Roepken
 
Webiny CMS Starter Guide
Webiny CMS Starter GuideWebiny CMS Starter Guide
Webiny CMS Starter GuideWebiny
 
Using Foundation with Drupal
Using Foundation with DrupalUsing Foundation with Drupal
Using Foundation with DrupalExove
 

Tendances (19)

Creating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon BaltimoreCreating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
Creating Landing Pages and Layouts for Drupal 8 - DrupalCon Baltimore
 
Wordpress genesis september 3 english rev cg
Wordpress genesis september 3 english rev cgWordpress genesis september 3 english rev cg
Wordpress genesis september 3 english rev cg
 
Drupal overview-training
Drupal overview-trainingDrupal overview-training
Drupal overview-training
 
Drupal - Blocks vs Context vs Panels
Drupal - Blocks vs Context vs PanelsDrupal - Blocks vs Context vs Panels
Drupal - Blocks vs Context vs Panels
 
jQuery for Drupal
jQuery for DrupaljQuery for Drupal
jQuery for Drupal
 
Put A Map On It! Enhanced geolocation in WordPress with Geo Mashup
Put A Map On It! Enhanced geolocation in WordPress with Geo MashupPut A Map On It! Enhanced geolocation in WordPress with Geo Mashup
Put A Map On It! Enhanced geolocation in WordPress with Geo Mashup
 
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon Dublin
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon DublinCreating Layouts and Landing Pages for Drupal 8 - DrupalCon Dublin
Creating Layouts and Landing Pages for Drupal 8 - DrupalCon Dublin
 
MIE Toolbox, a Case for Drupal as an Application Framework
MIE Toolbox, a Case for Drupal as an Application FrameworkMIE Toolbox, a Case for Drupal as an Application Framework
MIE Toolbox, a Case for Drupal as an Application Framework
 
Fastest Way to DRUPAL
Fastest Way to DRUPALFastest Way to DRUPAL
Fastest Way to DRUPAL
 
Creating a Reusable Drupal Website for Higher Education - Webinar
Creating a Reusable Drupal Website for Higher Education - WebinarCreating a Reusable Drupal Website for Higher Education - Webinar
Creating a Reusable Drupal Website for Higher Education - Webinar
 
Blogging with drupal
Blogging with drupalBlogging with drupal
Blogging with drupal
 
Zurb foundation
Zurb foundationZurb foundation
Zurb foundation
 
Synapse india reviews on drupal intro
Synapse india reviews on drupal introSynapse india reviews on drupal intro
Synapse india reviews on drupal intro
 
The Foundations of Being Sassy in Drupal
The Foundations of Being Sassy in DrupalThe Foundations of Being Sassy in Drupal
The Foundations of Being Sassy in Drupal
 
Joomla! theming
Joomla! themingJoomla! theming
Joomla! theming
 
WordPress as a CMS
WordPress as a CMSWordPress as a CMS
WordPress as a CMS
 
Drupal101
Drupal101Drupal101
Drupal101
 
Webiny CMS Starter Guide
Webiny CMS Starter GuideWebiny CMS Starter Guide
Webiny CMS Starter Guide
 
Using Foundation with Drupal
Using Foundation with DrupalUsing Foundation with Drupal
Using Foundation with Drupal
 

En vedette

Requirements & Drupal: Planning for Successful Projects
Requirements & Drupal: Planning for Successful ProjectsRequirements & Drupal: Planning for Successful Projects
Requirements & Drupal: Planning for Successful ProjectsAcquia
 
Responsive web design standards?
Responsive web design standards?Responsive web design standards?
Responsive web design standards?Chris Mills
 
Strategic UX for Drupal projects
Strategic UX for Drupal projectsStrategic UX for Drupal projects
Strategic UX for Drupal projectsDani Nordin
 
Drupal project timeline
Drupal project timelineDrupal project timeline
Drupal project timelineArdi Hundt
 
Building Drupal 8 Sites
Building Drupal 8 SitesBuilding Drupal 8 Sites
Building Drupal 8 SitesExove
 
Building rednoseday.com on Drupal 8
Building rednoseday.com on Drupal 8Building rednoseday.com on Drupal 8
Building rednoseday.com on Drupal 8Peter Vanhee
 
Things to Budget for When Planning a Drupal Implementation
Things to Budget for When Planning a Drupal ImplementationThings to Budget for When Planning a Drupal Implementation
Things to Budget for When Planning a Drupal ImplementationDani Nordin
 
Features, Exportables & You
Features, Exportables & YouFeatures, Exportables & You
Features, Exportables & Youjskulski
 
The Glue: How to Stick a Drupal Project with Project Management
The Glue: How to Stick a Drupal Project with Project ManagementThe Glue: How to Stick a Drupal Project with Project Management
The Glue: How to Stick a Drupal Project with Project ManagementSusan McCormick
 
Drupal 8 Preview for Site Builders
Drupal 8 Preview for Site BuildersDrupal 8 Preview for Site Builders
Drupal 8 Preview for Site BuildersAcquia
 
Media Project Plan Timeline New
Media Project Plan Timeline NewMedia Project Plan Timeline New
Media Project Plan Timeline NewJosephKnight
 

En vedette (11)

Requirements & Drupal: Planning for Successful Projects
Requirements & Drupal: Planning for Successful ProjectsRequirements & Drupal: Planning for Successful Projects
Requirements & Drupal: Planning for Successful Projects
 
Responsive web design standards?
Responsive web design standards?Responsive web design standards?
Responsive web design standards?
 
Strategic UX for Drupal projects
Strategic UX for Drupal projectsStrategic UX for Drupal projects
Strategic UX for Drupal projects
 
Drupal project timeline
Drupal project timelineDrupal project timeline
Drupal project timeline
 
Building Drupal 8 Sites
Building Drupal 8 SitesBuilding Drupal 8 Sites
Building Drupal 8 Sites
 
Building rednoseday.com on Drupal 8
Building rednoseday.com on Drupal 8Building rednoseday.com on Drupal 8
Building rednoseday.com on Drupal 8
 
Things to Budget for When Planning a Drupal Implementation
Things to Budget for When Planning a Drupal ImplementationThings to Budget for When Planning a Drupal Implementation
Things to Budget for When Planning a Drupal Implementation
 
Features, Exportables & You
Features, Exportables & YouFeatures, Exportables & You
Features, Exportables & You
 
The Glue: How to Stick a Drupal Project with Project Management
The Glue: How to Stick a Drupal Project with Project ManagementThe Glue: How to Stick a Drupal Project with Project Management
The Glue: How to Stick a Drupal Project with Project Management
 
Drupal 8 Preview for Site Builders
Drupal 8 Preview for Site BuildersDrupal 8 Preview for Site Builders
Drupal 8 Preview for Site Builders
 
Media Project Plan Timeline New
Media Project Plan Timeline NewMedia Project Plan Timeline New
Media Project Plan Timeline New
 

Similaire à Drupaling a Devleopment Plan

Drupal: an Overview
Drupal: an OverviewDrupal: an Overview
Drupal: an OverviewMatt Weaver
 
Open Source CMS Playroom
Open Source CMS PlayroomOpen Source CMS Playroom
Open Source CMS Playroomlibrarywebchic
 
Complete manual for_teachers
Complete manual for_teachersComplete manual for_teachers
Complete manual for_teachersWanalift
 
Gutenberg (WidgiLabs Training Sessions)
Gutenberg  (WidgiLabs Training Sessions)Gutenberg  (WidgiLabs Training Sessions)
Gutenberg (WidgiLabs Training Sessions)Nuno Morgadinho
 
Wp nhcc portfolio
Wp nhcc portfolioWp nhcc portfolio
Wp nhcc portfoliogregorvios
 
ARTDM 171, Week 13: Navigation Schemes
ARTDM 171, Week 13: Navigation SchemesARTDM 171, Week 13: Navigation Schemes
ARTDM 171, Week 13: Navigation SchemesGilbert Guerrero
 
Patacs wp.com slides_oct_2018_final3
Patacs wp.com slides_oct_2018_final3Patacs wp.com slides_oct_2018_final3
Patacs wp.com slides_oct_2018_final3gvaughan
 
Maintainable Frontend Development with BEM
Maintainable Frontend Development with BEMMaintainable Frontend Development with BEM
Maintainable Frontend Development with BEMVarya Stepanova
 
Web technologies-course 06.pptx
Web technologies-course 06.pptxWeb technologies-course 06.pptx
Web technologies-course 06.pptxStefan Oprea
 
Corporate blogging
Corporate bloggingCorporate blogging
Corporate bloggingdifuzr
 
Workshop I: Intro to Using Drupal
Workshop I: Intro to Using DrupalWorkshop I: Intro to Using Drupal
Workshop I: Intro to Using Drupalkdmarks
 
Stupid Index Block Tricks
Stupid Index Block TricksStupid Index Block Tricks
Stupid Index Block Trickshannonhill
 
WordPress Blogs 101
WordPress Blogs 101WordPress Blogs 101
WordPress Blogs 101Tom McGee
 
WordPress Intermediate Workshop
WordPress Intermediate WorkshopWordPress Intermediate Workshop
WordPress Intermediate WorkshopThe Toolbox, Inc.
 

Similaire à Drupaling a Devleopment Plan (20)

Drupal: an Overview
Drupal: an OverviewDrupal: an Overview
Drupal: an Overview
 
Open Source CMS Playroom
Open Source CMS PlayroomOpen Source CMS Playroom
Open Source CMS Playroom
 
Complete manual for_teachers
Complete manual for_teachersComplete manual for_teachers
Complete manual for_teachers
 
Gutenberg (WidgiLabs Training Sessions)
Gutenberg  (WidgiLabs Training Sessions)Gutenberg  (WidgiLabs Training Sessions)
Gutenberg (WidgiLabs Training Sessions)
 
Wp nhcc portfolio
Wp nhcc portfolioWp nhcc portfolio
Wp nhcc portfolio
 
Wordpress overview
Wordpress overviewWordpress overview
Wordpress overview
 
Drupal In 1 Hour
Drupal In 1 HourDrupal In 1 Hour
Drupal In 1 Hour
 
72d5drupal
72d5drupal72d5drupal
72d5drupal
 
ARTDM 171, Week 13: Navigation Schemes
ARTDM 171, Week 13: Navigation SchemesARTDM 171, Week 13: Navigation Schemes
ARTDM 171, Week 13: Navigation Schemes
 
Patacs wp.com slides_oct_2018_final3
Patacs wp.com slides_oct_2018_final3Patacs wp.com slides_oct_2018_final3
Patacs wp.com slides_oct_2018_final3
 
BackboneJS
BackboneJSBackboneJS
BackboneJS
 
Maintainable Frontend Development with BEM
Maintainable Frontend Development with BEMMaintainable Frontend Development with BEM
Maintainable Frontend Development with BEM
 
Last Call Media Drupal 8 Case Study
Last Call Media Drupal 8 Case StudyLast Call Media Drupal 8 Case Study
Last Call Media Drupal 8 Case Study
 
Web technologies-course 06.pptx
Web technologies-course 06.pptxWeb technologies-course 06.pptx
Web technologies-course 06.pptx
 
Corporate blogging
Corporate bloggingCorporate blogging
Corporate blogging
 
Workshop I: Intro to Using Drupal
Workshop I: Intro to Using DrupalWorkshop I: Intro to Using Drupal
Workshop I: Intro to Using Drupal
 
Stupid Index Block Tricks
Stupid Index Block TricksStupid Index Block Tricks
Stupid Index Block Tricks
 
WordPress Blogs 101
WordPress Blogs 101WordPress Blogs 101
WordPress Blogs 101
 
WordPress Intermediate Workshop
WordPress Intermediate WorkshopWordPress Intermediate Workshop
WordPress Intermediate Workshop
 
Jumpstart Your Web App
Jumpstart Your Web AppJumpstart Your Web App
Jumpstart Your Web App
 

Dernier

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Dernier (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

Drupaling a Devleopment Plan

  • 1. Drupaling a Development Plan Jon Skulski Drupal Architect, Chapter Three http://twitter.com/jonskulski
  • 4. Plan. Organize. Structure. • Discover the hard parts, know your enemies. • Identify repeated patterns, solve problems once. • Explore contributed modules, don’t write code if you don’t have to. • Communicate your methods, clients and developers like it. • Determine your approach, create a to-do list.
  • 6. Home Page. Top Region Main Region Right Region
  • 7. Dev Plan: Layout • 3 region, 2 column ‘stacked’ layout
  • 8. Home Page. Logo, Menu, Search Blog carousel Ad Newsletter subscription Sharing Blog entries (all) List of most popular blog entries
  • 9. Dev Plan: Pages • •Homepage Front page of the site: /home • 2-column ‘stacked’ layout • Top: logo, menu and search pane • Main: • Blog carousel • All Blog entries • Right: • Ad • Newsletter • Share this • Most Popular view
  • 10. Top: Logo, Menu, Search • Drupal menu • Search.module or apachesolr • Theme the menu to include logo • Since this is on every page, do a custom block or panel pane.
  • 11. Dev Plan: Custom Block/Pane • Logo, Menu, Search
  • 12. Main: Blog Carousel • Views + Views Carousel • Filter by ‘blog’ type and sort by random or most viewed • Potential editorial control with nodequeue
  • 13. Modules • node • wysiwyg • cck • textarea • userreference • • imagefield imagecache (resizes images • views_carousel • nodequeue dynamically) • taxonomy • taxonomy_menu • search • views • panels • ctools
  • 14. Dev Plan:Views • Front Page Carousel • Filter by ‘blog’ type • Sort by nodequeue
  • 15. Main: All Blog Entries • Views • Filter by type ‘blog’ • Sort by most recent
  • 16. Dev Plan:Views • Main Page Blog List • all blog entries, sorted by most recent • use pager after 10 • Front Page Carousel • Filter by ‘blog’ type, sort by nodequeue
  • 17. Right: Advertisement • Custom or contributed integration with embedded ads service (TBD!)
  • 18. Dev Plan: Custom Block/Pane • Advertisement integration (tbd, possible contrib module) • Logo, Menu, Search
  • 19. Right: Newsletter • Constant Contact module provides integration and block. • If the form is not themable enough, we’ll have to write a custom form.
  • 20. Right: ShareThis • ShareThis module provides a block and very themable.
  • 21. Modules • node • wysiwyg • cck • textarea • userreference • • imagefield imagecache (resizes images • constant_contact • dynamically) taxonomy • share_this • taxonomy_menu • search • panels • ctools
  • 22. Right: Most Popular • View + statistics • Filtered by all ‘blog’ posts • Sorted by most views
  • 23. Modules • node • wysiwyg • cck • • statistics (core) textarea • userreference • imagefield • imagecache (resizes images dynamically) • constant_contact • • taxonomy taxonomy_menu • share_this • search • panels • ctools
  • 24. Dev Plan:Views • Most Popular Blog Entries list • all blog entries, sorted by most viewed • limit to 5, no pager • use statistics.module for ‘most viewed’ metric • Main Page Blog List • all blog entries, sorted by most recent • use pager after 10 • Front Page Carousel • Filter by ‘blog’ type, sort by nodequeue
  • 25. Home Page. Logo, Menu, Search Blog carousel Ad Newsletter subscription Sharing Blog entries (all) List of most popular blog entries
  • 29. Blog Entry, simplified. Title Image (specific width) Image caption (html capable) Body
  • 30. Content Types • Blog Entry • Title (node) • Body (node) • Image (cck, imagefield, imagecache) • Image caption w/ html (cck, textarea)
  • 31. Blog Entry, continued. Body (html capable) Categories (tags)
  • 32. Content Types • Blog Entry • Title (node) • Body w/ html (node, wysiwyg, tinymce) • Image (cck, imagefield, imagecache) • Image caption w/ html (cck, textarea) • Category and Free tagging (taxonomy)
  • 33. Dev Plan: Modules • node • wysiwyg • cck • textarea • userreference • imagefield • imagecache (resizes images dynamically) • taxonomy • taxonomy_menu • search
  • 34. Taxonomies • Free tags • Category • Eat & Drink • Lifestyle • Arts & Entertainment • Fashion
  • 35. Rinse & Repeat. For every distinct group of content.
  • 37. Thank you! Jon Skulski Drupal Architect, Chapter Three http://twitter.com/jonskulski

Notes de l'éditeur

  1. Introduction. Today going to talk about building a drupal development plan. After talking with clients about what want, and going through a design phase (often w/o drupal in mind) how do we plan to build that out in drupal. This is a large part of my job, ‘digesting’ a composition into a complete list of steps that a developer can take and implement. Dividing and conquering.
  2. Today we are going to be working with a comp from the SF mag 7x7. 7x7 is a SF culture magazine focusing on food, fashion and events. It’s a good idea of a ‘drupal kill zone’ site - blog content centric with some bells and wistles to make it interesting.
  3. We create a document with the goal that this could be handed to a developer or shop and be turned into a website by following the steps. You should do this for every site. I even did it for my personal blog site informal way.
  4. going through this mental exercise will let you..., - know where the hard parts, know where you are going to spend a lot of your time. and get an idea how you are going to solve them. - know how to solve problems once once. know what you can generalize to give greater control to the user - give yourself time to explore the contrib modules. sometimes a referral to a module comes out of small talk at user groups, etc. if you have it the back of your mind, someone might make a random comment how to solve your problem. - clients like to know 1) that you’ll solve their problem and 2) how you are going to solve it (even if you they don’t understand.) It will also help you when you need to work with other developers. - you are writing yourself a to-do list. it’ll keep you focused.
  5. Let’s take a look at the front page comp to get started. - iterative process, and you’ll want to understand every comp you get so that you can recognize all the connections the website can have. (This page references the Article entry, this search box shows up on all pages, etc). but we’ll step through serially so we’re not here.
  6. Our first cut. Notice the layout. Since this site is rather simple, all pages share the same layout.
  7. (stacked means there that section at the top)
  8. Take a look at your page, and divide it up. What are the independent elements? What elements will appear on other pages of the site?
  9. So write it down. before we start building each of these blocks, we keep hearing a word “blog”, let’s figure out what that is.
  10. So write it down. before we start building each of these blocks, we keep hearing a word “blog”, let’s figure out what that is.
  11. - nodequeue allows administrators to create a orderable list of nodes and allows views to use it
  12. Usual ones on the left, we add our new ones on the right
  13. So write it down. before we start building each of these blocks, we keep hearing a word “blog”, let’s figure out what that is.
  14. Add to dev plan
  15. Depending on the client’s pick, we would integrate or use a contributed module
  16. So write it down. before we start building each of these blocks, we keep hearing a word “blog”, let’s figure out what that is.
  17. Custom drupal form could be used to integrate with other services
  18. Custom drupal form could be used to integrate with other services
  19. Usual ones on the left, we add our new ones on the right
  20. node.statistics will give you rudimentary node view statistics. also google analytics is a possible solution
  21. Usual ones on the left, we add our new ones on the right
  22. Add to dev plan
  23. Take a look at your page, and divide it up. What are the independent elements? What elements will appear on other pages of the site?
  24. Now there are a lot of ways you can glue things together in drupal. I’m particular to the module panels. Provides this interface: - reflective of the the actual layout, more intuitive to admins - see it looks like the layout - each one of those boxes are pieces of content (i.e. “most popular” is the view created)
  25. Let’s take a look at the front page comp to get started. - iterative process, and you’ll want to understand every comp you get so that you can recognize all the connections the website can have. (This page references the Article entry, this search box shows up on all pages, etc). but we’ll step through serially so we’re not here.
  26. Now lets talk about this 'blog' entry we were talking about. We’ll start with the central idea of the 7x7 site, the blog entry. This is the design for the view for a single entry ‘when you’re reading one’. So now we start to dissect the composition-
  27. We'll strip it down so that we ignroe all the extra pieces. (we can build those like
  28. So we simply write these down into our plan. Title, body come from node. CCK (content construction kit) is a module to allow us to tell Drupal the type of stuff we are saying here. “I want to have a content type called Article with an image, title and body. I want to be able to enter URLs. I want to reference other Articles”. CCK will be on every site you build you build in drupal 6. it’s called ‘fields’ in drupal 7. We use a cck text area because we can easily imagine a long caption. Also, in the comp, we can use html. Text areas are better suited for that.
  29. Looking over the comp more, we see the body needs to have to able to accept some html. We also know (from our talks with them) that they would like to be able to specify the author for a blog entry. They also want to be able to link to their user page bio. The best solution for us is to use a cck user reference field and a theme preprocess to place. We also see that they want to categorize their blog entries. Again, from our talks they would liek a free tagging vocabulary. Let’s update our dev plan
  30. So we update out content type dev plan. But we can also distill more information
  31. Contributed modules. These are the ones we’ll depend on for the blog entry view.
  32. We have two types of categories for each blog entry, free tagging which can be anything and a category which was specified by the client.
  33. Now we rinse and repeat.
  34. So now we have to begin to put this together.
  35. Introduction. Today going to talk about building a drupal development plan. After talking with clients about what want, and going through a design phase (often w/o drupal in mind) how do we plan to build that out in drupal. This is a large part of my job, ‘digesting’ a composition into a complete list of steps that a developer can take and implement. Dividing and conquering.