We are a bunch of developers working on the same project and we can't really figure out how to set it up to get it to run smootly with TFS and to allow every user to have a local epi-site, so it can be used without interferring other developers as you try things out..
Our vision was to require or dev team to do the following if they wanted to work on the project
1) install a epi-database with
2) get latest source
3) compile and start
So, no IIS, no extra manual steps other than installing epi7 database.
We are unsure if the AppData should be commited to TFS or not.. how the Add-On store updates works with changes to Database (which is local for each developer).
Can someone point us to some best practice article on how to set this up? Many developers, easy to get started, local epi-db.
Very grateful for any help,
for some hints how to manage the modules in TFS see my blog: http://talk.alfnilsson.se/2013/06/24/versioning-add-ons-in-episerver-7/
for some hints how to get EPiServer up and running in a shared environment, Fredrik Haglund http://blog.fredrikhaglund.se/about/ is a really good mentor and someone who could help you get started. It's a bit tricky to give you enough information and tips through this forum. Specially since we don't know your conditions and your project.
It is often common to share db and VPP files. The appfolder is a bit tricky...since episerver will update stuff in that folder i would sugest that you add the specific folders for episerver in TFS. I always run my project with IIS Express not using the ordinary IIS. You will have to configure you project to run with IIS express though.
As Alf said it is not that easy to help you sice you might have conditions that we do not know of...
If you as a developer do not care about the UI updates that are released by EPiServer in the ad on store you actually do not need to add the Appdata folder to tfs. But if you do not do that every developer will have to install the core files for episerver before they start. But that is easy, just create a new empty website from the VS plugin template.
I however had an experience that upgrading Add-On stuff and then checking in modulesbin folder may get somebody else in trouble to launch site or any of its parts at all resulting in missing dependencies exceptions or similar.
However shared database may also make more headache than profits sometimes. Personally I'm fan of isolated / one-click development environments which means that you can continue to work even somebody messed up database, you can open your solution from home laptop with just a connection to TFS or any other source code repository. Which means that source control must contain app binaries, modules bin and VPP content.
As consultants would say - It really depends case to case :)
Thanks for your replies.
Sorry if I left details out that is needed to come with advice. What conditions and project details are needed?
We are building a web site that will be hosted in a web farm. In test and production they will share database and have VPP synced using DFS.
BUT, for local development we want isolated dev stations. Local database, local VPP and so on. We are trying to figure out how to do this, what needs to be checked in and so on but figuring out how EPiServer wants us to set this up is not obvious.
Feels to me like AppData and modulesbin should not be in TFS. Also, the database holds info on Add-On store installation dates and such which makes it even worse to try and have modulesbin and AppData in TFS.
Conclusion so far is to not have AppData and modulesbin in TFS. Would be nice to have documentation for best practices on this common setup... is there? We haven't found any.