Items JSON File Format
* Keys [_export_id] is required and its value is a unique ID per item.
* The key [_module] is essential and must be an active module.
* Keys [_created] and [_updated] set to UnixTime. If not set, current time is used.
* Keys [_owner_profile] and [_owner_user] set to profile/user unique IDs. If not set, _profile_id and/or _user_id set to 0.
* Additional keys of [xxxx_*] are added to the item datastore.
* Default fields like 'pending' etc. will be added automatically.
* Optional [_xxxx_file_xxx][url] key => url of downloadable file (xxx = key of file, eg. file, image, bg_image, header_image, audio or video).
* Optional [_xxxx_file_xxx][filename] key => the name of the original file
* Optional [_xxxx_file_xxx][extension] key => the extension of the original file
* Optional [_xxxx_file_file_only][url] key => url of downloadable file - This file is copied across with no DS entries being added
* Values starting with _getDSvalue instruct this function to get a value from another DS -
* [xxxx_yyyy] => _getDSvalue,'module','unique_id','key'
* Search for the 'module' DS item with the specified 'unique_id' and set [xxxx_yyyy] to its 'key' value
* Values starting with _selfDSvalue instruct this function to get a value from another DS, as above, but AFTER the item has been created
* Optional keys starting with '_table' add rows to a specified table. Format is "[_table:'module':'table name'] => array of [column names] => value"
* Table column value can optionally start with '_getDSvalue' as above
* If key [_table_only] set, only keys starting with '_table' are actioned
* Optional [_scan_key] array of keys to be scanned and any '_getDSvalue' entries to be replaced