RSS
Логотип
Баннер в шапке 1
Баннер в шапке 2

Drupal CMS (Drupal)

Product
Last Release Date: 2015/11/19
Technology: CMS - Content management systems

Content

Drupal is the management system for the website (CMS) written in the PHP language and using a relational database as the data warehouse (MySQL, PostgreSQL and others are supported). Drupal is the open source protected by the license GPL and develops by efforts of enthusiasts from around the world.

Content management system (CMS) of Drupal – the open source which modular architecture allows to apply it to creation of different types of the websites — from blogs and the news websites to information archives, social networks and corporate applications.

Based on Drupal millions of websites and applications, including WhiteHouse.gov and InfoWorld.com work. Based on Drupal Gardens about 30 thousand websites work today.

Drupal 6

VASCO Data Security International company, the developer of systems and services for strict authentication, and specialists of Drupal in the fall of 2012 finished work on the module for CMS DRUPAL v6 which will allow web developer to ensure safety of access to the websites and applications due to integration of service of the one-time passwords MYDIGIPASS.COM.

Thanks to the module MYDIGIPASS.COM for DRUPAL v6 integration of two-factor authentication at websites of DRUPAL becomes a question of several settings. Web developer who use Drupal v6 can add the new security level using strict two-factor authentication very simply, quickly and without additional costs, at the same time having provided the high level of protection of access for end users to internal content and data of accounts at the maximum convenience.

Drupal 7

In comparison with the sixth version of Drupal 7 it has to be scaled better during the work on the big websites with several servers. It is not excluded, however, that at installation only on one server performance will be slightly lower. Drupal use many large organizations. The websites of Best Buy, Infoworld and the American White House work at it. A system differs in the improved support of DBMS, including adding of a new layer of an abstration of DBMS. Also means of work with Postgres are improved, SQLIte support is provided.

Drupal 7 allows to be connected to architecture based on expansion units that gives, for example, the chance to use much more high-speed databases, such as MongoDB. System developers recognized that the new software will go corporate users into the disposal.

Upgrade of Drupal 6 to Drupal 7 requires execution of a script of upgrade. To users can be required to rewrite codes of some modules adapted to the specific version and also to update user interfaces.

By October, 2010 there were seven alphas of Drupal 7 and two betas, first of which appeared on October 7. Authors expect to release the final version within the coming two months, but before it several candidate versions can be made.

2014: Dangerous vulnerability in Drupal 7

On October 20, 2014 the Digital Security company announced need to pay attention to the fact of detection of dangerous vulnerability in Drupal 7. Vulnerability is detected nearly year ago, however it became known of it recently.

On October 15, 2014 the German company SektionEins specializing in search of vulnerabilities in web products published details of the critical vulnerability allowing not authenticated user without any rights to execute any SQL query to the database on the server under control of Drupal 7. Practically at once in network exploits for use of this vulnerability which allowed the malefactor to change imperceptibly the admin password Drupal began to appear, without having on it the rights in a system.

The danger of vulnerability is that it does not leave any marks in a system — the requests executed in such a way are not registered in files of registration (logs). Besides, shutdown of the website regular means of Drupal (the maintenance mode) does not limit use of the above described bug. The malefactor gets direct access to the database that can become the information leak reason.

Vulnerability was eliminated in Drupal 7.32.

2015: Drupal 8

On November 19, 2015 there was a release of a free web content management system of Drupal 8[1].

A system is suitable for creation of different categories of web projects - from blogs and personal pages to large news portals and social networks.

Main changes in Drupal 8:

  • support of a preview and editing models of pages "on the fly". The built-in full-fledged WYSIWYG editor on the CKEditor platform;
  • means of complex modeling of content with objects, fields and representations. New types of fields for the postal addresses, links, phones, and other data types;
  • full-fledged means for creation and maintenance of representations of the websites in several languages;
  • emergence in the interface of administration of new tools for adaptation under the preferences both pages with contents and forms, and office administrative pages;
  • management tools configuration. Application of uniform universal storage of a configuration in which all types of settings and data on that are placed as well as where data are stored. Export of a configuration in the YAML format for use in control systems of versions is possible;
  • tools for distribution of changes between the websites in different server environments;
  • adaptation of pages for mobile devices and also application of methods of adaptive web-design and formation of an output of HTML5;
  • the built-in support of means for creation of RESTful web services and access to content through API based on the JSON or XML formats;
  • the improved means for physically disabled people;
  • support of application modern the technician of programming for PHP and integration with such popular libraries as Composer, Symfony2, Guzzle, and Twig;
  • significant performance improvement of a frontend;
  • expanded means of caching of pages, opportunities for integration with the systems of content delivery (CDN) and web accelerators;
  • full compatibility with PHP 7;
  • full support DBMS PostgreSQL and SQLite.

2020: The Drupal platform started the bug bounty program

A content management system of Drupal had own program of remuneration for the found vulnerabilities for ensuring the maximum security and confidentiality of the websites. Each user has the right to participate in the program on condition of observance of the set conditions and requirements[2][3].

Project History

There began development in 2000 [1] Dutch Dries Buytaert who also until now is a project manager. The name drupal is the distorted pronunciation of the Dutch word druppel (drop) and appeared as a result of an amusing error. In 2000 several students of University of Antwerp used the general ADSL modem for Internet access and for communication of users of this small local network Dries created the internal website. The program at which the website worked had no name until Dries was going to register domain name for the new website and as a result of a typo instead of dorp.org (from the Dutch dorp — the village, quite appropriate name for small community) drop.org was registered (drop in English — a drop). The audience of the new website was replaced with the interested by development of new web technologies over time and the new website gradually passed from an amateur experiment into the project on discussions of the ideas of web programming. In 2001 Dries published the source codes drop.org under the name of "Drupal", since then development moved to the website drupal.org registered later which acquired the status of the official site[4].

Since creation hundreds of people were involved in development process. Official developers of a core are dozens of people now, but many people send the patches included in the system code, also the functionality of the engine extends add-on modules which are created by third-party developers. For example 50 people who sent 338 amendments to the code took part in release 4.6, and 338 developers of the sent about 1500 amendments took part in release 4.7 already. In five years of existence of the project (by 2006) there were 13 releases, more than 300 add-on modules expanding the basic CMS functions were developed and according to approximate statistics of Drupal used more than 55 thousand websites on the Internet.

In 2007 Dries Baytayert created Acquia company directed to commercial support of the projects and services founded on Drupal inspired by progress of Canonical and Red Hat which constructed business on support of open projects. In 2008 Baytayert received an academic degree and now is going to concentrate on development of the child completely.

Over time around the international website national communities appeared. drupal.ru — community of the users and developers speaking Russian became the first national domain in 2003. Now more than 20 national websites of support work at different languages. The complete list of national communities can be found on the page of Communities Drupal.

Logo

After Drupal was created, the choice and creation of a logo was an obvious question. Participants of community considered that it should be connected with a drop or water. And originally the Drupala logo was represented as a drop in a circle. Over time the idea to make a logo in the form of a comical drop with the person came. Steven Wittens created a three-dimensional drop, but the idea did not go to masses mainly because it is difficult to print, edit a three-dimensional object, etc.

The current Drupala logo is thought up by Kristjan Jansen. It represents the drop representing the person. Eyes are shown as two connected drops in the form of an infinity sign and express infinite opportunities of Drupal in a symbolical form. The semicircular nose and a naughty smile supplement the person.

Technical features

The architecture of Drupal allows to apply it to creation of different types of the websites — from blogs and forums, to information archives or the websites of news. The functionality is provided with the connected modules addressing the general API Drupal. A standard set of modules includes, for example, such functions as a news feed, the blog, a forum, loading of files, the collector of news, votes, search, etc. A large number of the add-on modules considerably expanding basic functions can be downloaded from the official site.

The most important functions provided by modules Drupal entering delivery:

  • uniform categorization of all types of contents (taxonomy) — from forum messages to blogs and news articles
  • wide property set at creation of subject heading lists: flat lists, hierarchies, hierarchies with the general ancestors, synonyms, related categories
  • enclosure of categories of any depth
  • search in website contents, including search in taxonomy and users
  • access isolation of users to documents (role model)
  • dynamic creation of the menu
  • support of XML-formats:
    • an output of documents in RDF/RSS
    • aggregation of materials from other websites
    • BlogAPI for the publication of materials using external applications

  • authorization through OpenID
  • short URL (differently "cheloveko-clear" — the CNC)
  • support of replaceable subjects of a design of the website with providing several ready options
  • the translations of the interface of the website on different languages and also support of maintaining multilingual content
  • possibility of creation of the websites with the crossed contents (for example the general user base or inline tunings)
  • separate configurations of the website for different virtual hosts (including own sets of modules and subjects of a design for each subsite)
  • the mechanism for load limitation on the website (auto disconnect at high attendance of a part of information blocks and modules)
  • notifications on the coming-out updates of modules

Localization support

A system supports localization of the interface for different languages. Drupal 5 has the translations of the interface on 33 languages (however not all transfers are complete). There is a support of Russian. In Drupal own mechanism for localization with storage of transfers in the database, on an equal basis with other contents of the website is used. At the same time adaptation to work with standard library gettext is simple. Import and export of translations of site is also performed in the form of po-files (the format used by gettext library).

Complete localization of contents is supported by third-party modules (do not enter Drupal delivery, but can be downloaded from the website of developers).

In Drupal 6 updating of the mechanism of localization, for a full-fledged work with multilingual contents is planned. Also adaptation to the XLIFF format for storage of transfers is planned (the compatibility with gettext will remain).

Methods of structurization of contents

In Drupal the flexible scheme of the organization of structure of the website on the basis of taxonomy is offered. Taxonomy — the mechanism allowing to create any amount of thematic categories for contents of the website and to associate them with the modules providing input and output of information. Categories can submit flat or hierarchical lists, or complex structures where the element can have several "parents" and several child members. Using the similar scheme the same modules the organization of different options of structurization of contents is possible. For example, the end-to-end list of "key word" for all documents of the website, etc. is easily created.

Design subjects

The design of the website on Drupal is under construction on the basis of replaceable subjects of a design. As such there is no only scheme of creation of design, instead of Drupal gives the chance to use the different "engines of subjects" using the templates convenient for editing (the XML templates in xtemplate and Smarty engines or templates on HTML+ the built-in PHP in the phptemplate engine, etc.), or to create design subjects directly addressing API Drupal. The delivery of Drupal switches on the engine by that on the basis of phptemplate and several examples of those. Those can download other engines on the project website.

Starting with version 4.7 Drupal supports Ajax technology, for dynamic upload of contents without regeneration of pages. In version 5 for work with JavaScript the JQuery library is added. From version 6.0 creation of forms by means of AHAH appeared (without hard reset of pages of the website).

Examples of modules

The add-on modules placed in a repository on drupal.org allow to expand functionality of a system considerably. Several examples (modules for the version of Drupal 4.6 are given, not always modules are available to all versions of a system):

Drupal should carry very complete documentation on different aspects of a system to undoubted advantages (however only in English).

System Requirements

Drupal first of all is focused on the LAMP platform, but options of use of other system software are possible.

Shortcomings

  • Critics of Drupal reproach with developers weak use of object opportunities of PHP. Really, API Drupal practically does not use the OOP opportunities which are available in PHP. Developers reason it with weak implementation of OOP in language (especially to the version of PHP 5). The object model is present at Drupal, but at a type, a little nonconventional for PHP.
  • In view of active use of the Drupal database it can be too heavy for resources of the hosting providers provided on cheap tariff plans though for the small websites with attendance in several hundred or in day of these resources there will be enough thousands of visitors.
  • In certain cases, especially at big attendance, use of the built-in mechanism of the caching (based on use of a DB) can lead to damage of tables to a DB
  • (But at the same time and to advantages) Drupal it is possible to refer rather high dynamics of project development to shortcomings. Practically in each release there are changes of API when along with adding of new features some old clean up or call arguments of functions change. It results in need to developers of third-party modules to adapt them for work with new versions of Drupal. However changes of API and the procedure of adaptation of modules to new versions are described in documentation for each release, the mechanism of the automated upgrade of a core of a system on the new version is also always offered.
  • Contents classification system, difficult for understanding by unprepared users — taxonomy.
  • Not really good support of the multilingual websites.

Examples of implementation of the websites on Drupal

The examples of several websites with high attendance (tens of thousands of visitors a day and above) working for Drupal are given:

Literature

The complete list of the books which appeared in different languages can be found on the drupal.org/node/42200 page.

Books in Russian

  • John Vandyuk, Matt Vestgate "CMS Drupal: the guide to development of the system of management of the website", 400 p., about silt.; ISBN 978-5-8459-1356-2, 978-1-5905-9755-2

Books in English

  • Robert T. Douglass, Mike Little, Jared W. Smith «Building Online Communities with Drupal, phpBB, and WordPress». Apress, ISBN 1-59059-562-9
  • David Mercer «Drupal: Creating Blogs, Forums, Portals, and Community Websites», ISBN 1-904811-80-9
  • John K. VanDyk, Matt Westgate «Pro Drupal Development», ISBN 139781590597552, ISBN 101590597559
  • Matt Butcher «Learning Drupal 6 Module Development», ISBN 1847194443, ISBN 13 978-1-847194-44-2

Links

Over time around the international website national communities appeared. drupal.ru — community of the users and developers speaking Russian became the first national domain in 2003. Now more than 20 national websites of support work at different languages. The complete list of national communities can be found on the www.drupal.org/language-specific-communities page.

Notes