В обновляторе появилась совершенно замечательная возможность автоматического обновления подсистемы доработанной конфигурации:
И теперь благодаря обновлятору такое обновление можно доверить даже не очень продвинутому пользователю.
Сразу оговорюсь, что через этот механизм возможно распространение доработок, которые оформлены в виде отдельной подсистемы и никак не пересекаются с типовым функционалом.
Отмечу, что с технической точки зрения для такого обновления используется ключик mergecfg и возможность программного формирования файла настроек объединения. Поэтому такое обновление совершенно корректно с точки зрения платформы (как и все другие операции с базами, которые запускаются из обновлятора). Ключик mergecfg стал доступен в платформе начиная с версии 8.3.8.1652.
Рассмотрим реальный пример
Есть такая замечательная программа Мегапрайс, которая расширяет возможности конфигурации "Управление торговлей" в части работы с прайсами поставщиков.
Программа оформлена в виде дополнительных объектов, которые встраиваются (и затем обновляются) в конфигурацию пользователя.
При этом сама конфигурация пользователя остаётся на поддержке, хотя в ней и включается возможность изменений; а объекты Мегапрайса оформлены в виде отдельной подсистемы (с именем 'Мегапрайс') и никак не пересекаются с типовыми объектами.
В общем-то довольно распространенная схема внедрения, когда возможностей внешних обработок и расширений оказывается недостаточно.
И вот в этой ситуации крайне востребованным оказался механизм, позволяющий администраторам баз без труда и без возможности сделать что-то не так получать обновления этой подсистемы.
Автор Мегапрайса обратился ко мне и я попробовал автоматизировать процесс получения и применения обновлений подсистемы, используя новые возможности платформы.
Возможны два варианта взаимодействия с пользователем.
Первый вариант
Пользователь получает от разработчика файл cf содержащий обновление подсистемы.
Пользователь нажимает на базе правой кнопкой и выбирает пункт "0. Экспериментальные возможности->6. Обновить подсистему...":
В открывшемся диалоге он:
- указывает в качестве источника обновлений "этот компьютер"
- указывает полученный от разработчика cf файл с обновлением (желательно, чтобы разработчик сразу назвал этот файл именем подсистемы)
- указывает имя подсистемы (по умолчанию совпадает с именем cf файла)
После этого пользователь нажимает кнопку "Запустить обновление подсистемы" и все остальные шаги выполняются автоматически:
Второй вариант
Разработчик размещает обновления своей подсистемы на своём сервере, а пользователю даёт только ссылку на специальный xml файл.
Вместе с этой ссылкой пользователь получает логин и пароль на скачивания обновлений. Это позволяет разработчику контролировать распространение обновлений только среди легальных пользователей, а также ограничить такое распространение по времени.
В этом случае пользователь в диалоге обновления выбирает вариант "сайт разработчика", указывает ссылку на подсистему, свой логин и пароль и нажимает кнопку "Выбрать, скачать и обновить подсистему":