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

  • Возможность создавать страницы
  • Возможность менять теги для SEO (title, description. keywords)
  • Возможность управлять контентом и компонентами на странице
  • Возможность управлять каталогом, настройками, пользователями и т.д.

Если посмотреть изнутри, то страницы в CMS не являются физическими страницами. Основной движок рендеринга страниц (в Ruden CMS – это /default.aspx) на основе адреса и домена определяет какую страницу нужно загрузить из базы. Далее по этой странице определяется какие компоненты надо будет отрисовать на странице и все это дело рендерится на странице. Т.е. фактически всегда запускается одна и та же страница (с помощью правил Url Rewrite в web.config) и выводится страница с компонентами из базы данных.

В роли компонентов в случае Ruden CMS играет файлы ascx. Они динамически подключаются динамически в Default.aspx через LoadControl.

У каждого компонента есть ряд свойств, которые можно менять в админке в конструкторе страницы.

По сути Ruden CMS состоит из следующих модулей:

  • Движок рендеринга страниц
  • Конструктор страниц
  • Настройки
  • Пользователи
  • SEO
  • Компоненты.

Нужно ли делать свою CMS? Или лучше использовать какую-либо готовую CMS с большим набором функций?

Готовая CMS хуже тем, что зачастую в ней сложнее менять какие-либо вещи + архитектура CMS задает способ разработки, который может не совсем вам подходить.

Готовую CMS лучше использовать для типовых сайтов (визитки или простые магазины). Если вы планируете делать софт на заказ – лучше сделать свой инструмент, который будет легко адаптировать под нужды конкретного проекта.

Далее рассмотрим JS компоненты.