Здравствуйте,
есть существующий сайт. Хотим все перелопатить там и создать новую версию, изменения затронут как фронтенд, так и бэкенд. Проблема в том, что не все клиенты могут перейти на новую версию (так как технически затрагиваются форматы данных, с которыми работают сторонние сервера). Ну в-общем, одни клиенты должны пока работать со старой версией, а другие могут перейти на новую (у нас есть список и тех и тех). Как организовать возможность перенаправления на новую версию, если url предполагается оставить одним и тем же? Т.е. теоретически схема такая: пользователь залогинивается, на сервере мы определяем, из старых он или из новых, и перенаправляем на соответствующую версию. Проблема в том, что url не должен меняться. Т.е. надо или подменять dll-ки или еще как-то, не знаю, возможно ли это на практике.
Спасибо
Life is very short and there's no time
for fussing and fighting... (C) Paul McCartney & John Lennon
Re: Как правильно организовать переход на новую версию сайта?
1. Обеспечить обратную совместимость по форматам данных и т.п. в новой версии, чтобы ничего не отломать.
2. Предоставить старым пользователям нажать — перейти на новую версию и аккуратно их перетягивать на новую.
Здравствуйте, dimaka, Вы писали:
D>1. Обеспечить обратную совместимость по форматам данных и т.п. в новой версии, чтобы ничего не отломать. D>2. Предоставить старым пользователям нажать — перейти на новую версию и аккуратно их перетягивать на новую.
Спасибо за ответ. Но проблема в том, что нам надо поддерживать две версии одновременно — для одних клинтов пока старую, для других новую. Новую не в смысле новой функциональности, а в смысле бакенда. Зачем нам переходить на новую версию — мы хотим подчистить бакенд плюс некоторые технологические заморочки (мы получаем данные от клиентских контроллеров в разном формате, и не все сразу переходят на новый формат). Поэтому пользователи не знают ни о каких новых-старых. Они лишь хотят работать с теми же урлами, а что там за сценой — это наше дело.
Так как нам иметь 2 версии сайта одновременно? Мы не можем вносить изменения в существующую версию, так как это коснется сразу всех, а должно коснуться только некоторых.
Life is very short and there's no time
for fussing and fighting... (C) Paul McCartney & John Lennon
Re: Как правильно организовать переход на новую версию сайта?
Здравствуйте, _Raz_, Вы писали:
_R_>Здравствуйте, J_K, Вы писали:
J_K>> Т.е. надо или подменять dll-ки или еще как-то, не знаю, возможно ли это на практике.
_R_>Replace a controller action at runtime
Интересный подход... трабла в том, что проект огромен и дублировать все контроллеры... впрочем, может нужно и не все.
Life is very short and there's no time
for fussing and fighting... (C) Paul McCartney & John Lennon
Re[3]: Как правильно организовать переход на новую версию сайта?
Здравствуйте, J_K, Вы писали:
J_K>Интересный подход... трабла в том, что проект огромен и дублировать все контроллеры... впрочем, может нужно и не все.
Откуда дублирование? Если придерживаться именований из поста на СО, то:
TargetController — контроллер со старой бизнес-логикой
FixedContorller — логика для новых клиентов
в MyControllerFactory.GetControllerType выбираешь какой использовать
... << RSDN@Home (RF) 1.2.0 alpha 5 rev. 67>>
Re[4]: Как правильно организовать переход на новую версию сайта?
Здравствуйте, _Raz_, Вы писали:
_R_>Здравствуйте, J_K, Вы писали:
J_K>>Интересный подход... трабла в том, что проект огромен и дублировать все контроллеры... впрочем, может нужно и не все.
_R_>Откуда дублирование? Если придерживаться именований из поста на СО, то:
_R_>TargetController — контроллер со старой бизнес-логикой _R_>FixedContorller — логика для новых клиентов
_R_>в MyControllerFactory.GetControllerType выбираешь какой использовать
Ну все равно надо обеспечить две версии контроллеров, верно? А их у нас очень много... хотя в любом случае придется или дублировать и переписывать, может быть, так даже удобнее — дублировать только то, что реально изменилось, а не вообще все. А если не только контроллеры изменились, но и представления??
Life is very short and there's no time
for fussing and fighting... (C) Paul McCartney & John Lennon
Re[5]: Как правильно организовать переход на новую версию сайта?
Здравствуйте, J_K, Вы писали:
J_K>Ну все равно надо обеспечить две версии контроллеров, верно?
Нет, не верно. Старый контроллер уже есть. Осталось написать новый.
J_K>А их у нас очень много... хотя в любом случае придется или дублировать и переписывать, может быть, так даже удобнее — дублировать только то, что реально изменилось, а не вообще все.
Я не пойму о каком дублировании идет речь, если есть изменения? Ведь в любом случае это будет новый код, а старый останется — его вообще не затронет.
К тому-же дописываются только новые actions, а текущие остаются как есть. Именно actions, а не полностью контроллер.
J_K>А если не только контроллеры изменились, но и представления??
return View("NewIndex")
... << RSDN@Home (RF) 1.2.0 alpha 5 rev. 67>>
Re: Как правильно организовать переход на новую версию сайта?
От:
Аноним
Дата:
19.10.12 14:56
Оценка:
Здравствуйте, J_K, Вы писали:
J_K>Здравствуйте, J_K>есть существующий сайт. Хотим все перелопатить там и создать новую версию, изменения затронут как фронтенд, так и бэкенд. Проблема в том, что не все клиенты могут перейти на новую версию (так как технически затрагиваются форматы данных, с которыми работают сторонние сервера). Ну в-общем, одни клиенты должны пока работать со старой версией, а другие могут перейти на новую (у нас есть список и тех и тех). Как организовать возможность перенаправления на новую версию, если url предполагается оставить одним и тем же? Т.е. теоретически схема такая: пользователь залогинивается, на сервере мы определяем, из старых он или из новых, и перенаправляем на соответствующую версию. Проблема в том, что url не должен меняться. Т.е. надо или подменять dll-ки или еще как-то, не знаю, возможно ли это на практике. J_K>Спасибо
А вы не ламайте старый функционал, а, просто, добавляйте новый, а там уже решайте, кому чего показывать.
По правильному?
Как это по правильном — я ещё не придумал
Не думаю, что если у калькулятора подменить контроллер, то можно нописать word ))