...
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.
To add a ULB in a state we need to configure those ULBs 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 data structure MDMS is required.
User with permissions to edit the git repository where MDMS data is configured.
...
For login page we have to select a city name. Tenant added in mdms 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 mdmsMDMS.
Modules i.e., TL,PT,MCS can be enabled or disabled based on the requirement for tenant in mdms.
Deployment Details
After adding the new tenant, the MDMS service needs to be restarted to read the newly added data.
Configuration Details
Configuration steps (Use numbered bullet lists to define the sequence)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.Code Block { "tenantId": "uk", //<ReplaceWithDesiredTenantId> "moduleName": "tenant", "tenants": [ { "code": "uk.dehraduncitya", //<state.ulbname> "name": "DehradunCity A", //<name of the ulb> "description": "DehradunCity A", //<ulb description> "logoId": "https://nagarsewa.uk.gov.in/ukds3.ap-south-1.amazonaws.com/uk-egov-assets/uk.dehraduncitya/logo.png", //<ulb logo path - To display ulb logo on login> "imageId": null, "domainUrl": "http://nagarnigamdehradun.com/",", //<ulb website url> "type": "CITY", "twitterUrl": "https://twitter.com/DdnNagarnigam"null, "facebookUrl": "https://www.facebook.com/municipalcommissionerdehradun/"null, "emailId": "nagar_nigam2008@yahoocomplaints.citya@gmail.com", //<ulb email id> "OfficeTimings": { "Mon - Sat": "10.00 AM - 5.00 PM" }, "city": { "name": "City A", "localName": null, "citydistrictCode": { "name": "Dehradun", "localName": "Dehradun", "districtCode": "49", "districtName": "Dehradun", "regionName": "Gharwal", "ulbGrade": "Municipal Corporation", "longitude": 78.0322,"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 Block |
---|
{
"code": "ULBGRADE_MUNICIPAL_CORPORATION",
"message": "MUNICIPAL CORPORATION",
"module": "rainmaker-common",
"locale": "en_IN"
} |
Localization for ULB Name :
Code Block |
---|
{
"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:
Code Block |
---|
{ "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.
Code Block |
---|
{ "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" } } ] } |
Integration
Integration Scope
...