Adminstering Drupal 7 Website

From Training Material
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.


title
Administering Drupal 7 Website
author
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 ⌘

Extensions

  • Modules
  • Themes
  • Distributions

Users

  • User Accounts settings
  • User Profiles
  • Roles and Permissions

Content

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

Structure

  • Blocks
  • Menus
  • Input Filters

Extensions ⌘

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

Distributions

A Distribution contains:

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

Examples:

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

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

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*

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)
  • 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

Exercises


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 (https://www.drupal.org/project/quickstart)
- 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 example30.dev website with drush (cd ~/websites ; drush qc --domain=example30.dev)
-- Add Basic Page node with title 'Comes from example30' in 'example30.dev'
-- Copy '~/websites/example7.dev/sites/default' folder into '~/websites/example7.dev/sites/another' 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
127.0.0.1 another
-- Go to '/etc/apache2/sites-available' and copy file 'example30.dev' into 'another' and change all those lines:
  ServerName another
  ServerAlias *.another
  DocumentRoot /home/drupalpro/websites/example7.dev
  <Directory /home/drupalpro/websites/example7.dev>
-- Create alias '/etc/apache2/sites-enabled/another' linked to '/etc/apache2/sites-available/another'
-- Create alias '~/websites/another linked' to '/home/drupalpro/websites/example7.dev/sites/another'
-- Restart apache (sudo service apache2 restart)