CMS Drupal and its features

What is the first thing we pay attention to and should pay attention to when choosing a CMS engine? Perhaps for the convenience of use. This aspect directly depends on functionality, flexible configuration, content management and much more. Installing CMS on the server, we, of course, gradually begin to understand what and how in these very settings, but after all the same… we delete it without having studied even a small part of the possibilities. This approach is rather wrong, and I often had to hear undeservedly angry reviews about a particular CMS precisely about its convenience. One of the mentioned engines is Drupal. Today you have the opportunity to get to know him better.

Drupal project

Developer: Dries Buytaert & Co.

Drupal announced itself back in 2000 and today is a fairly well-known and in-demand web project. I myself found out about it in 2003, but for me it was just a fact of existence. I decided to try out the CMS in action only in 2006, when the Russian engine support site I was taken out by Google. The “Features” section of the portal, in turn, pleased with the list of various features. Keywords — functionality, ergonomics, support and scalability. In general, after some thought, I concluded that Drupal’s architecture is unique, and the engine has a number of features that are not in any other. Worth checking out! On the main page of the site there is a sign with links to Drupal distributions. Let’s choose version 4.7.5 (but not 5.0) and at the same time — “download Russian translation”. The russifier is called ru-4.7 and is compatible with any Drupal of the 4.7.x branch. To be honest, the archive size is surprising, even if not the current version of the CMS — 400 KB (after unpacking — less than 2 MB), especially after reviewing the list of features.



I warn you in advance: in 4.7.x and earlier versions, Drupal does not contain an install wizard. But this does not mean that the installation is complicated — on the contrary. There are only a few points that you need to pay special attention to. Drupal’s configuration file is located at: Drupal\sites\default\settings.php . Why do you think the subfolder is called “default”? Yes, because the engine supports several configurations. And if you want to organize a whole, so to speak, Drupal-powered system of sites with different (sub)domains — please! For details of such multi-support, see in INSTALL.txt (briefly) or here: (details in Russian). Regarding a simple installation: we need to find the line

After configuration, the contents of the distribution must be moved to the server. Well, and finally — import tables into the database. There are files with .mysql and .pgsql extensions in the database folder (by the way, it is not necessary to copy them to the server). These are table dumps for MySQL and PostgreSQL, respectively. Import is done by any available method: via phpMyAdmin, Site Keeper Dumper Lite ( ), SSH, console, etc. Now, after these actions, go to the site and create the first account (“Create first account”). So you have become the administrator of your own resource (with a successful installation, of course). Information about your account will be sent to your E-mail. And, attention: if a message appears during the registration process

warning: mail() [function.mail]: Failed to connect to mailserver at …

this means that the SMTP function on the server is disabled. This situation is typical for most free services. What can I recommend here? Change the hoster, otherwise sending emails to users of your site will be impossible. I installed Drupal 4.7.5 on and (free hosting rates). I have not encountered any problems.


By default, the interface is, of course, English. Go to the Administer ->modules section and connect the Locale module responsible for multilingual support. After that, a new section should appear — localization. First, we add a new language (add language tab), then import the information from the ru.po localization file into it. You will have to wait for some time (it’s clear: such a large text array is being processed, the current/imported text strings are compared). Well, we can start studying CMS. Drupal’s features are very clearly revealed in the administrative section, in which we are now.

The main Management page displays all the events taking place on the site. This means that any action performed by you or without your participation will be recorded in the Log. For example, if a new user is registered, the entry will be displayed opposite the User type. There will be a comment, an article — look at the type of Materials. There are several other types, each of which can be displayed separately (using a filter). Here is such a useful and irreplaceable thing. Further, the Management is divided into sections. Through the Blocks section, the structure of the site is changed. As usual in CMS, the block can be placed in the header, footer, left/right margins, directly in the center or simply removed. The order of blocks is affected by weight: lighter ones “float” up or move forward, heavy ones, respectively, “settle”. You will see all the changes in the admin panel. A very serious Access section. It contains three tabs. The first defines the powers of the registered (authenticated) and unregistered (anonymous) users. A mark next to a certain module capability means permission. Depending on the scale of the project, there may be more roles — for example: moderators, editors, authors (Roles ->Add role). And as soon as you install a new module, new options will appear. The third tab — Access Rules — allows you to enter a ban on the login, e-mail address or host from which the site is accessed. In other words — ban options.

We have come to the Categories. Here, I believe, the main characteristic feature of Drupal is revealed, namely Taxonomy. Quote: “Taxonomy is an original concept for specifying the structure of the site, separating the structure from the presentation. With the help of taxonomy, you can determine an arbitrary number of categories in which the site materials will be placed in the future. These headings can be represented as flat lists or hierarchical structures of arbitrary nesting (both tree-like, when an element has only one parent in the hierarchy, and arbitrary, when an element can have several parents at once)…” ( ). In another way, taxonomy is the categorization of content, which means any textual information published on the site: a message, a comment, a vote, an article, a page, and even an image. Drupal has its own forum built in as a module, so users’ forum posts are also nodes. But in practice it looks like this. In the Categories section, we create a dictionary, i.e. a set of sections (the second tab), noting the necessary types of nodes and the type of hierarchy, and add terms to it — the actual sections by which the material will be systematized (the Add terms tab). For example, I am creating a dictionary for “Webmaster”. There are two terms in it — “Internet” and “CMS” — with some synonyms. Done. Now, when publishing any information, I have a choice in which dictionary (or several dictionaries at once) and by which term(s) to distribute it. Note: this is a very convenient solution, since in the future it will be possible to thoughtfully organize all the material on a certain topic.

It is clear that the Comments section is designed to manage comments. Publish them or unpublish them — in the admin’s authority. In the settings, you can change the display type (collapsed/expanded, linear / hierarchical), as well as some parameters for sending a comment. Materials — a section directly related to the content of the site. All materials published or awaiting moderation are collected here. It is worth saying that Drupal distinguishes between three text input formats:

– Filtered HTML — HTML code with limited use of tags;

– Full HTML code without restrictions;

– PHP code — use and execution of PHP scripts.

The first format is convenient for manual typing (when there is no sense and time to use all possible tags). If you transfer the code from your favorite Dreamweaver, choose Full HTML — otherwise the formula “what I see, I get” will not work. PHP is also sometimes useful, in particular, for importing text from external files.

Modules. Nothing expands opportunities like they do. And Drupal itself is the core and a bunch of modules of varying degrees of importance. Block, Filter, Node, System, User and Watchdog are inherently important, others are selectively configurable. Among others, I mean those that can be downloaded from the official engine support site. The list is impressive: all sorts of chats, galleries, file managers and just useful extensions. I will not go into a detailed description of the modules — I will name only some of them, in my opinion, vital:

DBA — working with database tables using Drupal. Standard operations check, optimize, drop, backup, empty, execution of SQL queries. This is quite enough to forget about the existence of phpMyAdmin :).

Dbcron — regular execution of SQL tasks via Cron.

Backup — will help the listed extensions. Performs backup not only of the database, but also of the engine system files.

TinyMCE, FCKeditor, Htmlarea (Xinha) — visual editors. To TinyMCE, do not be lazy to download TinyMCE Compressor PHP, which reduces the loading time of WYSIWYG.

SMTP — setting up SMTP-sending emails via Drupal.

DrupalVB, Phpbb2drupal — integration and import of data like messages, accounts from well-known forums.