
Since we switched to Slack as the primary means of communication at work, Slack has grown to be my favorite chat application. Not only does it have a very pleasant interface, but it also offers great ways to integrate it with your application. As a matter of fact, their API is among the least restrictive ones in my experience. As a result of the joy of working the Slack API, Slack chat module was born to serve as a proof of concept for embedded Drupal-to-Slack chat functionality. Using Slack chat module, you can add a chat widget to your Drupal site that your visitors can use to chat with…
The Node.js integration Drupal module offers an API that allows developers to add real-time push notification functionality to their modules. Real-time communication could enable features like chat, pop-up notifications, or real-time content update. Chatroom is a great example of how a module can leverage Node.js. What does Node.js integration do? When a visitor opens a page on which the Node.js module is enabled, the client-side JavaScript opens a socket connection between the visitor's browser and the Node.js server. The Node.js server runs the drupal-nodejs application that communicates…
E-commerce sites are more and more commonly offering live chat for their visitors as a way of customer support. There is a wide selection of modules for Drupal that can add this functionality. However, most, if not all, I found rely on third party chat services. A while ago, I decided to build a native live chat module in connection with a project of mine. The module has been released as Customer chat. The primary interface of Customer chat module is a dashboard that site agents can use to accept incoming chats from visitors. This page shows all the active chats that are relevant to the…
It has been a few months since Drupal 8 was released and sites built with it are starting to crop up. I myself have had the pleasure of working with it, and more Drupal 8 projects are certainly on the horizon. From a developer's perspective, this version is substantially different from the previous one, and we will need to learn a handful of new ways of doing things. To ease the process, I have put together this list of how-tos with tasks that I commonly encounter during development. I hope you will find it helpful. Generating URLs In Drupal 7, its path was the definitive way to retrieve a…
In Drupal 7, hook\page\alter was a convenient way to go when we needed to modify page elements that were added by other modules. Drupal 8 does away with this hook - hopefully for the better. To fill the void created by hook\page\alter’s dismissal, the following hooks have been introduced. - hook\page\attachments() - hook\page\attachments\alter() - hook\page\top() - hook\page\bottom() - hook\theme\suggestions\HOOK() - hook\theme\suggestions\HOOK\alter() In addition, we can still implement hook\preprocess\page, which does let us override or add content to the page. However, this hook is…