Drupal core modules are available with Drupal installation pack. The main objective of this article is to help beginers to understand more about drupal core modules. Before you start working with drupal ,it is most important to understand about Drupal core modules.Drupal comes with 31 core modules and these core modules are developed by Drupal core programmers and community.The Drupal core modules cover a wide range of basic functionality, from advanced user profiles to statistics collection. Many of web sites can be completely created with only the modules delivered with the standard Drupal download. Core modules can all be activated or deactivated without downloading otherpackages or adding extra database tables.

Drupal 6.x Core Optional Modules

AggregatorAggregates syndicated content (RSS, RDF, and Atom feeds). The news aggregator is a powerful on-site news reader that can gather fresh content from news sites and weblogs around the web and make it available from a Drupal site using common syndication formats including RSS, Atom and RDF . This module fetches syndicated content from other sites. It does not generate syndication feeds for Drupal. To enable your site’s XML syndication button, turn on the Syndicate block in administer/blocks.
BlogEnables keeping easily and regularly updated user web pages or blogs. The blog core module allows every registered user to maintain an individual online weblog (commonly known as a blog), often referred to as an online journal or diary. Blogs are made up of individual posts that are time stamped and are typically viewed by date as you would a diary. Blogs often contain links to webpages users have read and/or agree/disagree with.
Blog APIAllows users to post content using applications that support XML-RPC blog APIs.The Blog API module enables a post to be posted to a site via external GUI applications. Many users prefer to use external tools to improve their ability to read and post responses in a customized way. The Blog API provides users the freedom to use the blogging tools they want but still have the blogging server of choice.When this module is enabled and configured you can use a variety of programs to create and publish posts from your desktop. Blog API module supports several XML-RPC based blogging APIs such as the Blogger API (outdated) (new Blogger Data API, MetaWeblog API, and most of the Movable Type API.
BookAllows users to structure site pages in a hierarchy or outline.This module allows access control for Drupal books on a per-book basis.You may configure role-based view, edit and delete permissions for each individual book. Those permissions will be applied to all child book nodes (aka “book pages”).This module does not allow per-node permission settings.
ColorAllows the user to change the color scheme of certain themes.An API to generate a full color scheme from a base color. Generates a palette of background and foreground colors. Foreground colors are generated so they have enough contrast to be readable against the background color. Also includes functions to brighten, darken, and mix colors.
CommentAllows users to comment on and discuss published content. When enabled, the Drupal comment module creates a discussion board for each Drupal node. Users can post comments to discuss a forum topic, weblog post, story, collaborative book page, etc.
ContactEnables the use of both personal and site-wide contact forms.This module provides additional features to the core contact module including providing a default subject and setting the category through URI arguments. This can be useful for sites that want to be able to link to a specific contact form from different sections of the site.
Content translationAllows content to be translated into different languages. Translations are managed in sets of posts, which represent the same information in different languages. Only content types for which the administrator explicitly enabled translations could have translations associated. Translations are managed in sets with exactly one source post per set. The source post is used to translate to different languages, so if the source post is significantly updated, the editor can decide to mark all translations outdated.
Database loggingLogs and records system events to the database.The dblog module monitors your site and keeps a list of recorded events containing usage and performance data, errors, warnings, and similar operational information.
ForumEnables threaded discussions about general topics.
HelpManages the display of online help.
LocaleAdd language handling functionality and enables the translation of the user interface to languages other than English. When enabled, multiple languages can be set up. The site interface can be displayed in different languages, as well as nodes can have languages assigned. The setup of languages and translations is completely web based. Gettext portable object files are supported.
MenuAllows administrators to customize the site navigation menu. Define the navigation menus, and route page requests to code based on URLs. The Drupal menu system drives both the navigation system from a user perspective and the callback system that Drupal uses to respond to URLs passed from the browser. For this reason, a good understanding of the menu system is fundamental to the creation of complex modules.
OpenIDAllows users to log into your site using OpenID.OpenID is a method of using a single login at a trusted provider to automatically allow you trusted access to other websites. You do not need to create accounts or new log ins at the other websites, you merely need to tell the other websites what your OpenID is. The first time you do this at a website you are giving permission to your trusted provider to give some of your profile information to the new website.
PathAllows users to rename URLs.The path module lets you create custom urls for your Drupal paths.For example, assume you want to post your resume for potential employers. Without the paths module enabled, the URL to view your resume would be something like yourdomain.com/node/view/26. Using this module, you could create a new URL to your resume such as yourdomain.com/my/resume or yourdomain.com/resume.html.
PHP filterAllows embedded PHP code/snippets to be evaluated. The PHP filter core module adds the ability to include PHP code in posts. PHP is a general-purpose scripting language widely-used for web development; the content management system used by this website has been developed using PHP. Through the PHP filter, users with the proper permission may include custom PHP code within a page of the site. While this is a powerful and flexible feature if used by a trusted user with PHP experience, it is a significant and dangerous security risk in the hands of a malicious user.
PingAlerts other sites when your site has been updated.The Ping core module is useful for notifying interested sites that your site has changed. It automatically sends notifications (called “pings”) to the pingomatic service to tell it that your site has changed. In turn pingomatic will ping other services such as weblogs.com, Technorati, blo.gs, BlogRolling, Feedster.com, Moreover, etc.
PollAllows your site to capture votes on different topics in the form of multiple choice questions.The Poll core module lets you create simple polls. You ask a question, provide possible answers, and let your users vote. Drupal then keeps a running tally of the results. When you create a poll, you can also specify the “base” vote counts (how many votes an item has at the start) and decide how long the voting will run.
ProfileSupports configurable user profiles.The profile module lets your users share information about themselves. You set up forms for them to fill in. Users tell about themselves by filling in your forms on the edit tab of their “My Account” page. And what each user tells will be visible to the rest of the users on your site, to the extent you choose when you design the forms.
SearchEnables site-wide keyword searching.The search module lets users search for specific content on your site. You can search both for users and for particular words. When you are on the “content” tab of Search, you will be able to search for words appearing in the default rendering of node content on your site, which would include the default rendering of any CCK fields, Location fields, Taxonomy, etc., as well as comments. When you are on the “users” tab of Search, you will be able to search the user names of registered users on your site, and if you have sufficient permissions, also their email addresses.
StatisticsLogs access statistics for your site.The statistics module keeps track of numerous statistics of site usage. It counts how many times, and from where each of your posts is viewed. The statistics module can be used to learn many useful things about how users are interacting with each other and with your site.
SyslogLogs and records system events to syslog.Syslog is an operating system administration logging tool, where messages are routed by facility and severity. It is more suitable for medium to large sites, and would not be suitable for shared hosting environments.
TaxonomyEnables the categorization of content. Taxonomy is the practice and science of classification according to natural relationships. In Drupal, this is one method administrators use to organize content in a web site. Taxonomy is created from ‘Vocabularies’ that contain related ‘Terms’. The Taxonomy module helps classify content on Drupal websites.
ThrottleThe throttle module provides a congestion control throttling mechanism for automatically detecting a surge in incoming traffic. If the site gets linked to by a popular website, or otherwise comes under a “Denial of Service” (DoS) attack, your webserver might become overwhelmed. This mechanism is utilized by other modules to automatically optimize their performance by temporarily disabling CPU-intensive functionality. For example, in the site theme, you might choose to disable pictures when the site is too busy (reducing bandwidth), or in modules, you might choose to disable some complicated logic (reducing CPU utilization).
TrackerEnables tracking of recent posts for users. The Tracker core module displays the most recently added or updated content to the website allowing users to see the most recent contributions. The tracker module provides user level tracking for those who like to follow the contributions of particular authors.
TriggerThe Trigger module provides the ability to trigger actions on system events, such as when new content is added or when a user logs in.These combinations of actions and events can perform useful tasks such as e-mailing an administrator when a user account is deleted, or automatically unpublishing comments with certain words in them. By default, there are five categories of events (Categories, Content, Comments, Cron, and Users), but more may be added by additional modules.
Update statusThe Update Status module checks with drupal.org once a day to see if there are new officially released versions of Drupal and any modules that you are running. It requires cron to do its thing, so make sure that you have cron correctly enabled or it won’t be able to know.
UploadThe upload core module allows users to upload files to the site. The ability to upload files to a site is important for members of a community who want to share work. It is also useful to administrators who want to keep uploaded files connected to a node or page.

Drupal 6.x Core Required Modules

BlocksBlocks are the boxes of content (such as “User Login” or “Who’s online”) that can be displayed in regions (such as footer or sidebar) on your page. Blocks are made available to your site most commonly by enabling modules. For example, enabling the core Poll module makes the “Most Recent Polls” block available for you to place in a region. Also note that some modules provide multiple blocks when enabled, others may not define new blocks.
Blocks are placed in regions via the Block Admin page (Administer > Blocks).
FilterThe Filter core module allows you to configure formats for text input for your site. For example, you may want a filter to strip out malicious HTML from users’ comments.Despite the name “filter,” the module not only lets you keep out text you don’t want but also lets you enhance the text you let in. So, for example, you can use a filter to turn ordinary line breaks into HTML paragraph tags.
NodeAll content on a Drupal website is stored and treated as “nodes.” A node is any posting, such as a page, poll, story, forum text, or blog entry. Comments are not stored as nodes but are always tied to one. Treating all content as nodes allows the flexibility of creating new types of content. It also allows you to painlessly apply new features or changes to all content.
SystemThe system module provides system-wide defaults for running jobs at particular times, storing (caching) web pages to improve efficiency, and performing other essential tasks. The module also keeps track of various preferences you give for how you want your system to behave.
UserThe user module allows users to register, log in, and log out. Users benefit from being able to sign on because this associates content they create with their account and allows various permissions to be set for their roles.The user module supports user roles, which can be set up with fine-grained permissions allowing each role to do only what the administrator permits. Each user is assigned one or more roles. By default there are two roles: anonymous (a user who has not logged in) and authenticated (a user who has signed up and been authorized).