What to think about when setting up a project layout?
I have found a lot of information about how to set up an Umbraco rpoject for development. Some say that's good, because everyone can choose their preferred set up.
But the problem for new developers is that they often miss the rationale behind a particular setup. You read things about copying/mergin config files, using a shared database, excluding files from Visual Studio etc. But I don't understand what it is in Umbraco that necessitates any of that.
Can I get some comments in general about the way Umbraco works that has a direct (or indirect) influence on the way a developer has to set up a project?
I found one for instance:
Umbraco doesn't automatically add .master files in the ~/masterpages folder as templates in the CMS. It needs to be added through the CMS user interface and a record is added to the database. Also applies to: CSS files, script files
Fix 1: use a shared database and version control, adding the file to version control and to the shared database means all developers have access to the file. Downside to the fix: if the shared database is only accessible inside the local network, you need VPN if you want to develop remote.
Fix 2: use the uSiteBuilder package combined with an extra Class Library project and some xcopy post-build events. Downside to the fix: more complex setup Downside to the fix: uSiteBuilder doesn't support every file so it's not a 100% fix
If we can add some more we could turn this into a structred wiki page?
Use of IIS versus Visual Studio Development Server. From the information I found it seems majority of devs prefer IIS, but I don't know why.
Debugging IIS is more difficult (needs Administrator account, needs Attach to process option) Built-in dev server doesn't allow host name testing (not sure if this is really the case though. Built-in server needs Visual Studio
Copy Umbraco into Web Site Project or Web Application Project Difference between project types is clear, but what problems from Umbraco can we expect in each type? What about implications for code-behind, deployment and compilation?
Some more issues I have run into on a first project, this time around version control (using Subversion)
When adding Umbraco files to a Visual Studio Web Application project, VS will delete some (usually not all) files in the /bin folder on every rebuild/clean.
Although VS 2010 SP1 comes with a new feature for copying files from /_bin_deployableAssemblies to /bin it will not work when using Subversion, because VS will try to copy .svn folders and will fail
When installing a package in your local installation, it may add files to the bin folder, see first point why this is a problem when using the VS Web Application projects): I have tried some packages, usually the CMS back-end is no longer accessible due to errors.
What to think about when setting up a project layout?
I have found a lot of information about how to set up an Umbraco rpoject for development. Some say that's good, because everyone can choose their preferred set up.
But the problem for new developers is that they often miss the rationale behind a particular setup. You read things about copying/mergin config files, using a shared database, excluding files from Visual Studio etc. But I don't understand what it is in Umbraco that necessitates any of that.
Can I get some comments in general about the way Umbraco works that has a direct (or indirect) influence on the way a developer has to set up a project?
I found one for instance:
Also applies to: CSS files, script files
Downside to the fix: if the shared database is only accessible inside the local network, you need VPN if you want to develop remote.
Downside to the fix: more complex setup
Downside to the fix: uSiteBuilder doesn't support every file so it's not a 100% fix
Some I would love to see more information about:
From the information I found it seems majority of devs prefer IIS, but I don't know why.
Debugging IIS is more difficult (needs Administrator account, needs Attach to process option)
Built-in dev server doesn't allow host name testing (not sure if this is really the case though.
Built-in server needs Visual Studio
Difference between project types is clear, but what problems from Umbraco can we expect in each type?
What about implications for code-behind, deployment and compilation?
Some more issues I have run into on a first project, this time around version control (using Subversion)
is working on a reply...