Обновление модулей

Автор ostin, 14 января 2009, 22:01:50

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

ostin

Приветствую.

Взялся делать один приличных размеров проект на SMF и есть несколько вопросов.
В первую очередь, я беру готовые модули и дополняю/переписываю под свои нужды. Взять хотябы локализацию. Так как ждать, пока локализация появится в официальном каталоге долго, приходится туда-сюда по десять раз удалять/ставить один и тот же модуль.
Не могу понять, как организовано автоматическое обновление модулей и сравнение версий. В менеджере пакетов есть индикатор версии (текущая версия/устаревшая).
Реально ли сделать, чтобы форум лез на мой адрес и проверял обновление модуля в моём месте? Сэкономило бы массу времени и телодвижений.

Ostin.

Mavn

сделайте сервак модов
добавте в админку форума данный сервак
и по идее форум будет проверить и у вас версию.
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.


ostin

но тем не менее, после обновления мода на сервере он меняет цвет и предлагает обновить мод  на форуме ::)
А на счет сервака модов и есть непонятности. В каком формате надо форуму выдавать информацию о модах и т.д. Копаться внутрях форума совсем не хочется, проще пострадать с установкой/удалением модов  :-\

Mavn

SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

ostin

Цитата: Mavn от 15 января 2009, 00:59:31
http://www.simplemachines.org/community/index.php?topic=20319.0
там в примерах все есть как чего и куда

Спасибо! Я сегодня долго лазил по этой теме, не мог найти сам SDK. А стоило всего-то залогиниться на форум  wallbash

digger®

Может мы о чем то разном говорим? А то я тут какие то фантастические вещи вижу типа "автоматическое обновление модулей" и "сравнение версий" :)

У меня в "Обзор пакетов" всегда зеленые кружки и всех установленных модов, в том числе у тех которых на офсайте отродясь не было. И никакой информации о новых версиях я там не вижу, не говоря уже об автоматическом обновлении модов.

ostin

Вроде об одном говорим.
То, что зеленые кружки могут меняться на красные при апгрейде мода - факт. Может я загнался насчет автоматичесого обновления.. имел ввиду апгрейд мода как апдейт движка одним кликом в установщике. Сейчас разбираюсь с этим.

Теперь у меня другой вопрос, поигравшись с сервером модов.
Имеем список модов, например на сайте SMF http://custom.simplemachines.org/packages/mods/security_and_moderation/packages.xml
Если мы просматриваем их через установщик пакетов на форуме (обзор сервера пакетов модификаций ), у некоторых модов заголовки выделяются жирным и появляется кнопка "скачать", у других такого не наблюдается. После изучения xml закономерности выявить не смог :(
Хочется все-таки иметь подобную кнопку "скачать" для своих модов на своем сервере :)

ostin

Порылся все-таки в исходниках   crazy

Итог: движок просматривает ВСЕ моды из списка (а это может быть довольно долго при большом количестве), из каждого выдирает версию SMF и исходя из этого ставит кнопку "скачать" или нет.
Если версия явно не указана в моде ( <install for="1.1, 1.1.1, 1.1.2, 1.1.3, 1.1.4"> ), кнопка ставится.

ostin

Итак.

Мы имеем сервер с обновившимся модулем (вся информация кроме версии сохранилась). В обновленном модуле обязательно должен быть указан параметр <update> чтобы правильно обновиться с предыдущей версии.

Заходим в обзор сервера и видим рядом с нашим модулем красный кружок. Ура. Качаем его, но не устанавливаем автоматом.
Заходим в обзор установленных пакетов. И что видим? 2 одноименных модуля, один установленный старый с зеленым кружком, второй обновленный новый с красным кружком. У второго кнопка обновить. Нажимаем её и вуаля! все обновилось :)

То есть реально, для автоматического обновления нам надо иметь модуль с информацией об обновлении. При просмотре сервера через админку автоматически отмечаются обновившиеся модули.