Adminstering Drupal 7 Website

From Training Material
Jump to: navigation, search


Administering Drupal 7 Website
Bernard Szlachta (NobleProg Ltd)

Administering Drupal 7 Website          Bernard Szlachta (NobleProg Ltd)

Administering Drupal 7 Website Training Materials

Intro ⌘

  • What is Drupal?
  • The Building Blocks of Drupal
  • Choosing and managing your themes
  • Choosing and managing your modules
  • Managing your users
  • Managing your content
  • Ordering your content
  • 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 ⌘


  • Modules
  • Themes
  • Distributions


  • User Accounts settings
  • User Profiles
  • Roles and Permissions


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


  • Blocks
  • Menus
  • Input Filters

Extensions ⌘

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


A Distribution contains:

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


  • Commerce Kickstart (e-commerce)
  • OpenPublic (public-administration)
  • ELMS (e-Learning Management System)


Finding Admin Settings ⌘

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

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

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

Users ⌘

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

Content ⌘

  • Nodes
  • Files
  • Taxonomy

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

Revisions ⌘

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

Comments ⌘

  • Moderation
  • Status

Workflows ⌘

  • Unpublished means visible to the author and administrators/moderators
  • Content can be unpublished by default

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

Taxonomy ⌘

  • Vocabularies and Terms
  • HS, Taxonomy Menu*


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)
  • Blocks one day can be replaced by Panes from Panels module*

Menus ⌘

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

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

Admin Tasks ⌘

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


First exercise:
- Choose and install a suitable Drupal theme
- Set your admin theme to Garland

Second exercise:
- Create two or three content pages (use the default content type Page)
- Allow users to comment on at least one page

Third exercise:
- Install the Field group module
- Install the Date module
- Create a content type called Booking
- Add two fields, From and To, of type Date
- Create group of newly added fields called Dates

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

Fifth exercise
- Enable the Blog module
- Create two vocabularies:
1. one should have terms with at least two levels of hierarchy
2. second should allow free tags
- Create a blog post and apply some taxonomy

Sixth exercise
- Give your pages all meaningful URLs (you can do this by editing the nodes directly)
- Build a menu for your website
- Add your page nodes to the menu (you can do this
   by editing the nodes too)

Seventh exercise
- Create a role for only Basic Page editor and assign all necessary permissions
- Set permissions so only authenticated users can comment and create booking content

Extra exercise
– Add some pictures to your pages (use proper field type or download IMCE module, configure it and integrate with CKEditor)

Installation exercise
- Use quickstart project (
- Issue: to migrate existing drupal website into another one (make it multisite)
- Details: we have one hosting server and one mysql server (the same for both websites)
- Solution:
-- Create website with drush (cd ~/websites ; drush qc
-- Add Basic Page node with title 'Comes from example30' in ''
-- Copy '~/websites/' folder into '~/websites/' and go there
-- Edit file 'settings.php' and change database name, user and password to 'example30_dev'
-- Go to '~/websites/config' and edit 'hosts' file and add new line there another
-- Go to '/etc/apache2/sites-available' and copy file '' into 'another' and change all those lines:
  ServerName another
  ServerAlias *.another
  DocumentRoot /home/drupalpro/websites/
  <Directory /home/drupalpro/websites/>
-- Create alias '/etc/apache2/sites-enabled/another' linked to '/etc/apache2/sites-available/another'
-- Create alias '~/websites/another linked' to '/home/drupalpro/websites/'
-- Restart apache (sudo service apache2 restart)