I have made a few Umbraco based websites, but they all were more or less static. And now I am developing a bigger one and this one will evolve over time. It means not just adding a content, but also adding a document and media types and so on.
So there is one instance of website running on the live server that I am constantly adding a content to. And then there is another instance on my developement machine with all those new document types and other stuff. My question is how do you merge these two instances. What are the best practices for this?
Simply create the document types, datatypes etc. manually on the live site as well - But make sure to always make a backup of the database before doing anything in case something does not go as expected. This approach can be usefull if it's a minor change that needs to be done quickly. But for large changes it's not necessarily ideal.
2: Export/Import document types
If you have created some new document types (That does not inherit from others) you can export the document types from your local environment and import to your live environment - But please note that this does not help if you have added properties to a document type that already exists. This is only useful when you have created new document types and as mentioned they don't inherit from other document types. I guess it could be fixed by manually changing the xml file generated but it's too much work I think.
3: Use uSync/Umport
I have not tried using the two packages mentioned above yet but they look really nice and I think they are the best freely available options currently. Have a look at them and try playing around with them on a clean installation so you get to know them before installing on your local and live environment. You can download uSync here and Umport here.
4: Courier
You could also buy a license for Courier, which is a deployment tool build by Umbraco HQ. Be aware that it can sometimes have some issues when 3rd party packages are in use though so people have been having some issues with it. But still an option worth mentioning I guess.
5: Convert to UaaS
I don't know your project and what version of Umbraco you're using but perhaps you could consider switching to Umbraco as a Service? That way deployment issues should be a thing of the past :) - Think it's still in beta mode though so not sure you can get access yet.
Apart from the options above I guess it may or may not be an option to run a SQL script that could update your live-database with the document type changes only. But I have no clue on how to do that myself so I won't go into further detail about it.
Thank you very much for your detailed answer, Jan!
Courier looks very promising and I would definetly try to go this way first. It just looks like it currently does not support version 7. Also UaaS may be an answer, but to be honest, I don't know what it is and what to expect. And at this moment I can not find much info about it.
My site is still under developement, so I will wait a few weeks and then reconsider all the options you gave me. Once again, thanks for them!
Happy you find the answer useful :) - I think that Courier is a part of the foundation for UaaS so I think it should be supported for v7 - However that would be easy to figure out by doing a clean installation of v7 and try installing Courier and see if it works.
Updating website best practices
Hello!
I have made a few Umbraco based websites, but they all were more or less static. And now I am developing a bigger one and this one will evolve over time. It means not just adding a content, but also adding a document and media types and so on.
So there is one instance of website running on the live server that I am constantly adding a content to. And then there is another instance on my developement machine with all those new document types and other stuff. My question is how do you merge these two instances. What are the best practices for this?
Thank you.
Hi Petr and welcome to our :)
There are different ways that it can be done.
1: The manual way
Simply create the document types, datatypes etc. manually on the live site as well - But make sure to always make a backup of the database before doing anything in case something does not go as expected. This approach can be usefull if it's a minor change that needs to be done quickly. But for large changes it's not necessarily ideal.
2: Export/Import document types
If you have created some new document types (That does not inherit from others) you can export the document types from your local environment and import to your live environment - But please note that this does not help if you have added properties to a document type that already exists. This is only useful when you have created new document types and as mentioned they don't inherit from other document types. I guess it could be fixed by manually changing the xml file generated but it's too much work I think.
3: Use uSync/Umport
I have not tried using the two packages mentioned above yet but they look really nice and I think they are the best freely available options currently. Have a look at them and try playing around with them on a clean installation so you get to know them before installing on your local and live environment. You can download uSync here and Umport here.
4: Courier
You could also buy a license for Courier, which is a deployment tool build by Umbraco HQ. Be aware that it can sometimes have some issues when 3rd party packages are in use though so people have been having some issues with it. But still an option worth mentioning I guess.
5: Convert to UaaS
I don't know your project and what version of Umbraco you're using but perhaps you could consider switching to Umbraco as a Service? That way deployment issues should be a thing of the past :) - Think it's still in beta mode though so not sure you can get access yet.
Apart from the options above I guess it may or may not be an option to run a SQL script that could update your live-database with the document type changes only. But I have no clue on how to do that myself so I won't go into further detail about it.
I hope this helps a bit :)
/Jan
Thank you very much for your detailed answer, Jan!
Courier looks very promising and I would definetly try to go this way first. It just looks like it currently does not support version 7. Also UaaS may be an answer, but to be honest, I don't know what it is and what to expect. And at this moment I can not find much info about it.
My site is still under developement, so I will wait a few weeks and then reconsider all the options you gave me. Once again, thanks for them!
Hi Petr
Happy you find the answer useful :) - I think that Courier is a part of the foundation for UaaS so I think it should be supported for v7 - However that would be easy to figure out by doing a clean installation of v7 and try installing Courier and see if it works.
Otherwise you can always make an enquiry about it using this form http://umbraco.com/contact/send-us-an-email.aspx
Please feel free to ask futher questions when they arise.
Happy Umbracoing.
/Jan
is working on a reply...