Drupal 8 is worth discussing...and especially with one of its top core contributors! Andrey Postnikov (AKA Andypost) is here on a visit to InternetDevels Drupal development company and Drudesk support service.
In accordance with the best traditions of the “open-source” world, where skill-sharing is common, Andy allows all our guys to “torture” him with questions. He helps to puzzle out the most complicated issues of Drupal 8 and more.
If you are a drupaler, the very name of Andypost will speak volumes to you right away. But If you are far from the web development sphere, don’t hurry to leave this page ;) We promise that our today’s conversation with Andypost will be interesting for developers, customers, and website users as well. Let’s start!
Andy, were you looking forward to Drupal 8 release?
Of course. The release of Drupal 8 took a long time — I expected it to happen a year earlier. And I started to worry when the release was delayed, because 4.5 years of work had been put into it. But it was worth it, because many of the old Drupal “illnesses” were completely cured and the code was thoroughly cleaned. Also, it became much easier to change something without breaking anything.
You are among the top core contributors. Does it feel nice to create Drupal?
Yes, I'm the 12th or the 13th on the list, by the number of mentions in the commits. Of course, I like being a contributor, because it allows me as a developer to maintain the appropriate level of skills, and also understand in what direction Drupal is moving, what people expect from it, what is not done quite right, where the pitfalls are — both to explain it to people, and to know it myself. And, of course, it gives the profits to the company where I work — in terms of reputation. After all, their developer knows the core well!
So in what direction is Drupal moving? What are the new trends in its development?
The main trend of Drupal 8 is the replacement of self-written code which is totally obsolete, with ready solutions, more stable libraries. In particular, Symfony alone completely substituted 3 or 4 subsystems.
Another big focus is front-end. At DrupalCons, front-enders began to actively communicate and come to an agreement on many issues. I think that the priority of the near future will be to get rid of outdated front-end solutions.
Does Drupal 8 really provide great multilingual opportunities?
Actually, Drupal 7 also offered multilingual opportunities, but it was much more difficult to properly configure it all. You needed a dozen of modules. In Drupal 8, it is included in the core architecture. So if a site requires multilinguality, I highly recommend Drupal 8.
Responsive design is a hot issue today. Is it easier to create responsive themes with Drupal 8?
Yes, I have tried to manage a Drupal 8 site from my phone many times — everything was displayed perfectly. The administration theme (Seven) in Drupal 8 is fully responsive. You can just extend from it and create a subtheme according to your own preferences. The front-end theme (Bartik) will also be convenient to build a subtheme with.
Responsive themes in the Drupal 8 core have been thoroughly “cleaned” and improved by a lot of people. Therefore, I strongly recommend you to not write your own theme from scratch. Check out Seven or Bartik (my advice is to start with Seven) and then decide what to extend from.
Many customers are interested with the prospects of online shops in Drupal 8.
The prospects are actually good. In the updated Drupal Commerce platform, product management has been improved and native multicurrency and multi-language functionality has been added that solves a lot of issues for online shops.
Another important feature has appeared which is related to geographic targeting. Now every shop is attached to the region, and we can apply different discounts and taxes depending on where a customer submits an order.
But at the moment it is very difficult to create a full-fledged online shop with Drupal Commerce. The shopping cart is too simple (which is why it works so fast). And, most importantly, there is no functionality for payments. But the work is being done to fix it.
Each month, a new piece of Commerce is released. By summer, it is likely that they will add the payment functionality. Then it will be possible to recommend creating online shops with Drupal 8. However, we have a client who has already ordered an online shop with the prospect that, within half a year, Drupal Commerce will be completed.
In addition, for building online shops with Drupal, there is also the updated version of Ubercart platform. I have not examined it in detail, but I saw the announcement.
Due to the fact that not all modules are ready (or refined), Drupal 8 development is for now considered to be more costly in time and budget. Are there websites for which it is more profitable?
Yes, for some types of websites Drupal 8 is already more profitable. For example, for content sites and business card website Drupal 8 is absolutely ready, and the development is cheaper. There is no need to add contributed modules there — the necessary functionality is already in the core.
One of the arguments in favor of Drupal 8 for most sites is that in Drupal 7 has open issues that have stayed suspended for 2-3 years and are likely to never be resolved. After all, everyone is busy improving Drupal 8.
Many developers are looking forward to the moment when they can say goodbye to “hooks”.
Theoretically, it can happen by the time Drupal 9 is released. Everyone wants to say goodbye to hooks, but, in my personal opinion, events are not ready to replace hooks. For example, checking whether you have a subscriber or a function with a certain name takes 6 times as long. The event system is much slower, so it can dramatically slow down the site.
Some hooks have already been removed and replaced with plug-ins or events — where it does not interfere with the performance. Perhaps they will write some event manager that will work fast. Or PHP7, which will compile the whole core to the memory and check the functions as quickly as hooks do. But I have doubts about it.
Do you have any favorite module?
They vary. It’s just that at certain times I spend more time on specific modules.
For example, I now have a priority for the Default Content module. It enables you to deliver the content by default with the installation profile or inside the module. Drupal 7 had this module, and in Drupal 8 it was rewritten from scratch, though not completely. I have it now as a priority, since it hampers the migration from Drupal 6 and 7 to 8. And it is absolutely indispensable when you need to test the necessary things on your site without loading the entire database.
I am also now actively dealing with the Contact Storage module. The Contact module has existed in the core for a long time. It provides a feedback form. In Drupal 8, it’s been rebuilt (with my participation), to work as a web form, that is, to enable you to add different fields to a contact form and do everything with more advanced options. Also, a form is now stored in a database.
I really want to refine these modules and add them to the core, and I expect to do it, let’s say, for version 8.3.
On February 24, Drupal 6 has officially reached its end of life. Is it urgent to upgrade to newer versions?
Basically, no critical weaknesses in Drupal 6 have been reported, and it is solid. But there is a big problem: Drupal 6 runs on an older version of php which has long since become unsupported, and no one releases security updates for it.
Hacking a Drupal website 6 is a task not for a guru, but for an average mind. It won’t be hacked through Drupal, though, but through php and outdated software on the server side (as it is surely outdated, because Drupal 6 requires this).
I think that someone will soon create a robot that will sneak around and look for Drupal 6 websites in order to hack them. And this will be another "Drupalgeddon" :) (As there was once as a result of a security bug in Drupal 7 that compromised almost all sites). That is the most important argument in favor of an upgrade from Drupal 6.
Have you come across a Drupal website that would particularly impress you with its design or functionality?
I do not get impressed with websites any longer. Each site is valuable to me not for its design, but for how it solves its main task. There are lots of websites that inconvenient, but they are awesome, because they do something no other site does.
For me, the standard of a complex and interesting site is drupal.org. It combines a lot of technologies, high traffic, mainly with authorized users. For me it is an example of how such a huge site could be upgraded from Drupal 5 to 6, from 6 to 7, and now it is being refined, rebuilt, expanded, and completed with a lot of services.
What would you wish to Drupal developers?
It would be awesome if web developers checked the drupal.org website more often to see that their problems had already been faced by someone else. Do not hurry to debug — try to search first. There is a 90% probability that, the problem is already known, and a 50% probability, it has a solution, at least in part. This is something that the developers should make their rule. If the problem can not be solved within 5 minutes and you have no ideas — check drupal.org, and then decide what to do next.
Another piece of advice is to come up with your solutions more often. On drupal.org, it is very easy to find a community according to your interests. You can offer anything you like — and the community decides whether to accept it or not.
The Drupal community includes an incredible number of people of different professions. A constructive dialogue in which they express their ideas helps make Drupal better!
We are very grateful to Andypost for all the answers and welcome him at our office again and again! ;) In the meantime, if you are interested in Drupal 8, we could offer you some blog post by our developers: Creating modal windows (pop-ups) in Drupal 8, Theming in Drupal 8, Using Twig in Drupal 8, Configuration in Drupal 8, Drupal 8 development tips.