Репутация 0

Что такое CMS? Разбираем на примере CMS «GIRVAS»

CMS (Content Management System) — это система управления содержимым, которая позволяет пользователям создавать, редактировать, управлять и публиковать цифровой контент на веб-сайтах без необходимости глубоких технических знаний в области программирования. CMS предоставляет интерфейс, который упрощает процесс работы с контентом, делая его доступным для широкой аудитории, включая маркетологов, редакторов и других специалистов. В случае с CMS «GIRVAS» — это не только система управления содержимым, но и сайтом, поскольку при помощи данной системы возможно настроить внешний вид сайта, управлять логикой отображения содержимого, управлять пользователями и их группами, загружать и обрабатывать графические изображения и т.д. В своем роде CMS «GIRVAS» — это полезный программный комплекс с широким спектром возможностей.

Вход в административную панель CMS «GIRVAS»

Краткая история разработки

CMS «GIRVAS» начала разрабатываться в 2021-ом году Шестаковым Андреем Руслановичем - карельским индивидуальным предпринимателем и основателем предприятия «Garbalo». В 2024 году 17 июня программа была зарегистрирована в Реестре программ для ЭВМ через Федеральный институт промышленной собственности, а 27 ноября того же года на основании протокола заседания экспертного совета по программному обеспечению Министерства цифрового развития, связи и массовых коммуникаций Российской Федерации программное обеспечение CMS «GIRVAS» было внесено в Реестр российского программного обеспечения.

Скриншот аналитического отчета Реестра российского программного обеспечения Вырезка из протокола заседания экспертного совета по программному обеспечению

С самого начала разработки была идея создания универсального и мощного инструмента - эта задача не из легких, поскольку разработка ведется всего одним человеком. Облегчает работу то, что команда «Garbalo» способствует тестированию системы и разработке шаблонов для нее, что ускоряет процесс разработки. Говоря о коллегах в команде, хочется отметить особо активных, которые по своей инициативе помогали разработчику и продолжают помогать и по сей день:

  • Дмитрий Собенин - тестирование интерфейса и API;
  • Ковальчук Илья - тестирование API;
  • Александр Авдеев - разработка первичного шаблона сайта (/templates/default);

Система управления с самого старта разработки создавалась с нуля и не имеет «под капотом» какого-либо стороннего фреймворка - вся ее база написана самостоятельно, на основе которой теперь и развивается сам продукт. Говоря про собственную разработку, стоит отдельно упомянуть класс «Parsedown», который располагается в корне PHP-библиотеки CMS, поскольку это единственное решение, которое было создано сторонними лицами - их авторство сохранено, поскольку «Garbalo» уважает чужие труды. Однако, в будущих версиях этот класс будет убран из системы управления и заменен собственным решением, поскольку «Parsedown» был внедрен как временное решение для оценки перспектив использования подобного подхода к форматированию содержимого сайта. Решение «под замену» должно помочь не только с форматированием, но и с возможностью встраивания интерактивных элементов, которые были разработаны специально для CMS «GIRVAS».

Попытки создания «чего-то своего» очень сильно раздражало некоторых людей, которые узнавали о системе в Интернете, поскольку считали это глупым или попыткой создать «колесо», которое никогда и ничто не заменит, поскольку есть более популярные и «обкатанные» аналоги, к примеру: «WordPress», «Joomla», «Drupal», «Datalife Engine» и другие. Хорошим примером таких доводов могут послужить комментарии под статьей российского интернет-издания о бизнесе, стартапах, инновациях, маркетинге и технологиях VC.RU. Однако, эти доводы не остановили «Garbalo» и разработчик продолжил разработку собственного продукта дальше, поскольку он верит в будущий успех, как и команда «Garbalo» в целом, ведь создавая что-то свое - туда вкладывается душа, и смотря на аналоги, ты понимаешь их слабые стороны, что позволяет это сделать сильной стороной продукта «Garbalo».

Доводы некоторых комментаторов на VC.RU

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

CMS «GIRVAS» — первая в Республике Карелия

Система управления содержимым «ГИРВАС» стала первой мультиязычной системой с открытым исходным кодом, официально зарегистрированной в Республике Карелия в Реестре российского программного обеспечения Министерства цифрового развития Российской Федерации, однако не первой в стране в целом. В России, а также мире в целом существует огромное множество различных систем, однако большинство из известных систем имеют ориентир на определенную категорию сайтов: какие-то используются для создания блогов, какие-то для новостных порталов, а какие-то и вовсе только для форумов. С CMS «GIRVAS» все иначе, поскольку главная цель разработчика - создать программный продукт, который способен работать с сайтами всех типов.

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

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

Система управления содержимым «ГИРВАС» призвана стать первым универсальным и профессиональным инструментом для создания сайтов и управления их содержимым в Республике Карелия, поэтому ее разработке, а также качеству и тестированию ее кода уделяется особое внимание - это является одной из причин, почему разработчик так нуждается во внешнем тестировании программы, поскольку другие люди вполне способны найти ошибку или проблему в оптимизации там, где не мог найти сам разработчик.

Одним из огромных преимуществ нашего продукта перед другими является ее безвозмездный способ распространения (она бесплатная), поэтому бизнесу не нужно вкладывать дополнительные средства. Кроме того, предприятие «Garbalo» в скором времени начнет заниматься разработкой сайтов «под ключ» на базе своего решения, поэтому компания сможет гарантировать качество работы и отвечать за это, также в этом случае «Garbalo» будет являться не только исполнителем заказа, но и прямым разработчиком данной системы, поэтому сможет расширить функционал по запросу клиента без каких-либо проблем, а выявленные ошибки клиентом можно будет исправить и сразу же внести эти изменения в следующие обновления. Таким образом компания сможет «убить двух зайцев».

Техническая составляющая

Программный продукт от нашего предприятия был написан на языке общего назначения PHP 8.2 вопреки негативным высказываниям некоторых разработчиков и ИТ-специалистов. Часть людей, которая начала критиковать нас за выбор языка PHP, склоняется к мнению, что язык устарел и не имеет актуальности, хотя PHP традиционно остается одним из самых популярных языков программирования для веб-разработки. По данным различных опросов разработчиков, таких как Stack Overflow Developer Survey, PHP занимает стабильные позиции среди языков, используемых для серверной разработки. Язык продолжает получать крупные обновления, поэтому система будет еще долго актуальной.

Системы управления базами данных (СУБД)

СУБД - это система управления базами данных. Это программное обеспечение, которое позволяет создавать, хранить, изменять и управлять данными в базах данных. СУБД обеспечивает интерфейс для взаимодействия с данными, а также обеспечивает функции для обеспечения целостности, безопасности и согласованности данных.

CMS «GIRVAS» на текущий момент работает только с PostgreSQL, однако в будущем будет добавлена поддержка и других СУБД, таких как: MySQL, Oracle и другие. Выбор разработчика остановился на PostegreSQL, поскольку данная СУБД способно работать с огромным объемом данных, а также имеет мощные возможности для работы с неструктурированными данными, включая поддержку JSON и JSONB, что позволяет эффективно хранить и обрабатывать документы JSON.

Механика работы CMS и ее функционал

Принцип работы CMS «GIRVAS» в общем понимании ничем не отличается от своих аналогов, поскольку задача нашей CMS абсолютно такая же, как и у других аналогов - помочь в управлении сайтом и его контентом, однако есть некоторые нюансы. К примеру, система управления содержимым «ГИРВАС» позволяет создавать мультиязычный контент, используя один инструмент - раздел редактирования записи или статической страницы позволяет заполнять контент на разных языках, позволяя опубликовать его по одной ссылке, который в свою очередь подгружается в карту сайта с разными языковыми параметрами, выбранными при редактировании содержимого, тем самым помогая опубликовать контент в поисковой системе сразу на разных языках - это полезно будет также в том случае, если необходимо содержать особую цензуру в разных странах. Таким образом можно добиться создания мультиязычного сайта.

Административная панель

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

Административная панель в CMS «GIRVAS»

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

Локализация системы и сайта

«ГИРВАС» является мультиязычной системой - это значит, что его интерфейс, а также содержимое сайта могут быть переведены на разные языки. Для реализации данной идеи был разработан механизм, позволяющий импортировать содержимое JSON-файлов, содержащих перевод для определенного языка. Если, к примеру, на сайте в настройках был выбран основным языком русский, то все, кто будет заходить на сайт будет видеть его с текстом на русском языке. С другими языками аналогично. Если пользователь зарегистрирован, то он в профиле сможет настроить язык, и тогда, переведенный контент, будет отображаться на выбранном языке.

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

Интеграция со сторонними решениями

Система от предприятия «Garbalo» - это карельское решение, именно поэтому в первую очередь идет ориентирование на карельский рынок, и только потом на российский. Иностранный рынок в большей степени учитывается только тот, который относится к странам Евразийского экономического союза (ЕАЭС). Остальные страны учитываются в последнюю очередь. Исходя из такой политики, выбирая внешние инструменты для удаленной или внутренней интеграции, предпочтение всегда отдается именно отечественным решениям, поэтому механика всегда будет нацелена на отечественного пользователя.

На текущий момент «ГИРВАС» не имеет каких-либо интеграций со сторонними инструментами, поскольку не стояло подобной задачи, однако в будущем планируется внедрить возможность авторизации в системе через российские социальные сети, государственный портал «ГосУслуги» и единую систему аутентификации «Garbalo ID».

Модульное расширение

Модули в системе позволяют расширять ее функционал без необходимости в программировании. На текущий момент система модульного расширения CMS находится в тестовой вариации и требует доработки. В процессе тестирования подобной системы был выявлен ряд недочетов и учтен для будущих обновлений, поэтому в дальнейшем «ГИРВАС» получит полноценную систему модульного расширения без каких-либо ограничений.

Изменение внешнего вида сайта

Внешний вид сайта или его «оболочка» поддается изменению благодаря разработанной механике по смене шаблона. Разработчик сайта может с легкостью использоваться данный механизм, чтобы изменить внешний вида сайта при помощи готовых решений или собственных. К сожалению, на данный момент CMS «GIRVAS» не имеет интерактивного редактора внешнего вида, поэтому он задается путем создания набора файлов расширения «TPL», которые собираются в единую веб-страницу и стилизуются при помощи таблиц каскадных стилей (CSS), которые поставляются вместе с шаблоном. Система управления содержимым «ГИРВАС» уже имеет свой набор готовых CSS-решений, поэтому при желании можно использовать только их.

Шаблоны карельской системы управления содержимым и сайтом позволяют запрограммировать себя при помощи серверного и клиентского «ядер» - это так называемые уникальные файлы-сборщики шаблонов, которые задают логику их сборки, работы интерактивных элементов и обработки веб-страниц с клиентской части. Шаблоны системы работают при помощи системы шаблонизации, которая также была разработана специально для нашей CMS: на текущий момент сборка осуществляется при помощи замены специальные шаблонных переменных, имеющих вид {VARIABLE_NAME}, однако в будущем это решение уйдет в прошлое, поскольку в дальнейшем система получит обновление, позволяющее динамически создавать целые структуры веб-документа и внедрять туда изменения посредством серверной части ядер шаблона или при помощи модулей.

Локализация «оболочки»

Компания «Garbalo» предусмотрела механизм, который позволяет переводить отдельные элементы шаблона сайта при помощи создания собственного «пакета» локализации через обычный файл формата «JSON». Благодаря разработанному механизму по внедрению шаблонных переменных возможно добавить необходимые слова, фразы или целые предложения, которые будут распознаваться серверной частью ядра шаблона и заменяться текстом, в зависимости от выбранного языка поисковым роботом или пользователем.

Пользователи и их группы

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

Работа с веб-каналами (фидами)

Фиды являются вспомогательным инструментом для распространения информации. Они позволяют делиться содержимым сайта через любое устройство или приложение с поддержкой чтения данных со спецификациями RSS или Atom. Система управления содержимым «ГИРВАС» позволяет создавать собственные каналы, которые будут основаны на выбранной категории записей, опубликованных на сайте. Вот, например, сгенерированный RSS-канал версии 2.0 в «ГИРВАС»:

<rss version="2.0">
  <script/>
  <channel>
    <title>Test Rss</title>
    <link>https://demo.cms-girvas.ru/entries</link>
    <description>Test</description>
    <lastBuildDate>Fri, 06 Dec 2024 21:07:07 MSK</lastBuildDate>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>CMS GIRVAS: Web Channel Builder</generator>
    <pubDate>Fri, 06 Dec 2024 21:04:50 MSK</pubDate>
    <item>
      <title>Привет, Мир!</title>
      <description>
        <![CDATA[ Добро пожаловать в Систему управления содержимым \"ГИРВАС\"! ]]>
      </description>
      <link>https://demo.cms-girvas.ru/entry/hello-world</link>
      <pubDate>Fri, 06 Dec 2024 21:04:50 MSK</pubDate>
    </item>
  </channel>
</rss>

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

Работа с записями и статическими страница на сайте

CMS «GIRVAS» позволяет работать с записями на сайте, позволяя публиковать их, редактировать или при необходимости удалять. Благодаря системе прав и возможности предоставления другим пользователям доступа к административной панели - над записью может работать несколько человек (не одновременно). Со статическими страницами (контент, который не предполагает периодического обновления за счет комментариев) аналогичная ситуация.

Редактирование записи в CMS «GIRVAS»

Редактор записей и статических страниц поддерживает режим мультиязычности - это означает, что при наличии других локализаций (в поставке обычно идет два языка: русский и английский) можно писать содержимое на разных языках, при этом роботы поисковых систем смогут распознать каждую языковую версию, как самостоятельный контент. Анализируя карту сайта, роботы найдут эти версии самостоятельно.

Специально для редактора записей и статических страниц был разработан визуальный редактор, который получил название «NadvoTE» (назван в честь поселка Надвоицы - от куда родом сам разработчик). Он позволяет работать с форматированием текста, имея при себе простую панель инструментов. На момент написания статьи данный редактор уже позволяет делать текст жирным, курсивным, подчеркнутым, работать с заголовками, цитатами, ссылками, а также изобржениями.

Вставка картинки через редактор «NadvoTE»

Говоря об изображениях, стоит отметить, что административная панель имеет отдельный раздел, который называется «Медиа-файлы» - это раздел, который позволяет загружать изображения, удалять их, а также копировать ссылки на них. Такой же инструментарий встроен в визуальный редактор «NadvoTE», через который можно вставить изображение в редактор записей и статических страниц. После сохранения всех изменений и публикации записи или статической страницы - они станут моментально доступны для пользователей сайта, как на примере ниже.

Пример просмотра полной записи на сайте с первичным шаблоном

У «ГИРВАС» есть уникальный инструмент по автоматическому преобразованию изображения в оптимизированный формат. На текущий момент это априори включенная функция (преобразование идет в формат «WebP»), но в дальнейшем можно будет это настроить, включая выбор формата изображения, в который будет производиться преобразование. Настоятельно рекомендуем в будущем не отключать преобразование, поскольку все загружаемые изображения в таком случае не будут проходить процесс обработки, а это может помочь злоумышленникам залить уже обработанное изображение со встроенным вредоносным кодом, который может сработать, поскольку изображение будет залито в исходном формате.

Работа с пользователями и их группами

Система управления содержимым «ГИРВАС» позволяет работать с пользователями, а также их группами и правами. Благодаря данной возможности администрация может решать, кто и что может делать на сайте, а также административной панели.

На примере ниже можно увидеть разделы со списком пользователей, а также с редактированием пользователя. «ГИРВАС» поддерживает работу с дополнительными полями для профилей пользователей, поэтому возможно «разбавить» профиль необходимой дополнительной информацией, которая также будет поддаваться редактированию через административную панель при необходимости. Сами же пользователи смогут редактировать информацию о себе, включая пароль, через свой профиль на самом сайте.

Раздел списка пользователей CMS «GIRVAS» Раздел редактирования пользователя CMS «GIRVAS»

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

Раздел списка групп пользователей CMS «GIRVAS» Раздел редактирования группы пользователей CMS «GIRVAS»

Аналитика системы

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

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

Раздел с настройками

В административной панели есть важный раздел, который называется «Настройки CMS», где можно произвести необходимые манипуляции для настройки системы. Мы не будем подробно останавливаться и разбирать здесь каждый параметр, поскольку статья не об этом (это разбирается в руководстве по эксплуатации - оно будет ниже), но укажем на общие категории настроек.

Основные настройки

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

Безопасность

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

Поисковая оптимизация

Поисковая оптимизация (SEO) является тестовым подразделом настроек. На текущий момент там есть только настроек ключевых слов, описание сайта и содержимое файла robots.txt.

Пользователи

Подраздел «Пользователи» позволяет настроить дополнительные поля для профилей пользователей. Если администрация считает, что нужно увеличить информационный объем профиля, то это можно сделать через этот подраздел.

Заключение

В конце данной статьи хочется подчеркнуть, что система управления содержимым «ГИРВАС» стала первым готовым и перспективным продуктом нашего предприятия, а также первым уникальный программным продуктом для Республики Карелия, зарегистрированным в Реестре российского программного обеспечения Министерства цифрового развития Российской Федерации, который будет развиваться и постепенно внедряться в разные отрасли бизнеса и, возможно, сферы деятельности региональных или федеральных властей. Система «ГИРВАС» в первую очередь является бесплатным и многофункциональным инструментов для управления сайтом и его контентом, поэтому конечный результат зависит не только от эффективности работы системы, но и от администрации сайта.

Репозиторий системы

На текущий момент актуальный репозиторий CMS «GIRVAS» располагается в сервисе GitFlic (отечественный аналог GitHub), где можно загрузить систему к себе на сервер и уже попробовать с ней поработать. Просим также обратить внимание на то, что система часто получает обновления, поэтому рекомендуется отслеживать свежие коммиты.

Установка

Прежде чем приступить к установке и началу эксплуатации, необходимо произвести загрузку системы - для этого на Ваш сервер необходимо установить веб-сервер (желательно Apache2), PHP не ниже версии 8.2, СУБД PostgreSQL последней версии, а также инструментарий Git. Если все уже сделали, то можно приступать к загрузке и установке.

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

cd <path_to_dir>

После чего клонировать репозиторий:

git clone https://gitflic.ru/project/garbalo/cms-girvas.git .

Перед началом установки также рекомендуем проверить права на директорию /core в CMS - у веб-сервера должны быть права на запись в эту директорию, поскольку там в процессе установки должен быть сформирован конфигурационный файл.

Для документирования установки и способах эксплуатации программного обеспечения, были подготовлены следующие руководства:

Карелия, CMS «GIRVAS» - это твой выбор!

Комментарии

К этой записи нет комментариев.