Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Обновления скрипта online
Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015 Откуда: Тамбов
Помог: 17 раз(а)
Есть, к примеру, CMS.
Проект размещается на Google Code и соответственно на офсайте.
Соответственно постоянно идёт исправление ошибок и совершенствование кода.
Суть вопроса: как грамотно организовать автоматическое (или иметь возможность обновить в ручную с настройками) обновление? Интересуют любые мысли и идеи. Ну и конечно же личный опыт и проблемы с этим связанные.
У меня в этом опыта практически нет, только соображения. А соображения такие..
Допустим имеем какой-то listchanges. Формат в принципе не важно. Лично я предпочитаю INI, хотя можно и JSON
По сути получаются следующие изменения
- замена файла
- добавление файла
- удаление файла
- SQL-запрос
- и специфический, к примеру, глобальная замена в проекте имени переменной/функции/метода... в некоторых случаях простая замена не получится, т.к. могут быть и пользовательские компоненты/шаблоны/плагины/модул и
Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008 Откуда: из города
Помог: 90 раз(а)
Какой смысл обновлять отдельные файлы? Экономия трафика? Проще просто заменить весь код CMS на новый и выполнить какой-нибудь update скрипт, который обновит структуру базы если требуется.
GoDr
Отправлено: 10 Февраля, 2015 - 12:52:03
Посетитель
Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015 Откуда: Тамбов
Помог: 17 раз(а)
Ch_chov, смысл смутный, сформулировать трудно, но есть. Как пример, допустим мне пришлось залезть в стилевые файлы, или ядро движка, или картинки оформления, может быть в языковые файлы. Не все же файлы в пользовательских шаблонах.. При простом update (тупым замещении файлов) я поменяю всё на оригинальные версии. При этом удалю свои "примочки" и "прибамбасики"
Вот и родилась мысль понимать что именно собирается измениться
Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008 Откуда: из города
Помог: 90 раз(а)
Цитата:
Как пример, допустим мне пришлось залезть в стилевые файлы, или ядро движка
Тогда придется забыть про обновления. Большинство современных CMS и фреймворков позволяют изменять поведение системы без хаков ядра. Наследование, хуки, сабскрайберы и т.д. Если постоянно возникает необходимость редактировать вендорный код, то скорей всего либо система кривая либо вы ее недостаточно знаете. В самом крайнем случае можно сохранять изменения в патчах и накатывать их после каждого обновления. В любом случае не понятно как вы собираетсь обновлять систему частями. К примеру, если в новой версии был переименнован какой либо класс, то все равно придется найти и заменить все файлы где этот класс вызывается.
Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015 Откуда: Тамбов
Помог: 17 раз(а)
Ch_chov пишет:
Большинство современных CMS и фреймворков позволяют изменять поведение системы без хаков ядра. Наследование, хуки, сабскрайберы и т.д.
Ну скажем менять не на уровне пользователя, а на уровне программера.. Например, мне не нравится конкретный запрос к БД.. Всегда хочется что-то улучшить
Хотя слушая тебя, понимаю слишком специфичную задачу, которая в 99% случаях не будет востребована...
Кстати, совершенно не подумал об возможности отката. Идет простой updata и создаётся backup
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.