understanding drupal · drupal as a cms drupal is a content management system. it allows multiple...

92
Understanding Drupal http://bit.ly/understanding-drupal http://bit.ly/understanding-drupal-feedback

Upload: others

Post on 20-Aug-2020

16 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Understanding Drupal

http://bit.ly/understanding-drupalhttp://bit.ly/understanding-drupal-feedback

Page 2: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Session recordinghttps://www.youtube.com/watch?v=02fvLzPSIjc

Page 3: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Mauricio Dinarte

@dinarcon

[email protected]

drupal.org/u/dinarcon

Page 4: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Drupal Nicaragua

Page 5: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

www.ge.com/digitalvolcano

Page 6: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

USA | Nicaragua | México | Germany | England

Page 7: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Coming soon! ¡Muy pronto! Prochainement!

www.understanddrupal.com

Page 8: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Outline

● Why Drupal?● What is Drupal?● Basic concepts● Nodes● Content types● Fields

● Blocks● Theme regions● Views● Users and permissions● Menus● Taxonomy

Page 9: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

/about /team

/services /articles /contact

/

Page 10: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish
Page 11: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Why Drupal?

Page 12: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

www.whitehouse.gov

Page 13: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

www.weather.com

Page 14: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

www.grammy.com

Page 15: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

www.naranjatradicionaldegandia.com

Page 16: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

www.teslamotors.com

Page 17: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Some features of these websites

Traffi

c

Page 18: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

What is Drupal?

Page 19: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Drupal as a CMS

Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish publication workflows, content revisioning, and granular access control over each piece of information.

Page 20: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Drupal as a Framework

Drupal is a development framework. Through custom code it is possible to extend Drupal beyond its pre-built functionality. For example, to create an ecommerce website or the backend of an application.

Page 21: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Drupal as a Community

● 200+ countries● 150+ languages● 30,000+ code

contributors● 97,000+ active users

Page 22: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Basic Concepts

Page 23: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Core

● The minimum required software to start a drupal project.

● It contains modules and themes.

● Serves as a framework to build on top of.

Page 24: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Modules

Add functionality

Themes

Control appearance

Page 25: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Contrib Repository

Community contributed modules, themes, and distributions. These extend Drupal beyond its pre-built functionality.

Page 26: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Content

Page 27: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

What is a Node?

A piece of information that can tell a story by itself. It serves as a container of information used to describe something.

Page 28: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish
Page 29: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish
Page 30: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish
Page 31: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Content TypesAbstraction that allows you to group nodes which share similar characteristics or describe the same idea. They serve as a template to collect information. Once collected, they ease the management of that information.

Page 32: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Every Node is of One Specific Content Type

7 2

1

4

11

125

10

93

6

8

Article Basic Page

Car

Page 33: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish
Page 34: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Fields

They are awesome!

Page 35: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish
Page 36: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Free Text Is Not Easily Searchable

Page 37: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Inconsistent Data Is Not Easily SearchableNovember 19, 2015

Nov. 19, 2015

11/19/2015

11/19/15

11-19-15

Page 38: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Invalid Data Makes Drupal CryAge: -10 years old

Birthdate: February 31, 2000

Price: $ 1.5 euros

Email: notareal.email

Phone: Hi, I am beautiful! :)

Page 39: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

I want to cry

Free text

Inconsistent data

Invalid date

Page 40: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Drupal Can Enforce ValidationCriteria

Page 41: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Drupal Can Enforce ValidationCriteria

Happiness

Page 42: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Recipe to Make Drupal Happy

I ♥ you!1) One field per piece of data to store.

2) Select the right type of field. Example: integer, decimal, image, phone, email, url, etc.

Page 43: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Collecting Data

Page 44: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Presenting Data

Page 45: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Aggregating Data

Page 46: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Can Be Shown or Hidden Individually

Fields allow you to cherry-pick what information to show and what information to hide.

Page 47: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Example of Field Types

Page 48: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Fields

They are used to structure the information that is being stored. They save discrete data which can be used for displaying, filtering, and sorting information. It is possible to enter and display a field’s data in various ways.

Page 49: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish
Page 50: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Block

Page 51: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

What is a Block?

A container of extra information to display along the main content of your website. They are placed in a theme region.

Page 52: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Theme Region

Page 53: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Blocks Can Display Static or Dynamic ContentStatic content

● Display the same data (almost) all the time. E.g.: copyright text or the banner of a sponsor.

Dynamic content

● Change its content regularly. E.g.: latest blog posts or newest products in the store.

Page 54: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Show or hide the block depending on certain conditions.

Blocks Can Enforce VisibilityRules

Page 55: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Blocks Can Be Aware of the EnvironmentUse data from the environment in which the block is displayed to change the information to be presented.

Examples:

● More posts from the same author.● More vehicles on sale in the same city.

Page 56: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Blocks Can Have Fields

Similarly to content types, it is possible to define block types and add fields to them.

Example:

● A “special offer” block type with fields for title, description, image, and expiration date.

Page 57: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Views

Page 58: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

What is a View?

A view is a listing of information. It can be a list of nodes, users, comments, taxonomy terms, files, etc.

Views scans your website using any criteria you specify and presents the results in format of your choice. For example, a HTML table, a RSS feed, a PDF document, a CSV document, an interactive map, an image slideshow, or a JSON representation to be used as a REST endpoint.

Page 59: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish
Page 60: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish
Page 61: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Drupal Loves Nests

Page 62: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Markup

Page 63: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Render Arrays

Page 64: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Concepts

Page 65: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish
Page 66: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish
Page 67: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish
Page 68: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

User

Page 69: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

What is a User?

A visitor to the website. Depending on who is visiting the website it is possible to change the information they see.

Drupal can handle multiple users which makes account credential sharing among multiple people unnecessary. This is useful to keep track of changes to the website.

Page 70: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish
Page 71: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

A Role...

Is a collection of permissions. They are used to assign privileges to a group of users. For example: a C-level executive, a sales representative, etc.

Drupal ships with three default roles, but more can be added:

● Anonymous user● Authenticated user● Administrator.

Page 72: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

A Permission...Checks if a user can perform a specific action. For example:

● Create content of type Article.● Revert revisions for the content type Article.● Post comments.● Use the site-wide contact form.

Page 73: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Drupal’s Permission System

Permissions Role User

Note that users can have multiple roles!Every permission in each role is granted.

Page 74: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Menu

Page 75: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

What is a Menu?

Menus are a collection of links used to navigate the website. Drupal ships with default menus like the “Main Navigation” and others can be added by as needed.

Menus can be hierarchical. That is, a menu can be various level deep where a menu link can have other menu links under it.

Page 76: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish
Page 77: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Taxonomy

Page 78: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

What is Taxonomy?

It is a system used for categorization which allows you to connect, relate, and classify your website’s content.

In Drupal, taxonomy vocabularies are containers for a set of taxonomy terms. Vocabularies can be hierarchical. That is, a vocabulary can be various level deep where a term can have other terms under it.

Page 79: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Vocabulary: Fruits

Apple Strawberry Orange Grapes

Note that taxonomy terms can have fields!In this example, an image field.

Page 80: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Voc.: Living Organisms

Animals

Plants

Fungi

Bacteria

Protists

Cnidaria

Chordata

Arthropods

Echinoderms

Actinopterygii

Chondrichthyes

Amphibia

Aves

Reptilia

Molluscs

Mammalia

(Kingdom) (Phylum) (Class)

Page 81: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Real Life Example:Pets Cat-egorization

Page 82: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Other Example Uses

● List every piece of content tagged with a specific term.

● Show additional content with the same tags. Similar By Terms module.

● Create editorial access controls based on hierarchies. Workbench Access module.

● Associate geographic location to terms to be rendered on a map. Location Taxonomize module.

Page 83: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish
Page 84: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

FAQ

Page 85: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Jeff Geerling@geerlingguy

Page 86: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Is it a Good Idea to Change the Downloaded Code for a Quick Fix?

NO!When performing updates, the new code can override your changes. Also, you might alter the framework’s functionality and prevent other code from working. Instead, use the framework API to alter its behaviour as needed.

Page 87: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

To Modify Drupal no Hacking

Check out Joe Shindelar (@eojthebrave)’s session “Altering, Extending, and Enhancing Drupal 8” at

www.youtube.com/watch?v=tMM-I70ksQA

Page 88: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

To Learn the Basics of Drupal’s MarkupCheck out my “Twig recipes: Making Drupal 8 render the markup you want”

www.youtube.com/watch?v=bqfxaFLQ8D4

Tomorrow at 4:30 PM room 32-144

Page 89: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Get Involvedwith the Community!● Create a user account

https://www.drupal.org/user/register

● Be part of the conversationhttps://www.drupal.org/irc#drupal @ freenode.net#general @ drupal.slack.com

● Get involved with your local communityhttps://groups.drupal.org/

Page 90: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish
Page 91: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Let’s continue the conversation on twitter

#UnderstandingDrupal

Thank You!

Page 92: Understanding Drupal · Drupal as a CMS Drupal is a content management system. It allows multiple people to participate in the creation of content. Also, it is possible to establish

Please Provide Feedbackhttp://bit.ly/understanding-drupal

http://bit.ly/understanding-drupal-feedback@dinarcon | [email protected]