icfi.com | Drupal Site Building for Developers | May 21, 2015
icfi.com | 2 Agenda Our Objectives Drupal Site Building training is aimed at providing a comprehensive intro to the Drupal CMS. • Understand what Drupal is • Install and work with over 20 contributed modules • Build schema structure via content types and entity reference • Work with various tools for laying out content • Understand migration strategies • Develop fully functional event management system Today’s Agenda  Introduction to Drupal  Administering Drupal  Building Site Structure  Custom Layouts  Importing Data  Managing Content with Views
icfi.com | 3 • • • • • • Introduction to Drupal 1
icfi.com | 4 What is Drupal? INTRODUCTION TO DRUPAL “Drupal is a completely free, open source content management system that many intelligent companies are using today to provide for their needs. Drupal's many features and add-ons allow it to be used for a variety of website needs; perhaps for marketing, internal communications, informational websites, or for social networking purposes.” Drupal is a CMS for Building Dynamic Websites Similar to other CMS solutions, Drupal allows you to easily setup and deploy a dynamic website solution out of the box. Drupal is an Application Framework Extensive API and Hook system allows for rapid development of custom modules, themes and add-on APIs for developers. Drupal is a PHP based CMS/Framework. Drupal is a Social and Semantic Web Platform Tools have been built into Drupal including support for Resource Description Framework (RDF) to enable sharing of data with different web sources. Drupal is a Community The Drupal Community is extremely active, especially in the Washington DC Metro area with conferences, frequent meetups and local user groups.
icfi.com | 5 How Drupal Manages Content INTRODUCTION TO DRUPAL Drupal provides a number of different content types out of the box. These are templates that enable an end user to create a piece of content that will be published on the site. Content types are managed and published through the administration area of Drupal and are displayed through a Node. Node: An individual piece of content: news item, event listing, simple page, blog entry. Nodes can also have custom fields. Field: Fields can be used to attach images or files to content, create extra descriptors, or reference other nodes. Block: A standalone piece of reusable content that can be configured to display based on any criteria that you set. Users, Roles and Permissions: Drupal allows you to create unique roles for anything that might need to happen on your site and set permissions for each role depending on what that role might need to do. Module: A plug-in that adds functionality to your site. Out of the box, Drupal provides a strong framework, but the point of the framework is to add functionality to it using modules. View: An organized list of individual pieces of content that you create within the site, using the Views module.
icfi.com | 6 How Does Drupal Compare to Other CMS’s? INTRODUCTION TO DRUPAL Drupal and other CMS platforms are constantly in a state of change. Based on past experience with WordPress, Joomla and custom developed systems, a few comparison notes are provided. WordPress • WordPress was primarily built as a blogging engine and later developed into a CMS. It is great for developing small to medium sized websites, however it was never built to scale as an enterprise level CMS. • Drupal assumes at its core there will be many kinds of users with many requirements. At its core, WordPress on the other hand was developed only for one type of user in mind and later adapted accordingly. • Drupal provides more extensive development framework for many different types of websites: blogs, forums, e-commerce, CRM, intranets, social networks, news aggregators, wikis, photo galleries, restaurant review sites. Joomla • Joomla is arguably a better product ‘out-of-the-box’ as it provides much of the expected advanced features of a CMS already built-in. • Drupal on the other hand is limited out-of-the-box, however it provides a more extensive framework for developing a more advanced site. “On the same grounds, if you can master it, Drupal 7.0 is the best CMS” More information: http://www.chapterthree.com/blog/jennifer-lampton/wordpress-vs-drupal-saga-continues http://www.pcpro.co.uk/blogs/2011/02/02/joomla-1-6-vs-drupal-7-0/
icfi.com | 7 Drupal Development Roles INTRODUCTION TO DRUPAL A typical Drupal site at ICF consists of 80% building and theming and about 20% custom development / programming. Requirements Lead Site Builder Programmer Designer Themer Note: We will be focusing on Site Builder, Programmer, and Themer only
icfi.com | 8 • • • • • • Administering Drupal 2
icfi.com | 9 Drupal Administration ADMINISTERING DRUPAL Dashboard Structure Appearance People Modules Configuration Reports Help
icfi.com | 10 Setting up Our Toolkit ADMINISTERING DRUPAL Administration Menu Coffee Backup and Migrate Module Filter Module Instructions Install Contributed Modules  drush dl = download a module  drush en = enable a module  Use the machine name  Verify Installation in Admin/Modules
icfi.com | 11 • • • • • Building Site Structure 3
icfi.com | 12 Site Concept BUILDING SITE STRUCTURE ICF Software Solutions  ICF Software Solutions is a website for a small division within ICF that sells pre- packaged software titles.  The website lists all available software and provides functionality for reviews and ratings.  A fully functional event-management system allows for training and webinar registrations.
icfi.com | 13 Defining Content Types BUILDING SITE STRUCTURE Product  Name  Description / Body  Image Review  Title  Description  Rating  Product Reference Dependencies Entity Reference(Ctools, Entity) Five Star (Voting API)
icfi.com | 14 • • • • • • Custom Layouts 4
icfi.com | 15 View Modes and the Views Module CUSTOM LAYOUTS ICF Software Solutions Home Content Review of “Drupal Training Software” Features: ****** Usability: *** Value: ******** ICF’s Drupal Training Software is one of the best training programs on the market currently. The only issue is that it lacks user friendly features. In addition to this the author obviously can’t spell Drupel correctly. This is a good deal in terms of value for money, however additional features would make this a better rounded product. About This Product Best training resource for Drupal on the market.
icfi.com | 16 Contributed Modules for Content Positioning and Layout Layout Options within Drupal 7 View Mode Display Suite: Custom Layout Display Suite: Region to Block Panels Context CUSTOM LAYOUTS
icfi.com | 17 When to use one method over the other Layout Options within Drupal 7 CUSTOM LAYOUTS Display Suite  Splits up Configuration  Uses Familiar Interface  Use Theme Regions, too  Limited Layouts  Collapsable Regions  Custom View Modes Panels  Centralizes Configuration  Unique Interface  Regions in Content Area  Create Custom Layouts  Fixed Layout Regions  No Custom View Modes
icfi.com | 18 • • • • • • Importing Data to Drupal 5
icfi.com | 19 Feeds vs Migrate IMPORTING DATA TO DRUPAL Options: Feeds  Easy to setup and use  Works with basic setup – Fetcher, Parser, Processor  Not as good with advanced schemas Migrate  Provides heavy lifting migration  Automation via Drush for import, rollback, etc.  Requires programming migration scripts using PHP associations
icfi.com | 20 • • • • • • Managing Content with Views 6
icfi.com | Proprietary and Confidential Building an Event Management System Views Calendar Date ICAL Libraries Flag Event Management Suite for managers and attendees SQL-Like Queries and Content Manipulation Views templates for calendar and event management Third party libraries for ICS file generation General purpose flagging module for content nodes MANAGING CONTENT WITH VIEWS
icfi.com | 22 Discussion & Questions

Drupal Site Building for Developers

  • 1.
    icfi.com | Drupal Site Buildingfor Developers | May 21, 2015
  • 2.
    icfi.com | 2 Agenda OurObjectives Drupal Site Building training is aimed at providing a comprehensive intro to the Drupal CMS. • Understand what Drupal is • Install and work with over 20 contributed modules • Build schema structure via content types and entity reference • Work with various tools for laying out content • Understand migration strategies • Develop fully functional event management system Today’s Agenda  Introduction to Drupal  Administering Drupal  Building Site Structure  Custom Layouts  Importing Data  Managing Content with Views
  • 3.
    icfi.com | 3 •• • • • • Introduction to Drupal 1
  • 4.
    icfi.com | 4 Whatis Drupal? INTRODUCTION TO DRUPAL “Drupal is a completely free, open source content management system that many intelligent companies are using today to provide for their needs. Drupal's many features and add-ons allow it to be used for a variety of website needs; perhaps for marketing, internal communications, informational websites, or for social networking purposes.” Drupal is a CMS for Building Dynamic Websites Similar to other CMS solutions, Drupal allows you to easily setup and deploy a dynamic website solution out of the box. Drupal is an Application Framework Extensive API and Hook system allows for rapid development of custom modules, themes and add-on APIs for developers. Drupal is a PHP based CMS/Framework. Drupal is a Social and Semantic Web Platform Tools have been built into Drupal including support for Resource Description Framework (RDF) to enable sharing of data with different web sources. Drupal is a Community The Drupal Community is extremely active, especially in the Washington DC Metro area with conferences, frequent meetups and local user groups.
  • 5.
    icfi.com | 5 HowDrupal Manages Content INTRODUCTION TO DRUPAL Drupal provides a number of different content types out of the box. These are templates that enable an end user to create a piece of content that will be published on the site. Content types are managed and published through the administration area of Drupal and are displayed through a Node. Node: An individual piece of content: news item, event listing, simple page, blog entry. Nodes can also have custom fields. Field: Fields can be used to attach images or files to content, create extra descriptors, or reference other nodes. Block: A standalone piece of reusable content that can be configured to display based on any criteria that you set. Users, Roles and Permissions: Drupal allows you to create unique roles for anything that might need to happen on your site and set permissions for each role depending on what that role might need to do. Module: A plug-in that adds functionality to your site. Out of the box, Drupal provides a strong framework, but the point of the framework is to add functionality to it using modules. View: An organized list of individual pieces of content that you create within the site, using the Views module.
  • 6.
    icfi.com | 6 HowDoes Drupal Compare to Other CMS’s? INTRODUCTION TO DRUPAL Drupal and other CMS platforms are constantly in a state of change. Based on past experience with WordPress, Joomla and custom developed systems, a few comparison notes are provided. WordPress • WordPress was primarily built as a blogging engine and later developed into a CMS. It is great for developing small to medium sized websites, however it was never built to scale as an enterprise level CMS. • Drupal assumes at its core there will be many kinds of users with many requirements. At its core, WordPress on the other hand was developed only for one type of user in mind and later adapted accordingly. • Drupal provides more extensive development framework for many different types of websites: blogs, forums, e-commerce, CRM, intranets, social networks, news aggregators, wikis, photo galleries, restaurant review sites. Joomla • Joomla is arguably a better product ‘out-of-the-box’ as it provides much of the expected advanced features of a CMS already built-in. • Drupal on the other hand is limited out-of-the-box, however it provides a more extensive framework for developing a more advanced site. “On the same grounds, if you can master it, Drupal 7.0 is the best CMS” More information: http://www.chapterthree.com/blog/jennifer-lampton/wordpress-vs-drupal-saga-continues http://www.pcpro.co.uk/blogs/2011/02/02/joomla-1-6-vs-drupal-7-0/
  • 7.
    icfi.com | 7 DrupalDevelopment Roles INTRODUCTION TO DRUPAL A typical Drupal site at ICF consists of 80% building and theming and about 20% custom development / programming. Requirements Lead Site Builder Programmer Designer Themer Note: We will be focusing on Site Builder, Programmer, and Themer only
  • 8.
    icfi.com | 8 •• • • • • Administering Drupal 2
  • 9.
    icfi.com | 9 DrupalAdministration ADMINISTERING DRUPAL Dashboard Structure Appearance People Modules Configuration Reports Help
  • 10.
    icfi.com | 10 Settingup Our Toolkit ADMINISTERING DRUPAL Administration Menu Coffee Backup and Migrate Module Filter Module Instructions Install Contributed Modules  drush dl = download a module  drush en = enable a module  Use the machine name  Verify Installation in Admin/Modules
  • 11.
    icfi.com | 11 •• • • • Building Site Structure 3
  • 12.
    icfi.com | 12 SiteConcept BUILDING SITE STRUCTURE ICF Software Solutions  ICF Software Solutions is a website for a small division within ICF that sells pre- packaged software titles.  The website lists all available software and provides functionality for reviews and ratings.  A fully functional event-management system allows for training and webinar registrations.
  • 13.
    icfi.com | 13 DefiningContent Types BUILDING SITE STRUCTURE Product  Name  Description / Body  Image Review  Title  Description  Rating  Product Reference Dependencies Entity Reference(Ctools, Entity) Five Star (Voting API)
  • 14.
    icfi.com | 14 •• • • • • Custom Layouts 4
  • 15.
    icfi.com | 15 ViewModes and the Views Module CUSTOM LAYOUTS ICF Software Solutions Home Content Review of “Drupal Training Software” Features: ****** Usability: *** Value: ******** ICF’s Drupal Training Software is one of the best training programs on the market currently. The only issue is that it lacks user friendly features. In addition to this the author obviously can’t spell Drupel correctly. This is a good deal in terms of value for money, however additional features would make this a better rounded product. About This Product Best training resource for Drupal on the market.
  • 16.
    icfi.com | 16 ContributedModules for Content Positioning and Layout Layout Options within Drupal 7 View Mode Display Suite: Custom Layout Display Suite: Region to Block Panels Context CUSTOM LAYOUTS
  • 17.
    icfi.com | 17 Whento use one method over the other Layout Options within Drupal 7 CUSTOM LAYOUTS Display Suite  Splits up Configuration  Uses Familiar Interface  Use Theme Regions, too  Limited Layouts  Collapsable Regions  Custom View Modes Panels  Centralizes Configuration  Unique Interface  Regions in Content Area  Create Custom Layouts  Fixed Layout Regions  No Custom View Modes
  • 18.
    icfi.com | 18 •• • • • • Importing Data to Drupal 5
  • 19.
    icfi.com | 19 Feedsvs Migrate IMPORTING DATA TO DRUPAL Options: Feeds  Easy to setup and use  Works with basic setup – Fetcher, Parser, Processor  Not as good with advanced schemas Migrate  Provides heavy lifting migration  Automation via Drush for import, rollback, etc.  Requires programming migration scripts using PHP associations
  • 20.
    icfi.com | 20 •• • • • • Managing Content with Views 6
  • 21.
    icfi.com | Proprietaryand Confidential Building an Event Management System Views Calendar Date ICAL Libraries Flag Event Management Suite for managers and attendees SQL-Like Queries and Content Manipulation Views templates for calendar and event management Third party libraries for ICS file generation General purpose flagging module for content nodes MANAGING CONTENT WITH VIEWS
  • 22.