views:

80

answers:

5

Our designers create graphical mockups for new designs, create the initial html, css, and image sprites & maintain those files. After the initial hand-off, our developers work everything into .Net code, templates, etc.

The problem: When our designers get tasked with designing or tweaking a feature, they can't work from their initial mock-up html. They can go to the live (or beta) site and view-source, saving the html out from their browser, but it's tedious, prone to error, and quickly gets out of date.

Is there an easy way to automate html creation either on build or on a button-push (batch operation) from a site created in .Net?

Difficulty: Some of the pages (transactions, accounts) are https and would require a passthrough of a username/password. Since this is all on a beta site, there's relatively few issues of security in passing that in clear text.

+2  A: 

Your process is broken. You need to keep as much separation of presentation from behaviour as possible when you do the initial conversion, then the designers need to be able to work with your templates and have access to a development system.

Draemon
There are enough requirements and proficiencies necessary in finding a good designer that I'm loathe to add an understanding of .Net templating and working within ASP / C# code to the list. Additionally, in maximizing the quality and output from any designers, I set them up with the workstation they will get the most benefits as a designer, rather than forcing them into environments that will harm the quality and efficiency of the output.
davebug
Then you've decided that those factors are more important that how much harder it makes the integration of design changes. You can always take responsibility for diffing one mockup to the next and integrating their changes into the template. Source code control will help here if you can at least train them to use that. You can't have it both ways.
Draemon
A: 

I think you should take a look to Asp.NET MVC http://www.asp.net/mvc/ which offers clear separation between code and layout. And probably your designers should use Visual Studio to create HTML and work within the same environment used by programmers.

m.bagattini
Unfortunately, some of the designers are on Mac, making Visual Studio a difficult solution. Additionally, there are productivity gains in using familiar tools that integrate with each other well (ie, Photoshop matches with Dreamweaver in helpful ways that Visual Studio doesn't support.)
davebug
The MVC approach does help, and we are moving forward on future projects using that method, but I still see a need and benefit from getting static, code-free html files for testing purposes.
davebug
A: 

Are you using version control? My designer has access to the templates and css (and everything else, for that matter) through subversion and she can make changes whenever needed. The only snag we've ever hit involved merging, and we have found it easier to have the developer do the merge.

I have worked with designers who balked at the extra steps version control introduced. Note the use of the past tense "worked". Designers who embrace the process end up with greater knowledge of the code and ownership of the product.

ken
+1  A: 

I just happen to be dealing with this same issue right now. First off, have the designers edit the actual .aspx files on the development server. Having them view source on the HTML and editing that is just going to cause you all kinds of problems when trying to integrate that back into your code (handing user controls, master pages, dynamic parts/messages that don't always show up on the page, etc.)

As for how you merge changes, here's the process we use:

  1. Communicate with the designers and set aside a time each day that you can merge their changes back into your code. During that time nobody makes any changes on the dev server other than the person doing the merging.

  2. Assuming you are using visual studio and TFS - check in all your changes, overwrite the .aspx/ascx & .css files in your local workspace with the designer changes from the dev server.

  3. use the "tfpt" tool in the TFS power tools to undo checkout on anything that didn't actually change. Alternatively you can just copy over the files from the dev server that actually changed, but sometimes that's easier said than done.

  4. For the files that did have changes, compare your local version to the latest version in TFS to figure out what needs to be merged/corrected.

  5. Once everything is merged, check it in and redeploy to the dev server.

  6. Repeat daily.

As m.bagattini mentioned, it REALLY helps if you are using ASP.NET MVC. That way most of your .aspx files will be standard HTML with some code blocks thrown in rather than a bunch of server controls that your designers may not know how to edit.

It also helps if you avoid any inline styling and stick to strictly using stylesheets. That way the designers will usually only be editing stylesheets and won't have to worry as much about mucking with code in your .aspx files.

Eric Petroelje
A: 

If the tweaks are minimal, and you don't want the designers to access the version control system for some reason, you could have them edit their original files (while keeping a copy of the originals), and generate a diff. The developers take the diff and apply it manually.

This process is pretty bad this way, I still would recommend (like others) that your designers and developers use the same version control system, what I am suggesting is only a fast workaround while everyone gets into the new process.

Sinan Taifour