Как правильно организовать переход на новую версию сайта?
От: J_K  
Дата: 09.10.12 18:50
Оценка:
Здравствуйте,
есть существующий сайт. Хотим все перелопатить там и создать новую версию, изменения затронут как фронтенд, так и бэкенд. Проблема в том, что не все клиенты могут перейти на новую версию (так как технически затрагиваются форматы данных, с которыми работают сторонние сервера). Ну в-общем, одни клиенты должны пока работать со старой версией, а другие могут перейти на новую (у нас есть список и тех и тех). Как организовать возможность перенаправления на новую версию, если url предполагается оставить одним и тем же? Т.е. теоретически схема такая: пользователь залогинивается, на сервере мы определяем, из старых он или из новых, и перенаправляем на соответствующую версию. Проблема в том, что url не должен меняться. Т.е. надо или подменять dll-ки или еще как-то, не знаю, возможно ли это на практике.
Спасибо
Life is very short and there's no time
for fussing and fighting... (C) Paul McCartney & John Lennon
Re: Как правильно организовать переход на новую версию сайта?
От: dimaka Россия http://dmitry-pavlov.com
Дата: 09.10.12 19:56
Оценка:
1. Обеспечить обратную совместимость по форматам данных и т.п. в новой версии, чтобы ничего не отломать.
2. Предоставить старым пользователям нажать — перейти на новую версию и аккуратно их перетягивать на новую.
Remote ASP.NET / C# Developer
Re[2]: Как правильно организовать переход на новую версию сайта?
От: J_K  
Дата: 10.10.12 19:55
Оценка:
Здравствуйте, 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_  
Дата: 10.10.12 21:22
Оценка:
Здравствуйте, J_K, Вы писали:

J_K> Т.е. надо или подменять dll-ки или еще как-то, не знаю, возможно ли это на практике.


Replace a controller action at runtime
... << RSDN@Home (RF) 1.2.0 alpha 5 rev. 67>>
Re[2]: Как правильно организовать переход на новую версию сайта?
От: J_K  
Дата: 10.10.12 22:56
Оценка:
Здравствуйте, _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]: Как правильно организовать переход на новую версию сайта?
От: _Raz_  
Дата: 10.10.12 23:16
Оценка:
Здравствуйте, J_K, Вы писали:

J_K>Интересный подход... трабла в том, что проект огромен и дублировать все контроллеры... впрочем, может нужно и не все.


Откуда дублирование? Если придерживаться именований из поста на СО, то:

TargetController — контроллер со старой бизнес-логикой
FixedContorller — логика для новых клиентов

в MyControllerFactory.GetControllerType выбираешь какой использовать
... << RSDN@Home (RF) 1.2.0 alpha 5 rev. 67>>
Re[4]: Как правильно организовать переход на новую версию сайта?
От: J_K  
Дата: 10.10.12 23:55
Оценка:
Здравствуйте, _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]: Как правильно организовать переход на новую версию сайта?
От: _Raz_  
Дата: 11.10.12 00:09
Оценка:
Здравствуйте, 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 ))
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.