views:

80

answers:

3

What would be a good way to collaborate with web designers (proficient in CSS and HTML) in an ASP.NET project, while at the same keeping everything in sync using SVN?

  • We don't want the compiled DLLs (i.e the "bin" folder) in the source repository (not in the trunk anyway)
  • We don't to require that the designers have Visual Studio or a working build environment
  • We want the designers to be able to run the site (locally or remotely)
  • We want the designers' changes to be synced with the SVN trunk

(we have a build server running TeamCity, so some kind of automation process is possible)

A: 

get them in the same room... thats by far the best to do. they should be the same "team"

otherwise, use .net MVC and let them design the .aspx files. design with your architect the concept (of pages/master/controls)

you do not need to publish/compile web projects. you can also copy the complete source. so they can work on that.

cRichter
We're usually in the same room, but that doesn't solve the compilation issue. The designers doesn't have Visual Studio and they may even work on a Mac.
gunteman
cRichter
Yes, that's already where we're at. The designers' ability to properly modify ASPX files is not the problem.
gunteman
A: 

ASP.NET with WebForms is pretty darn hard for designers to work with since ASPXes are trying to be too smart, which is not what's required. I mean, look at DataGrid: it's a real mess, with even messier HTML output. No designer will ever agree to use some weird properties like Font.Overline = true instead of true old CSS. And if you decide against all that fancy controls in favor of a simple Repeater, there's not much of WebForms left relly. Which brings is to...

ASP.NET MVC, which is way better both in terms of OOP design, and in terms of graphical/informational design.

Anton Gogolev
+1  A: 

Given this comment:

Yes, but the compiled application is not available in the trunk and we don't want the designers to have to do the compilation

Then I think your best solution is to use Continuous Integration, so that you can have a system that builds the site/application hourly/daily/however often, and then any "non-technical" resources (meaning those resources who aren't capable or who do you don't want to have to compile local builds) have a bleeding-edge version of the site that they can access at any time.

CI alone won't solve the problem of having your designers be able to test their changes against the "current development site" - perhaps you can have the CI build script build and publish a zip or a deployable version of the site that the designers can then download and run to be able to make changes to certain page/files etc?

There are a good number of questions related to CI here on stackoverflow, Continuous Integration Servers has a good discussion of recommendations for specific servers.

matt b
Thanks for your answer.Yes, I suspected that would be the way to go, and we're already using CI (TeamCity) for the developers. I just haven't figured out the best setup yet.
gunteman