I was actually working on something similar, greatly inspired by PageTypeBuilder for EPiServer, when I stumbled upon uSiteBuilder
I found a few bugs, and some solutions aswell:
1) In Umbraco 4.7 tabs on doctypes are inherited from parent doctypes (which is really useful feature). This doesn't seem to be supported by uSiteBuilder. A solution to this is to remove your contenttype checks in ManagerBase.cs @ line 167-168 (btw you have the same check at both lines..). It shouldn’t break anything as ContentType.getVirtualTabs always returns tabs for its own contenttype, except in 4.7 where parents’ are added.
2) (This hasn't been tested in version 1.1 only 1.0, but i haven't seen it in your release-notes) When changing inheritance from one doctype to another (with different properties.. obviously) the backend breaks when loading the current version of the document as some properties lacks in the db. I believe you can fix this by doing a “Rollback” to the currentversion, for all documents affected - as this forces a cleanup in the db.
A feature-request which I haven’t looked into myself, is cleanup of tabs - perhaps triggered when the obsolete attribute has been applied. The inheritance of tabs hasn’t of course made this any easier/faster :)
I do know about issues 1 and 2. For issue 1, tabs inheritance in Umbraco before version 4.7 wasn't possible. I'll check if this could be fixed for Umbraco 4.7, as you suggested.
About issue 2, Umbraco is not directly supporting document types inheritance changes - you cannot do it through Umbraco backend. As that could be potentionaly dangerous operation (it's not just related with additional properties but also with properties that doesn't exists anymore after inheritance changes) uSiteBuilder is not handling that as data loss may occur if this is done automatically by uSiteBuilder. So currently it's up to developer to handle this manuallly.
Cleanup of tabs is also something that implies that uSiteBuilder deletes something so we need to decide if this is potentionaly dangerous operation or not.
I completely understand why you don't automatically delete... well anything. And I guess we’ve all, at some point, cursed at umbraco for not supporting inheritance changes for documenttypes :) I'll probably create a dashboard to show obsolete tabs etc. and manually handle changes (I'll share it if it’s in any way useful/successful).
According to issue 1: I’ve tested a build without the additional contenttype-check today, and it worked as intended.
Bugs and some fixes
First of all nice work!
I was actually working on something similar, greatly inspired by PageTypeBuilder for EPiServer, when I stumbled upon uSiteBuilder
I found a few bugs, and some solutions aswell:
1) In Umbraco 4.7 tabs on doctypes are inherited from parent doctypes (which is really useful feature). This doesn't seem to be supported by uSiteBuilder.
A solution to this is to remove your contenttype checks in ManagerBase.cs @ line 167-168 (btw you have the same check at both lines..). It shouldn’t break anything as ContentType.getVirtualTabs always returns tabs for its own contenttype, except in 4.7 where parents’ are added.
2) (This hasn't been tested in version 1.1 only 1.0, but i haven't seen it in your release-notes) When changing inheritance from one doctype to another (with different properties.. obviously) the backend breaks when loading the current version of the document as some properties lacks in the db. I believe you can fix this by doing a “Rollback” to the currentversion, for all documents affected - as this forces a cleanup in the db.
A feature-request which I haven’t looked into myself, is cleanup of tabs - perhaps triggered when the obsolete attribute has been applied.
The inheritance of tabs hasn’t of course made this any easier/faster :)
@Steffen,
Thanks for feedback!
I do know about issues 1 and 2. For issue 1, tabs inheritance in Umbraco before version 4.7 wasn't possible. I'll check if this could be fixed for Umbraco 4.7, as you suggested.
About issue 2, Umbraco is not directly supporting document types inheritance changes - you cannot do it through Umbraco backend. As that could be potentionaly dangerous operation (it's not just related with additional properties but also with properties that doesn't exists anymore after inheritance changes) uSiteBuilder is not handling that as data loss may occur if this is done automatically by uSiteBuilder. So currently it's up to developer to handle this manuallly.
Cleanup of tabs is also something that implies that uSiteBuilder deletes something so we need to decide if this is potentionaly dangerous operation or not.
Wow nice quick reply.
I completely understand why you don't automatically delete... well anything. And I guess we’ve all, at some point, cursed at umbraco for not supporting inheritance changes for documenttypes :)
I'll probably create a dashboard to show obsolete tabs etc. and manually handle changes (I'll share it if it’s in any way useful/successful).
According to issue 1: I’ve tested a build without the additional contenttype-check today, and it worked as intended.
is working on a reply...