diff --git a/content/en/docs/marketplace/platform-supported-content/modules/data-importer-extension.md b/content/en/docs/marketplace/platform-supported-content/modules/data-importer-extension.md deleted file mode 100644 index 280c292792c..00000000000 --- a/content/en/docs/marketplace/platform-supported-content/modules/data-importer-extension.md +++ /dev/null @@ -1,337 +0,0 @@ ---- -title: "Data Importer" -url: /appstore/modules/data-importer/ -description: "Overview of the Data Importer in Studio Pro" -aliases: - - /appstore/modules/data-importer-extension/ ---- - -## Introduction - -{{% alert color="info" %}} -The Data Importer is available in [Studio Pro 10.6](/releasenotes/studio-pro/10.6/) and above. -{{% /alert %}} - -The [Data Importer](https://marketplace.mendix.com/link/component/219833) allows you to import data from an Excel or comma-separated value (CSV) file. You can choose which sheet and columns to import, preview the data, and create a non-persistable entity (NPE) in your domain model that corresponds to your input. Then, you can import data into your app using the [Import Data from File](/refguide/import-data-from-file/) activity. - -The Data Importer document can also be used as a source for creating [Import Mapping](/refguide/import-mappings/). This import mapping can import data from Excel/CSV file using the [Import with Mapping](/refguide/import-mapping-action/) activity. - -{{% alert color="info" %}} -The Data Importer document as a source for import mapping is available from [Studio Pro 10.18.0](/releasenotes/studio-pro/10.18/) and above. -{{% /alert %}} - -### Typical Use Cases - -The Data Importer extension allows you to import data from Excel and CSV files directly into your app. You can create a Data Importer document to define which columns to import and an NPE to hold the imported data, along with source-to-target mapping. -The Data Importer document can also be used as a source for creating Import Mapping and you can leverage the capabilities provided by Import Mapping to import data into existing entity. - -### Features {#features} - -This extension supports following source files: - -* Microsoft Excel (*.xls, .xlsx, .csv*) -* Mapping Parameter support is extended for the Data Importer document with Import Mapping. - -### Limitations - -This extension currently has the following limitations: - -* The Excel column cell type is taken from the source file to determine the target attribute type; this cannot be changed during the data preview stage -* Source data can be mapped to one entity only; associations are not currently supported -* You cannot map data to an existing NPE; you have to create a new entity as part of mapping -* Enumerations are not supported -* **String** is the default attribute type (*.csv* only) -* Only UTF-8 encoded files are supported for CSV import. Non-encoded files may result in loss of data. - -### Prerequisites - -* Studio Pro 10.6 or above - -### Installation - -Download the [Data Importer](https://marketplace.mendix.com/link/component/219833) from the Marketplace and [add it into your app](/appstore/use-content/). - -## Data Importer Document (With Implicit Mapping) - -### Creating a Data Importer Document {#create-document} - -To import data, right-click on the module and click **Add other** > **Data Importer**. Name the document, click **OK**, and the new Data Importer document opens. - -### Previewing Data {#preview-data} - -Once you have [created the Data Importer document](#create-document), click **Select a local file** to import an Excel file (*.xls* or *.xslx*) or CSV file (*.csv*). - -{{< figure src="/attachments/appstore/platform-supported-content/modules/data-importer-extension/select-file-for-preview.png" >}} - -#### Previewing Excel Data {#preview-data-excel} - -Select or drop the file in the **Select Source File** window. You can choose which sheet to import data from and specify the header row and starting data row. - -* **Sheet Name** – name of the worksheet from where data needs to be imported; if the Excel has multiple worksheets, the sheet name appears in the drop-down -* **Header Row No.** – row number of the file header; the default is 1 -* **Read Data From Row No.** – starting line for reading data; the default is 2 - -{{< figure src="/attachments/appstore/platform-supported-content/modules/data-importer-extension/select-sheet-and-header-data-row.png" >}} - -Click **Preview Source Data & Entity** to view the data from the file. The first 10 rows from the source file are shown in the data preview section. The Sheet Name is used to create a NPE, but this can be edited. The column names correspond to the attribute names within the entity. - -All the columns are selected (checked) by default. You can uncheck the columns you do not want to import. At the bottom of the table, you can see the target data type of the attribute, which is based on the cell type defined in the file's first data row. If any data types are incorrect, check the cell type of the first data row in Excel and adjust the cell type definition accordingly. - -{{% alert color="warning" %}} Column names that do not adhere to Mendix naming conventions will be autocorrected. {{% /alert %}} - -{{< figure src="/attachments/appstore/platform-supported-content/modules/data-importer-extension/preview-data-and-entity.png" >}} - -##### Header and data row numbering - -The empty rows before the start of actual header and data row(s) are trimmed in the preview. This means the preview will be skewed if the provided header row value is >1. To avoid this, you can remove the empty rows yourself before uploading the file and assign the header row as 1, or make sure the rows before the header row contain some data and keep the header row value as its actual value. - -For example, the below file will result in a confusing preview if **Header Row No.** is 2 and **Read Data From** is 3. In this scenario, the first row (which is empty) should be removed from the input Excel file. Then, **Header Row No.** should be set as 1 and **Read Data From** as 2. Otherwise, a static test should be given in any column of first row to continue with **Header Row No.** as 2. - -{{< figure src="/attachments/appstore/platform-supported-content/modules/data-importer-extension/empty-row-before-header.png" width="400" >}} - -#### Previewing CSV Data {#preview-data-csv} - -Select or drop the CSV file in the **Select Source File** window. CSV import supports multiple combinations of separator/delimiter, quote, and escape characters. It also supports importing files where the header row is absent. - -Specify the values for all four configurations (Delimiter, Quote Character, Escape Character, and Add Header Row): - -* **Delimiter (Separator)** – supported delimiters are comma, semicolon, pipe, and tab; the default is comma -* **Quote Characters** – supported quote characters are single and double quotes; the default is double quotes -* **Escape Characters** – supported escape characters are backslash, single, and double quotes; the default is double quotes -* **Add Header Row** – specify if you want to add a header row or if the header row is already part of the CSV file; the default is the header row already included in file - -Click **Preview Source Data & Entity** to view the data from the file. The first ten rows from the source file are shown in the data preview section. The file name is used to create a NPE, but this can be edited. The column names correspond to the attribute names within the entity. - -All the columns are selected (checked) by default. You can uncheck the columns you do not want to import. At the bottom of the table, you can see the target data type of the attribute, which defaults to **String**. - -{{% alert color="warning" %}} Column names that do not adhere to Mendix naming conventions will be autocorrected. {{% /alert %}} - -For example, for the following source data (CSV), the separator is specified as Comma. The Quote and Escape Characters are set to Double Quote, and Header is included in the input file. - -{{< figure src="/attachments/appstore/platform-supported-content/modules/data-importer-extension/source-csv-data.png" >}} - -The data preview and resulting entity would be as seen below: - -{{< figure src="/attachments/appstore/platform-supported-content/modules/data-importer-extension/preview-csv-data-and-entity.png" >}} - -### Editing an Entity {#edit-entity} - -You can edit the entity in the **Entity Preview** section. The Data Importer supports various ways to: - -* Edit the name of resultant entity -* Edit the name of the attribute (or attributes) of the entity -* Edit the data type of a given attribute - -Click **Edit** at top-right corner of **Entity Preview**. This will render a pop-up window where you can change the name of the entity. You can also change the name of the attribute; *Original Name* is the name of the column from the input file and *Attribute Name* is the new name you can assign to this column. You can also change the data type of this attribute by selecting a relevant value from the drop-down as shown below. - -{{< figure src="/attachments/appstore/platform-supported-content/modules/data-importer-extension/edit-csv-entity.png" class="no-border" >}} - -Once you are satisfied with the changes, click **OK** to save or **Cancel** to discard your changes. - -{{% alert color="info" %}} -The **Edit Entity** feature is useful for CSV import, as all the columns of a CSV file are marked as String by default, so you can change the data type if necessary. The following table shows the source-to-target data conversion matrix: - -Input CSV File - -| Source Type | Target- String | Target- Int | Target- Long | Target- Decimal | Target- Boolean | Target- DateTime | -| :-------- | :------- | :-------- | :------- | :-------- | :------- | :-------- | -| String | Yes | Partial | Partial | Partial | Partial | No | - -Input Excel File - -| Source Type | Target- String | Target- Int | Target- Long | Target- Decimal | Target- Boolean | Target- DateTime | -| :-------- | :------- | :-------- | :------- | :-------- | :------- | :-------- | -| String | Yes | Partial | Partial | Partial | Partial | No | -| Boolean | Yes | No | No | No | Yes | No | -| Decimal | Yes | Partial | Partial | Yes | No | No | -| DateTime | Yes | No | No | No | No | Yes | - -**Partial** - If the source data is valid and within range, it will be converted into the target data type. - -{{% /alert %}} - -{{% alert color="warning" %}} - -* **Enum** is not supported as a target data type -* Runtime exceptions can occur if the input data cannot be converted into desired the target data type for various reasons (for example, invalid data, data truncation, casting, etc.) -{{% /alert %}} - -### Creating an Entity {#create-entity} - -When you are done editing the entity, click **Create Entity** > **OK**. This will create the entity in your domain model. - -When the entity is created, you can view the mapping of the source columns to the target entity attributes. - -{{< figure src="/attachments/appstore/platform-supported-content/modules/data-importer-extension/source-to-target-mapping.png" width="500" >}} - -The Data Importer document creation is complete and can be used to [import data in a microflow](#import-microflow). - -## Importing Data in a Microflow {#import-microflow} - -Use the previously created Data Importer document to import data from your input file (or files) in a microflow. The example below shows how to import data from an Excel file. The same steps are applicable to import data from CSV files. - -1. Create a new microflow and drag the **Import data from file** activity into it. - - {{< figure src="/attachments/appstore/platform-supported-content/modules/data-importer-extension/custom-activity.png" >}} - -2. Double-click the activity and in the **File** field, select an input file (Excel or CSV). -3. In the **Data importer document** field, click **Select** and choose the Data Importer document you want to use. Choose an appropriate Data Importer document based on the input file. - - {{< figure src="/attachments/appstore/platform-supported-content/modules/data-importer-extension/choose-data-importer-template.png" >}} - -4. After selecting the Data Importer document, the **Return type** and **Variable name** will auto-populate. You can also change the name of the output variable. -5. Click **OK**. - -The custom activity is configured and you can import data from input files. - -{{< figure src="/attachments/appstore/platform-supported-content/modules/data-importer-extension/example-microflow.png" >}} - -## Running Your App - -To perform testing, you can do the following actions: - -* Provide a placeholder to upload a file (System.FileDocument) on a page and a button to call the configured microflow -* Deploy your app locally and browse and upload an input file that resembles the file used to create Data Importer document -* View the message about x number of rows being imported into a list of entities - -{{< figure src="/attachments/appstore/platform-supported-content/modules/data-importer-extension/local-app-run.png" >}} - -## Data Importer Document (as a Source for Import Mapping) - -The [Import Mapping](/refguide/import-mappings/) document and the [Import with Mapping](/refguide/import-mapping-action/) activity provide inherent advantages, like controlling the commit of objects, and the flexibility to find or create an object. This new feature of the Data Importer document leverages these capabilities by creating a source structure, which can be used to create import mappings. If you are comfortable working with [Mapping Documents](/refguide/mapping-documents/), you can use this feature to address advanced use cases of importing data into Studio Pro. The section below describes how to create a structure, an import mapping using this structure, and leveraging the **Import with Mapping** microflow activity to import data into Studio Pro. - -### Creating a Data Importer Document {#create-document-with-imm} - -To import data, do the following: - -1. Right-click the module and click **Add other** > **Data Importer**. -2. Name the document and enable the **Use with Import Mapping** checkbox. -3. Click **OK** and the new Data Importer document opens. - - {{< figure src="/attachments/appstore/platform-supported-content/modules/data-importer-extension/create-DI-doc-with-import-mapping.png" width="400" >}} - -### Previewing Structure {#preview-structure} - -Once you have [created the Data Importer document](#create-document-with-imm), click **Select a local file** to upload a sample Excel file (*.xls* or *.xslx*) or CSV file (*.csv*). - -{{< figure src="/attachments/appstore/platform-supported-content/modules/data-importer-extension/select-file-for-structure-preview.png" >}} - -You can choose which sheet to import data from, and specify the header row and starting data row. - -* **Sheet Name** – name of the worksheet from where data needs to be imported; if the file has multiple worksheets, the sheet name appears in the drop-down -* **Header Row No.** – row number of the file header; the default is **1** -* **Read Data From Row No.** – starting line for reading data; the default is **2** - -Click **Preview Structure Elements** to view the data structure from the file. The data from the first row of the source file is shown in the **Schema elements** section. Click **Create Structure** and you will be notified that a new structure is generated successfully. - -{{< figure src="/attachments/appstore/platform-supported-content/modules/data-importer-extension/preview-data-structure.png" >}} - -{{% alert color="warning" %}} Column names that do not adhere to Mendix naming conventions will be autocorrected. {{% /alert %}} - -### Create Import Mapping {#DI-import-mapping} - -Create the import mapping using the Data Importer document created in the step above by doing the following: - -1. Right-click your module or folder and select **Add other** > **Import mapping**. -2. Name the import mapping document, then click **OK**. You are then routed to **Select a schema element for import mapping**. -3. From the **Schema source**, choose **Excel/CSV structure**. -4. Select the sheet from the Excel file that has been uploaded as a sample, as shown in the image below: - - {{< figure src="/attachments/appstore/platform-supported-content/modules/data-importer-extension/select-schema-elements-for-imm.png" >}} - -5. Select the columns you want to import. You can either select all the columns by choosing **Check all** or select individual columns. -6. Click **OK** to create the **Import Mapping**. - - {{< figure src="/attachments/appstore/platform-supported-content/modules/data-importer-extension/create-import-mapping.png" >}} - -7. You can now choose to: - 1. Map an existing entity by dragging and dropping an entity from your domain model via the **Connector** tab - 2. Click **Map automatically** to create a new NPE in your domain model: - - {{< figure src="/attachments/appstore/platform-supported-content/modules/data-importer-extension/map-automatically.png" >}} - -8. If you choose **Map automatically**, you can open the domain model and change the entity's name and persistence, as per your requirement. - - {{< figure src="/attachments/appstore/platform-supported-content/modules/data-importer-extension/entity-name-persist-change.png" >}} - -### Import With Mapping Activity in a Microflow {#import-with-mapping-MF} - -As the Data Importer document contains a structure that is used as a source for import mapping, you can leverage the **Import with mapping** microflow activity to import data from input file(s). - -The instructions below show how to import data from an Excel (or CSV) file. - -1. Create a new microflow with a parameter (FileDocument) and drag the **Import with mapping** activity into it. -2. Double-click the activity. -3. In the **Input** section, in the **Variable** field, select an input file (Excel or CSV). -4. Select the mapping in the **Import Mapping** section. -5. Select **Range** and **Commit** options, if needed. -6. In the **Output** section, you can choose **Store in variable**, then click **OK**. - - {{< figure src="/attachments/appstore/platform-supported-content/modules/data-importer-extension/import-with-mapping-params.png" width="500" >}} - -### Support for Mapping Parameter in Import Mapping {#mapping-param-import-mapping} - -{{% alert color="warning" %}} This feature is supported for the Data Importer runtime module v1.5.0 and above. {{% /alert %}} - -The [Mapping Parameter](/refguide/import-mappings/#mapping-parameter) is supported by Data Importer starting from Mendix 10.21. The Mapping Parameter can be used to create associations with imported data. Primitive types that are not supported but any Mendix object type can be passed as the **Mapping Parameter**. - -Follow the instructions below to define an **Import Mapping** with mapping parameters. - -1. In your **Import Mapping**, drag an entity from the **Connector** tab and drop into the target object placeholder. Click **Cancel** on the **Map entity...** dialog as you will fill in the details later. -2. From the **Connector** pane, drag another entity which you intend to pass as a parameter and drop into the parameter placeholder. -3. **Double Click** the source or target object to open the **Map entity...** dialog. -4. Select **Call a microflow** to **Obtain Mendix Object** for your Import Mapping. -5. If necessary, create a **Microflow** which will create an object of target entity and set an association with the passed parameter. -6. In your **Import Mapping**, choose the **Set association** to **Yes** and select a valid **Association** from the dropdown. -7. Click **Map attributes** to map the source schema value elements to the target entity attribute. - -The Import Mapping should look like the example below: - -{{< figure src="/attachments/appstore/platform-supported-content/modules/data-importer-extension/IM-with-mapping-param-association.png"width="500" >}} - -### Before Running Your App {#data-import-with-mapping-app} - -Before you can run your app, do the following: - -1. Complete the microflow to show a page containing the entities committed after the import activity. -2. Call this microflow from a button on another page where a *FileDocument* object is created and has a provision to upload an input file. -3. Run your app locally and provide a file which is exactly like the sample file you have uploaded while creating this Data Importer document, then trigger the microflow. - -You should see the data from the file being imported and shown on the page's data grid. - -​ {{< figure src="/attachments/appstore/platform-supported-content/modules/data-importer-extension/data-imported-from-input-file.png" >}} - -## Edit Data Importer Document - -You can edit the Data Importer document by uploading a new sample file. - -{{% alert color="warning" %}}This action will erase the existing mapping or structure elements created for this document, and will replace it with new mapping and structure elements.{{% /alert %}} - -### Upload a New File {#edit-DI-document-using-new-file} - -To edit the Data Importer document, do the following: - -1. Double-click the Data Importer document that you want to **Edit**. The document opens in read-only mode. -2. Click **Update File** in the top-right corner. You will receive notification that when a new file is uploaded and changes are saved, existing mapping/structure elements will be erased and will be replaced by new mapping/structure. - - {{< figure src="/attachments/appstore/platform-supported-content/modules/data-importer-extension/update-data-importer-doc-confirmation.png" >}} - -3. Click **Update**, then upload the new file. -4. Change the configuration, such as **Sheet Name** and **Header Row**. -5. Click **Create Structure** to update the document. - - {{< figure src="/attachments/appstore/platform-supported-content/modules/data-importer-extension/data-importer-doc-updated.png" >}} - -Similar steps can be followed to update the Data Importer document, which was created with **Implicit Mapping** in the [Creating a Data Importer Document](#create-document-with-imm) section. - -You can now update the domain model entities, microflows, pages, and any other documents used or referenced by this Data Importer document to reflect the changes in your app. - -## Known Issues - -### Unchecked Columns - -It is not possible to rename an attribute or change a data type if there are unchecked columns. To avoid this issue, format your Excel or CSV file in a way that does not require you to uncheck any columns after inputting to Studio Pro. - -### "No suitable constructors found" Error in Studio Pro versions < 10.21.0 with module v1.4.0 - -While using the Data Importer document with import mapping capability, there is an issue where the runtime module throws an error with the message "No suitable constructors found for action class 'DataImportMapping'." This is due to a non-compatible Data Importer module in the Marketplace. If you experience this issue, re-import the latest version of the Data Importer module. The Data Importer module v1.4.0 has been republished to solve this issue. diff --git a/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/_index.md b/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/_index.md index 2dd47325def..e86996bacea 100644 --- a/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/_index.md +++ b/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/_index.md @@ -23,6 +23,7 @@ The following are the integration activities you can use in your microflow: * [Export Mapping](/refguide/export-mapping-action/) – exports data from objects into XML or JSON documents, or a string variable * [Query External Database](/refguide/query-external-database/) – uses preconfigured database queries and displays retrieved data * [Send REST Request (beta)](/refguide/send-rest-request/) – sends a REST request +* [Import Data from File](/refguide/import-data-from-file/) - uses data importer document and import data from Excel or CSV files into objects ## Read More diff --git a/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/data-importer.md b/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/import-data-from-file.md similarity index 85% rename from content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/data-importer.md rename to content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/import-data-from-file.md index 55a175865ec..3aa02731dd4 100644 --- a/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/data-importer.md +++ b/content/en/docs/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/import-data-from-file.md @@ -13,7 +13,7 @@ This activity can only be used in **Microflows**. The **Import data from file** activity can be used in a microflow to integrate data from an Excel file into your Mendix app. The activity can be found under **Integration activities** in the **Toolbox**. -{{% alert color="warning" %}}Before using this activity, make sure you have created a Data Importer document using the [Data Importer extension](/appstore/modules/data-importer-extension/).{{% /alert %}} +{{% alert color="warning" %}}Before using this activity, make sure you have created a Data Importer document using the [Data Importer](/refguide/data-importer/).{{% /alert %}} ## Properties @@ -24,7 +24,7 @@ Drag the **Import data from file** activity into your microflow and double-click The following are the properties in the **Input** section: * **File** – name of file from which you want to import data -* **Data importer document** – the [Data Importer document](/appstore/modules/data-importer-extension/) created by going to **Add other** > **Data Importer** +* **Data importer document** – the [Data Importer document](/refguide/data-importer/) created by going to **Add other** > **Data Importer** The following are the properties in the **Output** section: diff --git a/content/en/docs/refguide/modeling/integration/_index.md b/content/en/docs/refguide/modeling/integration/_index.md index 6cd240cbb57..1f71049c87d 100644 --- a/content/en/docs/refguide/modeling/integration/_index.md +++ b/content/en/docs/refguide/modeling/integration/_index.md @@ -23,6 +23,7 @@ Data integration capabilities in Studio Pro is part of [Mendix Connect](#integra * [Web services](/refguide/integration/web-services/) * [Change Data Capture services](/refguide/change-data-capture/) * [Business Event services](/refguide/business-event-services/) +* [Data Importer](/refguide/data-importer/) In addition to integration capabilities in Studio Pro, Mendix Connect functionalities include: diff --git a/content/en/docs/refguide/modeling/integration/data-importer.md b/content/en/docs/refguide/modeling/integration/data-importer.md new file mode 100644 index 00000000000..7d1c7185a11 --- /dev/null +++ b/content/en/docs/refguide/modeling/integration/data-importer.md @@ -0,0 +1,372 @@ +--- +title: "Data Importer" +url: /refguide/data-importer/ +weight: 21 +description: "Describes how to use the Data Importer in Studio Pro to import data from Excel and CSV files." +aliases: + - /howto/integration/data-importer/ + - /appstore/modules/data-importer/ +#If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. +--- + +## Introduction + +{{% alert color="info" %}} +The Data Importer is available in [Studio Pro 10.6](/releasenotes/studio-pro/10.6/) and above. +{{% /alert %}} + +**Data Importer** allows you to import data from an Excel or comma-separated value (CSV) file. You can choose which sheet and columns to import, preview the data, and create a non-persistable entity (NPE) in your domain model that corresponds to your input. Then, you can import data into your app using the [Import Data from File](/refguide/import-data-from-file/) activity. + +The Data Importer document can also be used as a source for creating [Import Mapping](/refguide/import-mappings/). This import mapping can import data from an Excel or CSV file using the [Import with Mapping](/refguide/import-mapping-action/) activity. + +{{% alert color="info" %}} +Using the Data Importer document as a source for import mapping is available from Studio Pro 10.18.0 and above. +{{% /alert %}} + +## Prerequisites + +Studio Pro 10.6 or above + +{{% alert color="info" %}} +Your app must be running locally to preview data in the Data Importer document. +{{% /alert %}} + +## Limitations + +The Data Importer currently has the following limitations: + +* Source data can be mapped to one entity only, associations are not currently supported +* You cannot map data to an existing NPE; you must create a new entity as part of the mapping +* Enumerations are not supported +* **String** is the default attribute type (CSV only) +* Only UTF-8 encoded files are supported for CSV import; non-encoded files may result in loss of data + +### Installation + +For Studio Pro versions **below 11.13.0**, Download the [Data Importer](https://marketplace.mendix.com/link/component/219833) from the Marketplace and [add it into your app](/appstore/use-content/). + +## Data Importer Document (With Implicit Mapping) {#implicit-mapping} + +The Data Importer allows you to import data from Excel and CSV files directly into your app. Create a Data Importer document to define which columns to import and a non-persistable entity (NPE) to hold the imported data, along with source-to-target mapping. During document creation, you can preview the data, choose which columns to import, and edit the name of the resulting entity. + +The Data Importer document can be used along with the [Import data from file](/refguide/import-data-from-file/) custom activity. Use this activity in a microflow to import data from an Excel or CSV file. + +### Creating a Data Importer Document + +Right-click the module you want to add the Data Importer document to and click **Add other** > **Data Importer**. + +{{< figure src="/attachments/refguide/modeling/integration/data-importer/data-importer-menu.png" class="no-border" width="600" >}} + +Name the document, then click **OK**, and the new Data Importer document opens. + +### Previewing Excel Data {#preview-excel-data} + +Click **Upload File** to import an Excel file (*.xls* or *.xlsx*). [Note: App should be running to preview data.] + +{{< figure src="/attachments/refguide/modeling/integration/data-importer/select-file-for-preview.png" class="no-border" width="600" >}} + +Select the file in the **Select Source File** field. An Excel workbook can have single or multiple sheets; you can choose which sheet to import data from and specify the header row and starting data row. + +* **Sheet Name** – name of the worksheet from where data needs to be imported; if the Excel has multiple worksheets, the sheet name appears in the drop-down +* **Header Row No.** – row number of the file header; the default is 1 +* **Read Data From** – starting line for reading data; the default is 2 + +{{< figure src="/attachments/refguide/modeling/integration/data-importer/select-sheet-and-header-data-row.png" class="no-border" width="600" >}} + +Click **Preview Data** to view the data from the file. The first 10 data rows from the source file are shown in the data preview section. If there are less than 10 data rows in the sample file, only the available rows are shown. The column names correspond to the attribute name within the entity, and the sheet name is used to define the entity. + +All the columns are selected (checked) by default. You can uncheck the columns you do not want to import. At the bottom of the table, you can see the target data type of the attribute, which is based on the cell type defined in the file's first data row. If any data types are incorrect, check the cell type of the first data row in Excel and adjust the definition accordingly. + +{{% alert color="warning" %}} Column names that do not adhere to Mendix naming conventions will be autocorrected. For **Number** cell types, the target Mendix type is mapped to **Decimal** to accommodate integers and decimals. {{% /alert %}} + +{{< figure src="/attachments/refguide/modeling/integration/data-importer/preview-data-and-entity.png" class="no-border" width="600" >}} + +### Previewing CSV Data {#preview-csv-data} + +[Note: App should be running to preview the data] Select the CSV file in the **Select Source File** field. CSV import supports multiple combinations of separator/delimiter, quote, and escape characters. It also supports importing files where the header row is absent. + +Specify the values for all four configurations: + +* **Delimiter (Separator)** – supported delimiters are comma, semicolon, pipe, and tab; the default is comma +* **Quote Characters** – supported quote characters are single and double quotes; the default is double quotes +* **Escape Characters** – supported escape characters are backslash, single, and double quotes; the default is double quotes +* **Add Header Row** – specify if you want to add a header row or if the header row is already part of the CSV file; the default is the header row already included in the file + +Click **Preview Data** to view the data from the file. The first ten rows from the source file are shown in the data preview section. The file name is used to create a NPE, but this can be edited. The column names correspond to the attribute names within the entity. + +All the columns are selected (checked) by default. You can uncheck the columns you do not want to import. At the bottom of the table, you can see the target data type of the attribute, which defaults to **String**. + +{{% alert color="warning" %}} Column names that do not adhere to Mendix naming conventions will be autocorrected. {{% /alert %}} + +For example, for the following source data (CSV), the separator is specified as Comma. The Quote and Escape Characters are set to Double Quote, and the header is included in the input file. + +{{< figure src="/attachments/refguide/modeling/integration/data-importer/source-csv-data.png" class="no-border" width="600" >}} + +The data preview and resulting entity are shown below: + +{{< figure src="/attachments/refguide/modeling/integration/data-importer/preview-csv-data-and-entity.png" class="no-border" width="600" >}} + +### Editing an Entity {#edit-entity} + +You can edit the entity in the **Entity Preview** section. The Data Importer supports the following edits: + +* Edit the name of the resulting entity +* Edit the name of one or more attributes of the entity +* Edit the data type of a given attribute + +Click **Edit** at the bottom-right corner of **Entity Preview**. A dialog opens where you can change the name of the entity. You can also change the name of the attribute — *Original Name* is the column name from the input file and *Attribute Name* is the new name you want to assign to it. You can also change the data type of the attribute by selecting a value from the drop-down. + +{{< figure src="/attachments/refguide/modeling/integration/data-importer/edit-csv-entity.png" class="no-border" width="600" >}} + +Once you are satisfied with the changes, click **OK** to save or **Cancel** to discard your changes. + +{{% alert color="info" %}} +The **Edit Entity** feature is useful for CSV import, as all the columns of a CSV file are marked as String by default, so you can change the data type if necessary. The following table shows the source-to-target data conversion matrix: + +Input CSV File + +| Source Type | Target- String | Target- Int | Target- Long | Target- Decimal | Target- Boolean | Target- DateTime | +| :-------- | :------- | :-------- | :------- | :-------- | :------- | :-------- | +| String | Yes | Partial | Partial | Partial | Partial | No | + +Input Excel File + +| Source Type | Target- String | Target- Int | Target- Long | Target- Decimal | Target- Boolean | Target- DateTime | +| :-------- | :------- | :-------- | :------- | :-------- | :------- | :-------- | +| String | Yes | Partial | Partial | Partial | Partial | No | +| Boolean | Yes | No | No | No | Yes | No | +| Decimal | Yes | Partial | Partial | Yes | No | No | +| DateTime | Yes | No | No | No | No | Yes | + +**Partial** - If the source data is valid and within range, it will be converted into the target data type. + +{{% /alert %}} + +{{% alert color="warning" %}} + +* **Enum** is not supported as a target data type +* Runtime exceptions can occur if the input data cannot be converted into the target data type for various reasons (for example, invalid data, data truncation, or casting) +{{% /alert %}} + +### Creating an Entity {#create-entity} + +When you are done editing the entity, click **Create Entity**. You will see a information message that an entity has been created in the domain model and is ready to use. This will create the entity in your domain model + +When the entity is created, you can view the mapping of the source columns to the target entity attributes. + +{{< figure src="/attachments/refguide/modeling/integration/data-importer/source-to-target-mapping.png" class="no-border" width="600" >}} + +The Data Importer document creation is complete and can be used to import data in a microflow. + +## Building Your App {#build-data-importer-app} + +The newly created Data Importer document allows you to periodically import data from an Excel or CSV file that is generated by another app or system. + +### Custom Activity {#Import-data-from-file} + +The **Import data from file** activity is found under **Integration activities** in the **Toolbox**. Double-click to view its properties: + +{{< figure src="/attachments/refguide/modeling/integration/data-importer/custom-activity-params.png" class="no-border" width="600" >}} + +The **Input** section includes: + +* **File** – name of the file from which you want to import data +* **Data Importer document** – the Data Importer document created at the end of the design time flow + +The **Output** section includes: + +* **Return Type** – set to the list of NPEs defined in the Data Importer document +* **Variable name** – auto-populated to the **EntityName** list + +### Build the Pages + +The **Import data from file** custom activity needs an input file to import data from. The example below builds a page where a `System.FileDocument` is uploaded and fed to the custom activity. + +1. Open the home page and add a button and name it *Upload Customer Data*. +2. Double-click the button and in the **Events** field under the **On click** drop-down, select **Create object** to create a `System.FileDocument` entity. +3. Pass the control to a new page (**UploadCustomerData**) where the file is uploaded. + + {{< figure src="/attachments/refguide/modeling/integration/data-importer/home-page-button.png" class="no-border" width="600" >}} + +4. On the **UploadCustomerData** page, include a data view for the *FileDocument* and include a 'File Manager' to assist with a file upload. + + {{< figure src="/attachments/refguide/modeling/integration/data-importer/data-view-file-manager.png" class="no-border" width="600" >}} + +5. Open the **Toolbox** and add a **Call microflow button**. + +6. Click **New** and name the microflow *Import Customer Data*. **FileDocument** appears in the parameters section; make sure this box is checked to include it as a parameter and click **OK**. + +{{< figure src="/attachments/refguide/modeling/integration/data-importer/add-parameter.png" class="no-border" width="600" >}} + +### Configuring the Import data from file Activity in a Microflow + +{{% alert color="info" %}} +The steps below are shown using an Excel input file with its corresponding Data Importer document. You can substitute an Excel document with a CSV document to import data from CSV input files. +{{% /alert %}} + +1. In the created microflow, drag the **Import data from file** activity into it. You can find this activity in the **Toolbox** under **Integration activities**. + + {{< figure src="/attachments/refguide/modeling/integration/data-importer/integration-activity.png" class="no-border" width="600" >}} + +2. When the **Import data from file** activity is added to the microflow, you see three errors in the console: + + {{< figure src="/attachments/refguide/modeling/integration/data-importer/custom-activity.png" class="no-border" width="600" >}} + + To address these errors, double-click the activity and in the **File** field, choose the input file that is passed from the file upload page to this microflow as a parameter. + +3. In the **Data Importer document** field, click **Select** and choose the Data Importer document you want to use. + + {{< figure src="/attachments/refguide/modeling/integration/data-importer/choose-data-importer-template.png" class="no-border" width="600" >}} + + After selecting the Data Importer document, the **Return type** and **Variable name** are auto-populated. You can change the name of the output variable if needed. + +4. Click **OK**. The custom activity is configured and all errors are resolved. + + {{< figure src="/attachments/refguide/modeling/integration/data-importer/configured-custom-activity.png" class="no-border" width="600" >}} + +5. Add an **Aggregate list** activity and configure it to count the size of the **CustomerList** returned from the previous activity. + + {{< figure src="/attachments/refguide/modeling/integration/data-importer/aggregate-list.png" class="no-border" width="600" >}} + +6. Configure a **Show message** activity. You can use a template message and a parameter, as in the example below. + + {{< figure src="/attachments/refguide/modeling/integration/data-importer/show-message-with-list-size.png" class="no-border" width="600" >}} + +7. Set `$CustomerList` as the return value from the **Import data from file** activity for later use. Your completed microflow should look like the image below. + + {{< figure src="/attachments/refguide/modeling/integration/data-importer/example-microflow.png" class="no-border" width="600" >}} + +8. Deploy your app locally. Browse and upload an input file that resembles the file used to create the Data Importer document. +9. Check that you see a message stating **Imported xx rows from input file into a list of NPEs**. + + {{< figure src="/attachments/refguide/modeling/integration/data-importer/local-app-run.png" class="no-border" width="600" >}} + +You have successfully configured and used the Data Importer. You can extend this as needed — for example, by converting the list of NPEs into persistable entities using a message definition, or by using a loop to individually create and commit entities to your database. + +## Data Importer Document (as a Source for Import Mapping) {#import-mapping} + +The [Import Mapping](/refguide/import-mappings/) document and the [Import with Mapping](/refguide/import-mapping-action/) activity provide advantages such as controlling the commit of objects and the flexibility to find or create an object. The Data Importer document can be used as a source structure for import mappings, which enables advanced use cases for importing data. The sections below describe how to create a structure, create an import mapping using that structure, and use the **Import with mapping** microflow activity to import data. + +### Creating a Data Importer Document for Import Mapping {#create-document-with-imm} + +1. Right-click the module and click **Add other** > **Data Importer**. +2. Name the document and enable the **Use with Import mapping** checkbox. +3. Click **OK**. The new Data Importer document opens. + +{{< figure src="/attachments/refguide/modeling/integration/data-importer/create-DI-doc-with-import-mapping.png" class="no-border" width="400" >}} + +### Previewing Structure {#preview-structure} + +[Note: App should be running to preview data] Once you have [created the Data Importer document](#create-document-with-imm), click **Upload File** to upload a Excel file (*.xls* or *.xlsx*) or CSV file (*.csv*). + +{{< figure src="/attachments/refguide/modeling/integration/data-importer/select-file-for-structure-preview.png" class="no-border" >}} + +Choose which sheet to import data from, and specify the header row and starting data row: + +* **Sheet Name** – name of the worksheet from where data needs to be imported; if the file has multiple worksheets, the sheet name appears in the drop-down +* **Header Row No.** – row number of the file header; the default is **1** +* **Read Data From** – starting line for reading data; the default is **2** + +Click **Preview Structure Elements** to view the data structure from the file. The data from the first row of the source file is shown in the **Schema elements** section. You can change **Primitive Type** and **Custom Name** for the as per your requirements. Click **Create Structure**. You are notified that a new structure has been generated successfully. + +{{< figure src="/attachments/refguide/modeling/integration/data-importer/preview-data-structure.png" class="no-border" >}} + +{{% alert color="warning" %}} Column names that do not adhere to Mendix naming conventions will be autocorrected. {{% /alert %}} + +### Creating an Import Mapping {#DI-import-mapping} + +1. Right-click your module or folder and select **Add other** > **Import mapping**. +2. Name the import mapping document, then click **OK**. The **Select a schema element for import mapping** dialog opens. +3. From the **Schema source**, choose **Excel/CSV structure**. +4. Select the sheet from the Excel file that was uploaded as a sample: + + {{< figure src="/attachments/refguide/modeling/integration/data-importer/select-schema-elements-for-imm.png" class="no-border" >}} + +5. Select the columns you want to import. To select all columns, click **Check all**. +6. Click **OK** to create the import mapping: + + {{< figure src="/attachments/refguide/modeling/integration/data-importer/create-import-mapping.png" class="no-border" >}} + +7. You can now: + * Map an existing entity by dragging and dropping it from your domain model via the **Connector** tab + * Click **Map automatically** to create a new NPE in your domain model: + + {{< figure src="/attachments/refguide/modeling/integration/data-importer/map-automatically.png" class="no-border" >}} + +8. If you chose **Map automatically**, open the domain model to change the entity name and persistence as needed: + + {{< figure src="/attachments/refguide/modeling/integration/data-importer/entity-name-persist-change.png" class="no-border" >}} + +### Using the Import with Mapping Activity in a Microflow {#import-with-mapping-MF} + +1. Create a new microflow with a **FileDocument** parameter and drag the **Import with mapping** activity into it. +2. Double-click the activity. +3. In the **Input** section, select an input file (Excel or CSV) in the **Variable** field. +4. Select the mapping in the **Import Mapping** section. +5. Select **Range** and **Commit** options as needed. +6. In the **Output** section, choose **Store in variable**, then click **OK**: + + {{< figure src="/attachments/refguide/modeling/integration/data-importer/import-with-mapping-params.png" class="no-border" width="500" >}} + +### Support for Mapping Parameter in Import Mapping {#mapping-param-import-mapping} + +{{% alert color="warning" %}} This feature requires Studio Pro 10.21 or above. {{% /alert %}} + +The [Mapping Parameter](/refguide/import-mappings/#mapping-parameter) is supported by the Data Importer starting from Studio Pro 10.21. The mapping parameter can be used to create associations with imported data. Primitive types are not supported, but any Mendix object type can be passed as the mapping parameter. + +To define an import mapping with a mapping parameter: + +1. In your import mapping, drag an entity from the **Connector** tab into the target object placeholder. Click **Cancel** on the **Map entity** dialog — you will fill in the details later. +2. From the **Connector** pane, drag the entity you want to pass as a parameter into the parameter placeholder. +3. Double-click the source or target object to open the **Map entity** dialog. +4. Select **Call a microflow** to obtain a Mendix object for your import mapping. +5. If necessary, create a microflow that creates an object of the target entity and sets an association with the passed parameter. +6. In your import mapping, set **Set association** to **Yes** and select a valid association from the drop-down. +7. Click **Map attributes** to map the source schema value elements to the target entity attributes. + +The import mapping should look like the example below: + +{{< figure src="/attachments/refguide/modeling/integration/data-importer/IM-with-mapping-param-association.png" class="no-border" width="500" >}} + +### Before Running Your App {#data-import-with-mapping-app} + +Before running your app: + +1. Complete the microflow to show a page containing the entities committed after the import activity. +2. Call this microflow from a button on another page where a **FileDocument** object is created with a provision to upload an input file. +3. Run your app locally and upload a file that matches the sample file used when creating the Data Importer document, then trigger the microflow. + +You should see the data from the file imported and displayed in the page's data grid. + +{{< figure src="/attachments/refguide/modeling/integration/data-importer/data-imported-from-input-file.png" class="no-border" >}} + +## Edit Data Importer Document {#edit-di-document} + +You can edit a Data Importer document by uploading a new sample file. + +{{% alert color="warning" %}}Uploading a new file erases the existing mapping or structure elements for this document and replaces them with new ones.{{% /alert %}} + +To edit the Data Importer document: + +1. Double-click the Data Importer document you want to edit. The document opens in read-only mode. +2. Click **Update File** in the top-right corner. You are notified that uploading a new file will erase and replace the existing mapping or structure elements. + + {{< figure src="/attachments/refguide/modeling/integration/data-importer/update-data-importer-doc-confirmation.png" class="no-border" >}} + +3. Click **OK**, then upload the new file. +4. Change the configuration as needed, such as **Sheet Name** and **Header Row No.** +5. Click **Create Structure Elements** to update the document. + + {{< figure src="/attachments/refguide/modeling/integration/data-importer/data-importer-doc-updated.png" class="no-border" >}} + +After updating, revise the domain model entities, microflows, pages, and any other documents referenced by this Data Importer document to reflect the changes in your app. + +## Known Issues + +### Unchecked Columns + +You cannot rename an attribute or change a data type if there are unchecked columns. To avoid this issue, format your Excel or CSV file so that you do not need to uncheck any columns after uploading it to Studio Pro. + +### "No Suitable Constructors Found" Error in Studio Pro Versions Earlier Than 10.21.0 + +When using the Data Importer document with the import mapping capability in Studio Pro versions earlier than 10.21.0, the runtime module may throw an error with the message "No suitable constructors found for action class 'DataImportMapping'." This is caused by an incompatible Data Importer module version. To resolve this issue, re-import the latest version of the Data Importer module from the Marketplace. diff --git a/content/en/docs/refguide/modeling/integration/use-platform-supported-content/_index.md b/content/en/docs/refguide/modeling/integration/use-platform-supported-content/_index.md index 4a22399e59b..25146b4b637 100644 --- a/content/en/docs/refguide/modeling/integration/use-platform-supported-content/_index.md +++ b/content/en/docs/refguide/modeling/integration/use-platform-supported-content/_index.md @@ -16,10 +16,6 @@ Documents available for this topic: * [Business Event Services](/refguide/business-event-services/) -* [Use the Data Importer](/refguide/use-the-data-importer/) - - Overview of how to use the Data Importer to import data from a representative file (Excel and CSV) and create a non-persistable entity in your domain model. - * [Connect to an External Database](/refguide/external-database-connection/) Overview of how to configure the External Database Connection document. @@ -36,6 +32,5 @@ Documents available for this topic: * [Mendix Business Events](/appstore/services/business-events/) * [Mendix Event Broker](/appstore/services/event-broker/) -* [Import Data from File](/refguide/import-data-from-file/) * [External Database Connector](/appstore/modules/external-database-connector/) * [Query External Database](/refguide/query-external-database/) diff --git a/content/en/docs/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer.md b/content/en/docs/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer.md deleted file mode 100644 index 49693b837d2..00000000000 --- a/content/en/docs/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer.md +++ /dev/null @@ -1,221 +0,0 @@ ---- -title: "Use the Data Importer" -url: /refguide/use-the-data-importer/ -weight: 21 -description: "Overview of the Data Importer in Studio Pro" -aliases: - - /howto/integration/use-the-data-importer/ -#If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. ---- - -## Introduction - -Data is constantly exchanged between various systems inside and outside an organization. The most commonly used file formats for data exchange are Microsoft Excel and comma-separated value (CSV). These files contain data in a tabular grid of rows, columns, and delimiter-separated values. - -This how-to teaches you to do the following: - -* Create a Data Importer document using a sample representative file (Excel and CSV) -* Create a (non-persistable) entity in your domain model -* Import data using the custom **Import data from file** activity - -## Prerequisites - -Download the [Data Importer extension](https://marketplace.mendix.com/link/component/219833) from the Marketplace and [add it into your app](/appstore/use-content/#install). This module also requires a file document (for more information, see [File Manager](/refguide/file-manager/)) - -## Data Importer Document - -The Data Importer extension allows you to import data from Excel and CSV files directly into your app. Create a Data Importer document to define which columns to import and a non-persistable entity (NPE) to hold the imported data, along with source-to-target mapping. During the Data Importer document creation, you can preview the data and choose which columns you want to import and edit the name of resulting entity. - -The Data Importer document can be used along with the [Import data from file](/refguide/import-data-from-file/) custom activity. Use this activity in a microflow to import data from an Excel or CSV file. - -### Creating a Data Importer Document - -Right-click the module you want to add the Data Importer document to and click **Add other** > **Data Importer**. - -{{< figure src="/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/data-importer-menu.png" class="no-border" width="600" >}} - -Name the document, then click **OK**, and the new Data Importer document opens. - -### Previewing Excel Data {#preview-excel-data} - -Click **Select a local file** to import an Excel file (*.xls* or *.xslx*). - -{{< figure src="/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/select-file-for-preview.png" class="no-border" width="600" >}} - -Select or drop the file in the **Select Source File** field. An Excel workbook can have single or multiple sheets; you can choose which sheet to import data from and specify the header row and starting data row. - -* **Sheet Name** – name of the worksheet from where data needs to be imported; if the Excel has multiple worksheets, their names will appear in the dropdown -* **Header Row No.** – row number of the file header; the default is 1 -* **Read Data From Row No.** – starting line for reading data; the default is 2 - -{{< figure src="/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/select-sheet-and-header-data-row.png" class="no-border" width="600" >}} - -Click **Preview Source Data & Entity** to view the data from the file. The first 10 data rows from the source file are shown in the data preview section. If there are less than 10 data rows in the sample file, only the available rows are shown. The column names correspond to the attribute name within the entity, and the sheet name is used to define the entity. - -All the columns are automatically selected (checked) for import. You can uncheck the columns you do not want to use. At the bottom of the table, you see the target data type of the attribute, which is based on the cell-type defined in the Excel file's first data row. If any data types are incorrect, check the cell-type of the first data row and adjust the definition accordingly. - -{{% alert color="warning" %}} Column names that do not adhere to Mendix naming conventions will be autocorrected. For **Number** cell-types, the target Mendix type is mapped to **Decimal** to accommodate to integers and decimals. {{% /alert %}} - -{{< figure src="/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/preview-data-and-entity.png" class="no-border" width="600" >}} - -### Previewing CSV Data {#preview-csv-data} - -Select or drop the CSV file in the **Select Source File** window. CSV import supports multiple combinations of separator/delimiter, quote, and escape characters. It also supports importing files where the header row is absent. - -Specify the values for all four configurations (Delimiter, Quote Character, Escape Character, and Add Header Row): - -* **Delimiter (Separator)** – current supported delimiters are comma, semicolon, pipe, and tab; the default is comma -* **Quote Characters** – current supported quote characters are single and double quotes; the default is double quotes -* **Escape Characters** – current supported escape characters are backslash, single, and double quotes; the default is double quotes -* **Add Header Row** – specify if you want to add a header row or if the header row is already part of the CSV file; the default is the header row already included in file - -Click **Preview Source Data & Entity** to view the data from the file. The first ten rows from the source file are shown in the data preview section. The file name is used to define the entity (NPE), but this can be edited. The column names correspond to the attribute name within the entity. - -All the columns are selected (checked) by default. You can uncheck the columns you do not want to import. At the bottom of the table, you can see the target data type of the attribute, which defaults to **String**. - -{{% alert color="warning" %}} Column names that do not adhere to Mendix naming conventions will be autocorrected. {{% /alert %}} - -For example, for the following source data (CSV), the separator is specified as Comma and Quote, and the Escape Character is Double Quote and Header. This is already part of the input file. - -{{< figure src="/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/source-csv-data.png" class="no-border" width="600" >}} - -The data preview and resulting entity are seen below: - -{{< figure src="/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/preview-csv-data-and-entity.png" class="no-border" width="600" >}} - -### Editing an Entity {#edit-entity} - -You can edit the entity in the **Entity Preview** section. The Data Importer supports various ways to: - -* Edit the name of resultant entity -* Edit the name of the attribute (or attributes) of the entity -* Edit the data type of a given attribute - -Click **Edit** at top-right corner of **Entity Preview**. This will render a pop-up window where you can change the name of the entity. You can also change the name of the attribute; *Original Name* is the name of the column from input file and *Attribute Name* will be the new name that you want to assign to this column. You can also change the data type of this attribute by selecting a relevant value from the drop-down as shown below. - -{{< figure src="/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/edit-csv-entity.png" class="no-border" width="600" >}} - -Once you are satisfied with the changes, click **OK** to save or **Cancel** to discard your changes. - -{{% alert color="info" %}} -The **Edit Entity** feature is useful for CSV import, as all the columns of a CSV file are marked as String by default, so you can change the data type if necessary. The following table shows the source-to-target data conversion matrix: - -Input CSV File - -| Source Type | Target- String | Target- Int | Target- Long | Target- Decimal | Target- Boolean | Target- DateTime | -| :-------- | :------- | :-------- | :------- | :-------- | :------- | :-------- | -| String | Yes | Partial | Partial | Partial | Partial | No | - -Input Excel File - -| Source Type | Target- String | Target- Int | Target- Long | Target- Decimal | Target- Boolean | Target- DateTime | -| :-------- | :------- | :-------- | :------- | :-------- | :------- | :-------- | -| String | Yes | Partial | Partial | Partial | Partial | No | -| Boolean | Yes | No | No | No | Yes | No | -| Decimal | Yes | Partial | Partial | Yes | No | No | -| DateTime | Yes | No | No | No | No | Yes | - -**Partial** - If source data is valid and within range, it will be converted into the target data type. - -{{% /alert %}} - -{{% alert color="warning" %}} - -* **Enum** is not supported as a target data type -* Runtime exceptions can occur if the input data cannot be converted into desired the target data type for various reasons (for example, invalid data, data truncation, casting etc.) -{{% /alert %}} - -### Creating an Entity {#create-entity} - -When you are done editing the entity, click **Create Entity** > **OK**. This will create the entity in your domain model. You will also see a confirmation message that an entity has been created in the domain model and is ready to use. - -When the entity is created, you can view the mapping of the source columns to the target entity attributes. - -{{< figure src="/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/source-to-target-mapping.png" class="no-border" width="600" >}} - -The Data Importer document creation is complete and can be used to import data in a microflow. - -## Building your App {#build-data-importer-app} - -The newly-created Data Importer document allows you to periodically import data from an Excel or CSV file that is generated by another app or system. - -### Custom Activity {#Import-data-from-file} - -The **Import data from file** activity is found under **Integration activities** in the **Toolbox**. Double-click to view its properties: - -{{< figure src="/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/custom-activity-params.png" class="no-border" width="600" >}} - -The **Input** section includes: - -* **File** – name of the file from which you want to import data -* **Data Importer document** – the Data Importer document created at the end of the design time flow - -The **Output** section includes: - -* **Return Type** – set to the list of NPEs defined in the Data Importer document -* **Variable name** – auto-populated to the **EntityName** list - -### Build the Pages - -The **Import data from file** custom activity needs an input file to import data from. The example below builds a page where a `System.FileDocument` is uploaded and fed to the custom activity. - -1. Open the home page and add a button and name it *Upload Customer Data*. -2. Double-click the button and in the **Events** field under the **On click** drop-down, select **Create object** to create a `System.FileDocument` entity. -3. Pass the control to a new page (**UploadCustomerData**) where the file is uploaded. - - {{< figure src="/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/home-page-button.png" class="no-border" width="600" >}} - -4. On the **UploadCustomerData** page, include a data view for the *FileDocument* and include a 'File Manager' to assist with a file upload. - - {{< figure src="/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/data-view-file-manager.png" class="no-border" width="600" >}} - -5. Open the **Toolbox** and add a **Call microflow button**. - -6. Click **New** and name the microflow *Import Customer Data*. You also see **FileDocument** in the parameters section; make sure this box is checked to include it as a parameter and click **OK**. - -{{< figure src="/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/add-parameter.png" class="no-border" width="600" >}} - -### Configuring the Import data from file Activity in a Microflow - -{{% alert color="info" %}} -The steps below are shown using an Excel input file with its corresponding Data Importer document. You can substitute an Excel document with a CSV document to import data from CSV input files. -{{% /alert %}} - -1. In the created microflow, drag the **Import data from file** activity into it. You can find this activity in the **Toolbox** under **Integration activities**. - - {{< figure src="/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/integration-activity.png" class="no-border" width="600" >}} - -2. When the **Import data from file** activity is added into microflow, you see three errors in the console: - - {{< figure src="/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/custom-activity.png" class="no-border" width="600" >}} - - To address these errors, double-click the activity and in the **File** field, choose the input file that is passed from the file upload page to this microflow as a parameter. - -3. In the **Data Importer document** field, click **Select** and choose the Data Importer document you want to use. - - {{< figure src="/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/choose-data-importer-template.png" class="no-border" width="600" >}} - - After selecting the Data Importer document, the **Return type** and **Variable name** auto-populates. You can change the name of the output variable if you wish. - -4. Click **OK**. The custom activity is configured and all the errors will resolve. - - {{< figure src="/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/configured-custom-activity.png" class="no-border" width="600" >}} - -5. Add an **Aggregate list** activity and configure it to count the size of the 'CustomerList', which is returned from the previous activity. - - {{< figure src="/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/aggregate-list.png" class="no-border" width="600" >}} - -6. Configure a **Show message** activity. You can use a template message and a parameter, such as in the example below. - - {{< figure src="/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/show-message-with-list-size.png" class="no-border" width="600" >}} - -7. Set '$CustomerList' as the return value from the **Import data from file** activity to be used later. Your completed microflow should look like the image below. - - {{< figure src="/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/example-microflow.png" class="no-border" width="600" >}} - -8. Deploy your app locally. Browse and upload an input file, which is similar to the file that was used as a template while creating Data Importer document. -9. Check that you see a message that states **Imported xx rows from input file into a list of NPEs**. - - {{< figure src="/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/local-app-run.png" class="no-border" width="600" >}} - -You have successfully configured and used the Data Importer extension. You can extend this as per your requirements. For example, you can convert the list of NPEs into persistable entities by providing a message definition, or use each loop construct and individually create and commit entities into your database. diff --git a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/IM-with-mapping-param-association.png b/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/IM-with-mapping-param-association.png deleted file mode 100644 index 42b725662fd..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/IM-with-mapping-param-association.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/choose-data-importer-template.png b/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/choose-data-importer-template.png deleted file mode 100644 index e9814d5d4d5..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/choose-data-importer-template.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/create-DI-doc-with-import-mapping.png b/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/create-DI-doc-with-import-mapping.png deleted file mode 100644 index 892dfbf1d5c..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/create-DI-doc-with-import-mapping.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/create-import-mapping.png b/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/create-import-mapping.png deleted file mode 100644 index 911a13feb5b..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/create-import-mapping.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/custom-activity.png b/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/custom-activity.png deleted file mode 100644 index 8ab938754f6..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/custom-activity.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/data-imported-from-input-file.png b/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/data-imported-from-input-file.png deleted file mode 100644 index 16677c5fa82..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/data-imported-from-input-file.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/data-importer-doc-updated.png b/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/data-importer-doc-updated.png deleted file mode 100644 index 8dc4ba56a27..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/data-importer-doc-updated.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/data-importer-menu.png b/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/data-importer-menu.png deleted file mode 100644 index c0aab6179d8..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/data-importer-menu.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/edit-csv-entity.png b/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/edit-csv-entity.png deleted file mode 100644 index 67700b2b15d..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/edit-csv-entity.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/empty-row-before-header.png b/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/empty-row-before-header.png deleted file mode 100644 index f6bd7083ac7..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/empty-row-before-header.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/entity-name-persist-change.png b/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/entity-name-persist-change.png deleted file mode 100644 index d8b773ca867..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/entity-name-persist-change.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/example-microflow.png b/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/example-microflow.png deleted file mode 100644 index 4b092d22b93..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/example-microflow.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/import-with-mapping-params.png b/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/import-with-mapping-params.png deleted file mode 100644 index f0a790d463d..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/import-with-mapping-params.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/local-app-run.png b/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/local-app-run.png deleted file mode 100644 index 947b30d16eb..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/local-app-run.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/map-automatically.png b/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/map-automatically.png deleted file mode 100644 index 08d1880cd3e..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/map-automatically.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/preview-csv-data-and-entity.png b/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/preview-csv-data-and-entity.png deleted file mode 100644 index 9f35a10bcc1..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/preview-csv-data-and-entity.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/preview-data-and-entity.png b/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/preview-data-and-entity.png deleted file mode 100644 index 5050b61e9a6..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/preview-data-and-entity.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/preview-data-structure.png b/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/preview-data-structure.png deleted file mode 100644 index 93f8f1f93ca..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/preview-data-structure.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/select-file-for-preview.png b/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/select-file-for-preview.png deleted file mode 100644 index 0a484e39773..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/select-file-for-preview.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/select-file-for-structure-preview.png b/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/select-file-for-structure-preview.png deleted file mode 100644 index cd4f26cbf18..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/select-file-for-structure-preview.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/select-schema-elements-for-imm.png b/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/select-schema-elements-for-imm.png deleted file mode 100644 index 69c1c05c4dd..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/select-schema-elements-for-imm.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/select-sheet-and-header-data-row.png b/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/select-sheet-and-header-data-row.png deleted file mode 100644 index 61952bedc6f..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/select-sheet-and-header-data-row.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/source-csv-data.png b/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/source-csv-data.png deleted file mode 100644 index d19b2be944e..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/source-csv-data.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/source-to-target-mapping.png b/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/source-to-target-mapping.png deleted file mode 100644 index 2bfed14f535..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/source-to-target-mapping.png and /dev/null differ diff --git a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/update-data-importer-doc-confirmation.png b/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/update-data-importer-doc-confirmation.png deleted file mode 100644 index 2e6b51e1d49..00000000000 Binary files a/static/attachments/appstore/platform-supported-content/modules/data-importer-extension/update-data-importer-doc-confirmation.png and /dev/null differ diff --git a/static/attachments/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/import-data-from-file/custom-activity-params.png b/static/attachments/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/import-data-from-file/custom-activity-params.png index 845045688b1..ae1aab731f5 100644 Binary files a/static/attachments/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/import-data-from-file/custom-activity-params.png and b/static/attachments/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/import-data-from-file/custom-activity-params.png differ diff --git a/static/attachments/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/import-data-from-file/properties.png b/static/attachments/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/import-data-from-file/properties.png deleted file mode 100644 index 86ac2bfaa77..00000000000 Binary files a/static/attachments/refguide/modeling/application-logic/microflows-and-nanoflows/activities/integration-activities/import-data-from-file/properties.png and /dev/null differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/IM-with-mapping-param-association.png b/static/attachments/refguide/modeling/integration/data-importer/IM-with-mapping-param-association.png new file mode 100644 index 00000000000..4a2361b93fd Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/IM-with-mapping-param-association.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/add-parameter.png b/static/attachments/refguide/modeling/integration/data-importer/add-parameter.png new file mode 100644 index 00000000000..cf5e7ee0121 Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/add-parameter.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/aggregate-list.png b/static/attachments/refguide/modeling/integration/data-importer/aggregate-list.png new file mode 100644 index 00000000000..8a9544c6fb0 Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/aggregate-list.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/choose-data-importer-template.png b/static/attachments/refguide/modeling/integration/data-importer/choose-data-importer-template.png new file mode 100644 index 00000000000..eefa513afd7 Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/choose-data-importer-template.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/configured-custom-activity.png b/static/attachments/refguide/modeling/integration/data-importer/configured-custom-activity.png new file mode 100644 index 00000000000..f7d3d4e4283 Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/configured-custom-activity.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/create-DI-doc-with-import-mapping.png b/static/attachments/refguide/modeling/integration/data-importer/create-DI-doc-with-import-mapping.png new file mode 100644 index 00000000000..8cb2993310c Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/create-DI-doc-with-import-mapping.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/create-import-mapping.png b/static/attachments/refguide/modeling/integration/data-importer/create-import-mapping.png new file mode 100644 index 00000000000..274c066d584 Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/create-import-mapping.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/custom-activity-params.png b/static/attachments/refguide/modeling/integration/data-importer/custom-activity-params.png new file mode 100644 index 00000000000..ae1aab731f5 Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/custom-activity-params.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/custom-activity.png b/static/attachments/refguide/modeling/integration/data-importer/custom-activity.png new file mode 100644 index 00000000000..57956d7995d Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/custom-activity.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/data-imported-from-input-file.png b/static/attachments/refguide/modeling/integration/data-importer/data-imported-from-input-file.png new file mode 100644 index 00000000000..a8e2ee4fe6e Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/data-imported-from-input-file.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/data-importer-doc-updated.png b/static/attachments/refguide/modeling/integration/data-importer/data-importer-doc-updated.png new file mode 100644 index 00000000000..e51d8255d3c Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/data-importer-doc-updated.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/data-importer-menu.png b/static/attachments/refguide/modeling/integration/data-importer/data-importer-menu.png new file mode 100644 index 00000000000..9f8f4502af7 Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/data-importer-menu.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/data-view-file-manager.png b/static/attachments/refguide/modeling/integration/data-importer/data-view-file-manager.png new file mode 100644 index 00000000000..06fba6c35d4 Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/data-view-file-manager.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/edit-csv-entity.png b/static/attachments/refguide/modeling/integration/data-importer/edit-csv-entity.png new file mode 100644 index 00000000000..eb988edf933 Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/edit-csv-entity.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/entity-name-persist-change.png b/static/attachments/refguide/modeling/integration/data-importer/entity-name-persist-change.png new file mode 100644 index 00000000000..010336d80c5 Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/entity-name-persist-change.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/example-microflow.png b/static/attachments/refguide/modeling/integration/data-importer/example-microflow.png new file mode 100644 index 00000000000..98904ec4725 Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/example-microflow.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/home-page-button.png b/static/attachments/refguide/modeling/integration/data-importer/home-page-button.png new file mode 100644 index 00000000000..ad5206bfa36 Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/home-page-button.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/import-with-mapping-params.png b/static/attachments/refguide/modeling/integration/data-importer/import-with-mapping-params.png new file mode 100644 index 00000000000..cd845f161a2 Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/import-with-mapping-params.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/integration-activity.png b/static/attachments/refguide/modeling/integration/data-importer/integration-activity.png new file mode 100644 index 00000000000..810c3c134b7 Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/integration-activity.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/local-app-run.png b/static/attachments/refguide/modeling/integration/data-importer/local-app-run.png new file mode 100644 index 00000000000..17a7ed13aae Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/local-app-run.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/map-automatically.png b/static/attachments/refguide/modeling/integration/data-importer/map-automatically.png new file mode 100644 index 00000000000..9f9441cf25b Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/map-automatically.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/preview-csv-data-and-entity.png b/static/attachments/refguide/modeling/integration/data-importer/preview-csv-data-and-entity.png new file mode 100644 index 00000000000..524c5ed0efd Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/preview-csv-data-and-entity.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/preview-data-and-entity.png b/static/attachments/refguide/modeling/integration/data-importer/preview-data-and-entity.png new file mode 100644 index 00000000000..bd63b08daf2 Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/preview-data-and-entity.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/preview-data-structure.png b/static/attachments/refguide/modeling/integration/data-importer/preview-data-structure.png new file mode 100644 index 00000000000..371c5b98b99 Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/preview-data-structure.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/select-file-for-preview.png b/static/attachments/refguide/modeling/integration/data-importer/select-file-for-preview.png new file mode 100644 index 00000000000..5c0cf1af68a Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/select-file-for-preview.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/select-file-for-structure-preview.png b/static/attachments/refguide/modeling/integration/data-importer/select-file-for-structure-preview.png new file mode 100644 index 00000000000..597cc13cea0 Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/select-file-for-structure-preview.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/select-schema-elements-for-imm.png b/static/attachments/refguide/modeling/integration/data-importer/select-schema-elements-for-imm.png new file mode 100644 index 00000000000..aaed7a886ec Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/select-schema-elements-for-imm.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/select-sheet-and-header-data-row.png b/static/attachments/refguide/modeling/integration/data-importer/select-sheet-and-header-data-row.png new file mode 100644 index 00000000000..159d7034def Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/select-sheet-and-header-data-row.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/show-message-with-list-size.png b/static/attachments/refguide/modeling/integration/data-importer/show-message-with-list-size.png new file mode 100644 index 00000000000..62ecfbc30be Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/show-message-with-list-size.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/source-csv-data.png b/static/attachments/refguide/modeling/integration/data-importer/source-csv-data.png new file mode 100644 index 00000000000..2fb5c128d08 Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/source-csv-data.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/source-to-target-mapping.png b/static/attachments/refguide/modeling/integration/data-importer/source-to-target-mapping.png new file mode 100644 index 00000000000..393e200542b Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/source-to-target-mapping.png differ diff --git a/static/attachments/refguide/modeling/integration/data-importer/update-data-importer-doc-confirmation.png b/static/attachments/refguide/modeling/integration/data-importer/update-data-importer-doc-confirmation.png new file mode 100644 index 00000000000..177d03b436c Binary files /dev/null and b/static/attachments/refguide/modeling/integration/data-importer/update-data-importer-doc-confirmation.png differ diff --git a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/add-parameter.png b/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/add-parameter.png deleted file mode 100644 index 78a63bfb80d..00000000000 Binary files a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/add-parameter.png and /dev/null differ diff --git a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/aggregate-list.png b/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/aggregate-list.png deleted file mode 100644 index 7e64bbf2818..00000000000 Binary files a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/aggregate-list.png and /dev/null differ diff --git a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/choose-data-importer-template.png b/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/choose-data-importer-template.png deleted file mode 100644 index 15a7c456ff1..00000000000 Binary files a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/choose-data-importer-template.png and /dev/null differ diff --git a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/configured-custom-activity.png b/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/configured-custom-activity.png deleted file mode 100644 index 0c0ad9eab9e..00000000000 Binary files a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/configured-custom-activity.png and /dev/null differ diff --git a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/custom-activity-params.png b/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/custom-activity-params.png deleted file mode 100644 index 7f7e64a0455..00000000000 Binary files a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/custom-activity-params.png and /dev/null differ diff --git a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/custom-activity.png b/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/custom-activity.png deleted file mode 100644 index 7245c20c080..00000000000 Binary files a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/custom-activity.png and /dev/null differ diff --git a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/data-importer-menu.png b/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/data-importer-menu.png deleted file mode 100644 index 91f9087c375..00000000000 Binary files a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/data-importer-menu.png and /dev/null differ diff --git a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/data-view-file-manager.png b/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/data-view-file-manager.png deleted file mode 100644 index 5c471112e61..00000000000 Binary files a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/data-view-file-manager.png and /dev/null differ diff --git a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/edit-csv-entity.png b/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/edit-csv-entity.png deleted file mode 100644 index b5cccc592ef..00000000000 Binary files a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/edit-csv-entity.png and /dev/null differ diff --git a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/example-microflow.png b/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/example-microflow.png deleted file mode 100644 index 2cc60aba7c8..00000000000 Binary files a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/example-microflow.png and /dev/null differ diff --git a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/home-page-button.png b/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/home-page-button.png deleted file mode 100644 index 72a75827360..00000000000 Binary files a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/home-page-button.png and /dev/null differ diff --git a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/integration-activity.png b/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/integration-activity.png deleted file mode 100644 index df4c18311b1..00000000000 Binary files a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/integration-activity.png and /dev/null differ diff --git a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/local-app-run.png b/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/local-app-run.png deleted file mode 100644 index 0858f4655b7..00000000000 Binary files a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/local-app-run.png and /dev/null differ diff --git a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/preview-csv-data-and-entity.png b/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/preview-csv-data-and-entity.png deleted file mode 100644 index 03812a9ec04..00000000000 Binary files a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/preview-csv-data-and-entity.png and /dev/null differ diff --git a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/preview-data-and-entity.png b/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/preview-data-and-entity.png deleted file mode 100644 index 859b2b4a748..00000000000 Binary files a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/preview-data-and-entity.png and /dev/null differ diff --git a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/select-file-for-preview.png b/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/select-file-for-preview.png deleted file mode 100644 index 829a8d71e9a..00000000000 Binary files a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/select-file-for-preview.png and /dev/null differ diff --git a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/select-sheet-and-header-data-row.png b/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/select-sheet-and-header-data-row.png deleted file mode 100644 index a721fda38ec..00000000000 Binary files a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/select-sheet-and-header-data-row.png and /dev/null differ diff --git a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/show-message-with-list-size.png b/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/show-message-with-list-size.png deleted file mode 100644 index f3efc4c9371..00000000000 Binary files a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/show-message-with-list-size.png and /dev/null differ diff --git a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/source-csv-data.png b/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/source-csv-data.png deleted file mode 100644 index d19b2be944e..00000000000 Binary files a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/source-csv-data.png and /dev/null differ diff --git a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/source-to-target-mapping.png b/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/source-to-target-mapping.png deleted file mode 100644 index 563db507c17..00000000000 Binary files a/static/attachments/refguide/modeling/integration/use-platform-supported-content/use-the-data-importer/source-to-target-mapping.png and /dev/null differ