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.

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.

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

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

(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:

<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"

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

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.

Last updated

Was this helpful?