BlogEngine.NET 1.5. Русифицированная сборка с темами и расширениями

CMS*
Собрал для себя дистрибутив блогового движка BlogEngine.NET (версия 1.5.0.7), готовый к развертыванию на хостинге за секунды и русифицированный так, как мне нужно (начиная от slug'ов до множества доработок перевода в спецфайле и самом коде, включая расширения), с различными расширениями и с большим пакетом тем, но подумал, что, возможно, еще кому-нибудь он пригодится.
Далее: для тех, кто не знает, что такое BlogEngine.NET и с чем ее едят — возможно, будет интересен рассказ о нем, для тех, кто «в теме» — список сделанных в движке изменений.

Что такое BlogEngine.NET?


BlogEngine.NET — это легкий и достаточно функциональный open-source движок для блогов, написанный с использованием технологии ASP.NET. Он может работать как с базами данных (Microsoft SQL, Microsoft SQL Express, MySQL), так и с XML-файлами в качестве хранилища (по умолчанию). При обычных размерах блога разницы в производительности не наблюдается.
Пример BlogEngine «из коробки» со стандартной темой — блог разработчика движка.

Чем BlogEngine не является?



BlogEngine — это не Wordpress. Повторяю: это не Wordpress. Конечно, тянет их сравнить (в общем-то, лучшие блог-движки на двух разных платформах). Но BlogEngine — движок другого класса: не столь расширяемый готовыми плагинами (хотя свои можно написать достаточно быстро и просто), но максимально легкий и быстрый, обеспечивающий функциональность большую, чем это необходимо обычному блоггеру (не играющемуся со своим блогом, а просто его пишущему).
Его не надо использовать там, где может потребоваться любая функция: за исключением случаев, когда вы хотите действительно изучить ASP.NET путем написания необходимых вам UserControl'ов и расширений. Но в случаях, когда нужно что-то легкое, быстрое в развертывании, легко настраиваемое, удобное для конечного пользователя (панель управления BlogEngine существенно проще и легче, чем панель Wordpress'а) — тогда есть смысл попробовать BlogEngine. В FAQ'е разработчиков есть вопрос «Сможет ли моя мама его использовать?» :) Ответ — да, сможет. Все достаточно просто и интуитивно понятно как для пользователя, так и для разработчика. Разработчику так вообще — достаточно загрузить выложенный на официальном сайте проект в Visual Studio и наслаждаться удобством работы с красиво написанным кодом :)

Что он может из коробки?

  1. Нормально работать с кэшированием (не беспокоя этим пользователя), мобильными устройствами (им по умолчанию отдается специальная тема), трэкбэками, пингбэками и даже OpenSearch (поиск по блогу можно вставить в строку поиска современных браузеров в дополнение к Яндексу, Google, Bing и т. д.)
  2. Древовидные комментарии, граватары, уведомление о комментариях на почту, пинг-сервисы
  3. Ведение мультиавторского блога, подробные профайлы для авторов
  4. Виджеты для облака тэгов, твиттера, любимых блогов, уведомление о новых постах на почту, драг-н-дроп работа с этими виджетами
  5. Авторесайз загружаемых изображений
  6. Использование bbcode в комментариях, предпросмотр комментариев
  7. MP3 аудиоплеер на технологии Flash
  8. и многое-многое другое!
И главное — всем этим легко управлять, да и работу блога возможности ничуть не замедляют. Мгновенная установка и минимальные системные требования — тоже серьезное достоинство. Даже инсталлятора не требуется, см. ниже :)


Windows-хостинг дорог!!


Да ничего подобного: многие серьезные компании предлагают Unix и Windows хостинг за одинаковые цены. Более того: у Windows-хостинга, как правило, есть тестовый период. Лично меня устраивает Windows-хостинг от Инфобокса и Агавы, но я совершенно не настаиваю. Вдобавок для BlogEngine.NET хостинг требуется куда менее мощный, чем для Wordpress'а.

Кому это пригодится?


Если вы только интересуетесь платформой ASP.NET — то это хороший конструктор для старта. Код BlogEngine написан красиво и легко, он достаточно понятен даже без особенной подготовки в области .NET-технологии. В нем можно свободно копаться и без проблем подправлять под себя, заодно постепенно разбираясь в ASP.NET. Если вы никогда не работали с ASP.NET, но хотели бы попробовать — просто поиграться, не пытаясь писать свою собственную CMS с нуля — попробуйте BlogEngine, не пожалеете. На его базе вполне можно сделать и свою собственную CMS, все готово и для обычной неблоговой CMS (NB готово не значит сделано ;-) Например, есть поддержка древовидной организации страниц в панели управления, но для собственно сайта ее пока что придется кодить самостоятельно).

Установка


BlogEngine работает без базы данных (хотя вполне можно ее подключить) и для установки требуется лишь закачать на хостинг и указать права на запись для папки App_Data. После чего загрузить главную страницу; в первый раз она будет грузиться подольше, но дальше все будет происходить быстро.

Что изменено в этой сборке?

  1. Серьезно дополнен и подкорректирован официальный перевод в файле \App_GlobalResources\labels.ru.resx
  2. Где возможно — переведены названия прямо в коде (так как не все вынесено в отдельный файл, и не все возможно вынести без большого количества изменений в движке; надеюсь, когда-нибудь это изменится)
  3. \bin\BlogEngineCore.dll пересобран. Теперь русские заголовки не превращаются в slug'и вида d09ed0b1d0be-d0bcd0bdd0b5 (головная боль для BlogEngine, ибо здесь нельзя отключить рерайт урлов), а показываются прямо русскими буквами (а-ля Википедия). Лично мне так нравится :) Но в сборку входит на крайний случай и плагин для транслитерации slug'ов у постов (к сожалению, на категории и тэги это не распространяется, поэтому решение меня полностью не устроило...)
  4. Добавлена полностью русифицированная версия TinyMCE вместо англоязычной
  5. Добавлено большое количество расширений, все переведены.
  6. В комплекте сборки идет 50 разнообразных тем. Они не русифицировались, тем не менее, там требуется совсем немного изменений (в среднем — значительно меньше, чем в Wordpress'овских темах; сказывается более простой устроенный код); я думаю, что это проблемы не составит, хотя в будущем планирую и их перевести, если потребуется

Что еще нужно будет сделать

  1. Не просто перевести, а качественно перевести движок, особенно это касается панели управления. Убрать разночтения в терминах (каюсь, работы непочатый край...), а кое-где и подправить код для корректного перевода.
  2. Перевести темы (хотя бы несколько)
  3. Улучшать, улучшать и еще раз улучшать BlogEngine :) В целом хотелось бы, чтобы в будущем весь перевод шел только через один файл — и тогда сайт бы переводился автоматически на язык зашедшего пользователя без бубнов (технология ASP.NET это позволяет реализовать из коробки). Красота :)

Наконец, зачем я это сделал


Все просто: самому потребовалось иметь под рукой готовый к установке дистрибутив блог-движка под ASP.NET, достаточно русифицированный для того, чтобы дать управление в руки простого пользователя. Чтобы там и темы, и расширения уже были. Те расширения, для использования которых не требуется вписывать UserControl'ы в темы. Это, конечно, несложно, но не для данного случая :)
Поскольку с нуля у BlogEngine на русскоязычных просторах проблем хватает, и более того — не все проблемы решаются правкой скриптов (для чего-то надо пересобирать ядро, а тут уже не всякий будет открывать Microsoft Visual Studio для этого...), то порылся, понаисправлял — и выложил.
Если даже никому не потребуется (в конце концов, у нас мало используют ASP.NET в подобном «легком» сегменте веба, а жаль, очень хорошая технология), то как минимум мне — нужно. :)

Скачать, буде кого заинтересует, можно у меня с сайта; там же список использованных тем и расширений со ссылками на источники. Если что некорректно работает (вполне может быть, промышленно не тестировал :) — пишите, разберемся. :)
+15
12 июля 2009, 21:18
15
kryzander 16,0

комментарии (19)

+2
XaocCPS #
Эх, где в ыбыли раньше, для своего корпоративного блога, мне пришлось его самому русифицировать
вообще, после выбора движка я сделал небольшой обзор asp.net движков, может кому-то еще пригодиться

большой плюс BlogEngine.NET в том, что Live Writer (лучшая на мой взгляд писалка в блоги) понимает этот блог без дополнительных действий, считаю это важно
0
kryzander #
ну вот, русифицировав его, я понял, что, видимо, периодически это тоже кому-то требуется :))) (я даже уже видел ваш обзор :)
А Вы как решили вопрос с рерайтами урлов, т.е. в пользу оригинального варианта, транслита или а-ля википедия?

Live Writer — это да. Удобная штука :)
0
XaocCPS #
>> А Вы как решили вопрос с рерайтами урлов

никак, я этим вопросом не заморачивался, нашему корпоративному логу особого SEO не нужно
+1
UkrDay #
Нужно еще сделать версию под Azure
–1
kryzander #
а смысл? Этот вариант BlogEngine.NET можно развернуть практически без усилий, а под Azure в любом случае придется возиться. Да и особенной необходимости для блога в облаках нет. Вот если бы что-то уровня DotnetNuke или Битрикс переделать под Azure — но это ж работы немеряно… хотя хорошо было бы))))
0
XaocCPS #
кстати, на codeplex стартанул проект перевода blogengine.net на mvc
пока правда ничего нет, но инициатива радует
+1
kryzander #
лучше бы DasBlog переписали, тогда хотя бы конкуренция была бы :)))
а если серьезно — BlogEngine.NET не так уж плохо написан, чтобы его обязательно переделывать :) Лучше что-нибудь новое написать. :)
0
XaocCPS #
ну afaik это частная инициатива, не разработчиков blogengine, видимо кому-то больше mvc по душе
я больше жду когда доведут oxite до приемлемого состояния
0
kryzander #
oxite можно ждать еще долго, они как-то не торопятся, а AtomSite (который бывший BlogMVC) не пробовали? По мне, правда, там нет ничего, чего бы не было в BlogEngine, но формально это зарелизившийся продукт на MVC.
0
XaocCPS #
когда atomsite пробовал там почти ничего неработало
+1
kryzander #
блог разработчика, который на этом функционирует. Да и официальный сайт сейчас на нем же. В принципе, действительно работает, хоть и не настолько гарантированно, как BlogEngine.

Сейчас скачал исходники AtomSite 1.1 посмотреть, открыл дефолтную тему, увидел в корне больше полусотни файлов (все вместе в кучу — админка, виджеты, собственно сайт) и понял, что лучше я в этот бардак соваться не буду, будь он хоть сто раз MVC))
0
mehanik #
каким образом измерялась скорость данной CMS?
+2
kryzander #
специально никак. потому что:
а) проблем с тормозами никто и нигде не замечал (вне зависимости от хостинга и страны — а требования к хостингу здесь минимальные); б) с практической точки зрения скорость приблизительно аналогична голому WordPress'у на хорошем виртуальном хостинге с включенным WP SuperCache. Собственно, система кэширования здесь похожая, только она не с плагином идет, а нативная ASP.NET'овская; в) панель управления работает очень шустро, серьезно шустрее вордпрессовской почти при любых раскладах. Ну а раз быстро, то как бы и особенной потребности в дополнительном тестировании производительности нет :) Хотя померить ее можно даже готовым плагином, надо будет на досуге заняться как-нибудь…
0
mehanik #
Скорость — один из ключевых параметров в вашем обзоре, а вы ее на глазок :) Хотелось бы большей глубины обоснования. Жду продолжения исследований.
0
kryzander #
спасибо за замечание, обязательно потестирую :)
… ну когда постоянно приходится иметь дело с разными блог-движками на очень похожих по мощности виртуальных хостингах, то «на глаз» субъективно, но достаточно точно :))
0
igoriok #
Спасибо за статью. Хорошая платформа для изучения ASP.NET в действии. Как раз то что мне нужно.
0
kryzander #
рад, что пригодилось :)
0
tehnolog #
Перешел по ссылке на вашу страницу. А когда с нее попытался перейти на вашу главную страницу, то увидел кракозябры. Приходится вручную указывать кодировку. Поправьте
0
kryzander #
спасибо, эта проблема периодически возникает с последним WP SuperCache, поправил (лечится пересбросом кэша..)

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.