We can build verity of websites using Drupal, including personal blogs to enterprise applications, CMS to ecommerce Portal. Thousands of add-on modules and designs can build any site that can imagine.
Distributions are a collection of pre-configured themes and modules for feature-rich web sites giving a head start on building any kind of web sites. We can build online communities, media portal, online store, and more!
This is technical guide for Drupal developers, which can be helpful for understand the system.
Power of Drupal:
1) The User System (Account)
2) The Node System (With Hook)
3) Data Access/Logic
4) File Upload Service
5) Web Service (XMLrpc)
6) Flexible User Interface
7) Template Engine
Anatomy of Drupal:
1) Drupal Core
2) Contributed Modules
3) Contributed Themes
4) Installation Profile
Modules are Drupal’s way of implementing a new functionality and plugging it into another Drupal system.
1) Module can access Database with any database related operations.
2) Can create access control and plugin into existing ACL’s.
3) Interact with other modules.
4) Can hook other system defined or user defined hooks.
1) .info file: Helps Drupal core to find info about the module.
2) .module file: Contain the entire hook and other functions related to the module.
3) .install file: Contain schema which are really needed for install the module.
4) .inc files: These types of files can hold functionality separation handler.
Example of Hooks:
4) hook_user and so on…
Drupal have the capability to all modules to modify content, user, menu’s permission and enhance functionality of them.
Drupal use database abstraction technology to handle various database related functionalities.
Drupal can handle multiple databases for same project with db_active.
Drupal can use db_query instead of mysql_query with abstraction API.
Drupal has capability to handle SQL injections and malicious database infections.
Drupal use Theme engine to handle theming and user interface.
Module resident theme functions to access modules view.
Template done via tpl files.
1) .info file: Helps Drupal core to find info about the theme.
2) .tpl.php files: Template’s view files.
3) Media files: like CSS, JS, and Images.