# Upgrading from 5 to 6

To install DataGrab 6, unzip the zip file and place the `user/addons/datagrab` folder into your `system/user/addons` folder. Then login to the Control Panel and go to the ***Add-ons*** page and click the Install button next to DataGrab.

{% hint style="warning" %}
Version 6 is the first version of DataGrab to introduce some breaking changes. The most notable change is after upgrading you may need to review your existing imports, reconfigure the field mappings, and re-save it. DataGrab 6 does attempt to migrate these settings for you but in some cases it will require human intervention.
{% endhint %}

{% hint style="warning" %}
**Other noteable changes:**

Support for Cartthrob and Store are not currently available. We hope to add support for those add-ons in the fall of 2025.

Officially dropped support for Rel (old EE2 style relationship field), Assets, Matrix, Playa, PT Multiselect, Field Pack Checkboxes, MX Google Map, and VMG Chosen Member. These were deprecated in DataGrab 5.x, but the fieldtype files were still included to support any legacy imports. The files are no longer included with DataGrab 6.
{% endhint %}

Version 6 introduces several new features. One of them is the ability to import into Bloqs and Fluid field groups. Some fieldtypes such as Simple Grid, Simple Table, and the native Grid field all allow for repeated rows of content to be imported. Importing into Grid, Simple Grid, or Simple Table as a standalone field works the same way as it did in previous versions of DataGrab. You simply choose a column and select from the dropdown list of properties in the import file and the data will be imported into that column.

To get this same behavior to work when one of these fields is inside of Bloqs, Grid, or Fluid you will need to set one additional value from the dropdown. The "Parent Node" option will only present itself in this scenario. *DataGrab assumes that data imported into these fields will be grouped together and at the same level in your import file(1).* The value of the Parent Node will need to be the top most parent of that group. It's going to be the property that ends with `__parent__ - [includes 1 children]`In this example that would be `fluid_field/{n}/fluid_group_3/{n}/grid/parent - [includes 1 children]`. This tells DataGrab to grab all the values for that field in one pass, as opposed to performing excessive loops. It's also important because with Bloqs, Grid, and Fluid, it's possible to have more than 1 instance of of basically the same field nested inside of it. This helps keep the contents of the field assigned to the appropriate instance of the nested field when there are more than 1.

<figure><img src="/files/reRDQIcf4Lbw1EHEj1dI" alt=""><figcaption></figcaption></figure>

This is an example of a Simple Grid field configuration inside of a Bloqs field.

<figure><img src="/files/ttyY7nkvA8s8cFxJ9la0" alt=""><figcaption></figcaption></figure>

This is an example of a Simple Table field inside of a Bloqs field.

<figure><img src="/files/CPf4cmt5aOFh0gofZiHi" alt=""><figcaption></figcaption></figure>

(1) If you're trying to pluck data from varying locations and depths of your XML or JSON file into a Grid, Simple Grid, or Simple Table field, it will not work. The data should be grouped how you want it presented in the field. For example:

```xml
<grid>
    <row>
        <related>
            Han Solo, Luke Skywalker
        </related>
        <date>
            2026/08/25
        </date>
        <desc>
            This is some text
        </desc>
    </row>
    <row>
        <related>
            Darth Vader
        </related>
        <date>
            2026/08/26
        </date>
        <desc>
            This is some more text in row 2text
        </desc>
    </row>
</grid>
```

### New parameters

When running an import through the command line there are 3 new options:

`--filename="path/to/file.json"`

This will let you override the import file name or url value configured in your import at runtime. You can also add this parameter to an import when running it through the ACT url, e.g. `https://mysite.com/?ACT=10&filename=path/to/file.json`

`--params="foo=bar&fizz=bazz"`&#x20;

Allows you to pass additional GET parameters to your import filename. The script processing your import filename will need to be setup to accept these parameters. You can use this to configure multiple imports through crontab entries all using the same import configuration, but customizing each one to process the import feed differently.

`--force_update=yes`&#x20;

When used this will override the "Update existing entries" option in the import configuration, thus it will look at the matching fields to see if an entry containing the title value in your import matches an existing entry (if you set the Title field as one of the matching fields), then this will override the "Update existing entries" toggle. In the following scenario the TItle field is set to check for duplicates, but executing the import without the `--force_update` override it will not update an existing entry that matches the Title if it exists.

<figure><img src="/files/AeGEEf5MFIYGioZ2YEBG" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.boldminded.com/datagrab/docs/installation-and-upgrading/upgrading-from-5-to-6.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
