Drupal is a modular framework which uses the modules to provide functionality to an application or an a website. The Drupal core consists of over 20,000 contributed modules, some more popularly used than others which makes Drupal such a practical and powerful application framework and CMS used by many developers and website owners. In this article, we will look at some of top Drupal modules you should have for your standard Drupal development projects.
Views is one of the more popularly downloaded contributed Drupal modules. Generally most developers will consider the thought of a Drupal website built without the use of Views almost inconceivable.
In essence Views is defined as a smart query builder admin interface which given an adequate amount of information will allow the developer to create the proper query to a database, execute it and return the results.
Simply putting it, the Views module is used for displaying a list of the contents on the website. The Views module by way of its interface takes instructions from the user to create MySQL queries which are used to run against the Drupal database to display the requested information in a number of different formats to the user. Besides creating a list of contents such as galleries, articles, blogposts and graphs, View also provides the developer with an number of options as to how the information will be structured and displayed. Views additionally allows the user to present the related content and establish a sort criteria such as showing a list of users along with links to their own profiles.
Due to its multiple configurations, Views takes some time getting used to, as each view is considerably different and consists of a a wide variety of combinations which makes creating a new view less of an intuitive process.
Website pages with Views can create a significant load on server infrastructure which can cause it to run slowly, as such a standard Home Page may have five or more views.
Note: When using Views is is often advised that Views cache is enabled and some consideration given to increasing the amount of time views are cached. Should you notice that queries are taking a longer time to execute then your first attempt should be directed to adjusting how the view is constructed to improve the performance. Notably some combinations of View filters will result in a slow performance than others.
Short for “What You See Is What You Get” WYSIWYG is a very useful Drupal module and a key element for any website which is maintained by non-technical website editors.
WYSIWYG is an enabling tool which allows website developers to easily introduce a client based editor offering a similar functionality such as Open Office Writer or Microsoft Word. The module which includes a visual interface, allows the developer o have a first hand view of what the website will look like while it is being created while allowing users to provide feedback on the website without the use of HTML and allows the user to format texts, add tables, images and links by enabling selective buttons for different text formats.
Most website developers will tell you that it is difficult to work within regions of a more complex website. As such when building a Drupal website some developers in order to maintain control of how the website is displayed will often use the Panels module.
Panels works as a wrapper that requests the content to be displayed. Each panel is created from panes, where a combination of content as nodes views or blocks is placed. Developers will often use panels to create usable layouts and custom themes without having to work out the code.
One of complaints most developers will often state with panels, is the increased amount of markup which the module adds to the webpage. This however can be effectively managed by limiting the amount of content placed within the panel to avoid the website performing poorly. Moreover panels much like other Drupal modules has its own cache which can be enabled within its settings and configured individually for each pane.
Short for Block Entities Aren’t Nodes. This Drupal module provides an interface which is used by the developer to add block types by creating new Entities known as Beans and their fields. This module provides an alternative to create a new Block with the required field options for the developer to add content and display customized blocks such as for a Banner or Contact Details which can be positioned around the Drupal website according to the requirements of the website owner.
The Features module allows the developer to package previous work from a modified project to be delivered quickly for use on another assignment.
Many developers will use the Features module to download components from a website, such as Views and Panels to use that configuration within the code file of their website project. This provides an API for choosing the functionality the developer wants to import, then packaging them into a single “feature module” to be later imported and introduced as any other module in a new website.
Media is a great tool for developers which offers a Media API for managing multimedia assets and files, not to mention a great solution for Drupal’s shortfall of media management which can even be used if the media files are hosted on a 3rd party site.
Media does not include a specific method for audio and video media playback right out of the box. To do this developers will typically use a number of other modules such as Media YouTube, Media SoundCloud or Media Vimeo to make the website more interactive.
This amazing module is mostly used by developers on large projects and includes of a field collection feature which allows users to create groups of customized fields of content types to add website functionality. Once it is created, the field collection can then be edited individually.
Although is can be somewhat difficult to integrate field collection with other modules, due to its flexibility most developers have found it worth the trouble.
Download: Field Collection
Path Auto is the primary module which is used for the purpose of Search Engine Optimization.
Every bit of content within Drupal contains a URL. The Path Auto module allows the website administrator to use tokens to create “patterns” which the system will in turn use to generate “URL aliases” for the content created in a format which is easier understood than the default URL’s created in Drupal.
Though difficult to configure Drupal’s Path Auto Module is one of the most adaptable Drupal modules which can be used to create custom URLs optimized for SEO purposes.
Another great Drupal module and a must have module for every website that expects Search Engine traffic is Metatag. Using this module developers can set Metatags on every website page to be used by Search Engines.
With regards to SEO, Metatags can be in the form of “Meta Keyword tags” and “Meta Description tags”.
The “Meta description tag” should provide an adequate description of your page content, and should appear in a similar manner as seen in the following tag:<meta name=”description” content=”Brief description of the contents of the website page.”>
The “Meta keywords tag” however should offer a brief list of the most representative topics of the webpage, and appear in a similar form to:<meta name=”keywords” content=”keywords, keyword, keyword phrase, etc.”>
This Metatag module however can only provide tags on nodes, including front page, users and taxonomy terms. Nonetheless, other modules have been created to extend Metatag’s functionality such as Panels and Views.