📜 ⬆️ ⬇️

Drupal 8 - Revolutionary Changes

image In the rapidly changing world of IT, and not only, those who are constantly evolving win: stopped - it means lost. This is true in particular for CMS. Trying to keep up with the times, the release of the new version of CMS Drupal 8 is not far off.

At the moment, 3 alpha version of Drupal 8 is available. Several initiative groups have been created working on the main areas: Configuration Management, Design, Mobile devices, Multilingual and Web services. The kernel now has 1600+ contributors (approximately two times more than Drupal 7 had). The new version made more than 500 innovations and changes. Below I will mention, in my opinion, the most significant of them. Changes are described in relation to Drupal 7, i.e. It is assumed that the reader is familiar with Drupal 7.


Changes are available through the interface


Many improvements have been made to the default interface - which will simplify the use of CMS by non-professional users. Since the most demanded functionality is added to the core, practically there is everything you need out of the box to build an “average” website without using third-party modules. That will allow the use of 8-ku immediately after the release, do not wait for the release of the main modules, as it was for previous versions and usually took about 6 months. And so, the changes:
')
Inline editing
Editing content becomes very simple and convenient: by clicking on the pencil icon, near the desired content - it becomes available for editing, of course, if you have the appropriate rights.

Views module in the core
Views is the most popular module. As its use in previous versions of Drupal shows, the use of the new version of Drupal increases significantly after the release of this particular module.

Built-in multilanguage
For full use of multilanguage in the previous version of Drupal, it was necessary to additionally install about 5 additional modules, now multilanguage is fully supported in the kernel. In 8-ke, you can change the default language - English to another.

Built-in CKEditor editor
A handy text editor is now available out of the box.

Adding Images
Now you can, without installing additional modules, insert the image in the right place in the text. It is also possible to simultaneously download multiple images.

Responsive design for embedded themes
Built-in themes are now responsive and ready for use on mobile devices.

New toolbar
The toolbar is completely redesigned and has now become adaptive, more convenient and intuitive.

The ability to change the shape of the node
Change the display form of the node, you can now without writing code.

New field types
Additional frequently used field types are built into the kernel: Entity Reference (allows you to establish a connection between the contents), Date (for events), Link, Telephone, Email, Picture.

Configuration management system
The configuration system has been completely redone, and now the settings data is not stored in the database, as it was before, but in files. That makes it easy to export / import settings, use different settings for development and release, as well as, store data in a version control system.

Some modules removed from kernel
These modules are: Dashboard, Poll, Blog, Profile, Open ID, PHP filter, Trigger. Mostly, these modules are now available separately.

Upgrade from previous versions
To upgrade from previous major versions, the Migrate module is integrated into the kernel, which allows you to upgrade directly from 6, 7 to 8.

Changes for developers


The biggest changes concern the developers, as they make a departure from the usual Drupal development technology towards OOP and the use of the Symfony2 components.

Everyone knows the steep learning curve of Drupal. Using OOP should make learning easier and more accessible. The core of Drupal, has never been so well documented, thanks to the excellent documentation of the Symfony2 components.

Using OOP
Although OOP was partially used before, the use of OOP was officially adopted in 8-ke. Started a gradual departure from procedural programming and the use of hooks, which were used in times when the PLO was not yet available in the right amount in PHP. In this regard, there are many new, for Drupal, concepts and concepts. For namespaces, it is customary to follow the PSR-0 standard (a little later, perhaps PSR-4). In 8-ke, the full transition to OOP will not be made, and a partial legacy in the form of a procedural code will remain, but this will be done in Drupal 9.

Using symfony2 components
One of the major innovations in 8k is the use of the symfony2 components:


Composer
The dependency manager, which is used for downloading and maintaining up to date the used libraries, project components.

Twig Template Engine
The previous template engine Phptemplate, often criticized for the inconvenience of working with it, using PHP inserts, poor security. Twig is not only devoid of these shortcomings, but it also has many advantages: it is easy to learn, flexible, templates are easy to read, so the word is sheer fun for a temizer.

Configuration system
As mentioned above, the configuration system has been completely revised and now the data is stored in text files, in a very convenient format yaml.

PHPUnit
Adds the ability to unit testing, which will replace the current Simpetest.

New block concept
In 8-ke, a block is an entity (Entity), with its inherent properties: creating additional fields, block types, versions.

RESTful server
Out of the box, Drupal 8 can act as a REST server and serve many devices.

Other third-party components


Plugins
A plugin is a class that is intended to complement the work of the kernel or modules, and is essentially a replacement for info hooks. The plugin is not a separate component and is part of the module, which can have many plug-ins.

Not everyone needs changes


As you know, people resist any changes - even good ones, since this knocks them out of the thumb and causes them to leave the comfort zone. And in this case it makes me study - which in itself is very useful, especially in the light of a recent article .

These innovations are believed to be attributed to the fact that Drupal 8 is moving towards the corporate market, where professional developers will be more in demand. Some developers who do not want to master the new architecture and development technology are not satisfied with this situation. Therefore, a fork was made with Drupal 7, which was called BackDrop CMS. This is not something new for Drupal, forks have been made before, but none of them has become popular. The creators of BackDrop plan to develop it in a “calmer” way, but also plan to gradually use OOP, connect the Twig template engine, or write a similar one. I think the most difficult thing will be supporting BackDrop after the end of official support for Drupal 7 (and this will be after the release of D9).

Instead of conclusion


The above list of changes is far from complete; you can find more details here . Work on Drupal 8 has not yet been completed, the expected exit is the first half of next year. Those who want to try out the latest version can now get a pre-release from here or from the repository.

Source: https://habr.com/ru/post/197670/


All Articles