Exclude Application Form from Having Custom Fields

Some application forms may not be extended with Custom Objects functionality, due to architectural design decisions regarding the page. In such a case, the page should be explicitly excluded from Custom Objects logic so that a user will not be misguided.

FndExcludeCustomFieldContainerAttribute is a Decoration class that register the given top level page or one of its child controls in the Custom Fields exclude list.

A decorated page will show up in the runtime dictionary as excluded from Custom Fields logic, meaning that no Custom Fields can be attached to the page. This should be used by the applications when the design of a page is made in a way that Custom Fields framework cannot support the design.

The decoration shows that the problem caused by the design is intended and that framework functions like menu items can show UI affordance to the administrator at an early stage.

[FndExcludeCustomFieldContainerAttribute(true)]
public class X
{        //In none derived classes the attribute can be attached directly to the member field.

         [FndExcludeCustomFieldContainerAttribute(false)]
         private cChildTable childTable1;

 }

Eg: In derived classes it is possible when needed, to reference a child container by name.

[FndExcludeCustomFieldContainerAttribute("childTable1", false)]
public class Y : X 
{
}