Fact Sets, Text Schemes and Hierarchies
Posted: 10 Oct 2022 14:36
This is not yet a fully formed "Request", but I hope with assistance that we can knock it into shape.
I am getting increasingly frustrated with Fact Sets, Text Schemes and Hierarchies. I am currently on V6, but I have not read anything that makes me thing that V7 is any better; perhaps V8 or 7.x even?
I work mainly through diagrams and therefore when I create a new Fact I almost inevitably have to edit my text scheme. I rarely use reports.
I also (for reasons discussed elsewhere - size management (in my head not on disk) and need to ensure no accidental privacy breaches) work with multiple projects.
Hierarchies
I therefore have (or want to have) a hierarchy:
So we might have for instance a Marriage Fact defined by Calico Pie, together with a set of text schemes that use that Marriage Fact.
I might customise those Facts and Text Schemes (even add additional ones) - and want them to be available to all projects (Let's be fair and say all projects under the \Family Historian Projects\ folder)
Within a specific project I may want to customise them further - say the project is to handle individuals in the US - there may be US specific facts or ways that I want those facts displayed (for instance death certification and notice of burial I seem to remember is different).
Then within a diagram I may well want to use a customised text scheme (possibly even customised or custom facts)
Then at individual level I may want to customise further - currently I do this by setting flags on the individual and using them as conditions to switch in or out certain facts or formats - which can get a bit mind boggling.
This can mean a lot of exporting and importing of fact sets and text schemes and gets messy. I am looking for a tidier way of managing this.
Text Schemes
I also find text scheme management gets messy because you either work at the macro level (a completely new text scheme) or you work at the micro level (at a diagram line level - except it isn't because of formatting).
I have tried to hack this around previously (influenced by Cascading Style Sheets in web-pages) but ended up getting too solution orientated rather than requirement orientated.
When you define a new Fact Type, you get a default sentence template - which presumably is used by reports - which you can edit. I would like something similar for diagrams in terms of a self-contained block of lines ("diagram blocks" usually the fact on one line and indented fact notes on the subsequent line - possibly cycling through all instances of that fact).
The diagram block could contain formatting information (typeface, size, colour etc., indenting etc.) - if it did not it would inherit the defaults of any scheme into which it was incorporated. At the moment a line in a text scheme takes what ever text format was being used by the previous line.
I would like to be able to define a new fact at Application, Project or Diagram (or even individual) level and to do the same for diagram blocks - others might like to be able to do the same for sentence templates. Likewise for customisations of default or previously added facts. Thus if I improve the diagram block for marriages (mine is pretty complex), I might well want that customisation available to all projects. (Management Issue to consider)
To add functionality I would like to be able to define alternative diagram blocks (or sentence templates) - for instance "Brief", "Comprehensive" etc. Text schemes would then consist of a series of diagram blocks - rather than the current assembly of lines of code.
For new users they can select different installed blocks say for "marriage": Choose "brief" - one line giving spouse, date and place, through to "comprehensive" - multi line for all that individual's relationships: with whom, date started, date formalised (and where), dated ended, means of end (death, divorce etc.). This can avoid needing to struggle with expressions; users just select a Name block, a Birth and Baptism/Christening Block, A relationship Block, A Death and Burial Block, A Will/Probate/Administration Block, A Census Block, An Occupation block, A Research Planning block etc.
Because these diagram blocks are pretty self-contained, they should be share-able in the way we share queries etc.
Providing the "code" to produce the above is currently non-trivial and developing it required lot of to'ing and fro'ing with Mike. To share it would not currently be easy. If someone in the future was to enable a diagram block which used say the name at the time of marriage (e.g. Camilla Parker-Bowles), sharing the change would not be easy. But you could just share a new Marriage Diagram Block.
Management & Control!
"Block Management" could be through the existing Fact Type dialogue - modified to both handle diagram blocks as well as sentence templates and to allow the definition of alternatives. In a streamlined Text Scheme Management dialogue you would just select diagram blocks with an option to create/edit a block which takes you through to the Fact Type Edit dialogue.
Managing the hierarchy is potentially difficult. either you get a mass of different definitions for different places in the hierarchy, or you hold everything at Application Level (with suitable descriptions) and have a means of filtering so that specific definitions (e.g. "US Death and Burial - Comprehensive" diagram block) are visible/hidden from specific Projects/Diagrams/Individuals. Managing on a "same as (a higher level in the hierarchy) except" basis is probably going to be too challenging to understand without a very good interface.
Well implemented you could produce diagrams that have comprehensive details for those in your main ancestral line, different level of detail for cousin lines, and a possibly sparser level of detail for others (for instance related through marriage). Likewise reports might one day be able to produce different levels of detail according to the individual's place in the tree.
When "working with diagrams", I would like to be able to select an individual and either switch in a more comprehensive text scheme or just a more comprehensive diagram block to cover say greater census detail or military service (ACW, WW1 WW2 tec.) or a complex will or a research audit block.
I suspect that Calico Pie must be looking at improving the interface to text schemes and diagrams to make them both friendlier (i.e. easier) to new genealogists or FH users and manageably richer to more experienced and demanding users. I think to do this needs a rethink about how diagrams are produced. The same may be true of reports.
I am getting increasingly frustrated with Fact Sets, Text Schemes and Hierarchies. I am currently on V6, but I have not read anything that makes me thing that V7 is any better; perhaps V8 or 7.x even?
I work mainly through diagrams and therefore when I create a new Fact I almost inevitably have to edit my text scheme. I rarely use reports.
I also (for reasons discussed elsewhere - size management (in my head not on disk) and need to ensure no accidental privacy breaches) work with multiple projects.
Hierarchies
I therefore have (or want to have) a hierarchy:
- Application default Facts and Text Schemes (as installed)
- Application customised Facts and Text Schemes
- Project customised Facts and Text Schemes
- Diagram customised Facts and Text Schemes, and even
- Individual customised Facts and Text Schemes
So we might have for instance a Marriage Fact defined by Calico Pie, together with a set of text schemes that use that Marriage Fact.
I might customise those Facts and Text Schemes (even add additional ones) - and want them to be available to all projects (Let's be fair and say all projects under the \Family Historian Projects\ folder)
Within a specific project I may want to customise them further - say the project is to handle individuals in the US - there may be US specific facts or ways that I want those facts displayed (for instance death certification and notice of burial I seem to remember is different).
Then within a diagram I may well want to use a customised text scheme (possibly even customised or custom facts)
Then at individual level I may want to customise further - currently I do this by setting flags on the individual and using them as conditions to switch in or out certain facts or formats - which can get a bit mind boggling.
This can mean a lot of exporting and importing of fact sets and text schemes and gets messy. I am looking for a tidier way of managing this.
Text Schemes
I also find text scheme management gets messy because you either work at the macro level (a completely new text scheme) or you work at the micro level (at a diagram line level - except it isn't because of formatting).
I have tried to hack this around previously (influenced by Cascading Style Sheets in web-pages) but ended up getting too solution orientated rather than requirement orientated.
When you define a new Fact Type, you get a default sentence template - which presumably is used by reports - which you can edit. I would like something similar for diagrams in terms of a self-contained block of lines ("diagram blocks" usually the fact on one line and indented fact notes on the subsequent line - possibly cycling through all instances of that fact).
The diagram block could contain formatting information (typeface, size, colour etc., indenting etc.) - if it did not it would inherit the defaults of any scheme into which it was incorporated. At the moment a line in a text scheme takes what ever text format was being used by the previous line.
I would like to be able to define a new fact at Application, Project or Diagram (or even individual) level and to do the same for diagram blocks - others might like to be able to do the same for sentence templates. Likewise for customisations of default or previously added facts. Thus if I improve the diagram block for marriages (mine is pretty complex), I might well want that customisation available to all projects. (Management Issue to consider)
To add functionality I would like to be able to define alternative diagram blocks (or sentence templates) - for instance "Brief", "Comprehensive" etc. Text schemes would then consist of a series of diagram blocks - rather than the current assembly of lines of code.
For new users they can select different installed blocks say for "marriage": Choose "brief" - one line giving spouse, date and place, through to "comprehensive" - multi line for all that individual's relationships: with whom, date started, date formalised (and where), dated ended, means of end (death, divorce etc.). This can avoid needing to struggle with expressions; users just select a Name block, a Birth and Baptism/Christening Block, A relationship Block, A Death and Burial Block, A Will/Probate/Administration Block, A Census Block, An Occupation block, A Research Planning block etc.
Because these diagram blocks are pretty self-contained, they should be share-able in the way we share queries etc.
Providing the "code" to produce the above is currently non-trivial and developing it required lot of to'ing and fro'ing with Mike. To share it would not currently be easy. If someone in the future was to enable a diagram block which used say the name at the time of marriage (e.g. Camilla Parker-Bowles), sharing the change would not be easy. But you could just share a new Marriage Diagram Block.
Management & Control!
"Block Management" could be through the existing Fact Type dialogue - modified to both handle diagram blocks as well as sentence templates and to allow the definition of alternatives. In a streamlined Text Scheme Management dialogue you would just select diagram blocks with an option to create/edit a block which takes you through to the Fact Type Edit dialogue.
Managing the hierarchy is potentially difficult. either you get a mass of different definitions for different places in the hierarchy, or you hold everything at Application Level (with suitable descriptions) and have a means of filtering so that specific definitions (e.g. "US Death and Burial - Comprehensive" diagram block) are visible/hidden from specific Projects/Diagrams/Individuals. Managing on a "same as (a higher level in the hierarchy) except" basis is probably going to be too challenging to understand without a very good interface.
Well implemented you could produce diagrams that have comprehensive details for those in your main ancestral line, different level of detail for cousin lines, and a possibly sparser level of detail for others (for instance related through marriage). Likewise reports might one day be able to produce different levels of detail according to the individual's place in the tree.
When "working with diagrams", I would like to be able to select an individual and either switch in a more comprehensive text scheme or just a more comprehensive diagram block to cover say greater census detail or military service (ACW, WW1 WW2 tec.) or a complex will or a research audit block.
I suspect that Calico Pie must be looking at improving the interface to text schemes and diagrams to make them both friendlier (i.e. easier) to new genealogists or FH users and manageably richer to more experienced and demanding users. I think to do this needs a rethink about how diagrams are produced. The same may be true of reports.