Overview
In a state there will be more than one ULBs (Urban local bodies).
These ULBs and the state are called tenants in our system.
ULB represents a city or a town in a state.
Tenant configuration is done in mdms.
Pre-requisites
Before you proceed with the configuration, make sure the following pre-requisites are met -
Knowledge of json and how to write a json is required.
Knowledge of MDMS is required.
User with permissions to edit the git repository where MDMS data is configured.
Key Functionalities
For login page we have to select a city name. Tenant added in MDMS shows in city drop-down of login page.
In reports or in the employee inbox page the details related to ULB is displayed from the fetched ulb data which is added in MDMS.
Modules i.e., TL,PT,MCS can be enabled based on the requirement for tenant.
Deployment Details
After adding the new tenant, the MDMS service needs to be restarted to read the newly added data.
Configuration Details
Add the tenant in tenant.json.
In MDMS, file tenant.json, under tenant folder holds the details of state and ULBs to be added in that state.{ "tenantId": "uk", //<ReplaceWithDesiredTenantId> "moduleName": "tenant", "tenants": [ { "code": "uk.citya", //<state.ulbname> "name": "City A", //<name of the ulb> "description": "City A", //<ulb description> "logoId": "https://s3.ap-south-1.amazonaws.com/uk-egov-assets/uk.citya/logo.png", //<ulb logo path - To display ulb logo on login> "imageId": null, "domainUrl": "", //<ulb website url> "type": "CITY", "twitterUrl": null, "facebookUrl": null, "emailId": "complaints.citya@gmail.com", //<ulb email id> "OfficeTimings": { "Mon - Sat": "10.00 AM - 5.00 PM" }, "city": { "name": "City A", "localName": null, "districtCode": "CITYA", "districtName": null, "regionName": null, "ulbGrade": "Municipal Corporation", "longitude": 78.0322, "latitude": 30.3165, "shapeFileLocation": null, "captcha": null, "code": "248430" }, "address": "City A Municipal Cornoration Address", "contactNumber": "91 (135) 2653572" }]}
Note:
To enable tenant the above data should be pushed in tenant.json file. Here "ULB Grade" and City "Code" are important fields. ULB Grade can have a set of allowed values that determines the ULB type, (Municipal corporation (Nagar Nigam), Municipality (municipal council, municipal board, municipal committee) (Nagar Parishad), etc). City "Code" has to be unique to each tenant. This city-specific code is used in all transactions. Not permissible to change the code. If changed we will lose the data of the previous transactions done.
Naming Convention for Tenants Code
“Code”:“uk.citya” is StateTenantId.ULBTenantName"
"logoId": "https://s3.ap-south-1.amazonaws.com/uk-egov-assets/uk.citya/logo.png", Here the last section of the path should be "/<tenantId>/logo.png". If we use anything else, logo will not be displayed on the UI. <tenantId> is the tenant code ie “uk.citya”.
2. Localization should be pushed for ulb grade and ulb name. Format is given below.
Localization for ULB Grade :
{ "code": "ULBGRADE_MUNICIPAL_CORPORATION", "message": "MUNICIPAL CORPORATION", "module": "rainmaker-common", "locale": "en_IN" }
Localization for ULB Name :
{ "code": "TENANT_TENANTS_UK_HALDWANI", "message": "Haldwani", "module": "rainmaker-tl", "locale": "en_IN" }
Format of localization code for tenant name : <MDMS_State_Tenant_Folder_Name>_<Tenants_Fille_Name>_<Tenant_Code>(replace dot with underscore)
3. citymodule.json file under tenant folder used to activate modules in specific ulb.
Example:
{ "module": "TL", "code": "TL", "tenants": [ { "code": "uk.citya"}, {"code": "uk.cityb"} ] }
Module TL are enabled in ULB city a and city b. Modules mentioned in this file appears in the menutree of the application. ULB level module enable or disable are handled here.
4. Adding State details
In MDMS, file StateInfo.json, under common-masters folder holds the state data.
{ "tenantId": "uk" , //<ReplaceWithDesiredTenantId> "moduleName": "common-masters", "StateInfo": [ { "name": "Uttarakhand", "code":"uk" , //<ReplaceWithDesiredTenantId> "bannerUrl":https://amazonaws-url/foldername/file.jpg", <bannerimage file path> "logoUrl":"https://amazonaws-url/foldername/file.jpg", <state logo image file path> "hasLocalisation" : true, <if true, enables multilingual support mentioned below. Or else by default english> "languages" : [ { <languages to be supported are listed here> "label": "ENGLISH", "value": "en_IN" }, { "label": "हिंदी", "value": "hi_IN" } ], "defaultUrl" : { "citizen" : "/user/register", "employee" : "/user/login" } } ] }
5.Boundary Data Load :
Boundary is ULB specific master data. For Revenue modules we use Revenue boundary. It’s pushed under each ulb.
File Path would be : https://github.com/egovernments/state-mdms-data/tree/master/data/tenant/ulb/egov-location/boundary-data.json
Boundary Hierarchy : Zone -> Ward -> Locality -> Area
Boundary data json is generated using implementation Kit.
Reference Docs
Doc Links
Title | Link |
tenant json file | https://github.com/egovernments/ukd-mdms-data/blob/master/data/uk/tenant/tenants.json |
citymodule json file | https://github.com/egovernments/ukd-mdms-data/blob/master/data/uk/tenant/citymodule.json |
stateinfo json file | https://github.com/egovernments/ukd-mdms-data/blob/master/data/uk/common-masters/StateInfo.json |
boundary-data json file | |
content |
0 Comments