Drupal

From Script | Spoken-Tutorial
Jump to: navigation, search

Drupal is a free and open source content management system (CMS) written in PHP and distributed under the GNU General Public License. Originally written by Dries Buytaert (who still continues to lead the Drupal project), Drupal turned open-source in 2001 and since then has blossomed into a powerful and friendly content organizer with the contribution of countless developers world-wide to the Drupal core itself, as well as various add-on extensions to Drupal (in the form of modules, themes, language kits and documentation etc).


Thousands of websites worldwide rely on Drupal including the official website of White House, FOSSEE Project, IIT Bombay website, etc. Drupal allows novice web authors to quickly publish their website without any knowledge of writing code or designing pages, while still giving advanced developers an extensive API to hook into the Drupal core and enhance it to any desired objective.


Drupal runs on any computing platform that supports both a web server capable of running PHP 4.4.0+ (including Apache, IIS, Lighttpd, and nginx) and a database (such as MySQL, PostgreSQL or SQLite) to store content and settings.

This set of tutorials will cover features and usage of Drupal version 8.x. Please see the associated text box of individual spoken tutorials on the website to decide the versions of Drupal and OS to which it is applicable.


The original Drupal tutorials were created by Acquia and OSTraining and were shared (free of cost) with the Spoken Tutorial Project so that a revised version suitable for Indian students could be created. The Spoken Tutorial Project thanks them and Dries Buytaert for this noble gesture.


The Spoken Tutorial Effort for Drupal was contributed by Priya K. and Nancy Varkey from the Spoken Tutorial Project and school students Varsha Venkatesh, Gautam Narayanan, Ameesha Bhorkade, Vanessa Varkey, Calvin Nikhil Tomy, Prajakta Ghorpade and Hrutika Parab.

The review and supervision of this series was done by Prof P. Sunthar from IIT Bombay.

Learners: Web developers, website administrators, and UG/PG CSE/IT/CS students who wish to learn website management.

Basic Level

  1. Overview of Drupal
    • Introduction to Content Management System
    • Introduction to Drupal
    • Salient features of Drupal
    • Drupal community
    • Overview of this Drupal series
  2. Installation of Drupal
    • Installing Drupal on Ubuntu Linux and Windows operating systems
    • Using Bitnami Drupal Stack for installation
    • Requirements to install Drupal
    • Explaining about Apache and Mysql ports
  3. Content Management in Admin Interface
    • Navigating Drupal Interface
    • Administration toolbar
    • Menus items: Content, Structure, Apearance
    • What is Super user
    • Sub-menus, section tabs and sub-section buttons
    • Creating a shortcut
  4. Configuration Management in Admin Interface
    • Configuration management in admin interface
    • Menu items: Extent, Configuration, People, Report
    • People: Roles, Permissions, List
    • Checking the available updates manually
  5. Creating Basic Content
    • Creating basic page in Drupal
    • Explaining what is content type
    • Creating an article in Drupal
    • Explaining what is node
    • Three different text formats
    • Explaining what is Teaser mode
  6. Editing Existing Content
    • Explaining inline editing
    • Explaining CKEditor or WYSIWIG Editor
    • Using CKEditor
    • Usage of Quick Edit
    • Configuring CKEditor
    • Creating a group of buttons
  7. Creating New Content Types
    • Creating a new content type
    • Adding fields to content type
  8. User group and Entity Reference
    • Creating "User Group" Content type
    • Explaining about User groups
    • Adding fields to the "User Group" Content type
    • Connecting "User Group" and "Events" Content types using Entity reference
  9. Taxonomy
    • Explaining what is taxonomy
    • Adding a taxonomy
    • Adding taxonomy terms
  10. Managing Content
    • Creating new content
    • Managing contents, comments and files
    • Checking the revisions of a content
  11. Creating Dummy Content
    • Explaining about Devel module
    • Creating dummy content using Devel module
  12. Modifying the Display of Content
    • Explaining about displays
    • Managing full content display
    • Adding view modes
    • Explaining how to trim the description
    • Managing display of teaser mode
  13. Displaying Contents using Views
    • Introduction to views
    • The workflow of views
    • Creating a new view
    • A page with teaser
    • Creating a simple block view

Intermediate Level

  1. Table of Fields with Views
    • Displaying fields in a table
    • Setting up "Display", "Format", "Fields", "Filter", and "Sort"
    • Explaining how to display only the upcoming events
    • Explaining how to sort fields
  2. Controlling Display of Images
    • Explaining how to change the image styles
    • Creating logos with difference sizes and effects
    • Creating a view "Photo Gallery" using grid format
  3. Adding Functionalities using Modules
    • Introduction to Modules
    • Explaining about default modules
    • Activating Book module and Forum module
    • Creating user manual using Book module
    • Creating forums using Forum module
    • Adding forum topics to forums
  4. Finding and Evaluating Modules
    • Explaining about finding a module from drupal.org
    • Explaining how to evaluate modules
  5. Modifying the Page Layout
    • Introduction to Layouts
    • Block configurations
    • Permissions
    • Removing and re-ordering blocks
  6. Menu and Endpoints
    • Installing pathauto module
    • Setting up URL patterns
    • Explaining endpoints
    • Creating URL aliases
    • Creating sub menus
    • Creating a menu link
  7. Styling a Page using Themes
    • Introduction to themes
    • Finding themes from drupal.org
    • Installing a basic theme "Zircon"
    • Exploring the block regions of "Zircon" theme
  8. Installing an Advanced Theme
    • Introduction to base and sub themes
    • Installing a base theme "Adaptive theme"
    • Installing a sub theme "Pixture Reloaded"
  9. People Management
    • Introduction to people management
    • Creating a new role
    • Setting up permissions to users
    • Introduction to Masquerade module
    • Testing the given permissions using masquerade module
  10. Drupal Site Management
    • Drupal site management
    • Viewing reports
    • Updating new version of Drupal
    • Updating modules and themes
    • Updating database
    • Restoring an old version of Drupal

Advance Level

  1. Hosting a Drupal website
    • Explaining how to get our code and database ready
    • Demonstrating how to host a Drupal website using cPanel
    • Uploading the local content on the live website
  2. Creating a simple custom module
    • Explaining the prerequisites to create custom modules
    • Explaining how to create a basic module
    • Workflow of a module
      1. Request
      2. Router
      3. Controller
      4. View
      5. Response
    • Rules to follow while naming custom module
    • Explanation of Yml file extension of YAML
    • Demonstrating how to add a basic controller
    • Demonstrating how to add a routing file
  3. Solr Search and Facets Implementation
    • Introduction to API
    • Introduction to Solr Search API
    • Why do we need Solr Search API?
    • Salient features of Solr search
    • Introduction to Solr core
    • Installation of Solr search
    • Implementation of Solr search
    • Creation of Facets
    • Implementation of Facets
  4. RESTful API Implementation
    • What is RESTful API?
    • Purpose of RESTful API
    • Type of users who can use RESTful API
    • Implementation of RESTful API
      1. Installing required modules
      2. Configuring REST resources
      3. Setting up users to access RESTful API
      4. Creating view for content type
      5. Creating view to retrieve data
  5. RESTful API with a REST Client
    • What is REST client?
    • Introduction to Postman client
    • How to check whether RESTful API is implemented in a website?
    • Using Postman client how to
      1. Retrieve data using GET method
      2. Create a new node using POST method
      3. Modify an existing node using PATCH method
      4. Delete an existing node using DELETE method

Contributors and Content Editors

Nancyvarkey, PoojaMoolya, Pratik kamble, Priyacst