Early (wrong) birthdate of parent allows living children to be displayed

Bug #1168445 reported by Stuart Gregory
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
webtrees
Fix Released
Wishlist
fisharebest

Bug Description

In error, I typed 1676 as the year of birth of a parent. I then found that his children with birth dates after 1920 became visible to casual visitors despite my privacy setting of 100 years. This occurred in my V1.3.2 but it also occurs in latest demo version.

It seems that some privacy calculations are over-riding the actual birth dates of the children when a parent is born well before their child. I have not done an exhaustive analysis but in the demo version I changed Prince Phillip's DOB from 1921 to 1621 and then logged out. I was then able to locate Charles and Anne and their details were visible. I changed the DOB of Prince Phillip back to 1921, logged out and then the details of Charles and Anne were not visible.

I have not done an exhaustive analysis as I thought this was important enough to report immediately.

Revision history for this message
fisharebest (fisharebest) wrote :

The privacy calculations do NOT look for reasons why someone is alive.

They look for reasons why someone is dead.

If no reasons are found (perhaps because no dates are available), then they are assumed to be alive.

In your case, the individual is considered dead because they have a parent with an event more than 45 + max-alive-years years ago.

This is working as designed. Although it is always possible to add more rules/checks/complexity to the calculations, performance is critical here, and the current algorithm is reasonably fast.

Revision history for this message
Stuart Gregory (stuart-scss) wrote :

Thanks for your quick comments and I accept your views. However I was so concerned about this that I nearly closed my site down. The cause of this occurrence was not readily apparent to me and it took me about half an hour to locate the cause of the problem. I was not aware that birth dates of parents over rode the actual birth dates of children with respect to their privacy. Something I am most certainly aware of now.

Revision history for this message
kiwi (kiwi3685-deactivatedaccount) wrote :

Stuart

I agree this is a serious topic. I recommend you think about starting an open discussion on the forum, as you are not the first to question the current logic recently. Perhaps through debate a different solution may become apparent.

Revision history for this message
fisharebest (fisharebest) wrote :

<<I was not aware that birth dates of parents over rode the actual birth dates of children>>

FYI, not *birth* dates - any dates.

The privacy calculations just look for *any* dates. They don't care if they belong to a birth, death, probate, etc.

If the parents have *any* date older than 45 + max-alive-age, then they will be assumed to be dead.

Changed in webtrees:
status: New → Invalid
Revision history for this message
Stuart Gregory (stuart-scss) wrote :

Reflecting on this overnight I am of the strong view that one data entry error relating to one person should not result in the total demolition of one of the fundamental components of webtrees being privacy of living people. If one person has a valid birth date that places their age within the age for death parameters set, then they should remain private, no matter what other data has been added to other members of the family. I will think about this some more and I will try to come up with a constructive posting that I will make on the discussion forum.

To aid me in my thoughts would someone please be able to let me know, how far back in family lineage does the existing privacy calculation look. Is it just to parents, or does it extend to grandparents and beyond? Does it also look at children? An algorithm of this functionality would be immensely useful if such is available. Thanks for any assistance given.

Revision history for this message
fisharebest (fisharebest) wrote :

<<how far back in family lineage does the existing privacy calculation look>>

It looks at dates for spouses, children, grandchildren, parents, grandparents.

Even if you don't understand PHP, you should be able to follow the logic of the code - WT_Individual::isDead()

Perhaps what you really want is a tool to check the integrity/consistency of your data and highlight anomalies such as this?

Revision history for this message
Stuart Gregory (stuart-scss) wrote :

Thanks for the 'heads up' on where to look at the code. I'm not sure what I want and the suggested tool is only good for - after the event. My first reaction is that it just should not happen and therefore the tool would not be necessary. But I have to say that I am concerned as I only found this error/anomaly by chance and I am left wondering how many more people are no longer private. Finding the cause of the error/anomaly was also as a matter of chance as I did not know what I was looking for. I'm still seriously considering taking my site down until this matter is resolved.

Revision history for this message
fisharebest (fisharebest) wrote :

I don't think this is a duplicate of 920292, so I have removed the association.

Bug 920292 concerns (erroneous) dated events in the individual's *own* record. e.g. a person born in 1970 and baptised in 1790.

This bug concerns (erroneous) dated events in *relatives* of the individual. e.g. a parent born in 1790 instead of 1970.

I've submitted (with a slight tweak) the patch from that bug report, which I believe addresses *this* bug.

Changed in webtrees:
assignee: nobody → fisharebest (fisharebest)
importance: Undecided → Wishlist
status: Invalid → Fix Committed
Revision history for this message
Andrew Gregory (andrew-m) wrote :

I've looked at the changes, and I'm still struggling with the logic that assigns infinite weight to events with dates more than MAX_ALIVE_AGE, while assigning zero weight to events (except now for BIRT) less than MAX_ALIVE_AGE.

Revision history for this message
fisharebest (fisharebest) wrote :

If any event occured more than MAX_ALIVE_YEARS ago, then the individual must be dead.

If all dated events occured less than MAX_ALIVE_YEARS *and* one of them is a birth, then the individual must be alive

Other cases (e.g. just an OCCU dated 1924) are not conclusive - and we look to events of close relatives (as we did before).

This change of logic fixes the reported bug, which was

<<then found that his children with birth dates after 1920 became visible to casual visitors>>

With this change, these children would correctly remain private - because they are caught by the new logic.

Revision history for this message
fisharebest (fisharebest) wrote :

Fix released in webtrees 1.4.2

Changed in webtrees:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.