Database
Original proposal for database layout
revisionID + entityID are unique. This enables us to do roleback to privouse versions easily.
Tables
Entity
Proposal for revised database layout.
Beside the fields given above, the system needs to store the following information
... all the stuff Jacob and David store in their spreadsheet...
Metadata
Andreas proposed a different layout for the metadata table layout. Basically it is a key=>value table.
Required Metadata
Required metadata fiels should be given in a config file.
Attributes
The attributes under a given entity is to be modled the same way as the metadata.
Required attributes
Required attributes should be set in the config file.
User
All revision indpendent data is stored in the User object if possible. Revision independent data related to the entity is still stored in the Entity object.
The User should store all info regarding the User and all other info not relevant to the Entity.
Link between User and Entity
The link between the User and Entity is done using a relation object.