Administering Drupal 8 Website: Difference between revisions

From Training Material
Jump to navigation Jump to search
 
 
(7 intermediate revisions by the same user not shown)
Line 9: Line 9:
{{Can I use your material}}
{{Can I use your material}}


== Intro ==
== Intro ==
* What is '''Drupal'''?
* What is '''Drupal'''?
* The '''Building Blocks''' of Drupal
* The '''Building Blocks''' of Drupal
Line 19: Line 19:
* Troubleshooting Drupal
* Troubleshooting Drupal


== What is Drupal ==
== What is Drupal ==
* Community
* Community
* Software
* Software
Line 36: Line 36:
-->
-->


== Drupal Sandbox ==
== Drupal Sandbox ==
* Demo (http://simplytest.me/)
* '''Demo''' - <small>''(http://simplytest.me/)''</small>
* Bitnami (http://bitnami.org/stack/drupal)
* '''DDEV''' - <small>''(https://ddev.com/)''</small>
* AmazonEC2
** Overall '''docs''' - ''https://www.drupal.org/docs/develop/local-server-setup''
** Specific for '''drupal(l)s''' - ''https://ddev.readthedocs.io/en/stable/users/quickstart/#__tabbed_4_3''
** Good '''alternatives'''
*** '''Lando''' - <small>''(https://docs.lando.dev/)''</small>
*** '''Docker4Drupal''' - <small>''(https://wodby.com/docker4drupal)''</small>
*** '''Docksal''' - <small>''(https://docksal.io/)''</small>
* '''Bitnami''' - <small>''(http://bitnami.org/stack/drupal)''</small>
* '''AmazonEC2''', and other hosting options
** ''https://www.drupal.org/hosting''


== Building Blocks ==
== Building Blocks ==


{| cellpadding="10"
{| cellpadding="10"
Line 71: Line 79:
|}
|}


== Extensions ==
== Extensions ==
  Themes, Profiles (Distributions) and Modules are also known as '''Extensions'''.
  Themes, Profiles (Distributions) and Modules are also known as '''Extensions'''.


Line 98: Line 106:
http://drupal.org/project/distributions
http://drupal.org/project/distributions


== Finding Admin Settings ==
== Finding Admin Settings ==
# go to ''admin/index''
# go to ''admin/index''
# use ctrl+f (search option in the browser) to find the option you need
# use ctrl+f (search option in the browser) to find the option you need


== Modules ==
== Drupal core versions ==
[[File:Dru9to10.png|600px]]
 
== Modules ==
"Extend and customize Drupal functionality"
"Extend and customize Drupal functionality"
* '''Contributed Modules''' are developed by Drupal community
* '''Contributed Modules''' are developed by Drupal community
Line 116: Line 127:
https://www.drupal.org/project/ubercart
https://www.drupal.org/project/ubercart
-->
-->
=== Modules Versions ===
=== Modules Versions ===
* Important when you are looking for '''Documentation''' and '''Help'''
* Important when you are looking for '''Documentation''' and '''Help'''
* Security '''Upgrades'''
* Security '''Upgrades'''


=== Modules Support ===
=== Modules Support ===
* Issues
* Issues
* Statistics
* Statistics
* Documentation
* Documentation


=== Useful core modules ===
=== Useful core modules ===


* Book
* Book
Line 133: Line 144:
* Translation-related
* Translation-related


=== Exercise 1 ===
=== Exercise 1 ===


<pre>
<pre>
Line 145: Line 156:
-->
-->


== Themes ==
== Themes ==
"Allow you to change '''the look and feel''' of your Drupal site."
"Allow you to change '''the look and feel''' of your Drupal site."
* Contributed Themes
* Contributed Themes
Line 154: Line 165:
* You can '''allow users''' to change your theme
* You can '''allow users''' to change your theme


=== Theme Configuration ===
=== Theme Configuration ===
* ''admin/appearance/settings''
* ''admin/appearance/settings''
* Customizing '''colours''' (color module)
* Customizing '''colours''' (color module)
* Configurations '''depends''' on the theme
* Configurations '''depends''' on the theme


=== Exercise 2 ===
=== Exercise 2 ===


<pre>
<pre>
Line 172: Line 183:
-->
-->


== Content ==
== Content ==
* Entities
* Entities
* Nodes
* Nodes
Line 178: Line 189:
* Taxonomy
* Taxonomy


=== Entities ===
=== Entities ===


* Entity types in core
* Entity types in core
Line 194: Line 205:
https://www.drupal.org/docs/8/api/entity-api/bundles
https://www.drupal.org/docs/8/api/entity-api/bundles
-->
-->
=== Entities Con't ===
=== Entities Con't ===
''Entity Structure Examples''
''Entity Structure Examples''
{| cellpadding="10"
{| cellpadding="10"
Line 217: Line 228:
|}
|}


=== Nodes ===
=== Nodes ===
* Structure/Content types (''admin/structure/types'')
* Structure/Content types (''admin/structure/types'')
* Content vs Content Types
* Content vs Content Types
Line 227: Line 238:
** Autopath and Menu options, etc...
** Autopath and Menu options, etc...


=== Fields ===
=== Fields ===
* Field Type vs Field Widget
* Field Type vs Field Widget
* Common types are Text, Number, Date, Email, Location, etc...
* Common types are Text, Number, Date, Email, Location, etc...
* Visibility in Teaser (Summary) and Full Node
* Visibility in Teaser (Summary) and Full Node


=== Exercise 3 ===
=== Exercise 3 ===


<pre>
<pre>
Line 243: Line 254:
-->
-->


=== Revisions ===
=== Revisions ===
* Create new revision by default
* Create new revision by default
* Log message
* Log message
Line 253: Line 264:
-->
-->


==== Exercise 4 ====
==== Exercise 4 ====


<pre>
<pre>
Line 266: Line 277:
-->
-->


=== Comments ===
=== Comments ===
* Moderation
* Moderation
* Status
* Status


==== Exercise 5 ====
==== Exercise 5 ====


<pre>
<pre>
Line 282: Line 293:
-->
-->


=== Workflows ===
=== Workflows ===
* '''Unpublished''' means visible to the author and administrators/moderators
* '''Unpublished''' means visible to the author and administrators/moderators
* Content can be unpublished by default
* Content can be unpublished by default
* Content Moderation (Still '''experimental''' part of the core)
* Content Moderation (Now finally '''stable''' part of the core)


=== Files ===
=== Files ===
* Uploading
* Uploading


==== Images ====
==== Images ====
* Images can be handled via WYSIWYG or Image Field
* Images can be handled via WYSIWYG or Image Field
* Configuration/Media/Image Styles (''admin/config/media/image-styles'')
* Configuration/Media/Image Styles (''admin/config/media/image-styles'')
* Assign a style to Display settings in a content type
* Assign a style to Display settings in a content type


=== Exercise 6 ===
=== Exercise 6 ===


<pre>
<pre>
Line 309: Line 320:
-->
-->


=== Taxonomy ===
=== Taxonomy ===
* Vocabularies and Terms
* Vocabularies and Terms
* HS, Taxonomy Menu*
* HS, Taxonomy Menu*
Line 316: Line 327:
https://www.drupal.org/project/taxonomy_menu
https://www.drupal.org/project/taxonomy_menu
-->
-->
==== Exercise 7 ====
==== Exercise 7 ====


<pre>
<pre>
Line 328: Line 339:
-->
-->


== Users ==
== Users ==
* User Accounts settings (''admin/config/people'')
* User Accounts settings (''admin/config/people'')
** Email Templates  
** Email Templates  
Line 340: Line 351:
https://www.drupal.org/project/profile
https://www.drupal.org/project/profile
-->
-->
=== Exercise 8 ===
=== Exercise 8 ===


<pre>
<pre>
Line 353: Line 364:


== Structure ==
== Structure ==
=== Blocks ===
=== Blocks ===
* Structure/Blocks (''admin/structure/block'')
* Structure/Blocks (''admin/structure/block'')
* Blocks are part of the structure NOT content
* Blocks are part of the structure NOT content
Line 363: Line 374:
** No index support (search)
** No index support (search)


=== Exercise 9 ===
=== Exercise 9 ===


<pre>
<pre>
Line 375: Line 386:
-->
-->


=== Menus ===
=== Menus ===
* Structure/Menus
* Structure/Menus
* Menu vs Menu Item
* Menu vs Menu Item
Line 382: Line 393:
* Two menu items to the same content
* Two menu items to the same content


==== Exercise 10 ====
==== Exercise 10 ====


<pre>
<pre>
Line 393: Line 404:
-->
-->


=== Text Formats (Input Filters) ===
=== Text Formats (Input Filters) ===
* Configuration/Content Authoring/Text Formats (admin/config/content/formats)
* Configuration/Content Authoring/Text Formats (admin/config/content/formats)
* Text Formats allow to filter and transform text when saving and viewing a field
* Text Formats allow to filter and transform text when saving and viewing a field
Line 399: Line 410:
* Rules can overlap with WYSIWYG
* Rules can overlap with WYSIWYG


=== Display modes ===
=== Display modes ===


Content, Custom block, Comment, Taxonomy term, User - they can have:
Content, Custom block, Comment, Taxonomy term, User - they can have:
Line 405: Line 416:
* View modes
* View modes


=== Contact forms ===
=== Contact forms ===
Simple default forms to serve the feedback for the site, etc
Simple default forms to serve the feedback for the site, etc


=== Views ===
=== Views ===


* Provides a back end to fetch information from the database
* Provides a back end to fetch information from the database
Line 420: Line 431:
** Working with multilingual views
** Working with multilingual views


==== Exercise 11 ====
==== Exercise 11 ====


<pre>
<pre>
Line 431: Line 442:
-->
-->


== Admin Tasks ==
== Admin Tasks ==
* Configuring Search
* Configuring Search
* Cron
* Cron
Line 444: Line 455:
-->
-->


=== Exercise 12 ===
=== Exercise 12 ===


<pre>
<pre>

Latest revision as of 12:22, 21 May 2024


title
Administering Drupal 8 Website
author
Lukasz Sokolowski (NobleProg Ltd)

Administering Drupal 8 Website Training Materials

Intro

  • What is Drupal?
  • The Building Blocks of Drupal
  • Choosing and managing your themes
  • Choosing and managing your modules
  • Managing your content
  • Ordering your content
  • Managing your users
  • Troubleshooting Drupal

What is Drupal

  • Community
  • Software
    • CMS
    • Framework for other project
      • e-commerce
      • social networks
      • portals
      • media portals
      • LMS, CRM, ERP, etc...

Drupal Sandbox

Building Blocks

Extensions

  • Modules
  • Themes
  • Distributions

Users

  • User Accounts settings
  • User Profiles
  • Roles and Permissions

Content

  • Entities
  • Nodes (Fields, Revisions, Comments, Workflows)
  • Files (Images)
  • Taxonomy (Vocabularies and Terms)

Structure

  • Blocks
  • Menus
  • Input Filters
  • Views
  • Forms

Extensions

Themes, Profiles (Distributions) and Modules are also known as Extensions.

Distributions

A Distribution contains:

  • Drupal core
  • Contributed modules
  • Themes
  • Pre-defined configuration

Examples:

  • Bear (an alternative to the Minimal or Standard profiles)
  • Varbase (good starterkit)
  • Open Social (social communities and intranets)
  • Commerce Kickstart (e-commerce, https://install.commercekickstart.com/)
  • ELMS (e-Learning Management System)

More: http://drupal.org/project/distributions

Finding Admin Settings

  1. go to admin/index
  2. use ctrl+f (search option in the browser) to find the option you need

Drupal core versions

Dru9to10.png

Modules

"Extend and customize Drupal functionality"

  • Contributed Modules are developed by Drupal community
  • Custom Modules are not published to third parties
  • Core Modules are provided by the Drupal Core
During this course we focus on the Core Modules
Some modules are much bigger and more complex than the core!

Modules Versions

  • Important when you are looking for Documentation and Help
  • Security Upgrades

Modules Support

  • Issues
  • Statistics
  • Documentation

Useful core modules

  • Book
  • Actions
  • Forum
  • Aggregator
  • Translation-related

Exercise 1

Installing modules
- Translate the website into another language (core module 'Language')
- Create simple blog (contributed 'Blog' module)

Themes

"Allow you to change the look and feel of your Drupal site."

  • Contributed Themes
  • Custom Themes
  • Sub-themes
  • Blocks configuration can change when you change your theme
  • Administration Theme
  • You can allow users to change your theme

Theme Configuration

  • admin/appearance/settings
  • Customizing colours (color module)
  • Configurations depends on the theme

Exercise 2

Installing themes
- Choose and install a suitable Drupal theme
- Set your admin theme to Bartik

Content

  • Entities
  • Nodes
  • Files
  • Taxonomy

Entities

  • Entity types in core
    • Configuration Entity
      • Used by the Configuration System
      • Supports translations and can provide custom defaults for installations
    • Content Entity
      • Consist of configurable and base fields
      • Can have revisions and support translations
  • Bundles (sub-types)
    • Configuration Entities that enhance a Content Entity
    • Their configuration stores the differences between the content entity types, such as settings and fields

Entities Con't

Entity Structure Examples

Content Entity Types:

  • Node
    • Node Bundle (Content Type):
      • Basic page
  • Taxonomy
    • Taxonomy Bundle (Vocabulary):
      • Tags
  • Blocks
    • Custom Block Bundle (Custom Block Type):
      • My Block Type

Configuration Entity Types:

  • Custom Block types
    • View
    • Menu
    • Role

Nodes

  • Structure/Content types (admin/structure/types)
  • Content vs Content Types
  • Node can mean either, though Node Type is used as well
  • Each Content type can differ
    • Fields
    • Workflow
    • Permission
    • Autopath and Menu options, etc...

Fields

  • Field Type vs Field Widget
  • Common types are Text, Number, Date, Email, Location, etc...
  • Visibility in Teaser (Summary) and Full Node

Exercise 3

Creating content
- Create two or three content pages (use the default content type Basic Page)
- Create one Article, related to your company

Revisions

  • Create new revision by default
  • Log message
  • Reverting
  • Diff Module*

Exercise 4

Time vehicle
- Edit existing basic page and add new line of text in the Body field
- Change it again and add another line, same field
- Revert it to the very first version
- Compare version 2 and 3 (diff)

Comments

  • Moderation
  • Status

Exercise 5

Creating comments
- Allow all users to comment basic pages
- Comment one of them
- Answer to that comment

Workflows

  • Unpublished means visible to the author and administrators/moderators
  • Content can be unpublished by default
  • Content Moderation (Now finally stable part of the core)

Files

  • Uploading

Images

  • Images can be handled via WYSIWYG or Image Field
  • Configuration/Media/Image Styles (admin/config/media/image-styles)
  • Assign a style to Display settings in a content type

Exercise 6

Content types
- Create your own content type, related to your company
-- add at least 2 new fields, with different type of field
-- add some pictures to your pages (use proper field type)
-- make it appear-able in menus: Tools, Footer 
-- should be unpublished by default, added to the front page and sticky

Taxonomy

  • Vocabularies and Terms
  • HS, Taxonomy Menu*

Exercise 7

Playing with categories
- Create new vocabulary related to your own content type
-- Add some terms (at least 3)
- Create new post and apply some taxonomy

Users

  • User Accounts settings (admin/config/people)
    • Email Templates
    • Fields
    • Profile2*
  • Roles and Permissions
    • Creating Roles
    • Granting Permission

Exercise 8

Handling users
- Create a role for only 'Basic Page' editor and assign all necessary permissions
- Set permissions so only authenticated users can comment and create your content type

Structure

Blocks

  • Structure/Blocks (admin/structure/block)
  • Blocks are part of the structure NOT content
    • No search
    • No revisions
    • No workflow (publish/unpublish)
    • No authorship information
    • No fine-grained permission for editing blocks
    • No index support (search)

Exercise 9

Blocks
- Position some blocks in your theme
- Set which pages certain blocks should appear upon

Menus

  • Structure/Menus
  • Menu vs Menu Item
  • Create when editing the content
  • Primary/Secondary Menu
  • Two menu items to the same content

Exercise 10

Menus
- Build a menu for your website
- Add your own type nodes to the menu (you can do this by editing the nodes too)

Text Formats (Input Filters)

  • Configuration/Content Authoring/Text Formats (admin/config/content/formats)
  • Text Formats allow to filter and transform text when saving and viewing a field
  • Keep it Simple
  • Rules can overlap with WYSIWYG

Display modes

Content, Custom block, Comment, Taxonomy term, User - they can have:

  • Form modes
  • View modes

Contact forms

Simple default forms to serve the feedback for the site, etc

Views

  • Provides a back end to fetch information from the database
    • content, user accounts, taxonomy terms, and other entities
  • Can present it to the user as filtered
    • a grid, HTML list, table, unformatted list, etc.
  • Use cases
    • Adding functionality to administrative pages
    • Expanding functionality via contributed projects
    • Improving table accessibility
    • Working with multilingual views

Exercise 11

Views
- Create new view with nodes only from your own content type
-- allow users to filter it via one of the fields

Admin Tasks

  • Configuring Search
  • Cron
  • Customizing Error Messages
  • Maintenance(site offline)
  • URL Aliases
  • Reporting
  • Configuration management

Exercise 12

URL Aliases
- Make your url aliases to work auto-magically (contributed module 'pathauto')

Additional Exercises

MODULES

1. Install 'book' module and create simple wiki about your company
- create one book with at least 3 pages 

2. Make your website a little bit smarter/automatic
- it should send email to you, each time when the basic page will be created (actions, rules)


THEMES

1. Add Mayo theme and play with it's many configuration options
- chose color set 'Tricolor'
- change font family to 'Verdana, geneva..'
- make default fonts bigger (18px)
- provide rounded corners to frames (blocks and content)
- add font resizing controls to the header


CONTENT

1. New content type
- Install the Field group module
- Create a content type called Booking
- Add two fields, From and To, of type Date
- Create group of newly added fields called Dates
(https://www.drupal.org/project/field_group)

2. Create relationship between 2 content types 
- make them both link-able


STRUCTURE

1. Block
- Create your own Custom Block Type (My Block Type)
- Create block using this type and place it in Footer

2. Menu
- make your Main menu nicer (https://www.drupal.org/project/tb_megamenu)

3. Taxonomy
- Create 2 taxonomies with relation between them
- Apply it to the basic pages

4. Views
- Create view with Basic Pages and some data from related Articles (make a content reference)