I've build my first local umbraco site (after building 15 sites on our dev server).
I have to say, I like it a lot. The only problem I run in to now is the total workflow. I don't see how I can keep everything synchronized and I like to know how you do things.
What I do now:
Create database on our dev server
Start a Visual studio project and
connect to database
I put a backup of the database in the
visualstudio project and commit the lot to source control.
When the site is ready for the customer I deploy it to the dev
server and make a final commit to the source control.
After that I have to abandon the Visual studio project and handle it as a backup because It doesn't contain the latest content. So If I need to make adjustments to templates and partials I do it online.
What I like to have:
I like to have a workflow where I can allways work in visual studio and "commit" the code to the dev server (or live if ready) and keep the content of the customer.
Is that possible? How do you handle this situation?
I hope to make this topic into a guide (if it doesn't exist already) so everybody can find and read it in the future.
I do as you've done but after go-live, for future releases I use the Build -> Publish in Visual Studio. Because I'm a simple person I like to publish to a local directory - zip it up (minus the web.config) and then manually release this package to UAT and then to Live. So NEVER making changes to UAT / Live directly other than editor content of course. But you can obviously use this publish to go direct.
Refreshing the content data from Live -> UAT and even to -> Dev can be done by just copying down the DB and media folder and flattening the cache in the App_Data folder (when Umbraco spins up it will rebuild the cache). For document type changes / new doc types I usually keep this as a manual process or as part of a release script (or use the inbuilt export / import functionality of Umbraco if there are a lot of them). When I make changes to UAT I do the same ones on Live at the same time so risk is minimised.
This process works well for simple sites - failing that there are lots of options for syncing / deploying doc type changes,... all have their various pros and cons.
My process falls over if you want to use Node IDs (or Data Type IDs) - either avoid that (querying nodes by type / path) or create the new nodes in Live, bring down a copy of the DB and media folders then dev.. that way you can be sure the IDs will match.
I just told you mine :) There is always going to be a difficulty in releases when you have a DB which contains there a mix of content and data structure. There have been a number of forays into code-first attempts to solve this issue and most people I've met come back to the KISS principle.
Workflow from local to stage to live
Hi All,
I've build my first local umbraco site (after building 15 sites on our dev server).
I have to say, I like it a lot. The only problem I run in to now is the total workflow. I don't see how I can keep everything synchronized and I like to know how you do things.
What I do now:
After that I have to abandon the Visual studio project and handle it as a backup because It doesn't contain the latest content. So If I need to make adjustments to templates and partials I do it online.
What I like to have: I like to have a workflow where I can allways work in visual studio and "commit" the code to the dev server (or live if ready) and keep the content of the customer.
Is that possible? How do you handle this situation?
I hope to make this topic into a guide (if it doesn't exist already) so everybody can find and read it in the future.
Kind regards, Frans
I'm going to shamelessly bump this question :P
Hi,
I do as you've done but after go-live, for future releases I use the Build -> Publish in Visual Studio. Because I'm a simple person I like to publish to a local directory - zip it up (minus the web.config) and then manually release this package to UAT and then to Live. So NEVER making changes to UAT / Live directly other than editor content of course. But you can obviously use this publish to go direct.
Refreshing the content data from Live -> UAT and even to -> Dev can be done by just copying down the DB and media folder and flattening the cache in the App_Data folder (when Umbraco spins up it will rebuild the cache). For document type changes / new doc types I usually keep this as a manual process or as part of a release script (or use the inbuilt export / import functionality of Umbraco if there are a lot of them). When I make changes to UAT I do the same ones on Live at the same time so risk is minimised.
This process works well for simple sites - failing that there are lots of options for syncing / deploying doc type changes,... all have their various pros and cons.
My process falls over if you want to use Node IDs (or Data Type IDs) - either avoid that (querying nodes by type / path) or create the new nodes in Live, bring down a copy of the DB and media folders then dev.. that way you can be sure the IDs will match.
Hope that helps
Steve
Somehow this seems like a hard way to manage...
I'd hope'd there was a less difficult way.
Hi Frans,
There are lots more ways.. for example: http://umbraco.com/products-and-support/courier/
I just told you mine :) There is always going to be a difficulty in releases when you have a DB which contains there a mix of content and data structure. There have been a number of forays into code-first attempts to solve this issue and most people I've met come back to the KISS principle.
Steve
is working on a reply...