'Internal function: create a structure element with no previous version. Must provide the root id
but not necessarily the info needed to create it (for the use case of publishing). If providing
root_category, must also provide block_fields and definition_id'

def _new_structure(self, user_id, root_block_key, block_fields=None, definition_id=None):

    new_id = ObjectId()
    if (root_block_key is not None):
        if (block_fields is None):
            block_fields = {}
        blocks = {root_block_key: self._new_block(user_id, root_block_key.type, block_fields, definition_id, new_id)}
    else:
        blocks = {}
    return {'_id': new_id, 'root': root_block_key, 'previous_version': None, 'original_version': new_id, 'edited_by': user_id, 'edited_on': datetime.datetime.now(UTC), 'blocks': blocks, 'schema_version': self.SCHEMA_VERSION}
