• 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]



Скрытое содержимое доступно для зарегистрированных пользователей!
 
Последнее редактирование модератором:
В первом посте в этой теме Абикс расписал 10 шагов для установки
Простите, я все сделал, вроде все ок, пишет следующее при попытке установить Для просмотра ссылки Войди или Зарегистрируйся
А если со страницы опробовать новое решение то вот такое Для просмотра ссылки Войди или Зарегистрируйся
 
Такая же ситуация..

Простите, я все сделал, вроде все ок, пишет следующее при попытке установить Для просмотра ссылки Войди или Зарегистрируйся
А если со страницы опробовать новое решение то вот такое Для просмотра ссылки Войди или Зарегистрируйся

Не решил проблему?
 
Последнее редактирование модератором:
а ссылку на скачивание нужно в скрытом контенте искать?
 
Если не затруднит, можешь подсказать что донастроить то нужно?

А что не получается ? Могу подсказать, т.к целый день вчера убил и разобрался сам как все работает )
 
Ребята, удалось ли кому-то разобраться с проблемой отработки скрипта на 18 ядре? ("Произошла неизвестная Ошибка!")

Уточню, для тех кто пишет "все работает", что на предыдущих ядрах - было действительно все ок. Все действия происходят абсолютно с теми же модулями, которые использовались раньше и работали. Также если откатиться на предыдущие версии все так же продолжает работать.
Все процедуры делаются в точности по инструкции из первого поста.
Используется эта сборка(как есть, ничего не добавляется и не правится) : Для просмотра ссылки Войди или Зарегистрируйся

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

Учитывая, что выводится: "Произошла неизвестная Ошибка!" предполагается, что проблема гдето тут(в скрипте 2 момента где может выводится эта ошибка - опытным путем определил что проблема именно тут) :

Код:
complete: function(data){
          
           control = $("#new-"+controlId, data.responseText).html();
           inf = $("#"+controlInf+"-inf", data.responseText).attr("class");
          
           if(inf==1){
                   $("#"+controlInf+"-inf").append("<span class='green'>Успешно установлено!</span>");
                   $("#"+controlInf+"-inf span").delay(2000).fadeOut(1000, function(){$(this).remove()});
                   if(type =='mod'){
                       ids = $(parents[3]).attr('id');
                       $("#"+ids+" .install").removeClass('no');
                   }
                   $("#"+controlId).replaceWith("<div id='"+controlId+"' class='control'>"+control+"</div>");
           }else if(inf==0){
                   $("#"+controlInf+"-inf").append("<span class='red'>Произошла неизвестная Ошибка!</span>");
                   $("#"+controlInf+"-inf span").delay(2000).fadeOut(1000, function(){$(this).remove()});
                   $("#"+controlId).replaceWith("<div id='"+controlId+"' class='control'>"+buff+"</div>");
           }
           $("#updater").removeClass('disable');
           //$('#result').html(data.responseText);

        }

Удалось ли. кому-то разобраться и решить проблему?
Кто-то может подсказать - что делать, куда копать, как дебажить и найти источник?
 
Мужики,это модуль,чтобы устанавливать и обновляться из маркета?
 
Назад
Сверху