Как правильно устанавливать обновления?

#1 13 марта 2009 в 11:03
Вопрос:
Как правильно устанавливать обновления устранённых багов?
Строго по дате их выхода, или без разницы?
2. Как я понимаю, для единообразия, все патчи выполнены в виде архивов, которые нужно распаковать В КОРЕНЬ сайта, заменяя одноимённые файлы, за исключением патчей для обновления работы базы данных, которые выполяются в виде запросов к БД.
Или для некоторых обновлений возможны исключения — распаковка в ту или иную папку?
#2 13 марта 2009 в 11:39


Обычно админ, выкладывая изменения на багтрекере, описывает как устанавливать

svsergey
Вы не поняли вопрос.
Если вы регулярно просматриваете багтрекер и РЕГУЛЯРНО устанавливаете обновления, проблем нет.
Но если некто как я, назовём его "Нерадивый админ", заходя в багтрекер, видит Н-ное количество обновлений — сразу возникает вопрос:
Как их устанавливать, выбирать строго по дате выхода, от более ранних к более поздним, или тупо распаковывать архивы в корень сайта, невзирая на даты выхода?
#3 13 марта 2009 в 11:53
Как обновлять написано в текстовом файле Readme (файл лежит в архиве с дистрибутивом)
#4 13 марта 2009 в 12:09


Как обновлять написано в текстовом файле Readme (файл лежит в архиве с дистрибутивом)

mihalich
Спасибо за подсказки.
Путём экпериментирования на Денвере установил, что:
В случае массовой распаковки архивов с патчами, необходимо соблюдать следующие условия:
ОБНОВЛЕНИЯ ПРОИЗВОДИТЬ ОТ БОЛЕЕ РАННЕГО ПАТЧА К БОЛЕЕ ПОЗДНЕМУ. Это обязательное условие!
Это надо прочитать всем. Иначе — капут.
Остаётся пожелание — для разработчиков — чтобы не было путаницы и возможных ошибок при установке — Чтобы патч с обновлениями распаковывался ТОЛЬКО В КОРЕНЬ сайта.
#5 13 марта 2009 в 12:39
Тут есть еще один момент.
Если я, сужу по себе, не очень сильно отслеживаю движения в багтрекере, больше ориентируюсь на форум, то может возникнуть такая ситуация:
я сначала, скачаю и установлю заплатку более позднюю, а потом столкнусь, допустим с другой проблемой и скачаю и установлю заплатку более раннюю (имеется ввиду на одинаковый компонент системы). Тем самым я могу свести на нет предыдущую заплатку и решенная ранее проблема возникнет вновь. Более того, некотрые заплатки затрагивают несколько файлов и разобраться в их хитросплетении...
Может стоит дополнить систему решения проблем еще одним компонентом — репозиторием.
Тогда в заплатку нужно будет не архивировать сами файлы, а указывать ссылки на нужные файлы или даже используя библиотеку pclZip собирать "на лету" нужные файлы из репозитория и отдавая архив пользователю.
Таким образом какую бы заплатку я не взял из багтрекера в нее всегда попадут самые последние файлы проекта.
#6 13 марта 2009 в 13:15


Может стоит дополнить систему решения проблем еще одним компонентом — репозиторием.

Виктор
Отличная мысль!
Но пока, до выхода компонента, нужно соблюдать следующие действия:
Скачать ВСЕ обновления в багтрекере, и распаковать их последовательно от более раннего к более позднему.
Только так удастся добиться самых последних версий файлов.
#7 13 марта 2009 в 13:35


Отличная мысль!
Но пока, до выхода компонента, нужно соблюдать следующие действия:
Скачать ВСЕ обновления в багтрекере, и распаковать их последовательно от более раннего к более позднему.
Только так удастся добиться самых последних версий файлов.

СергейР

Это конечно хорошо, но как скачать фиксы в правильном порядке?
Заходить в каждую закрытую ветку, проверять ее на наличие "фиксы", смотреть на дату "фиксы" (а если, в день пару фикс было сделано?), сохранять с датой в имени (только сейчас дотянулись руки посмотреть настройки downloadmastera 😊 и включить взятие даты/времени скачиваемого файла, по-умолчанию она оказалась выключенной 😥). Ну тогда вопрос на счет правильности порядка скачивания снимается.
Зато остается вопрос удобства скачивания фикс. Может добавить колонку с ссылкой на скачивание фиксы прямо на главной багтрекера?
#8 13 марта 2009 в 19:43

Зато остается вопрос удобства скачивания фикс. Может добавить колонку с ссылкой на скачивание фиксы прямо на главной багтрекера?

Виктор
Я думаю, это был бы самый быстрый способ дать возможность безошибочно профикситься.
Это важный вопрос, многие, уверен, испытывают здесь затруднения, поэтому желательно не оттягивать его решение.
#9 13 марта 2009 в 22:14
Возможно, разработчикам стоит выпускать, скажем так, кумулятивные обновления, вбирающие в себя все «заплатки» за определенный период, например, неделю или десять дней.

Ну и, конечно, полный дистрибутив системы, я думаю, следует обновлять после появления каждой новой правки, отраженной в багтрекере.
#10 14 марта 2009 в 19:33


Зато остается вопрос удобства скачивания фикс. Может добавить колонку с ссылкой на скачивание фиксы прямо на главной багтрекера?

Виктор
Я думаю, это был бы самый быстрый способ дать возможность безошибочно профикситься.
Это важный вопрос, многие, уверен, испытывают здесь затруднения, поэтому желательно не оттягивать его решение.

СергейР

Самый быстрый способ мне видится таким:
Сейчас в админке есть ссылка "Проверить наличие обновлений", которая сейчас ничего не делает (по крайней мере у меня выдает ошибку: Не удалось получить данные с сервера обновлений.
Возможно сервер временно недоступен.
Так вот, при клацании на эту ссылку загружается табличка вышедших фиксов и апдейтов с кратким описанием, степенью критичности, чего касается/исправляет и тд и тп. Т.е. тот же самый багтрекер, но в другом измерении.
Далее, есть некий скрипт установки фикс в систему с, возможно автоматическим, созданием бекапов изменяемых файлов (и последующем откате в случае, если что-то пошло не так). Кроме этого, этот установочный скрипт апдейтов проверяет как минимум размер файлов которые собирается заменять и если он соответсвует оригинальному, то обрабатывает его без вопросов. Если же обнаружено несоответствие, то задать вопрос админу на предполагаемые действия, т.е. предполагается, что файл был изменен вручную.
Внесенные апдейты сохраняются в таблице и в последующем уже не попадают в список на установку
Нумерацию фиксов стоит все же сделать не по номеру в багтрекере, а по порядку их создания/применения.
Тогда можно будет сделать здесь же некую систему не позволяющую вносить фиксы в произвольном порядке, а строго по номерам и соответственно, откаты делать последовательно.
Где-то вот такие вот мечты 😊
А было бы здорово иметь такую или подобную систему поддержания icms в актуальном состоянии.
#11 14 марта 2009 в 20:04
очень замечательная мысль!!!
#12 15 марта 2009 в 20:35
Патчи можно устанавливать в произвольном порядке.
В ближайшем времени выйдет новая версия, в которой все эти патчи будут объединены,
поэтому в любом случае они не пройдут мимо вас.

Виктор, согласен с вами по поводу обновлений. Но очень многие наши пользователи имеют
недорогой хостинг с жесткими ограничениями на внешние соединения из php. Поэтому, если такая система
и будет, то работать будет далеко не везде (как показывают наши тесты). Мы внедрим такую систему,
но немного позже. Вероятнее всего, она появится в параллельной ветке 2.x, которая находится на финальной стадии разработки.
#13 15 марта 2009 в 23:46
А примерные сроки выхода новой версии намечены?
И что значит — "параллельной", они что обе будут развиваться параллельно?
А насчет, ограничений хостингов согласен, но как я понял, если ресурс становится более-менее популярным, то автору поневоле придется переходить на более дорогие тарифные планы (из-за нагрузки создаваемой на сервер), что и решит проблему ограничений. Ну и естественно, этот механизм ни в коей мере не должен отменять возможность ручного обновления, да и не сможет 😊.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.