Question

Photo of Brad Bamford

1

Multiple Records for Person Attributes Categories?

Is it possible to have Person Attribute Categories that allows for multiple entries?

For example, if someone wanted to extend the default “Employment” Category by adding StartDate and EndDate attributes. Then make it possible for a Person to have multiple records of Employment to show historical Employment history.

Or allow multiple entries of Background Checks to see and retain all background checks performed on a Person rather than just 1.

What's the way to handle data storage for Person data like this in Rock?

  • Photo of David Leigh

    1

    There is no way to store related multi-valued records against a Person record so far as I know, but I think this would be an excellent idea for an enhancement.

    Would it achieve your desired result if there was a new "Content Channel Item Attribute" (CCIA) that could link an Entity (in this case, a Person) to a subset of Content Channel Items that are qualified by Entity Id? So the Content Channel defines the data structure of the multi-valued attribute (MVA), and the Content Channel Items each represent a single instance of the MVA associated with a specific Entity. In your example, if we added a new CCIA called "Employment Records" to a Person Entity, it could be associated with a new Content Channel "Person Employment Records" that stores a series of Employment Record instances (start date, end date, job title). Each instance (Content Channel Item) would be related to a specific Person, and the "Employment Records" Attribute for a Person would return the set of Content Channel Items that relate only to that Person.

    I'm interested in hearing your thoughts, as we have a need for a similar solution at our church.
    Also, I'm thinking the actual implementation may not use the Content Channel - but the approach and data model would be very similar (eg. add an "Entity Dataset" and "Entity Dataset Item" to the Rock data model instead).

  • Photo of Arran France

    0

    I'd throw in for anyone that stumbles across this later that depending on your needs you may be able to use the KeyPairValueList field type or a new note type to store info although neither is by any means perfect!