yet another question about source control and umbraco...
our configuration: 1 umbraco project, 3 developers. we choose the "one centeralized DB and local web site" approach.
we created solution that contains the folders: css,images,master pages,scripts,user controls,xslt. we created post build events that copy the files from solution folder to website folder. we attached the solution to source control repository (visualsvn + subversion). when we want to add stuff that writes to DB like new template, we do it from umbraco and than. when new developer arrived, he create the website in iis and download the solution from source control. till here everything fine and i found a lot of forum posts about it.
my question is: what about other folders that creates local files? do i need to synch them between the developers? (by adding them to the solution and to the source control).
for example: config and bin - when i install new package from umbraco, it can install dll's, config files etc. do i need to include also this folders it in the solution? and what about app_code and app_data - is there any files there that need to be synch? media - if i add images through umbraco GUI to the media section for example, it also creates files locally. maybe there is more folders that i didnt mention.
obviously commit everything its the easy way, but is it the right way? you dont suffer from any problems with this approach? i guess that you run some script that sync your web site folder to your solution folder? (or you add any new file manually to the solution?).
Ah, I see what you mean, you have much of a seperation there, in my case, the whole website is actually part of my solution. Have a look at my blog post on debugging it shows you what my setup still looks like.
It's so much less painful to add files this way, and you never have to do a complete before/after diff when you install a package, the files just go somewhere and once you commit in source control, these files just get picked up by your svn tool.
And just to clarify: commiting everything is IMHO the right way, anything that cannot be built from source should be under source control.
I tend to skip the media folder sometimes (we have a site in which the media folder has grown to gigabytes of data). Generally, missing media files do not break your site, you're just get a 404 on the file, not a big problem. Of course if you're building something like a jquery gallery then it would be good to have some sample files in place, stick them in source control as well.
i think i will go on to try your configuratiom. i've been looking for something simple like your approach for a long time. i'll be update this post today or tomorrow and tell you how it goes.
o.k i configure my enviroment like this and till now no problems! i should work a few days with the team like that to see that everything is really fine, but like i said, its looks that it works. if not i will update.
i have a problem and maybe you know: i'm using your method with little modification: i'm using one centrelized DB and 2 folder: UmbracoFramwork and UmbracoModules. i created the solution and upload everything to source control. also, there is a website that i created in the IIS that points to the UmbracoFramworkand (the umbraco site) and generally everything works fine untill this stage. the problem: when a new developer download the solution to his machine, he also creates the IIS site and configure it properlly (point it to UmbracoFramwor, give folder permission etc.) - BUT, i get this error:
Parser Error Message: Could not load type 'umbraco.presentation.urlRewriter.FormRewriterControlAdapter'.
Line 3: <browser refID="Default"> Line 4: <controlAdapters> Line 5: <adapter controlType="System.Web.UI.HtmlControls.HtmlForm" Line 6: adapterType="umbraco.presentation.urlRewriter.FormRewriterControlAdapter" /> Line 7: </controlAdapters>
please notice that the machine configured properlly because other umbraco sites (that not downloaded from the source control repository) working well. do you know something about it?
I haven't seen that error before, but it looks like you're missing a file in your /bin folder. Are you sure you've commited all of the files? The FormRewriterControlAdapter is in umbraco.dll.
Sebastiaan you are right - not all the files commited to the repository. i actually needed to manually add the bin folder to the
source control.. i guess this behavior of visualSVN is by design,
because most of the time people not adding the dll's to the repository (because they created automatically during the compilation). actually, when i think about it, maybe its a good practice to download
the umbraco source code and then we will not need to add the bin to
the repository and also we will be able to debug the umbraco core.
i wonder what do you think about that? anyway that for later. weve got what we need for now.
so, finally we've got working multi developers umbraco environment, even without compicated configuration!
It's always nice to be able to debug the source of Umbraco, for sure. But when I need that, I just open it up as a seperate project and attach the debugger to the IIS proces, it's very rare that I need this. Also, you'll have to be careful not to build a different version of Umbraco into your site (might break things).
The only thing you are going to have to deal with now is that package installs might break all of the dev environments as database changes are immediately available for everybody. Generally, I tend to solve this by either making everyone get the latest version, or by having them install the package on their machine as well. This should not give any merge conflicts as the files added are the same. There's no way around this, unfortunately.
yet another question about source control and umbraco...
our configuration:
1 umbraco project, 3 developers.
we choose the "one centeralized DB and local web site" approach.
we created solution that contains the folders: css,images,master pages,scripts,user controls,xslt.
we created post build events that copy the files from solution folder to website folder.
we attached the solution to source control repository (visualsvn + subversion).
when we want to add stuff that writes to DB like new template, we do it from umbraco and than.
when new developer arrived, he create the website in iis and download the solution from source control.
till here everything fine and i found a lot of forum posts about it.
my question is: what about other folders that creates local files?
do i need to synch them between the developers? (by adding them to the solution and to the source control).
for example:
config and bin - when i install new package from umbraco, it can install dll's, config files etc.
do i need to include also this folders it in the solution?
and what about app_code and app_data - is there any files there that need to be synch?
media - if i add images through umbraco GUI to the media section for example, it also creates files locally.
maybe there is more folders that i didnt mention.
What do you think?
Thanks!
Eran.
We (have to) put anything in source control that isn't specific to a single developer. So basically what we DON'T put in:
Anything else, we just commit.
Hope this helps!
Thanks.
obviously commit everything its the easy way, but is it the right way?
you dont suffer from any problems with this approach?
i guess that you run some script that sync your web site folder to your solution folder? (or you add any new file manually to the solution?).
Regards,
Eran
Ah, I see what you mean, you have much of a seperation there, in my case, the whole website is actually part of my solution. Have a look at my blog post on debugging it shows you what my setup still looks like.
It's so much less painful to add files this way, and you never have to do a complete before/after diff when you install a package, the files just go somewhere and once you commit in source control, these files just get picked up by your svn tool.
And just to clarify: commiting everything is IMHO the right way, anything that cannot be built from source should be under source control.
I tend to skip the media folder sometimes (we have a site in which the media folder has grown to gigabytes of data). Generally, missing media files do not break your site, you're just get a 404 on the file, not a big problem. Of course if you're building something like a jquery gallery then it would be good to have some sample files in place, stick them in source control as well.
i think i will go on to try your configuratiom. i've been looking for something simple like your approach for a long time.
i'll be update this post today or tomorrow and tell you how it goes.
Thanks!
o.k i configure my enviroment like this and till now no problems! i should work a few days with the team like that to see that everything is really fine, but like i said, its looks that it works. if not i will update.
Thanks,
Eran.
hi Sebastiaan,
i have a problem and maybe you know:
i'm using your method with little modification: i'm using one centrelized DB and 2 folder: UmbracoFramwork and UmbracoModules. i created the solution and upload everything to source control. also, there is a website that i created in the IIS that points to the UmbracoFramworkand (the umbraco site) and generally everything works fine untill this stage.
the problem: when a new developer download the solution to his machine, he also creates the IIS site and configure it properlly (point it to UmbracoFramwor, give folder permission etc.) - BUT, i get this error:
Parser Error Message: Could not load type 'umbraco.presentation.urlRewriter.FormRewriterControlAdapter'.
Source File: C:\Users\Hal\Desktop\Dev\umbraco.hotam\UmbracoApplication\App_Browsers\Form.browser Line: 5
please notice that the machine configured properlly because other umbraco sites (that not downloaded from the source control repository) working well.
do you know something about it?
Thanks,
Eran.
I haven't seen that error before, but it looks like you're missing a file in your /bin folder. Are you sure you've commited all of the files? The FormRewriterControlAdapter is in umbraco.dll.
Sebastiaan you are right - not all the files commited to the repository. i actually needed to manually add the bin folder to the source control..
i guess this behavior of visualSVN is by design, because most of the time people not adding the dll's to the repository (because they created automatically during the compilation). actually, when i think about it, maybe its a good practice to download the umbraco source code and then we will not need to add the bin to the repository and also we will be able to debug the umbraco core. i wonder what do you think about that? anyway that for later. weve got what we need for now.
so, finally we've got working multi developers umbraco environment, even without compicated configuration!
Thanks!
Eran.
You're very welcome!
It's always nice to be able to debug the source of Umbraco, for sure. But when I need that, I just open it up as a seperate project and attach the debugger to the IIS proces, it's very rare that I need this. Also, you'll have to be careful not to build a different version of Umbraco into your site (might break things).
The only thing you are going to have to deal with now is that package installs might break all of the dev environments as database changes are immediately available for everybody. Generally, I tend to solve this by either making everyone get the latest version, or by having them install the package on their machine as well. This should not give any merge conflicts as the files added are the same.
There's no way around this, unfortunately.
thanks, i keep that in mind.
eran
is working on a reply...