Selectable Dropdowns from API Data Source

I am hoping to create a series of dropdowns where people can tie one site and project combination in one of our systems to another site and project combination in an other system.   The reason we need to do this is that at our construction company we use a task manager tool and a separate scope manager tool on each project.  There is currently no connection between the two systems, so if we want to use the information from both systems in our Mendix app, we need users to manually choose which site/project from system #1 goes with which site/project in system #2.   The result we are looking for is for the Mendix app to show 4 dropdowns (System #1 Site, System #1 Project, System #2 Site, System #2 Project) that have their enumerations populated from the systems themselves.  Does anyone know the best way to do this?   This is an example of what each object would look like after the user fills in these dropdowns:
1 answers

I suggest not to use enumerations.

Create the connection to the 2 systems to read the data, maybe via a REST call to the systems. Make sure to store the data in 2 entities, one for system 1 and one for system 2 with 2 attributes (site name and project name) in each entity.

Create a third entity that has a 1 – * associationto entity for system 1 and the same to the entity for system 2.

Now you can create a page with 2 reference selectors on it using the created associations and the user should be able to create a new record in the third entity and create the connection between the 2 records.

If more automation is needed the result of the 2 REST calls (the data in entity 1 and 2) could be used to loop over and automatically create the record in entity 3 based on a retrieved action via the name (if this is uniquee enough). If this is an option then entity 3 would not even be needed as an setting an association between entity 1 and 2 would then suffice to create a grid with the data from entity 1 and 2.


I hope this gives you an idea on how to implement this requirement.