We are working on adding support for multiple positions (or multiple jobs as we are calling it to avoid confusion with the position hierarchy). We have a question around how information on multiple jobs is structured in external HR systems, as it relates to how we can get it into Totara.
It would be really useful to understand a bit more how organisations who have users with multiple jobs have that data structured, and the preferred format for importing it into Totara. Below are three options we’re considering. Would be great to get feedback on which fits best - or if there’s another approach we haven’t considered. Also if anyone is able to provide a real world example of the actual data which includes multiple jobs (short snippet, anonymised if necessary) that would be fantastic.
Option 1: import data structure - one row per user per jobFirstname | Lastname | Other user fields | Job ID | Job title | Position | Organisation | Manager | Manager Job ID |
---|---|---|---|---|---|---|---|---|
User A | User A | ... | 1 | Dept Lead | ... | ... | None | None |
User B | User B | ... | 1 | Lab Manager | ... | ... | User A | 1 |
User B | User B | ... | 2 | Scientist | ... | ... | User D | 1 |
User C | User C | ... | 1 | Lab assistant | ... | ... | User B | 1 |
User D | User D | ... | 1 | Chief scientist | ... | ... | None | None |
User E | User E | ... | 1 | Junior scientist | ... | ... | User B | 2 |
Option 2: One row per user
First | Last | Other user fields | job1_id | job1_title | job1_pos | job1_org | job1_manager | job1_managerjobid | job2_id | job2_title | job2_pos | job2_org | job2_manager | job2_managerjobid |
A | A | ... | 1 | Dept Lead | ... | ... | None | None | ||||||
B | B | ... | 1 | Lab manager | ... | ... | User A | 1 | 2 | Scientist | ... | ... | User D | 1 |
C | C | ... | 1 | Lab assistant | ... | ... | User B | 1 | ||||||
D | D | ... | 1 | Chief scientist | ... | ... | None | None | ||||||
E | E | ... | 1 | Junior scientist | ... | ... | User B | 2 |
Option 3: Separate job import, one row per user per job
User ID | Job ID | Job title | Position | Organisation | Manager ID | Manager Job ID |
---|---|---|---|---|---|---|
A | 1 | Dept Lead | ... | ... | None | None |
B | 1 | Lab manager | ... | ... | User A | 1 |
B | 2 | Scientist | ... | ... | User D | 1 |
C | 1 | Lab assistant | ... | ... | User B | 1 |
D | 1 | Chief scientist | ... | ... | None | None |
E | 1 | Junior scientist | ... | ... | User B | 2 |
In addition, while analysing the requirements for this we’ve identified that we think we need to modify how the assignment of a manager is handled in the system. Currently a manager is assigned to a specific user. However we believe that with multiple jobs it makes more sense to assign someone as being managed by a user in a specific job. By doing that we are able to track not just who the user’s manager is but why. See the diagram below for an example that hopefully makes the distinction clear.
In this example, when reporting “down the hierarchy” User D would see details for User B and E but not C, whereas User A would see B and C but not E. When reporting "down the hierarchy" for a user with multiple jobs (user B in this example) you would have the option to choose to report on a specific job or the all jobs.
We’d be keen for feedback on whether that maps to people’s real world use cases for multiple jobs.
Simon