About the netFORUM Object
netFORUM is an object-oriented software system, and the Object is the highest-level entity in netFORUM's middle-tier Object Model. All netFORUM business objects (Invoice, Member, Individual, Event for examples) are implemented in netFORUM through the Facade Object model. In this model, every Object has an associated metadata reference that describes the Object's Assembly and Type. Whenever an Object is used in the netFORUM framework, including iWeb, eWeb, and xWeb, it is instantiated and manipulated within the framework based on its definition in the metadata.
Facade Objects
netFORUM has two types of Facade Objects. The majority are Dynamic Facade Objects, and the rest are Static Facade Objects. The base class for both Dynamic and Static Facade Objects is Avectra.netForum.Data.FacadeClass.
Dynamic Facade Object
The Dynamic Facade Object is the standard netFORUM Object. Creating, deleting, updating, and reading data - in other words, CRUD operations - are handled in the same way across all Dynamic Facade Objects. The DynamicFacade class encompassing the Dynamic Facade Object CRUD operations belongs to Avectra.netForum.Data, and it inherits from FacadeClass.
Dynamic Facade objects are created in the netFORUM framework by using Object definitions. Object definitions determine what data fields will be available to a netFORUM object and what database tables will be affected during CRUD operations. A Dynamic Facade Object definition references a primary Data Object that is the starting point for the object's CRUD operations. The Object definition might also include one or more secondary Data Objects to help define a Dynamic Facade Object as a complete entity.
In the metadata, every netFORUM Dynamic Facade Object definition has an assembly of Data and a type name of Avectra.netForum.Data.DynamicFacade.
Static Facade Object
Static Facade Objects are used for netFORUM Objects that require more elaborate programming. Like Dynamic Facade Objects, they inherit from the FacadeClass, but override standard CRUD operations to execute special logic that might be required by more advanced business logic.
Static Facade Objects have Object definitions and reference a primary data table. But. the framework uses custom programming code instead of metadata to initialize the Data Objects.
If the Object definition assembly and type name in the metadata are not Data and Avectra.netForum.Data.DynamicFacade, then it is a Static Facade Object.
See Examples of netFORUM Objects and their Data Objects for examples.
Data Mapping
The Object is the starting point for any Toolkit work. Object definitions are stored in the md_object table.