This feature is part of Moodle Workplace, which is available through Moodle Partners.
Organisation structure is a combination of three Moodle Workplace features: departments, positions and jobs.
We can use departments and positions hierarchies to define any organisation structure and define all reporting lines, assigning jobs to employees in any department with any position.
Having an organisation structure can help the tenant administrator to:
- Create dynamic rules that automatically do something based on a users position or department (for example, enrol them in an induction course)
- Create custom reports that have a specific department (or position) as their audience
- Filter/search lists of users within the organisation based on their position and department
- Create team managers by assigning jobs with "global manager" or "department manager" positions to users
Having a manager position means that:
- Your team list is displayed on your dashboard
- You are able to allocate your team members to programs and certifications without any capabilities (if enabled in the position settings)
- You are able to view custom reports on your team members without any capabilities (according to configured report audience settings)
- You can receive notifications about completions/overdue certifications (if enabled in the position settings)
Departments and positions
Departments and positions can be grouped together into frameworks. There can be different use cases for the frameworks - they can be used to create completely isolated sets of departments, for example one framework could be based on physical location and another one on a team within an organisation. Frameworks can also represent sub-divisions of a big organisation.
Both position and department structures can be hierarchical, however it is more likely that the organisation would have only one of them hierarchical and another one as a flat list.
Positions have additional properties that are called "Global manager" and "Department manager". See the following example for an explanation:
Example 1: Organisation structure hierarchy based on positions
The company chooses to store their hierarchy in the "Positions" tree. The CEO is the top position, underneath are the CTO and CFO. Managers of several technical teams are under the CTO, and members of these teams are under these managers. This means that there are separate positions in the hierarchy for "Members of team A" and "Members of team B". The same company uses departments as physical locations (countries, cities or rooms). They may or may not have a hierarchy. In this structure all positions that have "children" will be marked as a "Global manager". This will allow people who hold jobs in these positions to see everybody in the positions below them as their team. It's probable that the CEO does not need to "Receive notifications" from everybody in their company but they may need to see reports on them.
Example 2: Organisation structure hierarchy based on departments
In this company departments represent different divisions and teams inside the company. Their structure is hierarchical. There are several positions, such as "Facilitator" and "Staff member". The "Facilitator" position has the "Department manager" checkbox enabled. When people get assigned jobs in different departments, the facilitators will be able to see everybody from their department as their team.
It's possible to create more complex structures with hierarchies in both positions and departments, and also positions that are both "Global manager" and "Department manager".
When the organisation structure is defined, the tenant administrator can assign jobs to different users. As shown in the examples above, when somebody is assigned a job that has manager permissions they are able to see other users from their team.
One user can have multiple jobs and be part of multiple teams.
A job represents the current job that an employee is performing, consisting of a position within a department. Actual employees' jobs can change over time, people can be promoted or transferred from one department to another. However once a job is created it is not possible to change its department and position. It is also not recommended to delete any jobs (unless they were created by mistake). Instead, the tenant administrator should set the "End date" on the current job and create a new job in the new position or department. Most reports will only show "current jobs" (i.e. those that are active at this moment in time) and automatically hide past jobs. However for historical purposes it is very useful to keep a history of all jobs that employees have had.
Permissions to be a team manager or allocate users to programs are always taken from the current user's jobs (when current date is between job's start and end date).
The Upload users tool was enhanced in Moodle Workplace and it includes functionality to assign users jobs in bulk or change existing jobs (set the end date).