Иногда мне кажется, что в экосистеме Ruby on Rails есть проклятое место: встроенные движки для ведения блогов.
Это особенно приятно видеть в свете бесконечного количества скринкастов «Блог Rails за 10 минут».
Судя по всему, любая попытка создать какое-либо решение для блоггинга в виде плагина обычно приводит к одному из двух исходов: либо человек устает от этой работы и уходит заниматься более насущными делами, либо движок превращается в монстр, способный сожрать любое приложение A Rails еще до его инициализации.
Некоторое время назад, когда я работал в «АБАК-ПРЕСС», руководство приказало мне добавить LookMart.ru Очень модная нынче функция — пользовательские блоги (данная функциональность сейчас находится в активной разработке).
Меньше всего нам хотелось изобретать велосипед и блокировать очевидные машины от контроллеров с моделями, но после небольшой разведки нам пришлось смириться и сделать всё самим.
Почему? Потому что подходящего решения, к сожалению, мы не нашли.
Основные ограничения накладывались постановкой задачи и особенностями кодовой базы нашего портала:
- необходимо отслеживать все изменения слизняк в сообщениях в блогах и избегайте «битых» ссылок при редактировании метаданных;
- у нас есть Очень продуманная система категорий, которая должна быть привязана к сообщениям в блоге;
- ряд доработок в системе маршрутизации несколько усложняют реализацию плагинов со своими маршрутами;
- реализована столь же сложная система регионов, очень тесно интегрированная с маршрутами и характеристиками постов.
Кому-то наверняка пригодится одно из заметных существующих решений, а эта статья поможет снизить затраты на разведку.
Описание аналогов
Губернатор
Губернатор — это плагин для Ruby on Rails 3.0, который делает практически безболезненным включение функций ведения блога в веб-приложение.Плагин полностью протестирован с использованием RSpec и имеет минимальные зависимости во время выполнения: только ActiveRecord и will_paginate. Методы аутентификации и авторизации пользователя указываются путем переопределения соответствующих помощников.
Немного обидно, что последний коммит на него был датирован 27 ноября прошлого года, а поддержка Rails 3.1 пока не анонсирована.
Локомотив
В экосистеме Ruby on Rails такие «комбайны», как Локомотив , который можно встроить в веб-приложение совершенно тривиальным способом (например, двигатель ) и используется для создания пользовательских блогов.Возникает вопрос о целесообразности интеграции подобных решений: эти CMS могут слишком многое.
Реализованный в них функционал может в лучшем случае дублировать существующие разработки, а иногда испортить архитектурную идиллию.
Не каждый человек готов с этим смириться.
Популярность этих решений влияет как на темпы разработки проектов, так и на качество покрытия кода тестами.
Не забывайте, что «Локомотив» использует только MongoDB, что может подойти не всем.
Кублог
Существует и более современный аналог двигателя Губернатора – Кублог .Кублог по своей сути очень похож на Губернатор, но рассчитан на несколько более «современные» инструменты: Ruby on Rails ≥ 3.1 и несущее ПО (аналог скрепки).
Судя по тому, что последний коммит датирован 21 ноября 2011 года, и лишь частичное наличие тестов кода, возникает гипотеза о том, что существует некая зависимость между количеством плагинов блога для Rails и временем года.
Несмотря на низкую интенсивность разработки и практически отсутствие интереса к проекту со стороны сообщества, он используется компанией-разработчиком в производстве и, вероятно, показывает очень хорошие результаты.
ДЖАБЕ
Встроенный движок ДЖАБЕ появился относительно недавно и уже имеет ряд зависимостей, сравнимых с хорошей CMS: Rails ≥ 3.1, ActiveRecord, kaminari, devise, simple_form и так далее.Тестового покрытия как такового нет, несмотря на весьма впечатляющую версию 0.7.0, до которой движок смог дорасти с декабря прошлого года.
Сводная таблица
Аналоговый | Легкость | Популярность | Ограничения | Тестовое покрытие |
---|---|---|---|---|
Губернатор | Да | 83 наблюдателя, 5 форков, последний коммит 27.11.2011 | АктивРекорд | хороший |
Локомотив | Нет | 947 наблюдателей, 218 форков, последний коммит 09.02.2012 | монгоидный | хороший |
Кублог | Да | 3 наблюдателя, 1 форк, последний коммит 21.11.2011 | АктивРекорд | средний |
ДЖАБЕ | Да | 14 наблюдателей, 3 форка, последний коммит 02.02.2012 | АктивРекорд | Нет |
Теги: #ruby onrails #блоги #обзор аналогов #очень плохо видно в темноте #ruby onrails
-
Тиан
19 Oct, 24 -
Ведущие Заметки. Часть 1. Найм
19 Oct, 24 -
Три Дня До Марса?
19 Oct, 24 -
Эффективная Технология Защиты От Спама.
19 Oct, 24 -
10 Лет Онлайн-Безопасности
19 Oct, 24 -
Симулятор Лопаточных Прыщей
19 Oct, 24 -
Хватит Учиться
19 Oct, 24