For the non-game-related server project I made some progress:gene wrote:...
I will try to implement this at first for our generic server application and then do it for our bigger Oregami data model.
I added a "Language" entity, which ist also a top level object (TLO). Then I connected the available "Task" entity (TLO) to this Language.
These two TLOs can now be changed independent from each other, here an example:
- create a Language "english" object and save it
- create a Task object with "english" for the language attribute and save it
- change an attribute of the Task and save it again. This creates another "revision" of the Task object
- change the Language from step 1), e.g. change the description (imagine there was a typo in it).
- Now load the Task from before, and we notice that the language attribute of that task is "automatically" connected to the latest revision from the language, although we did not change the Task directly. To achieve this in the Java source code the connection from Task to Language is annotated with:
Code: Select all(explanation here)
@Audited(targetAuditMode = RelationTargetAuditMode.NOT_AUDITED)
For me that's a nice step forward. I can now connect the Top Level Objects and make sure that they can both be updated independently (and we have plenty TLOs in our data model - he yellow ones)
What I need to find out is how we can manage even more complex connections between two TLOs, e.g. the "GameToGameTitleConnection" seen here. I will try it!