A Drupal module is simply a collection of files containing a set of routines written in PHP. Because the module code executes within the context of the site, it can use all the functions and access all variables and structures of the main engine. In fact, a module is no different from a regular PHP file: it is more of a concept that encourages good design principles and a good development model. Modularity also suits the open-source development model, because it allows a number of developers to contribute functionality to Drupal without risk of interference.
These Modules provide a great power to Drupal. A huge collection of modules are available. Each developer has its own collection of modules. Some time we select some modules as our requirement. We have found these to be quite useful for general site builds, as well as for ecommerce development.
Now this 10 modules are the most basic and common modules mostly required at the start.
If you are novice that I would suggest you to start with these modules so that you can select proper module to begin with and not getting into “What to do and What to select” phrase.
1. Administration menu
I Love this module because it increases work efficiency. If you are lazy person you will love it. I suggest when you start drupal you can start with this.
Administration menu module provides a theme-independent administration interface (aka. navigation, back-end) for Drupal. It’s a helper for novice Drupal users coming from other CMS, a real time-saver for Drupal site administrators, and definitely a must for Drupal developers and site buiwlders (keyord: Devgel interation).
The module renders all administrative menu items below ‘administer’ in a clean, attractive and purely CSS-based menu at the top of your website. It contains not only regular menu items – local tasks are also included, giving you extremely fast access to any administrative resource and function your Drupal installation provides.
2. Content Construction Kit (CCK)
The Content Construction Kit allows you to add custom fields to nodes using a web browser. It requires View module
1. Add fields to an existing Drupal content type
2. Create new custom content types
“However, there is one area where realistically, only a module will do. We all have them. It’s client that comes back wanting more and more features as their site grows (and are prepared to pay for it!). An example, custom searching. If you know your own module inside out then extending it and adding extra functionality is a breeze. With a CCK+ Views deployment you have to start getting into the db construct for the site. If you want it generic across sites, you have a lot of settings admin work to do, or hard code it for that site. Either way, it’s sometimes a lot of work to retrofit custom work over CCK+ Views”
The Views module provides a flexible method for Drupal site designers to control how lists and tables of content (nodes in Views 1, almost anything in Views 2) are presented. Traditionally, Drupal has hard-coded most of this, particularly in how taxonomy and tracker lists are formatted.
This tool is essentially a smart query builder that, given enough information, can build the proper query, execute it, and display the results. It has four modes, plus a special mode, and provides an impressive amount of functionality from these modes.
Among other things, Views can be used to generate reports, create summaries, and display collections of images and other content.
The Pathauto module automatically generates path aliases for various kinds of content (nodes, categories, users) without requiring the user to manually specify the path alias. This allows you to get aliases like /category/my-node-title.html instead of /node/123. The aliases are based upon a “pattern” system which the administrator can control.
Token provides an API that allows other modules to tap into variable bits of text (user names, node titles, taxonomy terms, etc). The Token module provides a central API for modules to use these tokens, and expose their own token values.
A suite of modules containing fun for module developers and themers.
The Panels module allows a site administrator to create customized layouts for multiple uses. At its core it is a drag and drop content manager that lets you visually design a layout and place content within that layout. Integration with other systems allows you to create nodes that use this, landing pages that use this, and even override system pages such as taxonomy and the node page so that you can customize the layout of your site with very fine grained permissions.
FileField provides a universal file upload field for CCK. It is a robust alternative to core’s Upload module and an absolute must for users uploading a large number of files. Great for managing video and audio files for podcasts on your own site.
A module which runs the Drupal cron operations without needing the cron application.
For every page view, this module checks to see if the last cron run was more than 1 hour ago (this period is configurable). If so, the cron hooks are executed, and Drupal is happy. These cron hooks fire after all HTML is returned to the browser, so the user who kicks off the cron jobs should not notice any delay.
This package contains both the Date module and a Date API module. The Date API is available to be used by other modules and is not dependent on having CCK installed.
The date module is a flexible date/time field type for the cck content module which requires the CCK content.module and the Date API module.
- date.module can store dates in two ways, as an iso date (YYYY-MM-DDTHH:MM:SS) or a unix timestamp.
- Create dates with a single input element, or add a second date input element to create ‘From’ and ‘To’ dates.
- Use the Views Calendar to display CCK dates in calendars.
- Use the included Date Browser Views plugin to add flexible date-based grouping and paging to any View that uses a CCK date field as an argument.
You can also Find and Download lots of modules at drupalmodules.com by top rated, most downloaded and very easy to search.
There are many other modules available which are useful as required. If you can suggest any module you think more important and that should be in top 10 list then you are welcome.