Краткий обзор CMS систем для .NET Framework / ASP.NET

04.03.2008 8:40:00

Возникла необходимость выбора 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?

Текущий рейтинг: 4.5 (2 голосов)

  • Currently 4,5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Тэги: , , ,

Категории: разработка

Комментарии

06.03.2008 11:24:07

Sahib

Смотрел некоторые из перечисленных CMS. Пытался найти замену джумле на платформе .NET. Больше всего понравилась mojoportal - легко устанавливается, нет лишних наворотов, работает довольно быстро - но все равно по функциональности до джумлы далеко. Остальные - или монстрообразные (DNN, Umbraco) или глючные и тормозные (N2) или вообще не хотят работать (Cuyahoga). N2 как в Ваш обзор вообще попала? Какой-то личный интерес в ее продвижении? Там закачек то всего около 100, проект в каком-то зачаточном состоянии.

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

Sahib

07.03.2008 11:37:47

maqdev

Я смотрел вообще все что нашел (с задаными условиям .NET и открытый код), никакого интереса в продвижении N2 нету, понравилось их обещание легкого встраивания в готовое приложение, реально я только обзорно смотрел исходники систем.

Устанавливать и реально смотреть буду только те которые перечислил в заключении.

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

maqdev

07.03.2008 20:18:38

Helge

сейчас тоже занимаюсь поисками системы под .NET. Umbraco мне не приглянулась, AxCMS кажется подходящей, но это зависит ри задачи (к моей подходит). Еще есть VWDCMS - что там внутри не знаю: www.vwd-cms.com/

Helge ca

08.03.2008 13:10:52

maqdev

Helge,

Спасибо за ссылку. Посмотрим ее подробнее тоже.

maqdev

15.03.2008 17:18:17

Михаил

Рассматривал почти все приведенные CMS. При чем dnn, mojoportal, rainbow перелопатил до самой глубины. Не понравилось... ни монстрообразность dnn, ни запутанность rainbow (куча obsolete кода) ни mojoportal. Не понравилась их админская часть. Про NkCms, Freeleen, JmdCms говорить не буду. Слишком молодые проекты. AxStudio код закрыт - не подходит для меня. XML nuke сейчас посмотрю еще раз. Уже забыл что она из себя представляет.
umbraco - просто не понял. Как там что сделать. Если кто мне откроет глаза, буду благодарен.

Как разработчику очень понравилась N2. Понятная, логичная, мощная система. Разобрался в коде всего за пару дней, спасибо документации на сайте. Подходит для широкого круга проектов.

Имел дело с sitefinity ($9000) ..., честно хуже чем все предыдущии. Заточена под домохозяйку. Программисту с такой системой работать невозможно и противно.

Что искал в первую очередь.
1. Разделение дизайна и представления. До этого всегда пользовался FluxCms (PHP5 + XSLT + MySql) рекомендую всем посмотреть. (Сложная, но очнеь хорошая, могу помочь с освоением)

Ни на одной NET cms достойной поддержки xml + xslt не нашел.

2. Возможность создавать любое внешнее представление, без дублирование информации. То есть, создание контента любого типа (новость, статья, видео и.т.д.) и размещение его в любом месте на любой странице.

3. Чистый валидный код. Я должен польностью управлять разметкой.

Хочу сейчас взяться за N2. Кто что скажет?
И вообще считаю, что asp.net наиболее перспективный язык web на данный момент. Да и php достал.

Михаил ru

16.03.2008 13:59:12

maqdev

Михаил, спасибо за комментарий.

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

Что касается чистого валидного кода, то у .NET есть некоторые проблемы с этим. Его стандартные контролы генерируют довольно много не очень валидного кода, можете взять и провалидировать простейшее приложение - вылезет довольно много ошибок в валидаторе. Кроме того, если не бороться специально с этим, в .NET довольно много "мусора" в HTML, это и VIEWSTATE, и ужасно длинные идентификаторы контролов 90% которых реально не нужны.

Еще один фактор - бОльшая часть интернет сайтов сейчас делается все таки на PHP/Unix платформах. Есть готовые решения и технологии которые позволяют делать высоконагруженные проекты (nginx, memcached, etc), которые к тому же и бесплатные.

Т.е. однозначно говорить что ASP.NET лучший, я бы не стал, он перспективный, но кто будет доминировать в будущем, никому не известно Smile

maqdev ru

10.10.2008 12:58:39

Vlad

Я бы не сказал что особо перспективный для вэб.
У него есть быстро ростущие конкуренты Ruby On Rails (со своей скоростью разработки сайтов), Pyton с его симпатичностью языка и мощной OOP. Да и PHP тоже может преподнести сюрприз в шестой версии.

А кто-то работал с Kentico они сейчас отчаянно пиарятся.

Vlad ua

14.10.2008 7:30:46

PaulWeb

Я работаю с DNN. Меня вполне устраивает. Насчет "выглядят избыточными и сложными в доработке" не сказал бы разобраться можно (один-два дня на изучение системы с последующем написанием модуля, если под рукой литературы нет) есть и ещё хуже.

PaulWeb

10.11.2008 17:54:06

Артем

Привет!
спасибо за обзор.. что еще было б интересно знать для разработчиков - так это особенности лиценций каждой из CMS.
Решил я посмотреть Umbraco - она под MIT licence, вроде как можно бесплатно использовать ее, НО.. "Re-distribution with 3rd party applications and rebranding of the user interface." только под коммерческой лицензией.
Какие из перечисленных CMS можно смело использовать, убирать логотипы самой CMS, ре-дистрибуировать и тд?

P.S. В списке стран нет Молдавии - выбрал Зимбабве Smile

Артем zw

15.12.2008 19:12:08

maqdev

Лицензию я для каждой написал, но если честно, то в юридических тонкостях этих лицензий разбираться мне довольно тяжело.

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

Что касается N2, которая распространяется под лицензией LGPL, обладает весьма открытой и расширяемой архитектурой, что позволяет не модифицируя ее код вносить довольно много изменений в N2. Все свои изменения лежат в отельных assemblies. Соответственно - эти свои изменения можно не распространять в открытом виде.
Собственно смотрите описание GPL и LGPL:
ru....pedia.org/.../GNU_Lesser_General_Public_License
ru.wikipedia.org/wiki/GNU_General_Public_License

maqdev

Добавить комментарий


(Отображает Gravatar)  

  Country flag





Live preview

07.01.2009 17:15:45

Об авторе

Абдурахманов Магомед Абдурахманов Магомед
менеджер и программист

Стремлюсь создавать качественные и уникальные продукты

Последние комментарии

Календарь

<<  Январь 2009  >>
повтсрчепясуво
2930311234
567891011
12131415161718
19202122232425
2627282930311
2345678

Открыть календарь на все окно