Important! Implementing a multi-entity system in netFORUM is a major undertaking that will require a lot of work. Do not do this without checking with Abila first. If a client wants to use this functionality, it will require some design sessions and also data conversion might be needed.
Introduced in the netFORUM 2006.01 release, the netFORUM multi-entity functionality allows for the segmenting of data based on entity. An entity can be assigned to the national office as well as chapters or foundation data residing in the netFORUM database. Each netFORUM named user (iWeb licensed user) can be associated to one or multiple entities. Users are not allowed to have no entity assigned; the entity will be required if the functionality is enabled. If a user is not in an entity, they will receive an error upon login. See Entity for more.
All tables will be pre-defined as either having an entity or not having an entity. Clients will be able to configure this, but it is recommended that "dependent" data follow the same rule. For example, if contact data is shared (customer, individual, organizational) then all contact data should be shared (phone, fax, related look up values, etc). Abila can assist in this process. It is highly recommended to not switch from non-entity to entity mid-stream — after "go-live". If this occurs, data manipulation services will be required to set the proper entity for stored data.
Users will only be allowed to manage the data of their selected entity. If a user has multiple entities, they will be allowed to change entities and manage the data of that entity, but they will only be able to manage the data of one entity at a time. This is done to prevent users from creating "orphan" data.
There is also the capability to set up a user as a "super user". The super user will be able to view all data through find, query and list functionality. For the super user, lookups and drop-downs will be filtered by their current selected entity. This is done to prevent super users from adding data to the wrong entity.
There is an entity drop-down box that enables users with access to multiple entities to change and view data from another entity. When the user's entity is changed, their default entity is reset to the newly selected entity. Whenever the user navigates through the netFORUM data they are viewing data of their default entity. Also, the next time the user logs in, they will be logged into the established default entity. If they are no longer allowed access to that entity, they will be required to change their entity before continuing.
netFORUM allows for multiple eWeb sites (member facing web sites). When the netFORUM MultiEntitySystem multi-entity option is turned on, each web site is associated to one entity and only displays data for that entity. For more information about the system options, search MultiEntitySystem on the Wiki. Each eWeb site has one entity, and only one entity can be assigned to a web site. A single entity can, however, be assigned to multiple eWeb sites. The eWeb entity will be determined by the entity key of the site. The site will filter data based on its entity. Only customers that are in the entity of the site will be able to log into a site. If entity functionality is not used for customers, they will be able to log into any site.
Recommended Approach for Chapters.
The classic example of a multi-entity system would be an Association Management Company that manages multiple smaller associations that have no overlap in membership. In this example, a single instance of netFORUM could host multiple associations in the same database. Each association within the AMC represents a single entity in netFORUM. If the AMC manages six associations, then there will be six entities in netFORUM. Each user in netFORUM will be associated with a single entity. When a user logs in to netFORUM, they will only see data that belong to their own entity. Any search or query will be filtered to show only data for their entity. Any new data they add will be tagged with their entity.
Records are tagged with an entity via the zzz_entity_key column that exists in every netFORUM database table. The zzz_entity_key column is a foreign key column to fw_entity.ent_key. For more information about the columns, search Fw entity on the Wiki. Users are associated with an entity via the cross-reference table fw_entity_x_user. For more information about the cross-reference table, search fw_entity_x_user on the Wiki. In a system that is not using multi-entity, the zzz_entity_key columns will be NULL in all tables, and the entity tables will have zero rows.