If you have read any of my getting started with Umbraco guides, you'll know that I recommend and favour using strongly-typed objects when building websites powered by Umbraco CMS. As Umbraco doesn't allow you to work with strongly-typed objects out-of-the-box, you'll need to use a third-party package, or write something yourself. uSiteBuilder is a free community package that will allow you to work this way. When you work with uSiteBuilder you might run into a few surprises along the way. Unfortunately, it is not that well documented. One issue you may encounter is this one.
One common issue I run into regularly when setting a site up is:
Document type inheritance for document type with 'GuidePage' alias, cannot be updated.'
This exception occurs when you try to rename an existing document types property. If the name is already being used then uiSiteBulider will break. The quick fix, if you can, is to start from a clean database. This might sound like a pain but it's one of the benefits of using a package like uSiteBuilder. Simply cleaning your database and reloading your website will result in all your document types and templates being re-created automatically 🔥🔥🔥.
If you don't know how to quickly regenerate your database, I recommend reading, How To Create A Clean Umbraco Database?. If you run into an
alias, cannot be updated error and you're using uSiteBuilder, then first, I'd recommend trying to undo any document type changes you may have made. If you really want to make the change, sometimes it's easier to start with a clean slate, as the project is fairly easy and quick. On a long-standing project, this might be more involved. In these situations, you will be better off creating a new property and deprecating the old one. It is better to start a new one than to refactor the old! I hope these tips save someone some pain. Happy Coding 🤘