Возникла необходимость выбора Open Source CMS для реализации очередного проекта. Вообще надо сказать, что популярные и известные CMS (а также различные open-source форумы, движки и библиотеки) написаны на PHP или Perl. Но подтягиваются и .NET реализации, некоторые из которых выглядят вполне качественными и функциональными.

В данной заметке приведу краткий обзор CMS которые я нашел в сети, в дальнейшем, возможно, приведу более детальное исследование некоторых из них. Критерии выбора были следующие: платформа ASP.NET, бесплатность, открытость исходного кода проекта.

DotNetNuke

Веб сайт: http://www.dotnetnuke.com/
Текущая версия 4.8.1
Платформа: ASP.NET 2.0
СУБД: Microsoft SQL Server (по всей видимости поддерживается 2000 и выше)
Язык программирования: в основном VB.NET (один модуль на C#).
Лицензия: BSD

Наверно, наиболее популярный из CMS реализованных на .NET (на сайте приведена цифра – 400тыс. пользователей). Авторы описывают его как гибкий, дружелюбный и мощный одновременно.

Функциональность:

  • поддержка множества порталов;
  • полностью настраиваемый внешний вид, поддержка стилей и скинов;
  • многоязычный, в том числе поддерживается русский язык;
  • управление файлами, корзина для удаленных, поддержка drag’n’drop;
  • заявлена поддержка следующих стандартных модулей: авторизация и поддержка пользователей, анонсы, баннер, блоги, контакты, дискуссии и форумы, списки документов, списки событий, FAQ, обратная связь,  галерея изображений или мультимедиа, изображения, ссылки, RSS, поиск, XML/XSLT преобразования, вывод пользовательских табличных данных.

Помимо стандартных, на сайте имеется довольно много дополнительных платных модулей.

На первый взгляд выглядит немного тормознутым, особенно поиск по ключевым словам – по самому сайту http://www.dotnetnuke.com/
Документация очень подробная по всем аспектам (как по разработке своих модулей, так и по использованию системы).

Umbraco

Веб сайт: http://umbraco.org/
Текущая версия 3.0.3
Платформа: ASP.NET 2.0, Microsoft ASP.NET 2.0 AJAX Extensions 1.0
СУБД: Microsoft SQL Server 2005
Язык программирования: C#
Лицензия: MIT License

Функциональность определенно не такая объемная, как у DotNetNuke, но есть несколько довольно интересных возможностей, в том числе:

  • интегрированный WYSIWYG редактор, редактор для шаблонов JavaScript файлов и CSS;
  • поддержка редактирования непосредственно из Microsoft Word;
  • версионирование всех изменений;
  • публикация по расписанию;
  • полная поддержка веб-стандартов, шаблонов и стилей;
  • легкая интеграция существующих .NET пользовательских контролов (User and custom controls), легко расширяемая объектная модель;
  • удобный форум;

Umbraco на первый взгляд выглядит более ориентированным на разработчиков. Очевидно что это может быть как плюсом, если вы хотите более полный контроль над сайтом и планируете существенные доработки, так и минусом если функциональность типична.

Помимо бесплатной версии предлагаются расширенные платные версии: http://umbraco.org/products/umbraco-pro/feature-matrix

mojoPortal

Веб сайт: http://www.mojoportal.com/
Текущая версия 2.2.4.6-b
Платформа: ASP.NET 2.0 для Windows или Mono (Linux, Mac OS X)
СУБД: MS SQL, MySQL, PostgreSQL, SQLite, FirebirdSql
Язык программирования: C#
Лицензия: CPL

Довольно интересная реализация, которая поддерживает, в том числе Mono и может работать с множеством бесплатных SQL серверов.
Функциональность:

  • поддержка множества сайтов в одной инсталляции;
  • XHTML совместимый менеджер контента;
  • WYSIWYG редактор контента (FCKeditor , TinyMCE, или XStandard);
  • блоги, форумы;
  • календарь событий;
  • галерея изображений;
  • новости с рассылкой;
  • RSS агрегатор;
  • контакты;
  • менеджер файлов;
  • опросы и голосования;
  • интернет магазин (базовая функциональность);
  • поддержка многоязычности, также заявлена поддержка русского языка;
  • авторизация пользователей Active Directory, OpenLDAP, OpenID и Windows Live ID.
  • поиск по ключевым словам;

Rainbow

Веб сайт: http://www.rainbowportal.net/
Текущая версия: Rainbow 2.0.0.1881e
Платформа: ASP.NET 2.0
СУБД: MS SQL 2000
Язык программирования: C#
Лицензия: LGPL

Rainbow первоначально основывался (как и DotNetNuke) на портале IBuySpy который был разработан Microsoft для демонстрации возможностей ASP.NET.
Смущает множество неработающих ссылок на сайте, в частности на текущий момент не открывается ссылка по главной новости о выпуске версии 2.0.0.1881e

Функциональность (более 45 стандартных модулей):

  • поддержка множества сайтов в одной инсталляции;
  • поиск;
  • редактирование контента в режиме WYSIWYG;
  • кастомизация сайта с помощью скинов и стилей;
  • управление пользователями и ролями;
  • анонсы, статьи, блоги, форумы, контакты, списки событий, FAQ, галереи изображений, опросы, etc.

Перечисленная функциональность радует, но продукт производит впечатление довольно громоздкого и плохо поддерживаемого, на сайте творится некоторый бардак со ссылками и исходниками различных версий системы.

AxCMS.net


Веб сайт: http://www.axcms.net/
Текущая версия: 7.0
Платформа: ASP.NET 2.0, AJAX Extension 1.0, Web Service Enhancements 3.0
СУБД: MS SQL 2000/2005
Язык программирования: C#
Лицензия: своя, нельзя декомпилировать части без исходников и распространять изменения

Большая часть системы поставляется без исходников, да и лицензия достаточно ограниченная, поэтому желание серьезно разбираться с этой CMS поубавилось. Хоть сайт производителя радует своей логичностью и доступностью документации по установке и настройке системы.

Функциональность:

  • модуль для печати;
  • поддержка загрузки файлов на сайт пользователями;
  • опросы;
  • поиск;
  • поддержка Sitemap;
  • RSS агрегатор;
  • регистрация и аутентификация пользователей;
  • новостные рассылки;
  • ротирующиеся картинки;
  • форум;
  • генератор форм и таблиц, без необходимости править HTML;
  • многоязычность (русский поддерживается);
  • интеграция с Explorer (видимо через WebDAV);
  • электронные открытки, хлебные крошки, баннеры, etc.

Имеет смысл связываться с этой CMS, если вы собираетесь платить за это деньги (и получить соответственно поддержку и некоторые расширенные возможности).

Cuyahoga

Веб сайт: http://www.cuyahoga-project.org/
Текущая версия: 1.5.2
Платформа: ASP.NET 2.0, Mono
СУБД: MS SQL, PostgreSQL, MySQL  (через nhibernate)
Язык программирования: C#
Лицензия: BSD

Как пишут авторы этого труднопроизносимого на русском языке проекта - основная цель ее, это показать разработчикам .NET, что есть другой способ организации .NET приложений, нежели тот который показывается в стандартных примерах. Также авторы противопоставляют DotNetNuke, Rainbow, и Portal Starter Kit (ранее известный как IBuySpy Portal) своей системе, утверждая, что Cuyahoga дает возможность строить веб-сайты с любым дизайном, за счет использования гибкой разметки.

Функциональность:

  • Множество сайтов в одной инсталляции, алиасы для сайтов, иерархическая структура сайта с неограниченной вложенностью;
  • связи между модулями на странице, что позволяет им взаимодействовать между собой;
  • шаблоны с выделенными пользовательскими частями;
  • тонкая настройка кеширования объектов и модулей;
  • поиск;
  • поддержка локализации контента;
  • синдикация RSS; 
  • WYSIWYG редактор;
  • стандартные модули в себя включают: статьи, статический html, раздел downloads, remote content (контент с удаленных источников), регистрация и авторизация пользователей, переключатель языков;

На сайте выложено неплохое руководство по написанию модулей: http://www.cuyahoga-project.org/46/section.aspx/download/19

N2

Веб сайт: http://n2cms.com/
Текущая версия: 1.3.3
Платформа: ASP.NET 2.0
СУБД: MS SQL 2000/2005, MySQL (посредством nhibernate)
Язык программирования: C#
Лицензия: GNU

Описание на сайте производителя  гласит, что, N2 – это легковесная CMS, которая дает простой и мощный интерфейс для редакторов, а для разработчиков – понятный и открытый API. Радует функциональность и простота использования самого сайта, не требуется много времени, чтобы найти какой функционал поддерживается, документацию для разработчика.

Функциональность:

  • Множество сайтов в одной инсталляции, иерархическая структура контента с неограниченной вложенностью;
  • простой в использовании интерфейс редактора, легкость его расширения;
  • сайты разрабатываются в Visual Studio (?);
  • модель БД сохранена в виде исходного кода (nhibernate ?);
  • авторизация с использованием стандартных провайдеров asp.net;
  • есть возможность встроить в существующее приложение;
  • WYSIWYG редактор, файл менеджер, редактирование поддерживается как минимум в IE и Firefox;
  • гибкий дизайн шаблонов;
  • поддержка JQuery, TinyMCE, Microsoft Ajax;
  • версионирование контента;
  • локализация контента;
  • визард по созданию страниц;
  • менеджер пользователей;
  • публикация по расписанию;
  • включены модули: текст, новости, календарь событий, FAQ, галерея картинок, опросы, подписка RSS, поиск, и пр.

XMLNUKE

Веб сайт: http://www.xmlnuke.com/
Текущая версия: 2.0 RC1 (CSharp Edition)
Платформа: любая, доступна также PHP реализация
СУБД: не требуется, XML
Язык программирования: C#, PHP
Лицензия: GNU

CMS основана на преобразованиях XML в HTML при помощи XSLT, что в общем то является стандартной практикой. Не использует никакие БД, что с одной стороны плюс – не нужно за них платить, с другой стороны минус – при множестве операций записи, генерации XML файлов и выполнении XSLT преобразований (достаточно ресурсоемкая операция), производительность такой системы может быть заметно ниже.

Функциональность:

  • Множество сайтов в одной инсталляции;
  • минимальное количество действий по запуску: просто распаковать и залить на сайт;
  • поддержка локализации;
  • сниппеты (упрощенный синтаксис генерации HTML, так как XSLT довольно сложен);
  • генерация site map;
  • темы, печать документов;
  • доступны модули: гостевая книга, поиск по ключевым словам, аутентификация пользователей и профили, раздел download.

Очевидно, что XMLNUKE, это простая система, с базовой функциональностью, подойдет тем, кому нужно быстро запустить простой сайт, при этом не нужно будет думать о том какой SQL сервер использовать.

JMDCMS

Веб сайт: http://www.jmdcms.com/
Текущая версия: 3.0.0.9 Alpha
Платформа: ASP.NET 2.0
СУБД: SQL Server 2000/2005
Язык программирования: C#
Лицензия: Common Public License

Описание с сайта: гибкая автоматическая разметка в 3,2 и 1 колонку. Контроль доступа на уровне страниц и модулей, контроль публикации. Сайт автора, на мой взгляд, перегружен рекламой.

Функциональность:

  • Множество сайтов в одной инсталляции, неограниченная вложенность страниц;
  • разметка, основанная на CSS шаблонах;
  • поддержка модулей;
  • детальная статистика;
  • встроенные модули: меню, управление пользователями, страницами и безопасностью.

На текущий момент довольно слабая функциональность, хотя многое заявлено как планируемое.

NKCMS

Веб сайт: http://nkcms.sourceforge.net/
Текущая версия: ?
Платформа: ASP.NET
СУБД: MS SQL
Язык программирования: C#
Лицензия: BSD

Весьма аскетичный WEB сайт, приводит информация о некоторых возможностях этой системы:
 - использование XSL для шаблонов;
 - поддержка многоязычности;
 - управление доступом пользователей;
 - windows приложение для управления сайтом.

Судя по всему, последняя активность над проектом была в 2005 году, рассматривать его особого смысла не имеет.

Freeleen

Веб сайт: http://www.feeleen.ru/
Текущая версия: ?
Платформа: ASP.NET ?
СУБД: ?
Язык программирования: ?
Лицензия: ?

Из описания на самом сайте понять можно не очень много. Предлагается обращаться на e-mail. Предположительно система не бесплатна, исходного кода тоже не видно – к загрузке предлагается только демоверсия Windows клиента для управления сайтом.

Привожу исключительно в качестве справочной ссылки, к тому же единственная в обзоре CMS, которая создана автором из России.

Заключение

Меня, как разработчика, наиболее заинтересовал из этого списка N2, в частности обещаниями легкой интеграции в существующие приложения. Еще кажутся достойными более пристального изучения mojoPortal, umbraco и Cuyahoga. Конечно, кажется что более функциональный DotNetNuke или, например Rainbow, тоже вполне достойные системы, но на исключительно поверхностный взгляд они выглядят избыточными и сложными в доработке и поддержке.

А у вас был опыт работы с одной из перечисленных CMS?


maqdev.com

сообщения с ограниченным временем жизни