The current model of branches and history records is growing on me. An elegant way to represent a tree changing structure over time. Possibly the only change that needs to be made is a way to distinguish a history item that ended on an unknown date from a history item that is still current. Fuzzy dates are nice... is it possible to have a completely fuzzy date distinct from null?
People who are residents of branches which are closed (= branch with no current history record, irrespective of whether the branch "became" anything else) is a problem. Is there any system in place to ensure this doesn't happen? Maybe not desirable if someone stopped playing before the branch dissolved. Alternatively we could make sure that every branch has a current history record, and allow a "dissolved" branch type -- this would allow us to specify a parent branch during a period of non-existence, and ensure people in closed branches appear in orders of precedence, member lists, etc.
"became" could also be a type of history record, with the branch that it became as the parent. Possibly this is stretching the concept a little, but it would make the code straightforward. (Having Vallum Vespertinum as a canton in Stormhold has a similar effect... anyone who is listed as a resident of Vallum Vespertinum will show up in the Stormhold order of precedence.)
The current model of branches and history records is growing on me. An elegant way to represent a tree changing structure over time. Possibly the only change that needs to be made is a way to distinguish a history item that ended on an unknown date from a history item that is still current. Fuzzy dates are nice... is it possible to have a completely fuzzy date distinct from null?
People who are residents of branches which are closed (= branch with no current history record, irrespective of whether the branch "became" anything else) is a problem. Is there any system in place to ensure this doesn't happen? Maybe not desirable if someone stopped playing before the branch dissolved. Alternatively we could make sure that every branch has a current history record, and allow a "dissolved" branch type -- this would allow us to specify a parent branch during a period of non-existence, and ensure people in closed branches appear in orders of precedence, member lists, etc.
"became" could also be a type of history record, with the branch that it became as the parent. Possibly this is stretching the concept a little, but it would make the code straightforward. (Having Vallum Vespertinum as a canton in Stormhold has a similar effect... anyone who is listed as a resident of Vallum Vespertinum will show up in the Stormhold order of precedence.)