Udemy REST Assured free

Drupal Fundamentals Interview Questions

Showing 1 - 10 of 13 results

Explain the “hook” system in Drupal. How and why would you use it?

Drupal’s hook system is essentially a mechanism for implementing custom features without needing to make any modifications to the Drupal core. There are specific places where the Drupal core can invoke custom functions defined in modules to enhance the functionality of core. These places are referred to as “hooks” and have a well-defined interface.

Hooks make it possible, for example, for a module to define new URLs and pages within a site (hook_menu), to add content to pages (hook_block, hook_footer, etc.), set up custom database tables (hook_schema), and so on.

Let’s say you want to change the core "Contact" form. To do so, you can implement hook_form_alter in your custom module and provide any custom functionality that you’d like in that function. Drupal will check all form_alter hooks in all modules, so your hook will be picked up and your custom code will be applied to the “Contact Form”.

So overall, Drupal hooks are just functions defined per the Drupal standards that allow you to extend Drupal and alter or extend core functionality without modifying any core code.

What are appropriate use cases for Drupal as opposed to a lower-level framework like Ruby on Rails?

Rails is a general purpose web application framework for Ruby. It’s designed to help programmers be more productive in building web sites of all types, not just CMSs. And note that it’s for “programmers”. Unless you intend to write server-side code, you can’t hope to get much done with just Rails alone (but if you do intend to write code, both Ruby and Rails are known to be very productive).

Drupal is a Content Management System, of which there are hundreds. It happens to be written in PHP, but it’s modular design and large collection of available modules and themes make it possible to design and implement a large variety of web sites without writing a line of code. Most importantly, though, it is fundamentally a CMS. The further your site’s needs are from the CMS sweet-spot, the less likely it is that Drupal will be your best choice.

Name and describe the five conceptual layers in a Drupal system.

The five layers, starting from the bottom layer, are as follows:

  1. Data (nodes, etc.): Before anything can be displayed on the site, it must be input as data.
  2. Modules: Modules are functional plugins that are either part of the Drupal core or are contributed modules that build on Drupal’s core functionality.
  3. Blocks and menus: Blocks can be used to present anything, so just about any piece of content on a Drupal site (other than main content, breadcrumbs, and primary/secondary menus) is usually a block. Blocks are an extensible core feature of Drupal with a simple API provided by the block module. Blocks are similar to “widgets” in content management systems, but are highly generalized. Menus are a collection of links (menu items) used to navigate a website. The Menu module provides an interface to control and customize the menu system that comes with Drupal. By default, new menu items are placed inside a built-in menu labeled Navigation, but administrators can also create custom menus.
  4. User permissions: User permissions are defined for various roles and users are assigned to these roles in order to grant them the defined permissions.
  5. Themes and templates: The top conceptual layer of the drupal architecture is the theme. This consists primarily of XHTML and CSS, with some PHP variables intermixed, so Drupal-generated content can go in the appropriate spots. Also included with each theme is a set of functions that can be used to override standard functions in the modules in order to provide complete control over how the modules generate their markup at output time. A theme may contain one or more templates, depending on the complexity of the site and the way it has been designed.

Does Drupal provides support?

Like with all open-source projects there is no commercial support available. Though, there is a vast online community for Drupal available via Forums and IRC online chat who are more than eager to answer your queries.

Explain what Drupal distributions is and when to use?

Distributions are full copies of Drupal, which includes Drupal Core, along with additional software as modules, themes, libraries and installation profiles.

You can use distributions for:

  • Evaluating Drupal
  • Demoing Drupal
  • Learning Drupal
  • Quickly binding Site

Explain what is Drupal?

Drupal is a Content Management System (CMS). It’s an open source content and free CMS framework written in PHP.  It enables you to organize, manage and publish content with ease and comes with a variety of customization option.

Drupal is distributed under GNU General Public Licence.

Difference between WordPress and Drupal?

The difference between WordPress and Drupal is:

Point of Distinction WordPress Drupal
Architecture WordPress has a front controller architecture. Drupal has Presentation abstraction Control architecture.
Written in WordPress was written in PHP and based on MySQL as well. Drupal was written in PHP using the symphony framework of PHP
Multi Language Support WordPress is not available in Multi languages Drupal is available in Multi languages.
Idea for Website WordPress has been used for small websites or applications. Drupal is more ideal for large content based websites.
Customization WordPress themes and plugins really help in better customization Drupal provides the fewer features for customization.
User Interface WordPress user interface is more user-friendly. A Drupal user interface is less friendly as compared to WordPress.


Explain the disadvantages of Drupal?

The disadvantages are:

  • Drupal is not compatible with other software.
  • Drupal is not having a user-friendly interface.
  • Its performance is low compared to other content management systems.
  • It needs good knowledge about the platform to install and modify.
  • To develop the website in Drupal, it requires a lot of knowledge.
  • It has a high learning curve.
  • Drupal generates more server loads and not able to open with a slow internet connection.
Subscribe to Drupal Fundamentals Interview Questions