Я уже достаточно давно работаю с Drupal и за многие годы практики у меня скопилась масса сниппетов для решения различных задач. В течение этого времени где я только не хранил эти куски кода: в блокноте, в evernote, в gist, в IDE (которые сменялись как перчатки). Всякий раз когда мне нужно было найти тот или иной кусок кода в целях переиспользования я или начинал утомительные поиски среди всей этой цифровой кипы или попросту писал код сначала.
В конечном итоге мне все это надоело и после долгих и продолжительных поисков удобного онлайн хранилища для моих сниппетов, а перебрал я ой ой как много решений, было принято решение создать свое, причем строго Drupal-ориентированое хранилище. Такая узкая направленность — это дань сообществу Drupal, которое подобного проекта «под себя» до сих пор не имело.
Так появился сайт Dropbucket.org, который был запущен месяц назад и получил довольно неплохую прессу в западной части сообщества Drupal. На сегодняшний день на сайте зарегистрировалось 800 друпал разработчиков со всевозможных уголков нашей планеты (включая, конечно же, Россию и Украину).
Далее я кратко расскажу о главных возможностях проекта и о том, что он в конце концов дает Друпал разработчику.
Итак, основная идея Dropbucket'a — создать место где можно сохранять собственные сниппеты категоризируюя их по темам и версиям Drupal, а при желании, поделиться своими наработками с другими девелоперами.
Добавление сниппетов
Моим главным желанием было сделать как можно более простую схему добавления сниппетов. Форма добавления сниппета выглядит вот так:
Здесь только два поля являются обязательными: заголовок и сам код, остальные поля факультативные.
Каждый сниппет может состоять из нескольких функциональных кусков, добавляемых с помощью кнопки «Add another source code»:
На случай, если вы не хотите чтобы другие видели ваш сниппет, его легко можно сделать приватным:
Страница сниппета
На странице сниппета можно получить «raw» версию кода илисразу же скопировать его в буфер обмена:
Одной из самых популярных фич является клонирование сниппета, когда вы можете склонировать любой размещенный на сервисе сниппет и отредактировать его под себя:
Но и это еще не всё, сниппет может быть добавлен в избранное, за него можно голосовать, оставлять комментарии и добавлять в личные списки сниппетов.
Каждая редакция кода создает отдельную ревизию, в результате можно просмотреть предыдущие ревизии кода:
Персональные списки сниппетов
Неделю назад была добавлена новая особенность «Персональные списки сниппетов», которая дает возможность создавать списки из любых сниппетов:
По клику на кнопке «Add to list»:
Появляется меню с помощью которого и происходят все необходимые операции добавления в списки и создание списков:
Такая функция удобна для создания баз знаний по той или иной теме Drupal программирования и распространения ее, например, среди участников команды. Представьте себе «Список сниппетов для работы с базой данных».
Поиск сниппетов
Найти подходящий сниппет среди завалов кода это задача немаловажная. Для ее решения был созда гибкий фильтр дающий возможность фильтровать сниппеты по ключевым словам, версиям друпала, категориям и даже по именам пользователей:
Каждый фильтр можно следить, подписавшись на него через RSS читалку. Например, так будет выглядеть фид «Ajax» сниппетов для Drupal 7: dropbucket.org/rss.xml?keys=&field_category_tid=29&field_drupal_version_tid=4&name=. Удобная функция для тех, кто хочет следить какую-то отдельную категорию кодов.
Социальный профиль
Каждый пользователь получает адрес профиля вида dropbucket.org/имя_пользователя, где виднеется информация о разработчике, статистика, история активности и его Drupal Karma (ну как же без кармы, а?). За каждое верное и неверное движение на сайте вам начисляется Drupal Karma, которая в будущем послужит для раздачи всевозможных плюшек.
Будущее
На будущее планов просто уйма, после релиза сервиса я получил тонну идей и предложений, среди которых необходимо отфильтровать необходимое, расставить приоритеты и двигаться вперед. Среди наиболее вероятных улучшений:
- Переработка интерфейса категорий сниппетов, я не очень доволен тем как это выглядит сейчас;
- Введение API для интеграции с различными IDE;
- Возможность экспорта собственных сниппетов;
- Большая социализация и вовлечение пользователей.
Но самое главное это то, что minimum viable product уже есть, он работает, решает свою главную задачу и людям это действительно нравится.
Благодарю за внимание и надеюсь, что проект понравится русскоязычному сообществу Drupal, несмотря на то, что интерфейс не на нашем родном языке.
Предложения и замечания прошу оставлять в комментариях, ваше мнение для меня ценно.
Автор: Tim_Andersson