Обновление образов тиражек в демо-сервисе (citrus-demo.ru)
Доступ админку демо-сервиса в вики группы Сайт Цитруса.
Порядок обновления
- Авторизуемся на сервисе демо-сайтов под пользователем
admin - Находим модуль в инфоблоке Тиражные решения, скачиваем бекап

- Разворачиваем бекап локально стандартными средствами Битрикс
Пароль пользователяadminуказан в инфоблоке Тиражные решения - Выполняем все действия, описанные в разделе Обновление площадки
- Выполняем все действия, описанные в разделе Проверка
- Готовим обновленный бекап, возвращаемся на citrus-demo.ru и заменяем архив с резервной копией в инфоблоке Тиражные решения
- Выполняем действия, описанные в разделе Проверка новых демо-площадок
Обновление площадки
Все описанные действия выполняются из-под учетной записи admin на развернутой копии тиражки.
Авторизоваться под админом можно в списке активных площадок: находим нужную нам площадку (только что созданную), из контекстного меню меню кликаем Зайти под администратором
Обновление тиражки должно быть осуществлено таким образом, чтобы метод её настройки run() (из её файла /setup.php) корректно отработал (непосредственная настройка тиражки выполняется в методе setupSite()).
- В настройках главного модуля нашей копии
- включаем галочку Установка для разработки
- прописываем ключ
NFR-ML-XXXXXXXXXXXXXXXX
- Устанавливаем обновления тиражки штатным образом (Marketplace — Обновлений решений)
С NFR-ключом будут доступны и другие обновления, их устанавливать не нужно
- Запускаем мастер решения с перезаписью файлов публички, шаблона и настроек инфоблоков
В полях настроек мастера указываем подстановки из ключей массива
$arMacroses, передающегося в качестве параметра в методreplaceMacroses()(в файле/setup.php)
Например, для тиражки АСАН в поле «Наименование организации» нужно указать#SITE_NAME#, в поле «Телефон организации» —#SITE_PHONE#.
- В настройках Главного модуля:
- снимаем галочку Установка для разработки
- меняем лицензионный ключ обратно на
DEMO
- Создаём резервную копию с установленными обновлениями
Проверка
Последовательность действий по проверке корректности демки тиражки после её обновления на основе логики метода setupSite() и метода \Citrus\DemoService\Site::prepareBackup() модуля citrus.demoservice.
- Все включаемые области и другие php-файлы, содержащие реквизиты организации, её контакты и прочие изменяющиеся данные должны в качестве значений содержать плейсхолдеры
Плейсхолдеры будут заменены на конкретные значения, указанные клиентом при «заказе» площадки.
Например, для АСАНа вместо наименования организации должно содержаться#SITE_NAME#, вместо телефона —#SITE_PHONE#. - В настройках главного модуля должны быть следующие настройки:
- «Название сайта»:
#SITE_NAME# - «URL сайта (без http://, например www.mysite.com)»:
#curDomain# - «E-Mail администратора сайта (отправитель по умолчанию)»:
admin@#curDomain#
- «Название сайта»:
- В настройках сайта
s1должны быть следующие настройки:- «Название»:
#SITE_NAME# - «Название веб-сайта»:
#SITE_NAME#
- «Название»:
- Иногда плейсхолдеры могут содержаться в элементах инфоблоков (их
IDуказаны в методеgetSetupFields()соответствующего setup-класса в модулеcitrus.demoservice. Например, для АСАНа — в классеcitrus_arealty_setup. У инфоблоков, указанных в setup-классе должны быть плейсхолдеры для изменяемых данных.Например, для АСАНа элемент с ID = 482 инфоблока «Офисы, контакты и режим работы» в свойстве «Номера телефонов» должен содержать значение
#SITE_PHONE# - Плейсхолдеры также могут содержаться в других сущностях, смотрите setup-класс для тиражки..
Например, для АСАНа — это настройки решения, устанавливаемые методом
\Citrus\Arealty\Entity\SettingsTable::setForSite()), в поле «Номер телефона» должно содержаться#SITE_PHONE#, в поле «E-mail» —admin@#curDomain#. Для тиражки «1С:Сайт ЖКХ» – это УК с ID = 1 - В админке не должно отображаться сообщений об истечении пробного периода ни Битрикса, ни какого-либо из решений тиражки
- Должен существовать обфусцированный файл
/bitrix/modules/main/include.orig.php— его нужно обновить, если обновлялся Главный модуль
Файл должен содержать/bitrix/modules/main/include.phpс демо-установки Битрикса, версия Главного модуля которой совпадает с версией Битрикса в демке тиражки. Таким образом, после обновления Битрикса в демке обязательно скопировать этот файл с демо-установки той же версии - Файл
robots.txtне должен содержать какого-либо домена (например, сейчас в АСАНе есть директива Host: #curDomain#) и должен быть закрыт от индексирования (директивойDisallow: /) - Перед созданием бекапа и заливки его на citrus-demo.ru нужно удалить служебные и временные файлы:
/bitrix/modules/updater.logиupdater_partner.log/bitrix/site_checker_*.log
Проверка новых демо-площадок
- В списке Свободных площадок удаляем старые копии Тестового партнера для нужного нам решения
Чтобы заменить заранее подготовленные копии обновленной версией

- Выполняем агент
Citrus\DemoService\Site::prepareFreeAgent();
Для создания новых копий со свежим бекапом - Разворачиваем демо-сайт для проверки:
- Авторизумся на citrus-demo.ru под пользователем
test - В публичной части нажимаем кнопку

- Заказываем демо-площадку для обновленной тиражки
- Авторизумся на citrus-demo.ru под пользователем
- Проверяем созданную демо-площадку
- Нигде не должно остаться плейсхолдеров с не подставленными настройками (вроде
#SITE_NAME#) - Должна работать авторизация под всеми пользователями, для которых были указаны логины и пароли после создания площадки
- Тестовый администратор (пользователь
demo_admin) должен иметь доступ в админку и возможность редактирования данных инфоблоков и файлов публичной части (редактируемых областей) - Другие пользователи должны иметь доступ в свой личный кабинет (не должно быть надписей Доступ запрещен)
Например, на АСАНе пользователь
demoдолжен иметь доступ в кабинет риэлтора
- Нигде не должно остаться плейсхолдеров с не подставленными настройками (вроде
Если ошибок не найдено, повторяем пункты 1 и 2 для всех Свободных площадок тиражки, в противном случае исправляем свою копию, готовим и заливаем новый бекап, затем повторяем все пункты в этом разделе.