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 users positions or departments (for example, enrol them in an induction course)
- Create custom reports that have a specific department (or position) as it's 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 (if enabled in the position 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 people as their team.
One user can have multiple jobs and be part of multiple teams.
A job represents the current job that employee is holding and it is hard-linked to the position and department. Jobs can change over time, people can be transferred from one department to another. However once 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, tenant administrator should set "End date" on the current job and create a new job in the new position or department. Most of reports will only show the "current jobs", which means the jobs that are active at this moment in time and automatically hide the past jobs. However for the historical reports it is very useful to keep all history of all jobs employees had.
Permissions to be a team manager, allocate to programs and view reports are also always taken from the current user's jobs (when current date is between job's start and end date).
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).