This page lists some examples of organization structures that were used in projects. They can be used as models when you are designing the levels and permissions for the locations in your project.
WARNING: Advanced Techniques
Some of the designs below may involve custom xml or other advanced features; they are provided here just as examples to help design location hierarchies.
Example 1: Agricultural Extension Agents
In this project, the primary users are Agricultural Extension Agents who were using an application to monitor farms.
Here is the government/administrative hierarchy where they were working:
- Administrative Post
The people involved in the project were in the following hierarchy:
|Provincial Managers (PM)||Use a separate PM application in which they should be able to see cases created by any user in the entire province||Each PM is responsible for all cases/data collected by all of the district supervisors and extension agents in their province.|
|District Supervisors (DS)||Also work as Extension Agents, but should be able to see and update cases of other Extension Agents in their district||Each supervisor is responsible for exactly one District, which includes 3-5 Administrative Posts|
|Extension Agents (EA)||Collects data using the Extension Agent app||Each extension agent is responsible for one or more Administrative Posts|
Notes on each level
- Administrative Post - Cases are actually owned by the Administrative Post, so when a mobile worker creates a case it is assigned to a Post. (NOTE: This means if you had multiple workers assigned to one location at this level that they would see each other cases)
- Extension Agent - a level was created for the Extension Agents; this is the level to which Mobile Workers who are Extension Agents are assigned. This may seem a bit strange because you have to create both a mobile worker account as well as a location, but there advantages to this, as described below.
- District - this is the level to which District Supervisors are assigned; this allows them to view cases created by any Extension Agents in their district and to create cases for any administrative post in their district
- Province - the provincial manager can see all cases below. Mobile workers at the PM level are assigned to locations at this level.
- This app used the location hierarchy as a Lookup Table as described in Assigning cases to one of multiple groups. Imagine you are an Extension Agent assigned to the Extension Agent level, which has three Administrative Posts under it. When create a case you would see a lookup table question which shows a list of the three Administrative Posts assigned to you. When you choose one and then submit the form that new case is assigned to the post you selected. It is also not necessary to maintain a separate lookup table
- The application also captures the names of the locations above it in the hierarchy as described in Referencing the Location/Organization Hierarchy in Applications
- It is very easy to reassign administrative posts; you can just move the location to a different district in the hierarchy, and once the users sync their data the transfer will be complete
- One drawback of this approach is that one person can only be assigned to one district; so if there were workers that covered a subset of districts that would need to be another level in the hierarchy