Setting up boundary hierarchies for tenants
The location module serves the boundary hierarchies for a tenant. Location is defined separately for every tenant (mostly ULBs) in DIGIT. Each tenant has a unique tenantId.
The tenantId key can be a combination of state
or state.city
or state.city.ulb
. The hierarchyType can be one of Revenue, Admin or Election. Multiple hierarchy types can be defined for the same city tenant.
The entire hierarchy can be defined in a nested way as children. One sample of location data for the Amritsar ULB is available here.
Location data is stored in GitHub as part of MDMS. The egov-location
folder needs to be created inside the city tenant (see Amritsar example above). It is stored in the following format:
Enter the boundary hierarchy data in the <tenant>/egov-location/boundary-data.json
file in the appropriate branch of your forked MDMS repository. For example - if you want changes to be visible in the Dev environment, add the data in the DEV branch of the MDMS repository.
Follow the Git flow processes to ensure high-quality data. Make sure the PR requests are raised, verified and merged especially where multiple people are working on the same branch.
Restart the MDMS service in your environment once the new data is available in the desired branch.
Users also need to upsert localisation codes for any new boundary data in MDMS. Else, users see the label names (auto-generated) for the city names in the UI. Check the Localisation Data Setup guide for more information on how to perform localisation.
The localisation code should follow the following format - *tenantId*_*moduleName*_*hierarchyType*_*cityCode*_*zoneCode*_*blockCode*_*areaCode
For example, to find the localisation code for "Ajitnagar area 1", assuming tenantId as "pb" and hierarchyType as "Revenue":
moduleName: EGOV-LOCATION
cityCode: PB.AMRITSAR
zoneCode: Z1
blockCode: B1
areaCode: SUN04
So finally the localisation label code for "Ajitnagar area 1" would be PB_EGOV-LOCATION_REVENUE_PB.AMRITSAR_Z1_B1_SUN04 (visible in the UI if no localisation is present).