InstantCMS — это программное обеспечение, предназначенное для создания, организации структуры, редактирования веб-сайта и управления им. Если говорить обывательским языком, то это «движок сайта», где любая страница генерируется динамически, а управляется всё через удобную админку.
Кроме этого, теперь, если соединение с базой данных по какой то причине не было установлено, будет показана стандартная страница ошибки InstantCMS вместо кучи notices и warnings. Это никак не скажется на производительности рабочей системы.
В режиме отладки добавлено время генерации страницы, время на каждый запрос.
В случае возникновения ошибок, которые отслеживает CMS, страница с ошибкой будет с правильными хидерами 503 Service Unavailable.
Внедрен механизм UsersPersonalSettings, который позволяет сохранять для каждого пользователя различные данные. По сути является альтернативой добавления поля в таблицу cms_users. Может хранить как строки, так и массивы. Благодаря применению UPS, в админке в списке контента теперь запоминаются фильтра, сортировки и кол-во на страницу. Методы для работы доступны в классе cmsUser.
Убрано поле is_online из таблицы пользователей. Теперь статус пользователя (онлайн или офлайн) нужно получать при помощи метода cmsUser::userIsOnline($user_id), а список пользователей онлайн получать, присоединяя таблицу sessions_online например так: joinInner('sessions_online', 'online', 'i.id = online.user_id')->
Важно уточнить, что да, есть еще множество изменений, которые "просятся" в релиз, о которых писали в том числе и мне лично. Но все не охватить. Поэтому, не переживайте, мы не останавливаемся и постепенно все, с чем согласны (а это почти 90% того, что предлагается), внесем в релиз.
Улучшение производительности
Мы не обошли стороной проблему производительности движка и в этом релизе под капотом множество оптимизаций. Изменены типы некоторых полей, индексы. В целом, субъективно, оцениваем увеличение производительности на 15-20%, а на маломощных хостингах будет ощущаться все 35-40%.Автоматический старт установки CMS
Т.к. документацию мало кто читает, теперь после загрузки архива InstantCMS на сервер не нужно переходить на /install. Установка запустится автоматически.Кроме этого, теперь, если соединение с базой данных по какой то причине не было установлено, будет показана стандартная страница ошибки InstantCMS вместо кучи notices и warnings. Это никак не скажется на производительности рабочей системы.
Исправление ошибок
- теперь при удалении типа контента, виджеты, использующие его, будут отвязаны и того самого белого экрана больше не будет;
- таймзона для соединения с БД теперь указывается всегда по смещению, путаницы с временем быть не должно;
- устранен баг с проверкой поля дата на заполненность;
- устранен баг с двойной подгрузкой в админке в списке контента;
- устранен баг, когда более одного вложения в письмах не отправлялось;
- исправлена потеря имен при загрузке файлов с русскими именам;
- исправлено удаление файлов в полях типа "Файл";
- исправлен доступ для модераторов к записям в приватных группах;
- исправлен вывод неопубликованных записей в ленте активности;
- исправлено пакетное добавление категорий в админке;
- при установке дополнений изменен механизм проверки наличия установленной InstantCMS посредством FTP подключения;
- оптимизировано повторное подключение системных файлов;
- исправлена вставка роликов YouTube из поиска в Live Editor;
- исправлен доступ ко всем настройкам группы для администраторов сайта;
- исправлена ошибка, когда при ошибке формы сбрасываются указанные ранее дополнительные категории;
- и другие — более мелкие.
Информация для разработчиков
Добавлены вызовы новых хуков:- content_ТИП_КОНТЕНТА_move_content_items, см. /system/controllers/admin/actions/content_item_move.php
- ctype_basic_ТИП_КОНТЕНТА_form, см. /system/controllers/admin/actions/ctypes_edit.php
- comments_before_list, см. /system/controllers/comments/frontend.php
- before_render_ТИП_КОНТЕНТА_feed_list, см. /system/controllers/rss/actions/feed.php
- comments_after_hide, см. /system/controllers/comments/actions/delete.php
В режиме отладки добавлено время генерации страницы, время на каждый запрос.
В случае возникновения ошибок, которые отслеживает CMS, страница с ошибкой будет с правильными хидерами 503 Service Unavailable.
Внедрен механизм UsersPersonalSettings, который позволяет сохранять для каждого пользователя различные данные. По сути является альтернативой добавления поля в таблицу cms_users. Может хранить как строки, так и массивы. Благодаря применению UPS, в админке в списке контента теперь запоминаются фильтра, сортировки и кол-во на страницу. Методы для работы доступны в классе cmsUser.
Убрано поле is_online из таблицы пользователей. Теперь статус пользователя (онлайн или офлайн) нужно получать при помощи метода cmsUser::userIsOnline($user_id), а список пользователей онлайн получать, присоединяя таблицу sessions_online например так: joinInner('sessions_online', 'online', 'i.id = online.user_id')->
Другие изменения
- подсветка кода <code> в редакторе в markitup (добавлена кнопка для вставки кода);
- добавлено оповещение на email о новом личном сообщении;
- при управлении сроком публикации появилась возможность указать что делать после публикации: скрывать или удалять;
- в общих настройках сайта теперь можно указать название отправителя (вместо названия сайта);
- в комментариях подсвечиваются пользователи, которые сейчас на сайте, а также отдельным цветом показывается никнейм автора публикации;
- просмотры записей теперь не засчитываются от авторов и администраторов;
- в виджете списка контента теперь можно полноценно указывать свой шаблон вывода;
- опции виджета слайдера теперь с удобными select-ами, также добавлена опция, позволяющая задавать отдельно поле изображения для малой и большой картинки;
- в поле дата добавлена ссылка для заполнения его текущей датой и временем;
- изменено количество страниц в пагинации в админке на более удобные;
- в админке во всех списках осуществляется множественный выбор при зажатой клавише shift;
- добавлены alt для всех изображений;
- вынесен лишний код из шаблонов полей типов контента.
Важно уточнить, что да, есть еще множество изменений, которые "просятся" в релиз, о которых писали в том числе и мне лично. Но все не охватить. Поэтому, не переживайте, мы не останавливаемся и постепенно все, с чем согласны (а это почти 90% того, что предлагается), внесем в релиз.