Adminstering Drupal 7 Website
Jump to navigation
Jump to search
Administering Drupal 7 Website Training Materials
Copyright Notice
Copyright © 2004-2023 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 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 ⌘
- Bitnami (http://bitnami.org/stack/drupal)
- AmazonEC2
- JumpBox
Building Blocks ⌘
Extensions
|
Users
|
Content
|
Structure
|
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 ⌘
- got to /admin/index
- 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)