Как работать верстальщику со сложным ASP.NET проектом на TFS?
Есть сложный проект на ASP.NET MVC, состоящий из полутора десятков библиотек, половина из которых содержит .cshtml, .css и .js файлы, лежащий на TFS-сервере. При компиляции всё это добро собирается в одну кучу через дополнительные операции в PostBuild событиях. Для полноценного локального тестирования надо разворачивать MSSQL базу. Плюс есть продакшн-сервер, на который выгружаются готовые билды.
Возникла необходимость в услугах стороннего верстальщика - человеку необходимо работать с js/css-файлами и править cshtml-макеты. Однако для полноценного тестирования ему придется разворачивать всю среду - ставить VisualStudio, MS SQL Server...Не самое удобное положение. Ему бы работать только со своими файлами, не влезая в исходники кода, не имея особого доступа к базе.
Сталкивался ли кто-то с подобной ситуацией и какие есть пути решения?
1) Самое очевидное - ставить студию и всю обвязку - не хотелось бы.
2) Далее - развернуть для него отдельный тестовый сервер, чтобы ему достаточно было только подключаться и править файлы там. Однако если ему захочется работать с TypeScript, требующим компиляции - как быть? Или если не будет сети, например, поработать в едущем поезде/автобусе или в самолете. Дополнительная сложность - с этого сервера кому-то надо выдернуть измененные файлы и залить на TFS в общий проект.
3) Встречал в инете совет создать виртуалку с установленной студией, копией базы и отдавать верстальщику. Однако это требует отдельной лицензии на студию (использование нелицензированной копии не рассматривается) и установки виртуальной машины верстальщиком.
Понимаю вашу боль!
Это меня заставило все переписать на WebAPI без всяких razoro'v, хотя вся эта функциональность - частичные представления компоненты и т д были удобны, но в современном мире проект должен быть максимально модульный.
bullock, Блин, WebAPI - круто, но, боюсь, у нас не хватит сил перетащить проект из текущего состояния. Нужен хотя бы какой-то опыт, а мы по старинке привыкли работать :)
В этом проблема монолита, как он будет править верстку не запуская проект? cshtml это ж не html, браузер о razor ничего не знает. Без запуска проекта, думаю, не обойтись. Поэтому либо виртуалка, либо локально. Виртуалку Вы не хотите, значит вариант только ставить локально, а бд можно удаленную тестовую подключить.
У нас верстальщики по RDP работают. Минус, конечно, привязка к инету.
Поддержу варианты с RDP и виртуалку.
Отдельный сервер - у Вас код под контролем. Виртуалка - разработчик не зависит от наличия связи.
Когда верстал в TFS - в приоритете был вариант с виртуалками.
По лицензиям - и сервер(если не ошибаюсь) и IDE имеют триальный вариант (Microsoft для разработок предлагает бесплатно скачивать образы своих OS разных версий). Можно в виртуалке сделать снэпшот на момент установки и откатывать при необходимости. Это на случай затяжной разработки. Та же ситуация и с тестовым сервером. HyperV выручает.
Заключите договор и дайте доступ по рдп, поставьте запись экрана на его сессию, в случае подозрительных действий - подавайте в суд, неужели так сложно. Я не думаю что ему нужны будут ваши исходники, т.к. в них я на 99.9 процентов уверен что ничего необычного нету. У каждого нормального кодера есть свои заготовки на все случаи жизни.
Да дело не в секретности исходников. На кой вообще верстальщику исходный код? Ему нужно видеть только свою область. В теории он даже не должен знать о существовании .cs файлов. У нас есть крутейший инструмент в виде Visual Studio для разработки и совсем нет способов разделить роли разработки так, чтобы каждый видел только свою область?
Дмитрий Петров, верстаю под .NET MVC. Нужен полный доступ ко всему. Иногда какую-то штуку поменять можно только через код в файле .cs, а если доступа нет, приходится придумывать всякие костыли. Верстальщик такой системы по сути это не просто верстальщик. Если хотите чтобы верстальщик занимался только своим делом, пусть он тогда сделает всю верстку в HTML + CSS + JS виде, а разработчик, занимающийся фреймворком, прикрутит его верстку.
Рафис Багаутдинов, понял Вас, но не согласен.
Во-первых, да, тот, кто натягивает верстку на сайт, по сути не верстальщик, однако он не должен лезть в бизнес-логику. Если ему не хватает данных из модели для вывода - то эти данные должен предоставить ему тот разработчик, который занимается именно логикой. Он должен лучше представлять, как именно работает система и в каких рамках её можно менять.
Представьте ситуацию, когда у Вас в модели есть ВСЕ данные, которые Вам нужны для вывода. Зачем Вам лезть в .cs? Что Вы там хотите увидеть?