I have a reasonably comphensive coverage of bmd (dd/mm/yyyy) data from aunts/uncles level downwards in a Descendant Chart.
I distribute this to cousins in pdf format, however some cousins wish me to limit what is shown in their respective branches:-
( eg no bmd or format in yyyy only for some/all in their branch or no named individual/s ie. just an empty box in their branch for some individuals only, or a mixture of some/all of the foregoing)!
As a quick fix on previously distributed drafts I created text boxes containing the word 'unavailable' and positioned them to obscure those areas that contained the 'priviledged' data but each time the tree has been amended the obscuring text boxes have to be repositioned to maintain the privacy required and this has become tedious.
Has anybody else had a similar problem and if so how did they resolve it?
* Providing different levels for Individual/s privacy within a Chart
- tatewise
- Megastar
- Posts: 27088
- Joined: 25 May 2010 11:00
- Family Historian: V7
- Location: Torbay, Devon, UK
- Contact:
Re: Providing different levels for Individual/s privacy within a Chart
Depending how complex and how many different scenarios you need it may be possible to customise your Text Scheme to conditionally include/exclude/reformat various items.
The conditions could be Record Flags, which have a dedicated Flag Condition tick box in each item.
So there could be several alternative items for the same data, but only one is enabled by the current Record Flag applied to the Individual.
A similar approach could use the =IsInList(%INDI%,"NamedList") function.
i.e. =TextIf( IsInList(%INDI%,"NamedList"), ... )
Then put each Individual in appropriate Named List to achieve desired text format.
Bear in mind that each Individual can have multiple Record Flags or appear in multiple Named Lists so many combinations are possible.
You can also make use of the Only output if previous item blank option.
So if the previous conditional item yields no output, then the current conditional item is applied.
That chain reaction continues until a conditional item results in some output, or the items are exhausted.
The conditions could be Record Flags, which have a dedicated Flag Condition tick box in each item.
So there could be several alternative items for the same data, but only one is enabled by the current Record Flag applied to the Individual.
A similar approach could use the =IsInList(%INDI%,"NamedList") function.
i.e. =TextIf( IsInList(%INDI%,"NamedList"), ... )
Then put each Individual in appropriate Named List to achieve desired text format.
Bear in mind that each Individual can have multiple Record Flags or appear in multiple Named Lists so many combinations are possible.
You can also make use of the Only output if previous item blank option.
So if the previous conditional item yields no output, then the current conditional item is applied.
That chain reaction continues until a conditional item results in some output, or the items are exhausted.
Mike Tate ~ researching the Tate and Scott family history ~ tatewise ancestry
- LornaCraig
- Megastar
- Posts: 2996
- Joined: 11 Jan 2005 17:36
- Family Historian: V7
- Location: Oxfordshire, UK
Re: Providing different levels for Individual/s privacy within a Chart
There is a Wish List item here: Ref 553 Better Diagram Box Format Options
requesting more flexible options for formatting diagram boxes, "especially the ability to selectively override any Family Tree Box Text &/or Icons".
This would avoid the need for the use of complex text schemes and/or flags every time a new one-off diagram display is wanted. Do vote for it if you would find it useful.
It followed a discussion in this topic Better Diagram Text & Picture Options (14224)
requesting more flexible options for formatting diagram boxes, "especially the ability to selectively override any Family Tree Box Text &/or Icons".
This would avoid the need for the use of complex text schemes and/or flags every time a new one-off diagram display is wanted. Do vote for it if you would find it useful.
It followed a discussion in this topic Better Diagram Text & Picture Options (14224)
Lorna
Re: Providing different levels for Individual/s privacy within a Chart
Hi Mike,
Thanks for your reply. - I'm having dificulty incorporating your Named List solution with the Text Scheme Item - Template
I've tried using a named list "NoBMD" and substituting :-
=TextIf(IsInList(%INDI%,"NoBMD"),"Unavailable",Born: %INDI.BIRT.DATE:COMPACT% in %INDI.BIRT.PLAC:TIDY%)
for the template so that I either get "Unavailable" or "Born:" <birth date> , but it's being rejected when tested.
Its seems to be rejecting the : Born: %INDI.BIRT.DATE:COMPACT% in %INDI.BIRT.PLAC:TIDY% part as when I substituted:
=TextIf(IsInList(%INDI%,"NoBMD"),"Unavailable","Born: %INDI.BIRT.DATE:COMPACT% in %INDI.BIRT.PLAC:TIDY%")
as the function it's accepted but then of course the outputs are then both text and not "Unavailable" or "Born:"<birth date>
Where am I going wrong?
(I have got the flags approach working but I prefer your named list method, as for me, it gives alternative text O/P and would be easier to maintain).
-----
Lorna - I'll add my support to the request on the Wish List as you suggested. Thank you.
Thanks for your reply. - I'm having dificulty incorporating your Named List solution with the Text Scheme Item - Template
I've tried using a named list "NoBMD" and substituting :-
=TextIf(IsInList(%INDI%,"NoBMD"),"Unavailable",Born: %INDI.BIRT.DATE:COMPACT% in %INDI.BIRT.PLAC:TIDY%)
for the template so that I either get "Unavailable" or "Born:" <birth date> , but it's being rejected when tested.
Its seems to be rejecting the : Born: %INDI.BIRT.DATE:COMPACT% in %INDI.BIRT.PLAC:TIDY% part as when I substituted:
=TextIf(IsInList(%INDI%,"NoBMD"),"Unavailable","Born: %INDI.BIRT.DATE:COMPACT% in %INDI.BIRT.PLAC:TIDY%")
as the function it's accepted but then of course the outputs are then both text and not "Unavailable" or "Born:"<birth date>
Where am I going wrong?
(I have got the flags approach working but I prefer your named list method, as for me, it gives alternative text O/P and would be easier to maintain).
-----
Lorna - I'll add my support to the request on the Wish List as you suggested. Thank you.
- tatewise
- Megastar
- Posts: 27088
- Joined: 25 May 2010 11:00
- Family Historian: V7
- Location: Torbay, Devon, UK
- Contact:
Re: Providing different levels for Individual/s privacy within a Chart
Rob, the last parameter is a mixture of "plain-text" and %data-refs% so you must join them using say the Text(...) function.
e.g.
Text( "Born: " . Text(%INDI.BIRT.DATE:COMPACT%) . " in " . %INDI.BIRT.PLAC:TIDY% )
The DATE needs enclosing in Text(...) because its value is a Date.
BUT, what if either the DATE or the PLAC are empty?
The answer is to use the more sophisticated Combine Text(...) function where 1st param is only output if 2nd param exists.
e.g.
CombineText( "Born: ", Text( Text(%INDI.BIRT.DATE:COMPACT%) . CombineText( " in ", %INDI.BIRT.PLAC:TIDY%, )), )
e.g.
Text( "Born: " . Text(%INDI.BIRT.DATE:COMPACT%) . " in " . %INDI.BIRT.PLAC:TIDY% )
The DATE needs enclosing in Text(...) because its value is a Date.
BUT, what if either the DATE or the PLAC are empty?
The answer is to use the more sophisticated Combine Text(...) function where 1st param is only output if 2nd param exists.
e.g.
CombineText( "Born: ", Text( Text(%INDI.BIRT.DATE:COMPACT%) . CombineText( " in ", %INDI.BIRT.PLAC:TIDY%, )), )
Mike Tate ~ researching the Tate and Scott family history ~ tatewise ancestry
Re: Providing different levels for Individual/s privacy within a Chart
Mike, thanks for your help - works well and will save me a lot of time and effort when updating the chart.