Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Workbench V1.0 Release Summary
DIGIT-Workbench release v1.0 is a new release with distinctive features and functions, details of which are provided below.
Functional changes
Added new MDMS v2 API which provides the Create, Update, and Search APIs to manage master data.
Added ability to perform Master Data CRUD operations from Workbench UI.
Added ability to perform Localisation Data CRUD operations from Workbench UI.
Non-functional changes
NA
Feature | Details |
---|---|
Technical Documents | Service Documents |
---|---|
DIGIT Workbench solution design allows system engineers to configure master data through an intuitive user-friendly interface. The solution facilitates “Self-serve code-free setup of DIGIT applications on the cloud”. It streamlines the configuration process making it easier and faster for deployment of applications on the DIGIT platform minus the hassle of coding.
With increasing implementations, the solution simplifies the setup process with intuitive screens for master data inputs. Workbench resolves the challenges of costly and time-consuming engineering capacity to implement and configure master data for products built on the DIGIT platform before going live. This helps reduce the reliance on resources equipped with high-end technical expertise on the DIGIT platform.
Workbench eliminates the need for coding to add and manage master data in the DIGIT applications.
Enable senior implementation engineer with experience in DIGIT platforms to add and manage master and localisation data through an intuitive user interface.
Click on the embedded links within the content to browse topic details.
Use the Contents links available on the right side of the screen to move to a specific heading.
Find the list of Related Docs links at the bottom of each page to browse through additional product details.
MDMS v2
Manage master data through API's
Manage Tenant
Can only update tenant info
Manage Master Data through the MDMS service
Select master
Common flow to add, search, view, update and disable master data
Add
Search
View
Update
Disable
Add master data form rendered based on the schema of each master(property type, validations etc)
Search page
Search fields
Search results
Validations are also based on the info coming as part of the schema itself
Manage master data through other services
The list will be populated based on services that have action mapped to workbench_superadmin
For master data that has custom APIs, redirect to the respective links/pages. Eg :
Users
Localization
Boundary (when the APIs are made available)
Project & related masters
Release Notes
Workbench-UI v1.0 | workbench-ui | workbench-ui:v1.0.0-2d178330ff-94 |
|
Core UI | core-ui | core-ui:v1.0.0-2d178330ff-35 |
MDMS-v2 v1.0 | mdms-v2 | mdms-v2-db:mdms-v2-ref-fix-4109a6d265-21 |
Core Services v2.9 | Signed Audit | audit-service:v1.0.0-24873ba-3 |
|
| Encryption | egov-enc-service:v1.1.4-1f3649156d-5 |
|
| Filestore | egov-filestore:v1.2.4-9934605-2 |
|
| Zuul - API Gateway | zuul:v1.3.1-76bf31f-2 |
|
| Mail Notification | egov-notification-mail:v1.2.0-9fde481c92-1 |
|
| SMS Notification | egov-notification-sms:v1.2.0-9fde481c92-2 |
|
| Localization | egov-localization:v1.1.3-44558a0602-2 |
|
| Persist | egov-persister:v1.1.6-1f3649156d-3 |
|
| ID Gen | egov-idgen:v1.2.3-44558a0602-2 |
|
| User | egov-user:v1.2.8-9fde481c92-2 |
|
| MDMS | egov-mdms-service:v1.3.3-1f3649156d-4 |
|
| URL Shortening | egov-url-shortening:v1.1.2-010cd85ad6-3 |
|
| Indexer | egov-indexer:v1.1.8-1f3649156d-9 |
|
| Workflow | egov-workflow-v2:v1.3.1-1f3649156d-5 |
|
| Access Control | egov-accesscontrol:v1.1.3-852f5ea3a0-3 |
|
| Location | egov-location:v1.1.5-fbea79700d-1 |
|
| OTP | egov-otp:v1.2.3-9fde481c92-1 |
|
| User OTP | user-otp:v1.2.1-1f3649156d-2 |
|
MDMS v1.0 | MDMS changes is linked |
Config v1.0 | Config changes is linked |
MDMS v2 exposes APIs for defining schemas, searching schemas and then adding master data against these defined schemas. The data is now stored in PostgreSQL tables rather than in GitHub. MDMS v2 currently also exposes v1 search API which will fetch data from the database in the same format as MDMS v1 search API to maintain backward compatibility.
Prior knowledge of Java/J2EE
Prior knowledge of Spring Boot
Prior knowledge of REST APIs and related concepts like path parameters, headers, JSON etc.
Prior knowledge of Git
Advanced knowledge of operating JSON data would be an added advantage to understanding the service
Create schema: MDMS v2 introduces functionality to define your schema with all validations and properties supported by JSON schema draft 07.
Search schema: MDMS v2 has API to search schema based on the tenantid, schema code, and unique identifier.
Create data: MDMS v2 allows the creation of data against the defined schema.
Search data: MDMS v2 exposes two search APIs - v1 and v2 search where the v1 search API is entirely backward compatible.
Update data: MDMS v2 allows the updation of master data fields.
Fallback functionality: Both search APIs have fallback implemented where if data is not found for a particular tenant, the services fall back to the parent tenant(s) and return the response. If data is not found even for the parent tenant, an empty response is sent to the user.
/mdms-v2/schema/v1/_create - Takes RequestInfo and SchemaDefinition in the request body. SchemaDefinition contains all attributes required to define the schema.
/mdms-v2/schema/v1/_search - Takes RequestInfo and SchemaDefSearchCriteria in the request body and returns schemas based on the provided search criteria.
/mdms-v2/v2/_create/{schemaCode} - This API endpoint is used to create the schemCode masters. It requires a "RequestInfo" in the request and utilizes the "MDMS" object within the request body to extract the necessary information for master creation. It takes the schemaCode as a path parameter to specify the schema mapped to the defined master data.
/mdms-v2/v2/_search - Takes RequestInfo and MdmsCriteria in the request body to return master data based on the provided search criteria. It also has a fallback functionality where if data is not found for the tenant which is sent, the services fall back to the parent tenant(s) to look for the data and return it.
/mdms-v2/v2/_update/{schemaCode} - Takes RequestInfo and Mdms in the request body where the MDMS object has all the information for the master being updated and it takes schemaCode as path param to identify the schema against which data is being updated.
/mdms-v2/v1/_search - This is a backwards-compatible API which takes RequestInfo and MdmsCriteria in the request body to return master data based on the provided search criteria and returns the response in MDMS v1 format. It also has a fallback functionality where if data is not found for the tenant which is sent, the services fall back to the parent tenant(s) to look for the data and return it.
MDMS v2 APIs
MDMS_ADMIN |
|
The Workbench design introduces dynamically generated user interface screens for system users to perform key implementation tasks that typically require software code to be written by engineers.
The Master Data Management Service contains the standardised schemas defining the structure of data models to be used by the applications. The schemas ensure that master data management conforms to a unified data model offering consistent formats for data input.
Based on the defined schemas, dynamic forms are generated in the user interface. The forms contain embedded validation rules for data input ensuring data complies with the required formats. Once the data is validated and the entry is complete, the forms are pushed to the corresponding API endpoints. The master data is saved in the backend database.
Individual master data management services are available and contain JSON schemas that define the structure of the data model.
The UI library for v1 is built based on the current master data structure for Health Campaign Management. Hence, the components available in this version will only address the master data types included in HCM masters.
The illustration below offers a glimpse into the features presently in the scope of the Workbench solution design. Follow the colour legend at the bottom of the visual for details of the design elements.
Select Master
Add new master data
Redirect to the “add master data” page
Search section
View all section
Navigation options
Add New
Search
Clear Search
Select an object
Click on edit against an object
Pagination navigation
Variations
First-time load
Dynamically rendered form
Order of fields
In the order of the schema
Labels
Will be the keys in the schema
Input field type
Will be dynamically generated based on the schema type
Add Localization
Default behavior - For every master data created create a localization entry too
Keycode - system generated
Locale - en_IN
Value - keycode
If the user clicks on add localization, here is the flow
Save
Save one of
Save and add another
Dependency
Some masters have a dependency on others to be added as a prerequisite
non-editable key-value
For values that are non-editable / view-only
For all text input fields
If mandatory then the key label will be highlighted and a prompt shown for violation upon submission
If there are any validations then the key label will be highlighted and a prompt shown for violation upon submission
If referencing another master data set then the drop-down should show the list of objects from the referenced set
The text that will be displayed will be the <title of object> from the master data that is referenced; The same as the first column in the view/search results section
For all boolean data types in the schema
Where the input type is the date
Any validations should restrict the range of the calendar.
Example: If a date outside a given range of dates is selected raise a prompt for the same; Alternately restrict the selection of such a date too
Object
Card for all “object” data types
The length of the card will depend on the fields inside the object
All fields/properties of the object will be rendered in the UI
The fields inside the box will use the same components as above
All arrays will have the same UI component
The user should be able to minimize the array, and in a minimized state be able to see the title of the array
All array boxes will have a +Add “title of the array” button to add new entities to the array itself
No order for removing entities added to the array
Until the whole form is saved, any object in the array can be edited/removed
Array of objects
All arrays will have the same UI component
The user should be able to minimize the array, and in a minimized state be able to see the title of the array
All array boxes will have a +Add “title of the array” button to add new entities to the array itself
No order for removing entities added to the array
Until the whole form is saved, any object in the array can be edited/removed
Each object box ll have the properties of the “Object” UI component as detailed in the object section
The fields inside each array will be the same and will be rendered based on the properties/keys in the object schema
Add localisation for master data while creating master data
Add localisation
Code - system generated
Select Language - select from the list of “locale”s in the tenant
Text - Mandatory field
Adding localisation for multiple languages
Repeat the same process by selecting each language
Search
Search fields
Search fields will be custom-defined for each master - Some master data objects have objects/array of objects inside them, search parameter cannot be a value in this hierarchy; Example: productVariantId inside resources for a projectType master data
Type of search fields
Text
Selection - If the property in the master data object has a reference then the search input will also be a selection-based dropdown
Labels for the search fields will be picked from the value of the key of the property that is selected
Clear search - Will clear the entered values in the search input boxes and also the results to default
View Search results
Search results
Default - By default will load all the objects in the corresponding master
Order of listing - Search results will be listed in ascending order(A-Z) of the first column when the page loads
List of columns to be displayed- Will be customized for each master
Sorting - Sorting will be available for every column
Variations - No results found
Columns
List of columns to be shown - Will be custom-defined for each master
Order of columns - Will be custom-defined for each master
Rows
Number of items in the row - As per the DIGIT UI design system
Edit option - Every row object will have an edit icon, that will redirect to the “Update” page for the corresponding object
View the object’s details - Page layout will be the same as the “add new” page - except all fields will be non-editable
Navigation options - Update
Object details
The page will be rendered as the add new page - except there won’t be an option for “Save and Add Another”
Disable
Navigation options
Save
MDMS v2 Specifications -
Figma screens for the UI are available . Refer to them to understand the Workbench UI.
Sample schemas
Implementing products built on the DIGIT platform requires engineering capacity to set up the system and configure master data before going live. The increasing demand for implementations of DIGIT applications triggered the need for low-cost and high-velocity solutions to manage these implementations.
Implementation refers to the process of deploying applications built on the DIGIT platform in a new business context or geographical location. The deployment steps include system setup, master data configuration and customisation. The implementation process ensures the application workflows are tailored fit to meet the requirements of the local or regional policies for smooth functioning.
Examples of DIGIT implementations -
The current implementation process for DIGIT applications faces two primary challenges.
Skilled personnel - The implementation requires experienced engineers who are familiar with the DIGIT platform. This proves both expensive while limiting the number of implementations that can be handled at a time.
Cost and time constraints - Since the number of experienced engineers is limited, it poses limitations on the number of implementations that can be handled simultaneously. The result is longer timeframes for going live and increased costs.
Enable a non-tech/low-tech user to set up one or more DIGIT applications on a fully managed cloud infra with the ability to customise the application, features and registries to their context, all through an intuitive UI without writing a single line of code.
The Workbench solution is designed to meet the rising demand for low-cost, rapid implementations of DIGIT products. It simplifies the setup process by enabling senior engineers familiar with DIGIT to manage and configure master data through a user-friendly interface easily. The Workbench addresses the requirements of high demand for implementations in regions with limited DIGIT expertise and tight go-live timelines. The goal is to streamline the process and allow quicker, code-free deployments.
The Workbench user interface enables users to set up a new account with DIGIT services. It provides system users with a dynamically generated UI to perform key implementation tasks that typically require software code to be written by engineers.
End-state flow:
Generate forms (UI) based on schema and push data entered in the forms to corresponding API endpoints
Open to access for all services
UI to add/remove fields from the registries
UI to update forms
Spin up a DIGIT service from a web portal
Standardized JSONSchema for services
UI-Schema Library
UI-templates for forms
Codified rules for updating registry structure
UI to initiate “primary-tenant”
Deploy selected services
UI to trigger the installer
Master-tenant creation and management
Delineation of tenants
The table below outlines the distinctive phase of development of the Workbench solution.
In Scope | Out Of Scope |
---|---|
Array of strings
Version | Phase 1 | Phase 2 | Phase 3 |
---|
Tenant management through UI Edit Tenant Data
UI for masters managed by MDMS service Dynamically rendered Add, Search, View and Update master data pages
UI components for fields to “Add” master data
Link to Other master-data Services(Employees, localization, boundary, projects etc)
Master specific fields for search and view all pages
Tenant Master tenant creation Child tenant creation
Generate localization key and add to localization service while “Adding” data
Link to add localization data while adding new master data
Custom UI for a master
Upload files
Add master data in bulk
MDMS Service details
| UI to manage master data and system data | UI to customize forms (limited) | UI based installation and setup
|
v1 | Senior engineer - eGov Solution Engineering Team Add and manage master and system data for HCM | Feasibility & Effort - TBD |
v2 | HCM Solutioning Team v1 + create new tenants for HCM ; customize UI for each master data with UI schema |
v3 | Trained non-egov BA Modify application* - add/remove fields to forms |
Flow for adding master data from UI
An action button is available on the search master data screen to add master data.
Clicking on the action button redirects users to the add master data screen.
The Add Master Data screen renders a form through which the user can enter master data.
Once the form is submitted, the validations are run as specified in the schema. If the validations are passed, the Create API is called and the respective toast message is shown as relevant to the response received from the Create API.
As of now, role actions have to be defined for every schema. Let us take an example of a schema code "Trade.Details"
The Create API URL for the above schema will look like this "/mdms-v2/v2/_create/Trade.Details"
Hence for this URL, the role action mapping has to be added to the MDMS_ADMIN role.
Similarly, for other masters, add role action mapping to the same role "MDMS_ADMIN".
Refer to the curl below:
Sample request body:
This guide details the steps to promote a master to MDMS v2. It includes defining a schema with a unique identifier, creating the schema via an API endpoint, and verifying the created schema. Once verified, data can be added and searched using corresponding API endpoints.
Define a schema for the master that you want to promote to MDMS v2.
Ensure that the schema has a unique field (a unique field can also be composite) which enforces the data being added against that schema to be unique.
If the data does not have the scope for having unique identifiers. For example - complex masters like - https://github.com/egovernments/health-campaign-mdms/blob/QA/data/default/health/project-task-configuration.json - consider adding a redundant field which can serve as the unique identifier.
Hit the following API endpoint to create schema in the system - /mdms-v2/schema/v1/_create
Now that the schema has been created, verify the created schema by searching for it using the following API endpoint - /mdms-v2/schema/v1/_search
Once the schema is in place, data can be created against the created schema using the following API endpoint - /mdms-v2/v2/_create/{schemaCode}
Once the data is created, data can be verified by searching it by using the following API endpoint - /mdms-v2/v2/_search
Flow for updating master data from UI
The users have two options on the View Master Data screen -
Disable/Enable Master Data
Edit Master Data
This option is dynamic, if the master data is currently disabled(computed through the "isActive" flag present in every master data) Enable option is shown and vice-versa.
Update Master data API is called with the updated value of "isActive" flag and a respective toast message is shown to the user
As soon as the API responds, this option is updated according to the new value of "isActive" flag.
Pls refer to the end of this page for updated API details
When the user clicks on this option, the screen redirects to the Edit master data screen.
This screen is similar to the add master data screen, but all the fields are pre-populated with previous data.
Users can make changes to the master data.
Once the user clicks on the Submit button, validations are run in UI (specified in schema). If the validations are passed update master data API is called and a toast message is shown. After 5 seconds the user is automatically redirected to the view screen, where the updated data is reflected.
If the validations fail, the respective error message is shown below the target field for which validations failed.
The same role action mapping rules apply here as mentioned in the Add Master data page.
Refer to the curl below to update the master data API. It is very similar to the Create Master Data. (Notice the URL is unique to the schema for which the master data belongs, similar to add).
Sample request body for update:
This page provides details about the Workbench UI configuration required to enable it in any environment.
In the DevOps repository of your organization, locate the following "deploy-as-code/helm/environments/unified-dev.yaml"
. Inside the environment YAML file used to deploy the Core platform, please add the following block of code:
A dev environment sample file is linked here. Note that you will have to modify this for your deployment.
This section contains a config that applies globally to all UI modules. These need to be configured before configuring the service-specific UI.
Create a config file (globalconfigs.js) with the below-mentioned configurations (refer code below).
Configure all the images/logos required in the S3 and add links as footerBWLogoURL, footerLogoURL.
Mention the state tenant ID as stateTenantId.
If any user roles have to be made invalid add as invalidEmployeeRoles.
Then push this global config file into your S3 bucket as globalconfigs.js.
Mention the globalConfigs file URL in your Environment config
.
All strings localised per module are provided in this sheet linked here. To translate the UI into other languages, please follow this sheet and provide appropriate translations in your language.
Figma screens for the UI are here. Refer to them to understand the Workbench UI.
Add localization flow
From the search screen user can navigate to add localization screen by clicking the action button
In this screen user can specify the locale(language) and module in which messages have to be upserted
Once the language and module is selected a table is rendered in which user can add the keycode and the respective message. In one go, we can upsert upto 50 messages in this table.
These messages will be upserted into the default locale as well.
After adding the messages user can click on the "Save" action button. Upon success, a relevant toast message is shown and the table is cleared.
In case of failure, an error toast message is shown listing the list of errors due to which the messages could not be upserted.
Same API is utilized for edit and bulk upload as well.
Refer the below curl:
State level users can upsert localizations to all modules
City level users can only upsert to module specific to the tenantId (eg -> pg.citya)
Some examples of city module localizations
Flow for viewing master data
From the search master data screen users can click on any of the rows in the results table, this will redirect the UI to the View master data screen.
Before loading the View screen, we fetch the schema and the data using the schema code and unique Identifier respectively. Curls for search schema and search data can be referred from the Add Master Data page.
Schema response is used to render the form, similar to add form, and the data response is used to prefill the values in the form. The only difference here is that all the fields are disabled, unlike the add screen.
The same role action mapping rules apply here as defined in the Add Master Data page.
In the View screen, we have an action button with two options
Edit Master Data
Disable Master Data
The above actions are covered in the Update Master Data page.
This page provides the steps to search localisation data.
Navigate to the Manage Localisation screen from the home screen card. This opens the search localisation screen.
locale -> this field is mandatory. This dropdown is populated based on this mdms https://github.com/egovernments/egov-mdms-data/blob/UNIFIED-UAT/data/pg/common-masters/StateInfo.json
module -> list of modules present in this mdms https://github.com/egovernments/egov-mdms-data/blob/UNIFIED-DEV/data/pg/common-masters/StateInfo.json
keycode -> code of a specific message. It is a string-type parameter
We have the following columns for localisation search results:
Module name
Key code
Default value -> message stored in default locale
Text -> message stored
Action -> Edit action to update message in that particular localisation
While adding localisations, by default all the messages will be updated in the locale mentioned by the user as well as in the "default" locale. The message updated in this locale is considered the default message. While updating the message default locale message remains unchanged.
Localisation search API is an open API. Refer to the curl given below:
Search for the desired language and module using the provided search functionality. The language and module are derived from MDMSv2.
For example, if you are searching for the language ‘English’ and the module ‘rainmaker-common’, Once you perform the search, all relevant results will be displayed below.
Refer to the screenshot below:
(Running MDMS V2 as egov-mdms-service)
This documentation outlines the process for replacing the egov-mdms-service
with MDMS V2, which is database-driven and offers enhanced API capabilities for CRUD operations (Create, Read, Update, and Disable). By renaming the context path of MDMS V2 to egov-mdms-service
, we ensure that core and other services can seamlessly interact with the new MDMS service without requiring changes.
MDMS V2:
Database-based: Stores master data in a database rather than static files in a GitHub repository.
CRUD APIs: Allows users to dynamically interact with the master data through APIs for adding, updating, and disabling records.
Backward Compatibility: MDMS V2 retains compatibility with MDMS V1 search APIs, allowing services using egov-mdms-service
to function without changes.
egov-mdms-service:
File-based: Managed master data as static JSON files stored in a GitHub repository.
Limited Interaction: Primarily served data without allowing user modification through APIs.
1. Rename MDMS V2 Context Path
Rename the context path of MDMS V2 to egov-mdms-service
in your environment. This ensures that all existing core and dependent services will seamlessly point to the new MDMS V2 without the need for any modifications.
For example, if MDMS V2 is running on /mdms-v2
, change it to /egov-mdms-service
in the environment configurations.
2. Remove Existing egov-mdms-service
Delete the existing egov-mdms-service
setup:
Pods: Remove the running pods related to the old egov-mdms-service
.
Service: Delete the service definition.
Ingress: Remove or update the ingress to redirect to the new MDMS V2.
3. Deploy MDMS V2 with Configuration
Deploy or redeploy MDMS V2 with the updated context path (/egov-mdms-service
) and database configurations enabled.
Ensure the following configurations are set:
Database connection (for master data storage)
API configurations (for CRUD operations)
Backwards compatibility enabled (for V1 search APIs)
4. Restart Zuul Gateway
Once MDMS V2 is deployed and running, restart the Zuul Gateway (or any API gateway) to ensure that it picks up the new routing mappings to the renamed MDMS service (egov-mdms-service
).
5. Restart Dependent Services
Restart all core and dependent services with configuration changes enabled so that they point to the newly deployed MDMS V2. This ensures that the services can now interact with the updated APIs provided by MDMS V2.
Note: Some services, such as ENC service and User service, have direct dependencies on egov-mdms-service
and specific data sets. Ensure that necessary data is added to the tenant(s) where this activity is being performed.
Use the below scripts to add default data for the roles and security policy so that user service will get started and we can proceed with adding more data.
Data migration is a separate and essential activity that must be handled master by master. The migration process includes:
Schema Creation:
For each master, ensure that the necessary schema is created in the database.
Verify that the structure aligns with the expected format in MDMS V2.
Data Migration:
Migrate data master by master into the corresponding database tables.
Ensure that the migrated data is valid and adheres to the schema.
I have attached the default MDMS data and schema that were created in UAT. This can be used to load the default MDMS for the HCM Product & Console. It can be imported into any environment, and you can change the tenant from 'mz' by using the 'find and replace' function. After that, delete any unnecessary masters and add new ones according to your use case.
Backward Compatibility: Since MDMS V2 supports the V1 search APIs, all core and dependent services will continue to function normally without modification.
Database Configuration: Ensure that database replication and backups are in place, especially during the migration, to prevent data loss.
Service Downtime: Depending on your infrastructure, plan for potential service downtime while removing the old egov-mdms-service
and deploying MDMS V2.
The migration to MDMS V2 is successfully completed in the Unified UAT environment.
All MDMS data for -
HCM (including HCM Prod and HCM Console)
Sanitation
Core Master Data
is migrated.
A database dump containing all the necessary schemas and data will be provided. This includes:
Core-related master data.
Health and Console-related masters.
You can filter the Core-related data from the dump and update your database accordingly for future environments.
By following this migration guide, you can seamlessly transition from egov-mdms-service
to the more dynamic and API-driven MDMS V2. The new system enhances user interaction while maintaining compatibility with existing services, ensuring a smooth integration into the ecosystem.
How to search master data
Users can click on the specific master name from the dropdown on the Manage Master Data screen to select the master data.
Users are redirected to the Search Master Data screen (of the selected master) screen as soon as a master is selected.
By default, the data present in that master is shown in the Results table.
Users can search master data using the following input parameters -
Field
Value
is Active
Note -> Search with field and value is considered as one parameter. Make sure to enter both in order to search master data.
'isActive' is a Boolean parameter which results in either active or inactive master data. All master data contain this field by default.
For the time being, master data search is allowed with string fields and the isActive flag.
Search results are filtered by string type and isActive before getting rendered in the table.
The master and module dropdowns on the manage master screen are populated on the basis of the responses from the schema search. Refer to the below curl for details:
Use the below parameters to search for the schemas -
tenantId
limit
offset
codes -> list of schema codes
Users are redirected to the search master data screen once a specific master is selected from the manage master data screen.
Refer to the below API curl to search for the master data -
The parameters here are used to search for the master data. Refer to the request body object below.
The "data" object holds the field-value pairs used to search for master data within a specific master. The "uniqueIdentifier" is a backend-generated ID for each master data.
Bulk Upload
If you are visiting the screen and it is not localized, the screen will appear as in the screenshot below.
You can localize it with these simple steps:
We have an option to upload Excel sheets (XLSX, XLS) and upsert bulk messages.
From the "Add Localization" screen, there is an option to Bulk upload. See the image below.
Upon clicking the bulk upload option, the user can select an Excel file from the file system.
Copy all the locale code and give the corresponding message to display, module, and locale.
Paste this data into an Excel spreadsheet and save it as an XLSX file.
See the screenshot provided for reference for excel file.
Conditions for valid excel file
Excel file can contain multiple sheets, every sheet must have these four columns:
code
message
locale
module
Upload this XLSX file to the project UI.
After uploading, log out and log back in to see the UI localized.
Now see the UI, it will be as given below:
From the Search screen itself user can update localization messages
Only message text can be edited, we are not allowed to change locale, module and code of the message.
There is a fixed action column in the results table.
Upon clicking the edit icon a modal is opened from where user can add the updated message
User can click on the submit button, a respective toast is shown and the search results are refetched and rendered with the updated message.
API used here is same as add localization.
Select the edit icon in the action column, update the text as needed, and then click submit to save your changes.
Steps to follow to create a new Master -
Create a schema using Postman (API) - Schema( ) can be constructed by inputting the required JSON Object Below is the sample cURL to create a schema.
Add actions-test and roleactions for search, create, and update. Below is the sample code for the actions-test for the schema mentioned above::
Here is the sample code for the roleactions::
Push the localization messages using the rainmaker-schema module to the schema's name(on the Add Master Data page and sidebar), tooltips, and all the fields on the UI. Example::
Refer to to learn more about data migration.
MDMS
Roleaction mapping for Add Master Data
MDMS
Enabled the Workbench UI module
MDMS
Roleactions for update profile
MDMS
added home button access
Localisation
Updated Localisation admin
Localisation
Update role action for upserting localizaions
MDMS
Adding mapping to mdms persister
MDMS
Adding persister file path
MDMS
workbench-ui
Localisation