SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

Drupal overview-training
Drupal overview-trainingDrupal overview-training
Drupal overview-training
Sam Davis
 

Was ist angesagt? (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
 

Andere mochten auch

Requirements & Drupal: Planning for Successful Projects
Requirements & Drupal: Planning for Successful ProjectsRequirements & Drupal: Planning for Successful Projects
Requirements & Drupal: Planning for Successful Projects
Acquia
 
Drupal 8 Preview for Site Builders
Drupal 8 Preview for Site BuildersDrupal 8 Preview for Site Builders
Drupal 8 Preview for Site Builders
Acquia
 

Andere mochten auch (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
 

Ähnlich wie Drupaling a Devleopment Plan

Open Source CMS Playroom
Open Source CMS PlayroomOpen Source CMS Playroom
Open Source CMS Playroom
librarywebchic
 
Complete manual for_teachers
Complete manual for_teachersComplete manual for_teachers
Complete manual for_teachers
Wanalift
 
Wp nhcc portfolio
Wp nhcc portfolioWp nhcc portfolio
Wp nhcc portfolio
gregorvios
 
ARTDM 171, Week 13: Navigation Schemes
ARTDM 171, Week 13: Navigation SchemesARTDM 171, Week 13: Navigation Schemes
ARTDM 171, Week 13: Navigation Schemes
Gilbert Guerrero
 
Maintainable Frontend Development with BEM
Maintainable Frontend Development with BEMMaintainable Frontend Development with BEM
Maintainable Frontend Development with BEM
Varya Stepanova
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

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

Hinweis der Redaktion

  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.