Best practices for development?

 

Hello!
We are starting up a new EPiServer-project. I have a question about best pratices concerning setting up the project. Do I create the EPiServer-project from the visual studio EPiServer-project template and then check it in to TFS and let the other teammembers get the project from TFS? Or is it better to create an empty web site from the Deployment Center open the project in VS and check it in to TFS? I would think the best way for the project members to work on the project via the built in web server in VS. By doing so new project members could simply get the project from TFS and press the Run-button in VS, and start the application(assuming we have a common dev-database pointed out in the connectionstrings.config...)

Do you boys and girls have any tips?

Thx!

#28229 Feb 26, 2009 8:21
  • fredriktjarnberg
    Member since: 2003
     

    Hi Tobias, 

    I would say that both ways have their pros and cons essentially due to the fact that we have different web servers with different configuraton requirements.

    1. By creating the project from Visual Studio you will have a project that you can check out on other machines without bothering with what version of IIS you have on the development machine since the WebDev.WebServer is used by default. The downside with this approach is if your project is targetting IIS7 because then you will need to maintain a separate web.config for your test and production environment.
    2. By creating the project from Deployment Center you will have a project that is tuned for the platform it was originally created on (IIS 6 or 7). If your production environment uses IIS7 this is probably the best alternative since the VS project does not really support IIS 7 style web.config. If you have coworkers using different versions of Windows i.e. XP or Vista you will need to maintain different versions of the web.config for those. If you are using any additional EPiServer modules for your project you will have to use this approach since deploying modules requires Deployment Center "based" projects.

    As you say, it is quite common to have a shared test database and this can be setup using Deployment Center ("Install SQL Server database"). This can of course be accomplished with both approaches.

    #28230 Feb 26, 2009 9:28
  •  

    Hi! And thx for answer!
    Correct, after reading your answer I guess we should use the deployment center to create the project(we plan to use epistore and create+). The problem is: We cannot create an empty web site via the Deployment Center. See my other thread. Am I doing something wrong or why is it not working?

    Thx for answer!

    http://world.episerver.com/Forum/Pages/Thread.aspx?id=28222&epslanguage=en

    #28232 Feb 26, 2009 12:11