I believe this whole concept needs to be bound to the Object Subtype / Custom Properties concept.
Warning: this is not a how to guide - it is an elaboration of how the requested functionality might be implemented, but is not.
Examples:
Document as Object with Object Subtypes
Create Document Object Subtype: Mill Test Report associated with Quality Assurance Workspace and by inheritance, any child workspace.
Create Document Object Subtype: Image associated with Company Workspace and by inheritance, all company workspaces.
Create Document Object Subtype: Invoice. associated with Accounting Workspace and by inheritance, any child workspace.
When uploading a document present only base "Document" object and Document Object Subtypes associated with the workspace currently occupied by user. For a selected Document Object Subtype, any custom properties (data entry fields) associated with the selected Object Subtype are presented to be filled out prior to uploading the document (any Custom Properties associated with the base Document Object are presented for the base Document Object and all Document Object Subtypes).
Company as Object with Object Subtypes
Create Company Object Subtype Vendor associated with Purchasing or Accounting workspaces and by inheritance, any child workspace.
Create Company Object Subtype Customer associated with Sales and Estimating workspaces and by inheritance, any child workspace.
Create Company Object Subtype Professional Service Provider associated with Administrative, Accounting and Marketing workspace and by inheritance, any child workspace.
When creating a new company present only base "Company" object and Company Object Subtypes associated with the workspace currently occupied by user. For a selected Company Object Subtype, any custom properties (data entry fields) associated with the selected Company Object Subtype are presented to be filled out prior to creating the Company (any Custom Properties associated with the base Company Object are presented for the base Company Object and all Company Object Subtypes).
May FO fully realize its underlying design principals and the power of an object oriented business operating system.
Cheers,
Charles
P.S. I'm not sure how the Task Object Subtypes even work. A task is an activity, which acted upon results in some concrete, incremental progress and a collection of tasks when acted upon results in attainment of a specific concrete objective.
As implemented, custom properties for different Task Object Subtypes confuses me because the task definition would seem to encapsulate that same information.
The current approach seems to be more of an overloaded function to collect information as a byproduct of completing the task or tasks.
But, I'm still exploring that functionality so I will refrain from passing any judgment and rather applaud the initiative in the right general direction.