Aras Innovator Platform

Effectivity Services Data Model Concept Overview

The Effectivity Services data model concept contains the following main structural blocks:

Figure 1.

  1. Effectivity Scope is an item of the ItemType “effs_scope” used for defining the context for effectivity resolution. An Effectivity Scope item requires a reference to the “Builder method” and may have “Scope Effective ItemType” relations to the RelationshipTypes where effectivity is managed.
  2. Effectivity Scope ItemType is an item of the RelationshipType “effs_scope_itemtype” which creates a relationship between an Effectivity Scope item and an ItemType (“RelationshipType” ItemType). When this relationship is established, the Effectivity Services Core automatically creates a new null (No Related) RelationshipType for the specified ItemType and names it according to the template “effs_%ITEMTYPE%_expression”, where %ITEMTYPE% is the ItemType name.

    The RelationshipType “effs_%ITEMTYPE%_expression” is added as a poly source to the polymorphic ItemType “effs_expression” to subscribe to the Effectivity Resolution Engine. This RelationshipType retains Effectivity Expressions.

  3. Builder Method is an item of the ItemType “Method”. A reference to it is stored in the “builder_method” property associated with the Effectivity Scope item. The Effectivity Resolution Engine calls this method to construct a Scope object, which serves as the base for effectivity resolution. For more information about the builder method, refer to section Implementing the Scope Builder Method.
Note
Effectivity Scope and Scope Object are different. The Effectivity Scope is an item of the ItemType “effs_scope”. The Scope Object is an instance of the class “Aras.Server.Core.Configurator.Scope,” which is the result of Builder method execution.

Effectivity Services Data Model Technical Overview

This section contains a technical description of the Effectivity Services Data Model.

Figure 2. Table 2: Effectivity Services Data Model

Item TypePropertyDescription
ItemType Standard ItemType ItemType, which is a holder of all ItemTypes in Aras Innovator
ItemType1, ItemType2 Relationship ItemTypes that are to be managed by effectivity.
effs_scope, effs_scope_itemtype, effs_expression Effectivity Data Model
effs_scope Container for scope object definition
nameName of Scope Item
builder_methodLink to custom builder method that will construct Scope object for current Item
effs_scope_itemtype Relationship between Scope (source_id) and target Item Type(related_id) onBeforeAdd event auto-generates no related relationship with name effs_#ItemType#_expression. Just one Item can be created for pair scope and item type.
effs_expression_itemtype_iditemType id, effs_#ItemType#_expression
source_ideffs_scope id
related_iditemType id, target relationship Item Type
effs_expression Polymorphic ItemType with onGet event for Effective Items filtering
effs_scope_ideffs_scope id
definitionContainer for expression
effs_#ItemType#_expression Poly source for effs_expression. No related relationship to target ItemType
effs_scope_ideffs_scope id
source_iditem id for target Item Type
definitionContainer for expression