Яковлев


GetSimple Legacy CMS 2024.3

Релиз GetSimple Legacy CMS 2024.3 – последний релиз GetSimple Legacy CMS в 2024 году. Что нового и стоит ли обновляться? Отвечу на эти вопросы.

При разработке GetSimple Legacy CMS 2024.3 было уделено внимание продолжению начатой в GetSimple Legacy CMS 2024.2.1 работе по расширению возможностей использования компонентов. Поэтому описание новых возможностей релиза следует начать именно с описания новых возможностей компонентов.

Новые возможности компонентов

Названия и идентификаторы компонентов

Минусом в организации и подходе к работе с компонентами в оригинальной GetSimple CMS была зависимость их идентификаторов (слагов) от названий – идентификаторы компонентов автоматически генерировались из названий компонентов. При изменении названия компонента, менялся его идентификатор, что требовало вносить изменения в PHP-код, в котором происходило обращение к компоненту. Кроме того, зависимость названия и идентификатора, ограничивала пользователя в подходе к выбору схемы именования компонентов.

Это надо было обязательно изменить.

В GetSimple Legacy CMS 2024.3 названия компонентов и их идентификаторы отделены друг от друга - пользователь может самостоятельно задать идентификатор (слаг) компонента, который не будет зависеть от названия компонента.

Для этого в редактор новых и существующих компонентов добавлены текстовые поля Title и Slug. В поле Title пользователь вводит название компонента, в поле Slug – идентификатор (слаг) компонента. Поля редактируются независимо друг от друга.

Уникальные идентификатор компонентов

В отличие от оригинальной GetSimple CMS в GetSimple Legacy CMS 2024.3 не допускается существование компонентов с одинаковыми идентификаторами (слагами). При сохранении компонентов, повторяющие идентификаторы (слаги) компонентов уникализируются.

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

Описания компонентов

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

Поэтому в GetSimple Legacy CMS 2024.3 добавлено новое текстовое поле Description для хранения текстового описания компонентов.

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

Порядок компонентов

В оригинальной GetSimple CMS прядок отображения и хранения компонентов определялся сортировкой по названию. Переименование или добавление нового компонента меняло порядок компонентов в списке. Если пользователь привыкал к уже имеющемуся порядку компонентов, это создавало неудобство.

Чтобы контролировать порядок отображения компонентов, в GetSimple Legacy CMS 2024.3 добавлено новое поле Order. Поле предназначено для хранения целочисленного значение, начиная с 1, при помощи которого задаётся порядковый номер для каждого компонента, в соответствии с которым производится сортировка и отображение компонентов в общем списке.

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

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

Новые функции для работы с компонентами в шаблонах оформлениях

component_exists()

Функция component_exists() проверяет существование компонента.

Функция принимает обязательный параметр типа string – идентификатор (слаг) компонента, существование которого требуется проверить. Функция возвращает значение типа boolean: true - если компонент существует, false – если компонент не существует.

component_enabled()

Функция component_enabled() проверяет состояние компонента, добавленное в GetSimple Legacy CMS 2024.2.1.

Функция принимает обязательный параметр типа string – идентификатор (слаг) компонента, состояние которого требуется проверить. Функция возвращает значение типа boolean или null: true – если компонент включён, false – если компонент отключён, null – если компонент не существует.

Изменение интерфейса редактора компонентов

Добавление новых полей потребовало изменения графического пользовательского интерфейса редактора компонентов.

В оригинальной GetSimple CMS при двойном клике по названию компонента появлялось текстовое поле, в котором пользователь мог задать новое имя компонента. Теперь при клике по названию компонента разворачивается форма, в которой пользователю доступно редактирование полей данных соответствующего компонента. Такое поведение элемента интерфейса аналогично форме Page Options в редакторе страницы.

При свёрнутых формах редактора компонентов, общий вид списка компонентов соответствует привычному для пользователя списку компонентов оригинальной GetSimple CMS.

Обновлённый интерфейс редактора компонентов в GetSimple Legacy CMS 2024.3

Кроме компонентов в релизе GetSimple Legacy CMS 2024.3 обновление получила страница панели управления изображением - Image Control Panel.

Обновления панели управления изображением

Относительные адреса изображений и миниатюр изображений

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

В GetSimple Legacy CMS 2024.3 с этой целью на страницу Image Control Panel добавлен чекбокс Use Relative URLs. Состояние чекбокса позволяет пользователю выбрать между использованием относительного или абсолютного адреса при формировании ссылки на изображение, или на миниатюру изображения. По умолчанию чекбокс включён, используются относительные адреса.

Пересоздание стандартных миниатюр изображений

При желании пользователь GetSimple CMS через редактор миниатюр на странице Image Control Panel может заменить автоматически созданную стандартную миниатюру на собственную. Однако возврата к стандартной миниатюре не предусмотрено – если созданная вручную миниатюра не устраивает, её надо удалить вручную с сервера, чтобы вместо неё была автоматически пересоздана стандартная миниатюра.

В GetSimple Legacy CMS 2024.3 этот недочёт устранён. Теперь рядом с кнопкой Create Thumbnail добавлена ссылка Reset Thumbnail, при переходе по которой будет пересоздана стандартная миниатюра для редактируемого изображения.

Навигация по вложенным директориям

Для удобства навигации по вложенным директориям на страницу Image Control Panel добавлена навигационная цепочка (breadcrumbs или “хлебные крошки”). Теперь пользователь может перейти со страницы изображения в любую из родительских директорий, аналогично навигации, доступной на странице Uploaded Files.

Обновлённый пользовательский интерфейс Image Control Panel в GetSimple Legacy CMS 2024.3

Я перечислил основные изменения в возможностях системы управления контентом, сделанные в релизе GetSimple Legacy CMS 2024.3, по сравнению с возможностями оригинальной GetSimple CMS. Кроме перечисленного, релиз включает в себя оптимизацию HTML разметки, исправления ошибок и недочётов, найденных в оригинальной GetSimple CMS, носящих визуальный характер и не влияющих на функционирование системы управления контентом.

С полным списком изменений можно ознакомиться в логе изменений в репозитории проекта.

Считаю, что изменения, сделанные в GetSimple Legacy CMS 2024.3, стоят того, чтобы обновить систему управления контентом с предыдущих версий, не дожидаясь выхода следующих релизов. Особенно это касается новых возможностей для компонентов, которые можно начать использовать на практике уже сейчас. Важно, что все изменения, кроме обязательной уникальности идентификаторов (слагов) компонентов, не нарушают совместимости с предыдущими версиями системы управления контентом – и с оригинальной GetSimple CMS, и с GetSimple Legacy CMS. Поэтому обновление не должно вызвать ошибок и сложностей.

Следующие релизы GetSimple Legacy CMS будут выходить по мере готовности в 2025 году, поэтому не забывайте следить за изменениями на GitHub и в моём блоге. Как всегда, жду отзывов и предложений по доработке или добавлению новых возможностей в GetSimple Legacy CMS в сообщениях в Telegram.