Drupal General concepts
we will discusses some general concepts that will be useful for you to begin explore Drupal.
A node is the general term for a bit of content on your website. The content type of the node will define what fields are included with it. Based on the type of node, different fields will be attached, and this is known as a content type. For eg: a basic Page content type has included fields such as title and body fields. Other examples of content type are: Book pages for use in Books, Blog pages in blogs, Discussion topics in forums, and News articles.
The word “node” is not used in mathematical sense as part of a network.
An entity type is a useful abstraction to group together fields. Entity types stores and display data, which can be nodes (content), comments, user profiles, taxonomy terms or something custom developed.
They are another type of content you can have on your site (if you have activated the core Comment module). Each comment is typically a type of content that a user submits, attached to a distinct node. For example, each piece of discussion bound to a particular forum topic node is a comment.
Drupal has a system for classifying content referred as taxonomy. This is provided by the core Taxonomy module. user can define their own vocabularies (groups of taxonomy terms) and add terms to each vocabulary. Each vocabulary can then be linked to one or more content types, and in this way, nodes on your site can be grouped into various categories, classified, or tagged in any way you choose.
A user is a entity which represents a actual-world website user. By default, a user has a set of properties like their user name, password, e-mail address, and role. However, they may also have other properties provided by other modules, and it can be extended with new fields. For example, you could add a new field “Link” for user’s Twitter address.
A module is a part of software (code) that extends Drupal functionality. Modules fall into one of three categories:
Core modules are by default included with the main download of Drupal. These can be turned on or off without downloading additional components. Examples include Taxonomy, Book, Poll, or Blog
Contributed modules can be downloaded from the download section of drupal.org, and installed inside your Drupal installation. Examples include Panels, Views or Meta tag.
Modules which you write yourself is called Custom Module. This requires a through understanding of Drupal, PHP programming, and Drupal’s API.
Regions & Blocks
Pages on your Drupal site are laid out in Regions. These can include the header, footer, featured top, featured bottom, sidebars, main content regions etc.. . Your theme may define additional regions.
Blocks are discrete chunks of information that are displayed in the regions of your website’s pages. Blocks can take the form of static chunks of HTML or text, menus (which are for site navigation), the output from modules or dynamic listings that you’ve created yourself (e.g. a list of new users).
There are four standard menus in Drupal 7:
The Main menu is built by site administrators and displayed automatically in the page header section of many themes (if not, you can enable their blocks to display them).
Management is the administration menu, and is presented in the Admin toolbar.
Navigation is a link-all menu that usually contains links supplied by modules on your website.
User menu contains links to the User account and the logout link.
You can also create your own menus (custom), and display them by enabling their blocks.
You can customize menus in several ways, such as reordering menu items by setting their “weight” or simply dragging them into place, renaming menu items, and changing the link title (i.e, tooltip that appears when you mouse hover a menu item). You can move a menu item into a different menu by editing the Parent property of the menu item.
You can also include custom menu items to a menu, from the Add menu item tab of the Menu administration screen. To create a menu item, you will need to provide the path/url to the content.
In all cases a menu item will only be displayed to a visitor if they have the permission to view the page it links to. For example, the admin menu item is not shown to visitors who are not registered/logged in.
The Theme layer is separate from the data layer, the functionality extension layer (module) and Core. Theme controls the appearance (look and feel) of your site, or how your site is displayed, including the graphic look, layout, and colors. A theme consists of one or more PHP template files that define the HTML output of your site’s pages, along with one or more CSS files that define the layout, fonts, colors, and other styles.
For a collection of useful materials for themers, see Theming and Front End Development with Drupal.
Not all sites have Views, most sites include the Views module because of the excellent tools it provides. Views allows people to choose a list of nodes or other entities and present them as blocks, pages, RSS feeds, or in other formats. The main use case for views is to create dynamically updating lists of content (for example, a list of news), based on characteristics of that content (in the case of the news listing, that the content type is “News” and sorted by publication date).
Drupal preserve information in a database. Inside this database, each type of information has its own database table. For example, the basic information about the nodes of your website are stored in the Node table, and data of each field stores in a separate table (which Drupal creates automatically). Comments and Users also have their own database tables, as permissions, roles, and other settings.
The most common database for Drupal is MySQL. However, you can also run Drupal on other database systems, such as PostgreSQL, as well.
When you visit a URL under your Drupal site, the part of the URL after your base site address is known as the path.
When you visit a path in your Drupal site, Drupal figures out what information should be sent to your browser by checking its list of routes and menu items. Generally, Drupal allows each module to define paths that the module will be responsible for, and when you choose to visit a particular path Drupal checks the module what should be displayed on the page.
For example, the page you are now viewing is http://drupal.org/node/18728, and the path is “node/18728”. The module that is functional for this path is the core Node module, so when you visit this page, Drupal lets the Node module determine what to display.
The bootstrap is the CPU (central processing unit) of Drupal. this is sometimes called the event loop in other interactive software environments . Drupal’s core is a bit like that. It sits around waiting for a path request, and then starts processing the request.
Permissions can be set to control what users have access to view and/or edit particular areas of a site. These permissions relates to registered users (ie: content editors, administrators, site members) and non-registered users. Permissions can be set to be very specific and granule making for a powerful feature to use when developing a site’s structure.