ShURLy

Модуль ShURLy — это сервис укорачивания адресов, который реализован в виде модуля для Друпала. Этот модуль написан Джефом Роббинсоном из Lullabot для сервиса lb.cm (сервис укорачивания адресов Lullabot). Модуль является быстрым, самодостаточным, дружественным, гибким и лёгким в установке и использовании. После установки модуль добавляет в меню навигации две ссылки: «Создание адреса» (/shurly) и «Мои адреса» (/myurls). На странице создания адреса можно сгенерировать укороченный адрес не только в автоматическом режиме, но и ввести его самостоятельно, причём для ввода адреса можно использовать все знаки кодировки UTF-8 (кроме зарезервированных), включая различные образы и значки. Каждый адрес имеет своего владельца и каждый владелец адреса может отслеживать статистику его использования. При автоматической генерации адреса используются наборы знаков A-Z, a-z, 0-9. Однако, знаки «01lIO» не используются, т.к. они могут неоднозначно читаться, особенно при печати (спасибо за это предложение Tantek Çelik). Для увеличения максимального количества задействованных знаков, поддерживается чувствительность знаков к регистру.
Drupal. ShURLy

Возможности

  • регистрочувствительность укороченных адресов
  • использование в адресах всех знаков UTF-8 (кроме зарезервированных)
  • адреса могут быть сгенерированы автоматически или введены самостоятельно
  • права доступа для генерации адресов на основе ролей
  • кнопка для копирования укороченного адреса в буфер обмена
  • отслеживание использования каждого укороченного адреса
  • связь укороченных адресов с аккаунтами пользователей. Зарегистрированные пользователи могут просматривать статистику использования своих адресов
  • JavaScript-букмарклет для быстрого создания укороченного адреса любой страницы
  • блоки с формой создания адреса, букмарклетом, API-ключом и историей создания адресов
  • интеграция с модулем Views
  • магический хук hook_boot() для быстрого, эффективного и скорого перенаправления. Для осуществления перенаправления не осуществляется начальная загрузка всех данных Друпала, также, перенаправление работает при включенном кешировании. Если неподдерживаемый знак (например, «/») встречается во входящем URL, то ShURLy не делает запрос к базе данных
  • API для расширения использования модуля
  • поддержка ограничения на количество запросов от пользователей определённых ролей. Роль может быть ограничена X количеством запросов в каждые Y минут, чтобы предотвратить автоматическое злоупотребление сервисом
  • генерация API-ключей для каждого пользователя, чтобы связывать взаимодействие веб-сервисов с пользователями
  • hook_shurly_redirect_before() и hook_shurly_redirect_after() позволяют другим модулям взаимодействовать с ShURLy и влиять на перенаправления или записывать дополнительную информацию в журнал (IP-адрес, что-нибудь ещё...)

Установка и использование

  • Распакуйте модуль в папку модулей
  • Определите права пользования модулем на странице прав
  • Создавайте новые адреса на странице /shurly
  • Адреса созданные пользователем: /myurls (или в блоке «Мои укороченные адреса»)
  • Адреса созданные всеми пользователями: /admin/build/shurly
  • Ограничение использования модуля: /admin/build/shurly/settings

Блоки модуля

  • Мои укороченные адреса
  • ShURLy: создание URL
  • ShURLy: букмарклет
  • ShURLy: API-ключ

Права доступа

  • управление модулем
  • создание коротких URL
  • удаление своих URL
  • самостоятельный ввод URL
  • просмотр статистики своих URL
Зависит от модулей: 
Views