В версии 3.8.4 добавился гаджет "Сводка по миграциям"
Отображает общий статус по всем миграциям, для всех конфигураций. Служит для того, чтобы лишний раз "мозолить" глаза и напоминать, что с последним пуллом пришли новые миграции/схемы и БД теперь отстаёт.
зеленый - все миграции установлены красный - есть неустановленные миграции
Чебан Валерий, допустим будет схема с данными на основе таблицы в бд, как понять при установке схемы какие данные надо обновить, какие добавить\удалить
1) Минимальная версия php для модуля повысилась до 5.6 (ставьте лайк если вы уже давно на php7) 2) Добавлен новый функционал для импорта\экспорта элементов инфоблоков и highload-блоков
Перенос элементов
Экспорт в xml
При запуске переноса создается миграция и директория, содержащая xml файл с данными, а также с изображениями и файлами, которые будут перенесены. Название директории состоит из названия файла миграции с добавлением "_files", например если файл миграции Version20190913102030.php, то ее директория с ресурсами - Version20190913102030_files. Пример xml-файла во вложении hlblock_elements.xml
Экспорт выполняется пошагово по 20 элементов.
Импорт из xml Чтобы импортировать элементы из xml-файла нужно запустить миграцию (уже на другой копии проекта)
Код импорта описан в файле миграции, пример во вложении Version20190913102030.php
В коде импорта можно задать свой метод создания элементов на основе данных из xml
Импорт также выполняется пошагово по 20 элементов.
При установке новых миграций можно отмечать их произвольным тегом:
php bin/migrate up --add-tag=release001
php bin/migrate up Version2019020200000 --add-tag=release001
Это бывает удобно в случае отката релиза, когда требуется вернуть его в начальное состояние, при условии что написан код отката, метод down() для каждой миграции
Откат миграций по тегу:
php bin/migrate down --tag=release001
Тег можно поставить только установленной миграции, он хранится в табличке миграций в базе данных По тегу можно искать миграции в админке через поле поиска По тегу можно отфильтровать список миграций в консоли
php bin/migrate ls --tag=release001
При откате миграции тег сбрасывается, так как удаляется запись о миграции из базы данных
1) Минимальная версия php для модуля повысилась до 5.4 (хотя надеюсь уже все давно переехали на php7) 2) Классы модуля перенесены в lib/ и подгружаются теперь автоматически битриксом (убран старый автолоадер) 3) Директория для архивных миграций по умолчанию располагается рядом с директорией миграций в папке migrations.archive 4) Добавлен новый функционал для работы со схемами данных
Схемы данных
Схемы данных это еще один подход к обмену изменениями бд между копиями проекта, заключается в том что вместо миграций, накатывающих изменения, описывается структура сущностей (например инфоблока) в файл и накатывается целиком этот файл. Такая схема будет визуальна понятна разработчику и глядя на нее он будет знать полное содержимое сущности.
При внесении правок в такую схему, совместно с другими разработчиками, будут происходить конфликты в git, что вынудит разработчика, при правке конфликта, привести схему к финальному виду.
Работа в админке
Первым делом создадим схемы данных, выберем все доступные конструкторы схем и запустим экспорт, схемы сущностей сохранятся в файлы, в директорию migrations.schema рядом с директорией для миграций
Пример схемы групп пользователей во вложении (user_groups.json)
Добавим несколько групп пользователей в схему и несколько удалим, запустим тестовый импорт В логе справа будет показано что произойдет при импорте схемы. Проверьте что в логе корректная информация и запускайте импорт, список групп пользователей на сайте импортируется согласно вашей схеме.
В модуле предусмотрена возможность импортировать\экспортировать схемы выборочно или все сразу.
Для выбора схем которые требуется импортировать выборочно, может помочь информация об изменении схем.
Красный заголовок схемы говорит о том что содержимое схемы отличается от той что импортировали в последний раз и что, скорее всего, схему надо импортировать снова.
Зеленый заголовок схемы говорит о том что схема была успешно импортирована и ее содержимое не менялось.
p.s.
Сейчас описаны несколько конструкторов для наиболее использующихся структур. Вы можете писать свои конструкторы схем, также как вы писали конструкторы миграций, принцип тот же самый, добавляете свой конструктор в конфиг и пишете свой класс по аналогии с готовым конструктором.
Вкратце - колонкам модульных сеток можно добалять произвольные классы и реализовать либо свою систему из таких сеток, либо использовать уже готовые сетки из bootstrap
В релизе 2.5.3 добавилась возможность отображать и выполнять различный список миграций для разных окружений, это бывает необходимо когда, например, для тестовой среды нужны какие-либо промежуточные миграции, а для продакшена основные.
Раньше это было возможно сделать, например, сделав несколько директорий для миграций и меняя програмно конфиг
/local/php_interface/migrations.cfg.php или /bitrix/php_interface/migrations.cfg.php
где \MyProject::IsDev()) - ваша функция определяющая текущее окружение
Однако не всем было удобно хранить миграции в разных директориях и перетаскивать их из одной в другую, поэтому добавил еще параметр для фильтрации списка
Теперь задав в самом файле миграции такой фильтр можно отделить ее от общего списка и показывать и выполнять только для тестового окружения определенного вашим методом \MyProject::IsDev()
ключей в фильтрах может быть сколько угодно, но для отображения в списке все ключи\значения в конфиге должны присутствовать в классе миграции
Такой же фильтрации списка можно добиться переопределив метод isVersionEnabled() - опишите условие по которому показывать или нет миграцию в списке и соответственно выполнять ее при накате\откате всех сразу (команды php migrate.php migrate , php migrate.php up )
<?php
namespace Sprint\Migration;
class Version20171219185225 extends Version
{
public function isVersionEnabled()
{
return \MyProject::IsDev();
}
}
Коваленко Алексей, а вот давайте с вами и договоримся, добавим поддержку для вашего BXReady - Корпоративный сайт
Про маленький нюанс - это ведь все индивидуально, может кто-то и отключает от техподдержки, кто-то нет, вот в аспро-некст, добавилась кастомизация шаблонов и внедрять в него какой-то сторонний функционал вполне легально.
вот в аспро-некст, добавилась кастомизация шаблонов и внедрять в него какой-то сторонний функционал вполне легально.
Странно, но кастомизация шаблонов - это стандарт Битрикс и если какое-то решение его не поддерживает, это уже проблемы решения. Просто надо понимать, что любая кастомизация это создание аналогичного, но живущего своей жизнью участка.
Ну а по поводу обновлений мы уже общались с несколькими разработчиками Год назад мы поставили в план выпуск интересной модели. Думаю, порадуем всех владельцев и веб-мастеров, использующих продукты BXReady.
Начиная с версии 1.1.5 в редактор добавились кнопки копирования/вставки блоков, кликаем на кнопку копирования блока, она подсветится желтым, а содержимое блока попадает в буфер (localStorage), после этого у каждой колонки появится кнопка вставки из буфера, куда можно вставить выбранные блоки, а буфер очистится.
Так как буфер хранится в localStorage, копировать можно блоки как между редакторами на одной странице, так и в редакторы на соседних страницах (вкладках) браузера.
Функционал копирования доступен также и в режиме просмотра колонок
Причем им даже удобнее пользоваться, так как лучше видно скопированные блоки.
В обновлении 1.1.6 вышел новый блок для редактора - Галерея видеороликов В публичной части он похож на видеогалерею в сервисе steam - есть центральный блок с видео или картинкой и слайдер с остальными превьюшками.
Видеогалерея адаптивна, она занимает всю ширину блока в котором находится и поэтому очень удобна для встраивания в различные материалы. На картинке пример двух видеогалерей которые находятся в невидимых блоках разной ширины
Помимо видео (сейчас поддерживается только youtube) видеогалеря может отображать и просто картинки, что создают сильную конкуренцию другому блоку - Галерея изображений
Однако в админке, работа с блоком Галерея видеороликов немного сложнее обычной Галереи изображений.
Из-за того что в слайды можно загружать или видео или картинку (или все вместе), предлагается добавлять сначала кадры слайда, на картинке это небольшие серые блоки, которые можно создать через кнопку "Добавить"
Далее, кликая на слайд (он подсветится красной рамкой) можно отредактировать его содержимое, прикрепить видео или добавить картинку.
Примечательно что модуль загрузит картинку-превью с ютуба если просто указать ссылку на видео.
А удалить слайд можно нажав на кнопку с крестиком у выделенного слайда.
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».