InstantCMS 2.5.0 release candidate

+61
6.2K

Здравствуйте

Этим постом мы начинаем новый принцип выхода релизов. Версии InstantCMS нумеруются классическим способом, т.е. major.minor.build.
Теперь для минорных версий (minor) будут выходить сначала релиз-кандидаты.

Цель релиз-кандидатов

1. Тестирование участниками сообщества заявленной новой функциональности чистого движка новой версии;
2. Тестирование участниками сообщества обновления с предыдущей версии на копиях сайтов, чтобы по выходу релиза спокойно обновить;
3. Дать возможность разработчикам дополнений неспешно ознакомиться с новшествами и при необходимости обновить свои разработки.

Что не нужно делать с релиз-кандидатами

1. создавать новый сайт на нем
2. обновлять работающий на предыдущей версии сайт
3. при тестировании искать что-то иное, кроме багов (ошибок)

Что такое баг

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

Как тестировать

Установите движок на локальную машину или реальный хостинг. Поставьте себя на место пользователя вашего сайта и попробуйте проделать все типовые операции (регистрация, редактирование профиля, загрузка фото, добавление статей, комментариев и тд). Проделайте все операции в админке, которые вы обычно делаете. Если что-то сделать не получилось — записывайте в список. Если нашли баг — не публикуйте его сразу, а поищите еще и потом напишите обо всем найденном одним комментарием. Так удобнее обрабатывать.
По мере обработки комментарии будут удаляться, чтобы не путаться. Поэтому не пугайтесь если ваш комментарий пропал — это значит его приняли к сведению.
Еще один очень важный момент: когда пишите сообщение о баге, представьте, что вы найденный баг пытаетесь объяснить 7-ми летнему ребенку. Т.е. максимально подробно описывайте.

Как тестировать процесс обновления

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

Информация для разработчиков

Изменения в полях
Для классов поле добавлено новое свойство $var_type. Оно может принимать значения boolean | integer | double | string | array | object | resource.
Укажите это свойство в своих полях, например
  1. class fieldCaption extends cmsFormField {
  2.  
  3. public $var_type = 'string';
Свойство позволяет автоматически типизировать входящие переменные из форм от пользователя. Обратите внимание, это свойство не для полноценной валидации входящих переменных (полноценной валидацией занимается контроллер). В большинстве случаев значения могут быть integer | string | array.

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

В таблицу cms_con_{ИМЯ_КОНТЕНТА}_cats нужно добавить поле allow_add, тип поля такой:
  1. ALTER TABLE `cms_con_{ИМЯ_КОНТЕНТА}_cats` ADD `allow_add` TEXT NULL DEFAULT NULL
В таблицу cms_con_{ИМЯ_КОНТЕНТА}_fields нужно добавить поле filter_view, тип поля такой:
  1. ALTER TABLE `cms_con_{ИМЯ_КОНТЕНТА}_fields` ADD `filter_view` TEXT NULL DEFAULT NULL
Изменения в шаблоне

Новое (чтобы исключить коллизии) именование класса опций шаблона docs.instantcms.ru/dev/templates/options

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

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

Обновлены jQuery, jQuery UI, jQuery Dynatree, jQuery MiniColors до последних версий.

Изменены практически все файлы шаблонов полей. Но опять же большинство изменений не носят фатальный характер (т.е. все должно продолжать работать, но не будет новых функций), за исключением поля "Город" или в новой версии оно уже называется "Местоположение". Но мы не можем дать гарантий 100%, что все будет работать без ошибок со старыми шаблонами — проверяйте.

Определение типа устройств

Для работы с типами устройств используется эта библиотека.
Если в настройках выбран другой шаблон для планшета — то при заходе с такого устройства будет показа выбранный шаблон. Тоже самое и с мобильными устройствами.

Движок для каждого посетителя один раз определяет его тип устройства и запоминает значение в куках. После чего класс определения устройства по умолчанию не подключается. В layout шаблона доступна переменная $device_type с типом устройства.

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

  1. cmsCore::loadLib('mobile_detect.class');
  2. $detect = new Mobile_Detect();
И дальше работать с этим классом согласно его документации.

Удалены файлы и папки

/system/controllers/activity/backend/actions
/templates/default/controllers/auth/backend
/templates/default/controllers/comments/backend
/templates/default/controllers/groups/backend
/templates/default/controllers/markitup/backend
/templates/default/controllers/messages/backend
/templates/default/controllers/photos/backend
/templates/default/controllers/rating/backend
/templates/default/controllers/recaptcha/backend
/templates/default/controllers/search/backend
/templates/default/images/avatar
/templates/default/images/jquery-ui/progress_bar.gif
/templates/default/images/avatar/avatar.jpg
/templates/default/images/avatar/avatar_micro.jpg
/templates/default/images/avatar/avatar_small.jpg
/templates/default/images/bg.jpg
/templates/default/images/profile.jpg
/system/controllers/activity/backend/actions/options.php
/templates/default/controllers/activity/backend/options.tpl.php
/templates/default/controllers/activity/backend/perms.tpl.php
/templates/default/controllers/auth/backend/options.tpl.php
/templates/default/controllers/comments/backend/options.tpl.php
/templates/default/controllers/comments/backend/perms.tpl.php
/templates/default/controllers/groups/backend/options.tpl.php
/templates/default/controllers/groups/backend/perms.tpl.php
/templates/default/controllers/markitup/backend/options.tpl.php
/templates/default/controllers/messages/backend/options.tpl.php
/templates/default/controllers/photos/backend/options.tpl.php
/templates/default/controllers/rating/backend/options.tpl.php
/templates/default/controllers/recaptcha/backend/options.tpl.php
/templates/default/controllers/search/backend/options.tpl.php
/templates/default/controllers/users/backend/options.tpl.php
/templates/default/controllers/users/backend/perms.tpl.php
/templates/default/images/jquery-ui/bg_fallback.png
/templates/default/images/jquery-ui/icon_sprite.png
/templates/default/images/jquery-ui/slider_handles.png
/templates/default/images/jquery-ui/ui-bg_diagonals-thick_90_eeeeee_40x40.png
/templates/default/images/jquery-ui/ui-bg_flat_15_cd0a0a_40x100.png
/templates/default/images/jquery-ui/ui-bg_glass_100_e4f1fb_1x400.png
/templates/default/images/jquery-ui/ui-bg_glass_50_3baae3_1x400.png
/templates/default/images/jquery-ui/ui-bg_glass_80_d7ebf9_1x400.png
/templates/default/images/jquery-ui/ui-bg_highlight-hard_100_f2f5f7_1x100.png
/templates/default/images/jquery-ui/ui-bg_highlight-hard_70_000000_1x100.png
/templates/default/images/jquery-ui/ui-bg_highlight-soft_100_deedf7_1x100.png
/templates/default/images/jquery-ui/ui-bg_highlight-soft_25_ffef8f_1x100.png
/templates/default/images/jquery-ui/ui-icons_222222_256x240.png
/templates/default/images/jquery-ui/ui-icons_2694e8_256x240.png
/templates/default/images/jquery-ui/ui-icons_2e83ff_256x240.png
/templates/default/images/jquery-ui/ui-icons_3d80b3_256x240.png
/templates/default/images/jquery-ui/ui-icons_454545_256x240.png
/templates/default/images/jquery-ui/ui-icons_72a7cf_256x240.png
/templates/default/images/jquery-ui/ui-icons_ffffff_256x240.png
/templates/default/images/authlinkbg.png
/templates/default/images/bg_nav.png
/templates/default/images/bg_nav_active.png
/templates/default/images/bg_nav_hover.png
/templates/default/images/widget_title_bg.png
/templates/default/images/widget_title_bg2.png

Скачать

Пакет обновления 2.4.0 => 2.5.0RC2
Чистый релиз InstantCMS 2.5.0 RC2



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

Приглашаем всех, кому не безразлична стабильность новой версии InstantCMS, принять участие в тестировании. Спасибо тем, кто откликнется.


Тестирование завершено. Всем спасибо за участие.
+4
Fuze Fuze 8 лет назад #
Архивы обновлены, все ошибки, ранее указанные здесь, устранены.

Еще от автора

InstantCMS 2.17.0 релиз-кандидат
Тестируем релиз-кандидат InstantCMS 2.17.0. От того, как мы с вами выявим баги в новой версии, зависит стабильность релиза.
Как собрать обновление и релиз InstantCMS
Небольшой экскурс в сборку дистрибутива установки и обновления InstantCMS с GitHub.
InstantCMS 2.14.0 release candidate
Здравствуйте Тестируем релиз-кандидат InstantCMS 2.14.0. От того, как мы с вами выявим баги в новой версии, зависит стабильность релиза.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.