Watershed doesn't store data in tables, but instead stores data as objects with relationships. This requires a slightly different way of thinking if you're used to doing a lot of work with SQL databases. When it comes to data about people, Watershed can link three types of information to a person:
- The person’s name
- Personas (identifiers for the person)
- Groups that the person belongs to
Personas
Personas are used to link interaction data to the person. This means that any xAPI data associated with any persona linked to a person will appear in reports filtered to that person. This also applies to reports organized by person; each item in the report will represent the data associated with all of a person's personas.
An example of how one person (Martina Tove) has multiple personas. Interactions linked to any of these personas are all linked to Martina Tove
Groups
Groups are used to link collections of people together. This means that all xAPI data associated with each member of a group will appear in reports that are filtered to that group. This also applies to reports organized by group; each item in the report will represent the data associated with all of the group's members. Watershed's groups are flexible and you can have groups of any type.
Storing Information Beyond Identifiers and Groups
Watershed cannot be used to store metadata properties of the person, unless they can be represented as identifiers or groups. For example:
- Email is a persona.
- Employee Id is a persona
- Location can be an group, i.e. all people working at this location
- Manager can be a group, i.e. all people managed by this person
- Job Title can be a group, though sometimes it might be appropriate to pull multiple job titles together under a broader group.
- Hire Date is not generally useful for reporting as a specific date, but can be converted to a group such as 'Hire Month' or 'Hire Year'.
Hint: If you need the ability to filter reports based on a custom date range of when people were hired rather than specific calendar months, this can be done using a People Filter. This requires you to record the hire date as an xAPI interaction.