Administering Drupal 8 Website: Difference between revisions
Lsokolowski1 (talk | contribs)  | 
				Lsokolowski1 (talk | contribs) mNo edit summary  | 
				||
| (9 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
[[Category:Drupal]]  | [[Category:Drupal]]  | ||
;title: Administering Drupal 8 Website  | ;title: Administering Drupal 8 Website  | ||
;author: Lukasz Sokolowski (NobleProg Ltd)  | ;author: Lukasz Sokolowski (NobleProg Ltd)  | ||
== Administering Drupal 8 Website Training Materials ==  | == Administering Drupal 8 Website Training Materials ==  | ||
{{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 (  | * 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 16:41, 27 August 2025
- title
 - Administering Drupal 8 Website
 - author
 - Lukasz Sokolowski (NobleProg Ltd)
 
Administering Drupal 8 Website Training Materials
Copyright Notice
Copyright © 2004-2025 by NobleProg Limited All rights reserved.
This publication is protected by copyright, and permission must be obtained from the publisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical, photocopying, recording, or likewise.
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
- Demo - (http://simplytest.me/)
 - DDEV - (https://ddev.com/)
- 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 - (https://docs.lando.dev/)
 - Docker4Drupal - (https://wodby.com/docker4drupal)
 - Docksal - (https://docksal.io/)
 
 
 - Bitnami - (http://bitnami.org/stack/drupal)
 - AmazonEC2, and other hosting options
 
Building Blocks
| 
 Extensions 
  | 
 Users 
  | 
| 
 Content 
  | 
 Structure 
  | 
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
- go to admin/index
 - use ctrl+f (search option in the browser) to find the option you need
 
Drupal core versions
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
 
 
 - Configuration Entity
 - 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: 
  | 
 Configuration Entity Types: 
  | 
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)