def METHOD_NAME(fname, apikey):
    if not os.path.isfile(fname):
        msgx('File not found: %s' % fname)
    # Load the JSON file
    dv_dict = json.loads(open(fname,'r').read())
    # Get a the DataverseAPILink object
    dv_lnk_obj = get_dataverse_link_object(apikey)
    dv_lnk_obj.set_return_mode_python()
    # Iterate through json
    previous_alias = "root"
    for dv_info in dv_dict.get('data', []):
        # check if user exists via api
        current_dv_info = dv_lnk_obj.get_dataverse_by_id_or_alias(dv_info.get('id', None))
        # DV exists, continue loop
        if current_dv_info and current_dv_info.get('status') == 'OK': 
            msg('>>> FOUND IT')
            previous_alias = current_dv_info['data']['alias']
            continue    # The user exist, loop to the next user
        # No DV, create it
        keys_not_needed = ['id', 'ownerID', 'creationDate', 'creator']
        for key in keys_not_needed:
            if dv_info.has_key(key):
                dv_info.pop(key)
        msg('params to send: %s' % dv_info)
        # If created,  publish it
        json_resp = dv_lnk_obj.create_dataverse(previous_alias, dv_info)
        if json_resp.get('status') == 'OK': 
            new_dv_data = json_resp.get('data', {})
            new_id = new_dv_data.get('id', None)
            if new_id is not None:
                dv_lnk_obj.publish_dataverse(new_id)
        previous_alias = current_dv_info.get("alias", "root")
        #break