It's the first time I'm starting a new Umbraco project using the Nuget packages. So I'm still investigating what the best setup is for me.
This is probably already been discussed so many times so please point me to the right info if it already exists.
I started with a blank solution. Within the solution I created a blank web application project. There I imported the Umbraco CMS package. This is also the startup project while developeing and debugging. So I have made an installed and running Umbraco instance of the project; Afterwards I added a second blank web project, this is where I want to putt all customizations in one place: controllers, views, config transforms, back office changes, ... This project also contains the Umbraco Core package to reference the dll's in the code. During the build process all files are copied from the second to the first project.
No real quantum physics up to here I think. But I have two concerns:
During build the first project is also compiled into a dll although it's doesn't have any 'compilable' code. Using dotPeek I can see the dll only contains a reference to mscorlib.dll. Can I avoid this dll being created?
Do I need to add the first project to source control or is it better to use the automatic package restore functionality? What do I still check in to make this happen? Project file and packages.config?
Hope you can give me some info. I'm a bit of a perfectionist when starting a project. So I want the code to be as minimalistic as possible.
In a later stage of the development process I will start looking to deploy to Azure...
We also check in the first project to source control. In this way, we can simply run the application on our localhost dev machines to debug issues without disturbing the live website.
If you wouldn't check it in, you'd have to reinstall Umbraco (or at least: manually edit the web.config)
Like you said each developer should work on an isolated development island. Staging and live environments can only be changed using some kind of automatic deployment.
But as long as you continue development on your local machine the Umbraco installation should remain in place in my scenario. It's only when you start developing on a new machine you have to start from scratch. To avoid that you could restore a backup from the staging/live environment which also gives you accurate data to start with.
That's what I had in mind with not including the project containing the installed Umbraco instance to source control.
Figuring out how to setup solution with NuGet
It's the first time I'm starting a new Umbraco project using the Nuget packages. So I'm still investigating what the best setup is for me.
This is probably already been discussed so many times so please point me to the right info if it already exists.
I started with a blank solution. Within the solution I created a blank web application project. There I imported the Umbraco CMS package. This is also the startup project while developeing and debugging. So I have made an installed and running Umbraco instance of the project;
Afterwards I added a second blank web project, this is where I want to putt all customizations in one place: controllers, views, config transforms, back office changes, ... This project also contains the Umbraco Core package to reference the dll's in the code.
During the build process all files are copied from the second to the first project.
No real quantum physics up to here I think. But I have two concerns:
We kind of have the same setup.
We also check in the first project to source control. In this way, we can simply run the application on our localhost dev machines to debug issues without disturbing the live website.
If you wouldn't check it in, you'd have to reinstall Umbraco (or at least: manually edit the web.config)
Like you said each developer should work on an isolated development island. Staging and live environments can only be changed using some kind of automatic deployment.
But as long as you continue development on your local machine the Umbraco installation should remain in place in my scenario. It's only when you start developing on a new machine you have to start from scratch. To avoid that you could restore a backup from the staging/live environment which also gives you accurate data to start with.
That's what I had in mind with not including the project containing the installed Umbraco instance to source control.
is working on a reply...