Blog

Drupal on HHVM

PHP 7 will be released soon, and Drupal comminuty is beginning to consider reworking Drupal's code in anticipation. It seems like much needs to be changed in Drupal code base, though. Community is hopeful to have the the necessary changes made in time for Drupal 8. PHP 7 promises significant boost in performance for OOP elements, which is desperately needed for Drupal 8. There has been a competition in performance between PHP and it's hack, called... well... Hack.

Drupal 8's Asset Management Rant

It has been about half a year since I wrote my Angulars Drupal 8 module and posted it on GitHub. The module actually did some easy manipulation with strings and inputs by AngularJS. Now that I have had some free time in a few months, I decided to revisit it and see if it still worked with all the changes being bundled into Drupal 8 daily. And surely it did not. One thing that changed in Drupal 8 recently (well, a few months ago) has made me especially ranty.

Quoting and Estimating Drupal Projects

How do you quote for a Drupal based project? How do you come up with a quote that is both fair and it does not end you up working for free? It has been usual for me to come up close to estimation for some years now, to the point where a few margin hours no longer matter for the larger projects. There are some steps and methods that I have been using, all taken from other freelancers and project managers, in Drupal field of application and outside. In this article, I will present this process, as I view it, and hopefully you find it helpful. So here are those quote steps.

Missing image_dimensions table

PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'image_dimensions' doesn't exist: SELECT * FROM {image_dimensions}

It has been half a dozen times now that I have encountered this error. It happens with the Media's file_entity module (the version coming with the Media module) installed. There is an issue for it at https://www.drupal.org/node/2170231 as well. Sadly, the author has not been able to reproduce the bug. It is obvious, though, that a number of sites have been suffering from it. So, what do you do if yo have this issue? You need to run this code on your site, calling the update that corrects this:

<?php
module_load_include
('install', 'file_entity');
file_entity_update_7101();
?>

PHP PDF Library: tcPDF vs mPDF

Recently, I needed to create a simple Drupal-based solution, that would include mailing a PDF printout of a node to the client. My study of the available free PHP PDF libraries has yielded results - Google found about a dozen of them. After some research, these have been narrowed to just 2 - TCPDF and mPDF. After some more research and playing with the two, I ended up with the mPDF as the library of choice. And the reason, plainly - better HTML/CSS support.

Drupalcamp Berlin

Drupalcamp Berlin is over! It has run in Berlin, on 15-16 November, 2014. Lots of things to be happy about:

  • Glad to have met the team of the Drupal agency arocom, with which I work remotely. Enjoyed the time, and the opportunity to know the people better. A good team, fun to be a part of on a human level!
  • Was proud to see so many Ukrainian devs at the conference, with solid knowledge of the subject. Mostly, they were a part of the Propeople group, a multinational company. But still very proud to see Drupal being a right choice for a good amount of my compatriots.
  • Have flown 4 airplanes in total, which helped me combat my fear of heights. Ate lots of cookies, drank lots of free soda, ate lots of free pears, listened to tons of good suggestions and practices. Had some good time, in the other words.

I am thankful to Arocom for having a big portion of my expenses in this DrupalCamp covered!

Drupal Zopim Integration - Pros and Cons

Recently I conducted some research on Drupal integration with Zopim, to integrate this functionality with arocom.de. Zopim is an online chat with an admin service-side backend. Here are some strong and weak sides to Zopim, some pros and cons to using Zopim as your customer support chat.

Overall, Zopim is a great tool for client chat support. It’s pros outweigh it’s cons, especially with a free plan in mind. If you are having a mono-lingual site, you are especially lucky. If you are multi-lingual, you will need to write your own translation JavaScript and implement it via Zopim’s JavaScript API.

My New Work Place - Arocom

Congratulate me with a new work place! After some correspondence, live meetings, and common projects, I am joining to work with arocom GmbH remotely, as a senior developer. I have had experience working with the Drupal agency arocom, and the company's CEO, Axel Roth, and have been impressed by their depth and practicality in handling Drupal, as well as intuitiveness and cleverness of solutions that they are building for their clients. Work with arocom has shown to be interesting, challenging, and fulfilling. I am looking forward to working with the arocom team, contributing, and building awesome stuff together!

Drupal 8 and AngularJS

Drupal 8 and AngularJS are two cutting edge technologies that can work effectively together to allow creation of web applications and effective dynamic data views. AngularJS can be used with Drupal in a variety of ways. In web shops and web carts, where setting product options can calculate price in real-time. In all kinds of listings, like news listings, person databases, ticket systems. It can be used for live filtering of data. For all kinds of live update widgets, live weather widgets and various real-time tracking. And, of course, a sweet role with the smart forms, that evaluate values and adapt in real-time without having to reload the page. With the Drupal 8’s built-in services support, AngularJS comes a very handy and helpful, and a promising companion.

Drupal 8 switched to PSR-4

Drupal 8 has switched from PSR-0 to PSR-4. PSR is an autoloading standard, that ensures, that all classes files get loaded properly, without having to load the class files manually. PSR-4 is the latest version of the PSR standard, that allows to have a shorter class file folder hierarchy, correcting the unpleasant issue of many layers of folders in the early PSR versions.

The declaration in the routing file remains the same, like:
_content: '\Drupal\angulars\Controller\AngularsController::content'

However, the folder path of the class file has now changed. Taking example of my Angular JS Sample module.

Pages

Subscribe to RSS - blogs