An issues can have events associated with it to signify issue state transitions, oriority changes, owner assignment, etc. Events are associated with a status so that it is clear whether it has been triggered or not. Any two documents on the Web can be related - and in the same manner ETA issues can be related with anything else. You can specify how issues relate using ETA relationships. Contacts A contact is a person or a group having that ETA knows about.
Contacts can create issues and they can also help resolving issues if they have the skills needed.
The skills are used as the filter for figuring out when contacts should be notified about changes in the database. The database layer is very small. For now we only have a very simple set of functions on top of it. You can also have a look at our database layout . Currently there is no implementation of the ETA application layer - this is expected to happen as more and more applications start using the underlying data model and find enough similarities to abstract out the needed functionality into separate application layers.