Введение

DNN Platform (ранее DotNetNuke) — это система управления веб-контентом и веб-приложение, построенное на платформе .NET Framework. Оно имеет открытый исходный код и является частью Net Foundation. DNN написано на C#, хотя изначально в течение многих лет существовало как проект на VB.NET. Распространяется по лицензии MIT.

Издания

DNN Platform (ранее система управления контентом "DotNetNuke Community Edition") – это программное обеспечение с открытым исходным кодом, распространяемое под лицензией MIT, предназначенное для управления веб-сайтами без глубоких технических знаний и расширяемое с помощью большого количества сторонних приложений для предоставления функциональности, отсутствующей в основных модулях DNN. С помощью скинов можно изменять внешний вид веб-сайта, созданного на DNN. Существуют две коммерческие версии программного обеспечения с расширенной функциональностью (по сравнению с DNN Platform) и технической поддержкой. DotNetNuke Professional Edition была представлена в феврале 2009 года с версией 4.9. В июле 2013 года DotNetNuke Professional Edition была переименована в Evoq Content. Кроме того, DotNetNuke Enterprise Edition была переименована в Evoq Content: Enterprise. Версия Evoq 9.0 была выпущена в декабре 2016 года.

Архитектура

DotNetNuke использует трехуровневую архитектуру, в которой базовая платформа обеспечивает поддержку расширяемой модульной структуры. Традиционно DNN была ориентирована на предоставление функциональности на стороне сервера, однако последние проекты направлены на улучшение клиентского опыта, вслед за тенденциями в отрасли. В последние годы DNN перешла от использования исключительно Web Forms к поддержке архитектур Model-View-Controller и Single Page Application. В будущем перед DNN стоит задача перехода с ASP.NET 4.6 на кроссплатформенную, бесплатную и открытую платформу .NET. DNN можно расширять с помощью сторонних модулей и провайдеров, добавляющих функциональность на стороне сервера или клиента. Внешний вид отдельных страниц и сайтов можно настроить с помощью шаблонов (скинов).

Модули

Функциональность DNN по умолчанию может быть расширена путем добавления модулей сторонних разработчиков, из существующего магазина модулей, от сторонних авторов или посредством внутренней разработки пользовательских функций. Фреймворк DNN предоставляет базовую функциональность, такую как безопасность, администрирование пользователей и управление контентом, а модули используются для адаптации веб-сайта к конкретным требованиям развертывания. В состав базовой поставки DNN входит набор основных модулей. Эти модули обеспечивают функциональность, необходимую для создания системы электронной коммерции, интрасети, публичного веб-сайта или пользовательского веб-приложения. Их поддержка осуществляется сообществом добровольцев. В 2015 и 2016 годах большинство проектов были перенесены из DotNetNuke Community Forge на GitHub. Веб-страницы используют шаблоны (скины), которые определяют области страницы (а также их внешний вид), где редакторы страниц могут размещать модули (или расширения), предоставленные администраторами сайта. Страницы и модули могут наследовать или устанавливать собственные разрешения доступа, определяющие, какие группы пользователей могут просматривать или редактировать каждый элемент. Модули могут быть созданы различными способами: компилируемые модули используют модель Web Application Project и написаны на C# или VB.NET, динамические модули используют модель Web Site Project, а модули Razor используют скриптовый язык C# или VB.NET.

Кожи

Архитектура оформления (скиннинга) обеспечивает разделение представления и контента, позволяя веб-дизайнеру разрабатывать оформления без специальных знаний разработки в ASP.NET: требуются только знания HTML и понимание того, как подготавливать и упаковывать сами оформления. Оформления состоят из базовых HTML-файлов с заполнителями (токенами) для контента, меню и других функций, а также вспомогательных файлов, таких как изображения, таблицы стилей и JavaScript, упакованных в ZIP-файл. Как и модули, оформления можно загружать и автоматически устанавливать через страницы администрирования. Если скомпилированное оформление не содержит файл пользовательского управления ASP.NET, то механизм оформления DNN создает его на основе различных токенов, включенных в HTML-файл, которые ссылаются на различные разделы, заполнители и/или модули страницы, созданной DNN. Современные оформления используют CSS3 и HTML5, а многие авторские оформления поддерживают адаптивный веб-дизайн и различные библиотеки JavaScript. Поскольку контроль качества оформления не осуществляется, их качество может варьироваться, но часто доступны пробные периоды для оценки функциональности.

Хостинг

DNN 7.0 и выше требует как минимум Windows 7, SQL Server 2008, .NET Framework 4.0 и IIS 7+. Поддерживаются последние версии указанных продуктов. Начиная с версии 6.0, DNN также можно установить в облачной вычислительной среде Azure. Многие веб-хостинговые компании предлагают DNN в качестве услуги, а Microsoft предоставляет возможность установки в один шаг. Однако требование DNN к среде частичного доверия IIS ограничивало более широкое распространение платформы среди некоторых крупных хостинговых провайдеров.

Сообщество разработчиков экосистем

DNN поддерживается сообществом энтузиастов, особенно в Северной Америке и Европе, где ежегодно проводятся очные мероприятия. Управление проектом осуществляется через Github. На веб-сайте сообщества DNN участники обмениваются информацией о платформе DNN, принципах и участниках управления, а также обсуждают актуальные вопросы и события. Справочная документация по API и рекомендации по разработке модулей и шаблонов доступны на веб-сайте документации DNN.

История проекта

Приложение DotNetNuke изначально развивалось из другого проекта – портала IBuySpy, который был демонстрационным приложением, созданным Microsoft в 2001 году для демонстрации нового фреймворка разработки ASP.NET. Шон Уокер. Ранние версии приложения IBuySpy Workshop были разработаны исключительно Уокером и распространялись его консалтинговой компанией Perpetual Motion Interactive Systems Inc. В марте 2003 года Шон Уокер объявил о ребрендинге приложения с открытым исходным кодом в DotNetNuke. Название "DotNetNuke" было придумано Уокером путем объединения термина .NET со словом "nuke", которое было популярно в существующих фреймворках, таких как PHP Nuke и PostNuke. Уокер зарегистрировал товарные знаки для терминов DotNetNuke и DNN как в Соединенных Штатах, так и в Канаде. В этот момент Уокер сформировал основную команду разработчиков программного обеспечения, чтобы помочь ему разрабатывать и продвигать новые версии проекта с открытым исходным кодом. В сентябре 2006 года Шон Уокер пригласил 3 членов основной команды – Джо Бринкмана, Ника Кальяни и Скотта Уиллайта – сформировать корпорацию DotNetNuke для надзора за управлением и развитием проекта, а также для предоставления профессиональных услуг сообществу. 25 ноября 2008 года DotNetNuke Corporation объявила о получении финансирования серии А от Sierra Ventures и August Capital и наняла Навина Нагиа в качестве генерального директора; а в феврале 2009 года выпустила DotNetNuke Professional Edition, ориентированную на бизнес- и корпоративных клиентов. В феврале 2010 года DotNetNuke закрыла раунд финансирования серии B от Sierra Ventures, August Capital и Pelion Venture Partners. В августе 2009 года корпорация DotNetNuke запустила партнерскую программу, направленную на поддержку компаний, занимающихся веб-дизайном и разработкой, использующих DotNetNuke. Они также объявили о приобретении Snowcovered – онлайн-рынка модулей, шаблонов, услуг и сопутствующих продуктов DotNetNuke. В октябре 2009 года в отчете о доле рынка Open Source CMS было заключено, что DotNetNuke является ведущей системой управления веб-контентом с открытым исходным кодом на основе .NET. В 2013 году компания была переименована в DNN Corporation, а коммерческие версии DotNetNuke были переименованы в Evoq. В 2017 году компания была приобретена ESW Capital, а управление платформой DNN (как теперь называлась Community Edition с открытым исходным кодом) было передано команде экспертов сообщества. Впоследствии этот проект был передан под эгиду Net Foundation, а DNN Corp сосредоточилась исключительно на своей коммерческой платформе Evoq.

Управление контентом

DNN предоставляет базовые возможности управления контентом «из коробки», но обычно используется вместе с одним из множества (в основном с открытым исходным кодом) расширений для управления контентом.

Обзор

Продукт Лицензия Цена Сайт Исходный код Доступно с ВерсияDNN Standard MIT DNN GitHub ок. 20032sxc MIT и другие 2sxc.org GitHub ок. 2012OpenContent MIT OpenContent GitHub ок. 20144.6LiquidContent Годовая плата DNN (закрытый исходный код) ок. 2016