Anything that interacts (pulls or sends to Maximo) uses a maximo-datasource. A json-datasource is used in a few different ways in the out of the box applications. The ideal scenario to use it (in my opinion) is scenarios like when you are changing the status and the value list of what can be chosen is dynamic. Based on your security access, the current work order status, etc. determines what statuses you can select. Instead of trying to build a filter to restrict the list via a sqlite query, you search the synonym domain maximo-datasource to get all values for WOSTATUS and then process it to determine if the status should be added to the json-datasource. Then you display the json-datasource of all the allowable values. This works well because you only need this data temporarily and will then copy the value into the maximo-datasource to execute the status change.
You will, however, see uses of json-datasource where they are using it as an interim step in capturing data from the user. This to me (again, opinion) is rarely the correct solution because what happens is you need to get the data from a maximo-datasource, load into the json-datasource (including doing things like setting the schema to ensure the data the user enters is valid based on data type, length, scale, etc. along with getting things like the labels), and then copy from the json-datasource into the maximo-datasource. There's overhead in that process and a lot of places where things can go wrong. For example, maximo-datasource support lazy loading where it fetches a page-size (say 50 records) and then as the user scrolls it fetches the next 50. What often happens is the json-datasource only displays the 50 records because it loads the items from the maximo-datasource without fetching all records. Or like the inventory counting app used to do, will force the maximo-datasource to load all the records so it can copy it into the json-datasource but that leads to performance issues because you potentially need to load thousands of records before anything can display.
Regarding the src, in this example it's declaring an empty json array that will then get loaded via some other mechanism. If you had a static list, you could incorporate that into the src without needing to populate it another way.
------------------------------
Steven Shull
Naviam
------------------------------
Original Message:
Sent: 03-10-2026 06:43
From: JustIn goodLuck
Subject: Json_Datasource functionality
Hi Team,
In application, we have 2 type of datasource.
Maximo_datasource and Json_datasource.
We know functionality about maximo_datasource how this used to get data/attributes from mentioned OBJECT STRUCTURE as it used to clearly defined in xml.
But little bit confuse on Json_datasource . I couldn't identifiy how this json_datasource works and fetch data from maximo db to be utlized in any lookup to display data etc.
For example,
<json-datasource id="assetFeatureData" id-attribute="assetfeatureid" selection-mode="single" src="{[]}">
this json-datasource doesn't have any given object structure and any other source from where it will get data. but still this is being used.
also what is significant of src="{[]}"?
Thanks & Regards
#EverythingMaximo
#MaximoApplicationSuite
#Mobility
------------------------------
JustIn goodLuck
ABS
------------------------------