October 2014 - USG Rock Eagle - Drupal 101
-
Upload
eric-sembrat -
Category
Education
-
view
96 -
download
3
description
Transcript of October 2014 - USG Rock Eagle - Drupal 101
Building with DrupalBuilding Websites with Drupal - A Modular-Driven Open-Source CMS
Eric Sembrat | USG Rock Eagle, October 2014
INTRODUCTION
CMS: AN OVERVIEW
WHAT IS A DRUPAL?
DRUPAL FEATURES
HOW TO GET STARTED
RESOURCES
QUESTIONS, COMMENTS
• Web Manager - College of Engineering, Georgia Tech
• Ph.D. Student - Instructional Technology, Georgia State !!
• Website: http://ericsembrat.com• Twitter: @esembrat
Eric Sembrat
• Communication list for web developmentdiscussion between the 31 institutionsin the University System of Georgia.!
• http://usgweb.gatech.edu
USGWeb Collaboration Group
• A content management system allows for the creation, editing, and management of the website from a web interface.!
• Management can include:• Theme / Appearance• Content / Features• Media / Photos• Files / Uploads
What is a CMS?
• CMSs can come as open or closed source.• Open: The community is building, extending, and advancing the product.
• Closed: A company is building, extending, and advancing the product.!
• Open source products are more vulnerable to the public discovery of hacks.
Free Vs. Closed Source
Security is not about open or closed source, but rather about following stringent security
guidelines and procedures. !
Open source allows the community to view and validate the following of said security
procedures, as well as locating edge-case security holes.
Who are the leaders?
Wordpress Drupal Everyone Else
45% 15% 12%
Assumes that 28% of the top 10k sites use custom, static services.
Why not Wordpress?• Wordpress was initially designed as a blogging tool. !
• Many holdovers from that development include: • Pre-built theme packages• One Size Fits All (OSFA) plugin approach
• Limited user access permissions• Heavy emphasis on Custom PHP Code Writing
Alternative• Drupal serves to take the best parts of Wordpress and provide an enterprise-level environment for custom content management.
What is Drupal?• Drupal is a scalable, extendible, and customizable CMS built to match a wide-range of use cases and web application offerings.
• First released in 2001• Milestone releases every 1-2 years
Modules• Drupal has over 25,000 plugins (called modules) that extend Drupal’s feature set.
• Modules are built as components.• Modules work with other modules.• Modules are maintained by the community.
!
• Out of the box, Drupal has a very limited feature-set.
• Modules are key to building up a Drupal site to work the way you want.
Entities & Fields• Drupal’s content is composed of entities and fields.
Profile (entity)
Address(field)
Full Name(field)
Photo(field)
Body Text (field)
• Drupal’s content is composed of entities and fields.
Profile (entity)
Address(field)
Full Name(field)
Photo(field)
Body Text (field)
• Where entities can reference other entities.
Friends (field)
Entities & Fields
Content Types• A content type is a collection of data (fields) related to each other.
News (CT)
Full Name
By Line Text
Photo Media
Body Text
Sidebar Text
Photo Album
(CT)
Description
Category
Event (CT)
Description
Start Time
End Time
Location
Photo Media
Photo Media
Slide (CT)
Description
URL
Photo Media
Taxonomy• A taxonomy allows you to pre-define a list of items to be used in content types.
• List can include fields
States (Taxonomy)
State Name
Description
Rating (Taxonomy)
Rating Score
Access (Taxonomy)
Description
User Role
Photo Media
Age (Taxonomy)
Description
Description Start Age
End Age
How Drupal Works
Standardized, reusable elements !
(Fields - Name, number, postal address, geographical location, image, YouTube video)
How Drupal Works
Standardized, reusable elements !
(Fields - Name, number, postal address, geographical location, image, YouTube video)
Entities !
(Content types, users, taxonomy terms, etc.)
How Drupal Works
Standardized, reusable elements !
(Fields - Name, number, postal address, geographical location, image, YouTube video)
Dynamic display and organization of content
Entities !
(Content types, users, taxonomy terms, etc.)
How Drupal Works
Standardized, reusable elements !
(Fields - Name, number, postal address, geographical location, image, YouTube video)
Dynamic display and organization of content
Theme framework, theme base, Sass/CSS, and theme settings
Entities !
(Content types, users, taxonomy terms, etc.)
How Drupal Works
Standardized, reusable elements !
(Fields - Name, number, postal address, geographical location, image, YouTube video)
Dynamic display and organization of content
Theme framework, theme base, Sass/CSS, and theme settings
Entities !
(Content types, users, taxonomy terms, etc.)
Entity Display• The basic display of entities and fields are barebones by design.
• This is where Views comes in.
Views• “… Views is a tool to build queries. You can even inspect the query as you build it.”!
• “Views provides you with a powerful tool for creating custom mashups of content and more. You can pull together any information on your site and craft dynamic lists, grids, tables, reports, RSS feeds, and navigation. Views can also be configured to show different results based on visitor interactions, such as displaying posts submitted in the last month, posts with comments and much more.”
ViewsView!
Content: SlidesDisplay As: Slideshow
View!Content: Facts
Display As: Unformatted List
Content!Basic Page
ViewsView!
Content: SlidesDisplay As: Slideshow
View!Content: Facts
Display As: Unformatted List
View!Content: Video
Display As: Unformatted List
Content!Basic Page
ViewsView!
Content: SlidesDisplay As: Slideshow
View!Content: Facts
Display As: Unformatted List
View!Content: News
Display As: Unformatted List
View!Content: Video
Display As: Unformatted List
Content!Basic Page
Resulting Sites• With the modular component structure, Drupal can be utilized to build various web applications without ever having to write a single line of code.
Local Development• The easiest way to get started with Drupal is to build your first website.!
• Acquia Dev Desktop
See my website for a presentation on local Drupal development.
Hosting Requirements• https://www.drupal.org/node/920682• https://www.drupal.org/requirements
• Any server with PHP, MySQL, and Apache works!
Suggested Reading• http://drupal.gatech.edu/handbook/video-tutorials
• Free & Paid Training Videos Available!
• https://www.drupal.org/documentation/build