---
title: 'Drupal Development'
url: 'https://graker.ru/en/project/drupal'
language: en
type: page
author: 'Roman Grachev'
published: '2022-01-19T15:44:18+03:00'
updated: '2026-10-28T12:21:33+03:00'
translations:
  ru: 'https://graker.ru/project/drupal.md'
---

# Drupal Development

[![Drupal Association member](https://graker.ru/sites/default/files/theme/drupal_assoc.png)](https://www.drupal.org/u/graker)

I've loved [Drupal](https://www.drupal.org/) for a long time and have been working with it in one way or another since around 2006. This very homepage is built with Drupal 11, and the [Cotranslate.Net](https://graker.ru/en/project/cotranslate_net) site were built on Drupal 6 (yeah, long time ago). Most of the projects ordered in the [NetSpark](http://netspark.ru) studio are made with Drupal.

#### Modules

Over the years of working with Drupal I've written quite a lot of code. Whatever part of it can be shared with the community, I usually try to share. Here's a short list of modules — download and enjoy.

| [Social Auth Ok](https://www.drupal.org/project/social_auth_ok) | Site login via [ok.ru](https://ok.ru) (Drupal 8) |
|---|---|
| [User Comments](https://graker.ru/news/2013/04/07/modul_user_comments) | Lets users leave comments on user profiles |
| [SMSimple](https://github.com/graker/smssimple) | Sending SMS via the SMSimple gateway. |
| [Quick Telecom SMS](https://github.com/graker/quicktel_sms) | Sending SMS via the Quick Telecom gateway. |
| [Drupal Commerce Small Cart](https://graker.ru/news/2012/07/09/dc_smallcart) | A simplified cart module for Drupal Commerce |
| [Drupal Commerce No Cart](https://graker.ru/news/2013/05/28/eshche_dva_modulya_dlya_drupal_commerce) | Redirects the user to checkout whenever a product is ordered. Before the redirect, the cart is cleared of previously added products. If an order wasn't completed, a special block shows a warning offering to either complete the order or delete it. |
| [Drupal Commerce Skip Payment](https://graker.ru/news/2013/05/28/eshche_dva_modulya_dlya_drupal_commerce) | Adds a “Skip payment” payment method that lets a user place an order without paying and saves it with the *pending* status. The module adds a “Re-checkout” button to the pages of all orders with this status, so the user can place the order again with a different payment method. |
| [Yandex Map Field](https://graker.ru/news/2012/07/20/ymap_field) | Adds a small field for displaying a Yandex.Maps map with a single marker in content (good for a map in contact information). |
| [jSlider Form API](https://graker.ru/news/2011/02/09/jslider_form_api) | Integration of [jQuery UI Slider](http://jqueryui.com/demos/slider/) into the Drupal 6 Form API. The Drupal 7 version is maintained by Spleshka [on Drupal.org](https://www.drupal.org/project/jslider_form_api). |
| [Message Queue API](https://graker.ru/news/2010/11/12/message_queue_api) | A small module with an API for sending system messages to a given user. Compatible with Drupal 6, no longer maintained. |
| [Notabene](https://graker.ru/news/2010/06/08/notabene) | A module for notes in the margins. Compatible with Drupal 6, no longer maintained. |
| [Logo Changer](https://graker.ru/news/2011/09/08/logo_changer) | A module for showing different logos depending on the time of day. Compatible with Drupal 6, no longer maintained. |

#### Articles

Every now and then I write notes about Drupal and publish them here, and sometimes I translate other people's articles from English into Russian. All Drupal-related posts are tagged “[Drupal bits](https://graker.ru/drupal)”. The most notable ones are listed below (all in Russian).

| [A video about nodes, fields and tabs](https://graker.ru/news/2011/12/17/video_o_nodakh_polyakh_i_vkladkakh) | A screencast showing how to build nice tabs with node fields in Drupal 7 without a single line of code |
|---|---|
| [A video about the Hansel module](https://graker.ru/news/2011/04/30/video_pro_modul_hansel) | A screencast about working with the Hansel module |
| [Crumby modules](https://graker.ru/news/2010/10/04/breadcrumb_modules) | An overview of modules for working with breadcrumbs |
| [Getting started with Drupal](http://www.drupal.ru/quickstart) | A translation of the big Drupal 6 quick start guide, made specially for Drupal.ru |
| [Front-end testing with CasperJS](https://graker.ru/news/2014/12/17/casperjs_i_drupal) | A note on getting started with CasperJS, using Drupal Commerce cart testing as an example |
| [An activity feed with Message](https://graker.ru/news/2014/06/30/lenta_aktivnosti_s_pomoshchyu_message) | Building a social-network-style activity feed with the Message module in Drupal 7 |
| [A bit of dynamic routing in Drupal 7](https://graker.ru/news/2015/02/26/nemnogo_dinamicheskogo_rautinga_v_drupal_7) | A note on creating dynamic paths with hook\_inbound/outbound\_alter |
| [The Drupal crisis](https://graker.ru/news/2011/08/25/khvatit_krasit_guby_ogromnoi_svine) | A translation of an article about Drupal's growing pains |
| [The crisis: results and conclusions](https://graker.ru/news/2011/08/26/kak_smyt_makiyazh_so_svini_ili_vykhod_iz_krizisa) | A translation of the follow-up article about Drupal's growing pains |
| [The Up to like social buttons module](https://graker.ru/news/2015/06/09/uptolike) | An overview of the Up to like module with pictures and usage instructions |
| [20 APIs in 20 days](https://graker.ru/20-api-za-20-dney) | A translation of an unfinished series of articles about various Drupal 6 APIs |
| [How to make your data type play nice with Views](https://graker.ru/news/2010/02/24/views_integration) | A guide to integrating your own database table with Views |
| [Saving a Drupal form with AJAX](https://graker.ru/news/2009/09/26/ajax_form_submit) | An ancient article about AJAX in Drupal 6 |
| [Module news](https://graker.ru/novosti-moduley) | News digests about new Drupal 6 modules (no new issues are planned) |

#### Website development

To order a website or a web application, just send me an email, or contact the [NetSpark](http://netspark.ru) studio.
