Saturday, November 6, 2010

Drupal's Module Must Have in Your Site

Drupal is a powerful content management with hundreds and hundreds of modules available for free to extend the basic core Drupal functionalities. However, it could be puzzling for beginners to find the modules that suit them best. Here are my 10 must have drupal modules for every website.

1- Administration Menu
The Administration Menu module is a real time-saver for Drupal site administrators. This is the very first module I install for any Drupal websites. It creates a theme independent CSS-based menu on the top of the page with quick access to the most important administrative tasks and can be displayed for specific roles. Once you started using this module, you can’t help loving it.

2- FCKeditor - WYSIWYG HTML editor
If it is your client or any common user, he doesn’t like to add html tags in content to apply styles. This is wonderful module that gives visual text editor to Drupal’s text areas. Though there are couple of text editors like WYSIWYG API & TinyMCE, This module is easy to use and majority of the drupalers prefer to use this than other. Before installing this module, have a look at the readme.txt file of the module.

3- Content Construction Kit (CCK)
CCK is probably one of the most famous drupal modules and allows you to add custom fields to nodes using a web browser. If you are building any site that uses more than just title and body in your node, CCK is a must have. This is one of the modules that makes drupal unique and different from any other CMS’s.

4- Views
Views is a powerful module since it empowers people who are unfamiliar with SQL or PHP to generate a list of records which can be displayed in Pages, Blocks, or wherever you need. This module need a bit of a learning curve but it’s worth investing. Almost all large drupal sites use views module and there are lots of stuff you can do than you imagine.

5- ImageField
This is a great add-on to CCK module. It will allow you to add or upload image to your custom content types. I always choose Imagefield than the default drupal upload module. This module is more flexible and easy to control using views modules.

6. Backup and Migrate
This is another notable module for any drupal website. Using this module you can take backup of your database at schedules intervals or manually when needed. I often use this module to restore the database when I did something messy.

7- Pathauto
Pathauto allows you to create user and SEO friend aliases to your content. Normally Drupal path would be www.example.com/node/12 (node id) but when you install this module, you can manipulate the drupal path with user friendly URLs like www.example.com/content/some-text.
This module also enables you to have custom pattern of URLs for different content type.

8. Webform
You can create advance forms using Webform modules where you can capture user data. Typical uses for Webform are questionnaires, contact or request/register forms, surveys, polls or a front end to issues tracking systems.

9- Google Analytics
Enable Google Analytics to your drupal sites and get all useful stats about your site and users. Rather than manually inserting google analytics code in each page, you just need to install this module and add your unique Google Analytics account number (in the format UA-XXXXXX-X) in the module configuration page.

10.CAPTCHA
A CAPTCHA is a challenge-response test most often placed within web forms to determine whether the user is human. The purpose of CAPTCHA is to block form submissions by spambots, which are automated scripts that post spam content everywhere they can. It's easy to install and setup but most importantly, it looks clean and effective.

Have you used all these modules? What are your favorite module for any drupal installation? Let me here you in the comments.

How To Install Drupal

How to install Drupal to your server is relatively the same as how to install WordPress to your server. You can use Fantastico to install Drupal or do it manually. I suggest you do it manually because managing Drupal will usually require you to access the backend of your website. It will be of great advantage to us if during installation, we can familiarize the directory structure of Drupal. We will follow the same steps in installing WordPress manually on manual installation of Drupal.

Install Drupal Manually
Many of the the steps we will do here are essential skills on managing our Drupal powered website.
1. Go to Drupal.org and download the latest release of Drupal. It is an archive package of .tar.gz extension.
2. Login to your cPanel account by going to example.com:2082
3. Upload the Drupal package to the folder in your server where you want to install Drupal. For step by step guide on how to upload files to your server, refer to my previous post How to Upload Files to the Server.
4. Extract the .tar.gz package. Make sure that all Drupal files and folders are inside the directory where you want to install Drupal. Meaning, if you want to install Drupal at the root directory of your site, make sure that all Drupal files and folders are inside public_html not inside public_html/drupal-x.xx.
5. Inside the cPanel, scroll down to "Databases" and click "MySQL Databases" icon.
6. In "Create New Database" enter the name of your database. In most cases, cPanel will prefix your database name with your web hosting username. The complete name of your database would then be accountname_databasename.
7. Add a "New MySQL User". It is a good practice to name your user the same as the name of your database.
8. Add the new user to the new database and give the user all privileges over that database. This can be accomplished in "Add User To Database" section below the "New MySQL User".
9. In the Drupal directory, look for the file named default.settings.php. It is located at ./sites/default folder, where "." represents the directory where you install Drupal. Copy it to another folder, rename it to settings.php then move it back to ./sites/default folder.
10. You are now ready to run the Drupal installation. Go to your website by typing example.com to the web browser. Follow the screen instruction and supply all the necessary information for your Drupal website.

Install Drupal with the use of Fantastico
Using Fantastico to install Drupal is really straightforward.
1. Login to your cPanel account by going to example.com:2082
2. In the cPanel, scroll down to "Software/Services" and click the "Fantastico" icon.
3. In Fantastico, look for Drupal in the sidebar and click it.
4. Read the on-screen instructions and supply all necessary information for your Drupal website.
That's it, using Fantastico is very easy but I discourage you to use it. Here are some reasons why.
• You have no control over the name of the database and database user.
• You cannot control which Drupal release you are going to install. Many times, Fantastico is not updated with the latest release of Drupal.
• Learning the directory structure of Drupal is very essential in maintaining your site. You will loss the opportunity of dealing with Drupal's directory when going with Fantastico.