5. General Object Requirements

These requirements go over general requirements for all held data objects.

5.1. Relations

Objects in this database have relations, linking some objects to others.

5.1.1. Reference Removal before deletion

In order to keep the database consistent, we must enforce not having dangling references to since deleted objects.

Before deleting an object, the following conditions must be met:

  • All references TO the object must be removed

OR

  • All referencing objects must me deleted along with the object

5.2. Data Changes

5.2.1. History

Generally speaking, all objects are to have an associated history for each individual. This history is intended as additive only, as in immutable as it is created.

5.2.2. Messaging

All individual data changes are to be sent out in the form of a message sent via the Messaging interface. This is not necessarily the whole change, just a notification of the change, along with relevant information.