State machine - Referencing part relationships
Description
The following state machines present a part relationship creation or mofication process. See Attributes Dictionary - part and part relationship for more information about part relationship ; and specifically Data Dictionary - Part for a global definition of a part.
Throughout its creation process, the part object created could have the following state :
INITIALStarting point with incoming parameters :
- part => part (always singular) is the source of the relationship
- part(s) => part(s) may be plural, and represent the target of the relationship. If several parts are given as parameter, there will be as many relationships as there are parts, meaning 1 source towards N targets. Parameter can be selected either from the display of a condo regulation contract or the display of a part. In case parameter is omitted, PART 0 will be defaulted.
REFERENCED: object has minimum information needed to exist, has been correctly sent and recordered into the back-end (BE), and, through its Id, can become referenceable by other objects.PROVISIONED: referenced object can contain other optional information than the minimum required in referenced state. If no new information is added, object then stays in referenced state. E.g., a user can add information to an existing relationship, like distribution keys in "owns" and / or "pays" attributes. In that case, the state will be turn toPROVISIONED.
Creation process
A relationship can be created whether automatically or manually
AUTOMATED process : each part newly created must have at least one relationship, type of "uses", between itself (source) and the part(s) given as parameter (target). This relationship is automatically generated just after part creation, and parameters are coming from the state machine referencing a part
MANUAL process : a part can have more relationships than the one automatically generated when created. For instance, a unit can be linked, besides PART0, to a building. In that case, a user needs to add one or more new relationship.