• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела wpt лично.

Релиз Скрипт нативной установки/обновления модулей в формате дельта (UPD) БЕЗ КЛЮЧА! (2.4.beta)

Abix

Мой дом здесь!
Регистрация
18 Фев 2008
Сообщения
281
Реакции
478
Что делает скрипт?
Он позволяет скачать модули и дельта обновления к ним используя ключ битрикса.
Все обновления скачиваются в папку /bitrix/updates в особый формат ".upd"
Так как модуль и обновления это всего лишь файл его становиться легко переносить, передавать, делиться.
Но самое главное, что установка обновлений в скрипте происходит ТОЧНО так же как и в битриксе при использовании АКТИВНОГО КЛЮЧА.

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

Теперь все просто, достаточно нажать на кнопку установить напротив свеженького дельта обновления модуля и тут же будет все установлено: раскопированы новые файлы, выполнены нужные запросы к БД, запущены служебные скрипты.

Я прошу всех релизеров, переходить на данный формат.
Публиковать не заархивированные папки с модулем, а именно файлы ".upd", получая их при помощи скрипта — это формат битрикса и этим все сказано.


В связи с потоком вопросов, типо: "как поставить?" и "почему у меня не получается?", предлагаю более детальную схему работы скрипта. Если у вас уже установлен Битрикс, то можно начать с пункта 3. Поехали:
1. Установка Битрикса (Демо, либо из исходников);
2. В админке делаем обновление ядра — этот шаг не является обязательным;
3. Скрипт нативной установки распаковываем любую папку в корень сайта. Сами решения в формате дельт распаковываем в /bitrix/updates/
4. Запускаем первый раз скрипт нативной установки и патчим ядро (происходит автоматически, этот шаг является обязательным);
5. Сервер обновления меняем на localhost
6. Проверяем что первый файл модуля имеет имя module.name.1.0.0.mod.upd важно именно наличия слова MOD в имени файла, т.к. именно по нему скрипт понимает что перед нами модуль.
7. Далее, скриптом нативной установки устанавливаем в систему решение, последовательно, не нарушая сквозную нумерацию. Помните — скрипт заменяет процедуру покупки и внесения купона в систему, а так же загрузку решения из Маркетплейс;
8. Вносим в файл not_mine.php (он появится в корне сайта сразу после патча ядра) в массив все решения, которые будем прятать, например, при желании спрятать aspro.kshop вносим это вместо 'module.name1' и получаем 'aspro.kshop'.
9. Инсталируем раскопированное скриптом решение в Админке системы — в закладке Маркетплейс → Установленные решения;
10. Если процедура установки решения того требует, то запускаем Визард установки решения или на главной странице жмем кнопку "Опробовать новое решение".
Профит
[Измененная инструкция после обновления скрипта до версии 2.4.0]



Скрытое содержимое доступно для зарегистрированных пользователей!
 
Последнее редактирование модератором:
Доброго дня.
Есть ли возможность скрыть от установщика обновлений стандартные модули битрикс, которые не входят в текущую редакцию?
 
Последнее редактирование:
Скрытое содержимое доступно для зарегистрированных пользователей!
 
Понятно, форум подменяет доменные cc на in и наоборот!
 
Подскажите такой момент, вот стоит у меня модуль от module.bitrix версии 1, установленный, работает все как надо.
появилась версия 2 этого же модуля, кладу в нужную папку файл mod1 и upd2. Но скрипт не дает поставить upd2 пока не нажму установить mod1/ Получается он переустанавливает модуль перед установкой обновления?
Нашел это
Код:
    //Пробегаемся по всем модулям и выводим строки
    foreach($modules as $modId => $infMod){
        //Проверяем если есть установленный модуль или доступно обновление
        if($modules[$modId]['INST_VERSION'] != '' || $modules[$modId]['UPDATE_VERSION'] != '' || $modules[$modId]['KEY'] == 'Y'){
            //Выводим строку
            echo strModule($infMod);
        }
    }
 
На момент установки рекомендую менять сервер обновления на localhost а из файлика not_mine.php удалять устанавливаемое решение.
Пожалуй это не баг, а фича — в будущем нужно править скрипт, что бы на момент установки дельт подменять сервер обновления прямо из скрипта и при этом не проверять файл not_mine.php, при условии конечно же, что сервер обновления установлен в localhost
 
Назад
Сверху