Error
Person records have always had a Created Date Time field, starting in v18 they will also have a Record Source field.
Currently there is nothing in Rock that makes sure these fields are always the earliest value for the record and there are instances where they could be updated to new values and you lose the original information.
Record Source can be edited directly in the Person Edit block by anyone with rights to modify person records and both can be overwritten with newer values during a Person Merge. This leads to some strange reporting when you have a list of people created in the last two weeks but then you look at information on a person and they have event registrations and group memberships for the last two years.
Our church has been doing some reporting on information equivalent to these fields, but we have always had to calculate the values ourselves to make sure we have the earliest date a person existed in our database or find the original source of their record.
It would be great if we could switch to using the values provided by the Person entity, but for our use case we would need those values to always be the earliest/original instead of having the possibility someone could overwrite it with newer information.
Some examples of times we use these fields: If a ministry tries something new for a semester it is important for them to be able to see accurate data about people that were created in that timeframe and involved in their ministry so they can compare it to other semesters and decide if they want to continue the new processes or not. It is also important for our executive team when deciding on ministry budgets or planning for congregation growth.
I believe to accomplish this the values would have to be excluded from the Person Merge block and the merge would have to always pick the values from the earliest created record for these two fields. I also think it would be good if there were not an easy way in the UI to update these fields. It could always be done with SQL in case of an issue but in general I think it makes more sense for them to be immutable. It would be good to have a script that could also initialize the value for records based on data in Rock, but that might be something a church could choose to run or not or a recipe they could use. (i.e. if I can see the person has an event registration from 2020 and no other group memberships or connections until 2021 then event registration would be their source)
Cultivate your ideas for maximum impact with these helpful submission tips that will increase the chances of your brilliant concepts becoming reality.