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 компоненты.