I have been using Umbraco to create a page for a customer and it will soon be public. I downloaded the package and followed the install guide, then I uploaded it to the host server. After that, every change I made, I made on the "live" version of the website. This won't be possible after the page is public, the customer obviously doesn't want to see error messages whenever I try something out. Now my question:
What is the "standard" way to work with Umbraco? Is it to use IIS Express to run is locally and then when everything is done upload it to the webserver again? And if yes, what do I upload? All of it, just a few files? I'm new to everything, C#, Visual Studio and generally Web Applications. So if anyone answers this, please don't leave out parts of the explanation assuming I already know them, I probably don't.
Also I tried to start it with IIS Express in Visual Studio, but I get errors that packages aren't installed. I downloaded everything from the webserver and I tried to "Restore NuGet Packages" and I get "All packages are already installed and there is nothing to restore.". So I don't even know exactly how to run it with visual Studio.
There is a page in the documentation that is hard to find, that tangentially covers some of the things you are pondering in your question, it's entitled 'source control' and talks about how to, you guessed it, 'source control' an Umbraco project but but but, I think accidentally explains which bits of an Umbraco install need to be deployed when changes are made, and which bits are environment specific...
But yes, unfortunately there are lots of 'standard' ways to work with Umbraco, it depends a lot on the project, how regular development updates, the complexity of the implementation and how large a size team will be contributing, where it is hosted, the availability of the site (can it be slow for 5 mins while an update occurs, or is it amazon.com etc etc)
If you have a fairly simple Umbraco offering, then Umbraco Cloud is a really great way to host and maintain a site, you can have temporary additional environments with which to experiment, and there is a user interface to control things and move your changes into production when you are happy. There's plenty of documentation on how to get started and a super bunch of helpful support people on hand too if there is an issue.
The trade off is the cost of hosting is more expensive than other cloud or on premises hosting, but you pay for the service, and you don't have a lot of the headaches...
But if you are not on Umbraco Cloud, then the other way people would tend to work is as you describe, in addition to the live site, having a copy of the site running locally in IIS, and/or a Visual Studio on which to develop and test locally.
Typically then there would also be a 'preview' environment, to deploy changes to for a client to approve.
Then it depends on what problems are likely to effect your situation, eg 4 people all coding together, then you'll want to have a source control system in place to stop people tripping over each other.
Then you'll want a mechanism to deploy the latest version of your code to the preview environment and then onto the live environment (again where it's hosted guides the best way to do this - Azure Devops is a common platform for handling this when hosting Umbraco sites in Azure: https://azure.microsoft.com/en-gb/services/devops/
Moving code changes between environments is relatively straightforward, but when you change things like Document Types, there isn't a built-in way to move them from development to live, but there is a really cool plugin called uSync (and a paid super version called uSync complete) that can help.
If you are making changes everyday you definitely want uSync and automation of deployment, but if there are only 1 or 2 small changes every now and then, copying things manually may be a lot less hassle.
So I've failed, in trying to explain things simply :-( and I've probably used terms that don't make sense
My advice would be to follow the documentation page about installing in Visual Studio via Nuget,
as that would hopefully take you through the steps quite nicely of setting up in Visual Studio for the first time, and then all the other stuff I've blathered on about will become more relevant, like how do I get a change from here to live? how do I show my client the change before it's live etc
I haven't looked into the links you posted yet, but I'm going to right now and your explanation is already very helpful. I didn't expect such a great and detailed answer, this is perfect!
How to work with Umbraco & Visual Studio
Hi there
I have been using Umbraco to create a page for a customer and it will soon be public. I downloaded the package and followed the install guide, then I uploaded it to the host server. After that, every change I made, I made on the "live" version of the website. This won't be possible after the page is public, the customer obviously doesn't want to see error messages whenever I try something out. Now my question:
What is the "standard" way to work with Umbraco? Is it to use IIS Express to run is locally and then when everything is done upload it to the webserver again? And if yes, what do I upload? All of it, just a few files? I'm new to everything, C#, Visual Studio and generally Web Applications. So if anyone answers this, please don't leave out parts of the explanation assuming I already know them, I probably don't.
Also I tried to start it with IIS Express in Visual Studio, but I get errors that packages aren't installed. I downloaded everything from the webserver and I tried to "Restore NuGet Packages" and I get "All packages are already installed and there is nothing to restore.". So I don't even know exactly how to run it with visual Studio.
Hi Chantal
There is a page in the documentation that is hard to find, that tangentially covers some of the things you are pondering in your question, it's entitled 'source control' and talks about how to, you guessed it, 'source control' an Umbraco project but but but, I think accidentally explains which bits of an Umbraco install need to be deployed when changes are made, and which bits are environment specific...
https://our.umbraco.com/documentation/Getting-Started/Code/Source-Control/#source-control
and there is a page here about installing Umbraco locally with Visual Studio using Nuget:
https://our.umbraco.com/Documentation/Getting-Started/Setup/Install/install-umbraco-with-nuget
But yes, unfortunately there are lots of 'standard' ways to work with Umbraco, it depends a lot on the project, how regular development updates, the complexity of the implementation and how large a size team will be contributing, where it is hosted, the availability of the site (can it be slow for 5 mins while an update occurs, or is it amazon.com etc etc)
If you have a fairly simple Umbraco offering, then Umbraco Cloud is a really great way to host and maintain a site, you can have temporary additional environments with which to experiment, and there is a user interface to control things and move your changes into production when you are happy. There's plenty of documentation on how to get started and a super bunch of helpful support people on hand too if there is an issue.
The trade off is the cost of hosting is more expensive than other cloud or on premises hosting, but you pay for the service, and you don't have a lot of the headaches...
But if you are not on Umbraco Cloud, then the other way people would tend to work is as you describe, in addition to the live site, having a copy of the site running locally in IIS, and/or a Visual Studio on which to develop and test locally.
Typically then there would also be a 'preview' environment, to deploy changes to for a client to approve.
Then it depends on what problems are likely to effect your situation, eg 4 people all coding together, then you'll want to have a source control system in place to stop people tripping over each other.
Then you'll want a mechanism to deploy the latest version of your code to the preview environment and then onto the live environment (again where it's hosted guides the best way to do this - Azure Devops is a common platform for handling this when hosting Umbraco sites in Azure: https://azure.microsoft.com/en-gb/services/devops/
Moving code changes between environments is relatively straightforward, but when you change things like Document Types, there isn't a built-in way to move them from development to live, but there is a really cool plugin called uSync (and a paid super version called uSync complete) that can help.
If you are making changes everyday you definitely want uSync and automation of deployment, but if there are only 1 or 2 small changes every now and then, copying things manually may be a lot less hassle.
So I've failed, in trying to explain things simply :-( and I've probably used terms that don't make sense
My advice would be to follow the documentation page about installing in Visual Studio via Nuget,
https://our.umbraco.com/Documentation/Getting-Started/Setup/Install/install-umbraco-with-nuget
as that would hopefully take you through the steps quite nicely of setting up in Visual Studio for the first time, and then all the other stuff I've blathered on about will become more relevant, like how do I get a change from here to live? how do I show my client the change before it's live etc
But you can always ask more questions here...
regards
marc
Thank you so much!
I haven't looked into the links you posted yet, but I'm going to right now and your explanation is already very helpful. I didn't expect such a great and detailed answer, this is perfect!
Best regards
Chantal
is working on a reply...