Our company has an eCommerce website developed by the contractor. The website is based on Magento 2, with customizations, e.g., reporting.
The staff, we, are developing a data warehouse with automatic reporting as a cross check side-by-side with the customized reports in Magento.
For straightforward use cases, the Magento database contains the information directly as a table column, therefore, we built an ETL (extract-transform-load) to fetch the data into the data warehouse and report the information directly.
In the more complicated use cases, the Magento report contains a column computed from other data, therefore we need to figure out the logic to build a cross check in the data warehouse. Because we do not have direct access to the contractor, so the best start is to read the source code ourselves.
Our Question:
For example, in one of the concerned Magento reports, we found the below indicator:
<dataProvider class="Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider" name="application_extract_grid_data_source">
We guess it points to the path of the DataProvider, and the class contains the logic for the computed column. We wonder where to find the corresponding logic in the source code repository.
Or, if we missed anything, please also kindly point out.
We are new to Magento, and we highly appreciate hints and suggestions.
The partial sample source code of `application_report_table.xml`:
<?xml version="1.0" encoding="UTF-8"?>
<listing xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">
<argument name="data" xsi:type="array">
<item name="js_config" xsi:type="array">
<item name="provider" xsi:type="string">application_extract_grid.application_extract_grid_data_source</item>
</item>
</argument>
<settings>
<spinner>application_extract_columns</spinner>
<deps>
<dep>application_extract_grid.application_extract_grid_data_source</dep>
</deps>
</settings>
<dataSource name="application_extract_grid_data_source" component="Magento_Ui/js/grid/provider">
<settings>
<storageConfig>
<param name="indexField" xsi:type="string">id</param>
</storageConfig>
<updateUrl path="mui/index/render"/>
</settings>
<aclResource>Company_application::application_extract</aclResource>
<dataProvider class="Magento\Framework\View\Element\UiComponent\DataProvider\DataProvider" name="application_extract_grid_data_source">
<settings>
<requestFieldName>id</requestFieldName>
<primaryFieldName>id</primaryFieldName>
</settings>
</dataProvider>
</dataSource>
...