def METHOD_NAME(self, node_uuid, dataname, typename):
    """
    Update the subvolume widget with the min/max extents of the given node and dataname.
    Note: The node and dataname do not necessarily have to match the currently
          selected node and dataname.
          This enables the right-click behavior, which can be used to
          limit your data volume to the size of a different data volume.
    """
    error_msg = None
    try:
        if typename == "roi":
            node_service = DVIDNodeService(self._hostname, str(node_uuid))
            roi_blocks_zyx = numpy.array(node_service.get_roi(str(dataname)))
            maxindex = tuple(DVID_BLOCK_WIDTH * (1 + numpy.max(roi_blocks_zyx, axis=0)))
            minindex = (0, 0, 0)  # Rois are always 3D
            axiskeys = "zyx"
            # If the current selection is a dataset, then include a channel dimension
            if self.get_selection().typename != "roi":
                axiskeys = "zyxc"
                minindex = minindex + (0,)
                maxindex = maxindex + (1,)  # FIXME: This assumes that the selected data has only 1 channel...
        else:
            # Query the server
            raw_metadata = VoxelsAccessor.get_metadata(self._hostname, node_uuid, dataname)
            voxels_metadata = VoxelsMetadata(raw_metadata)
            maxindex = voxels_metadata.shape
            minindex = voxels_metadata.minindex
            axiskeys = voxels_metadata.axiskeys
            # If the current selection is a roi, then remove the channel dimension
            if self.get_selection().typename == "roi":
                axiskeys = "zyx"
                minindex = minindex[:-1]
                maxindex = maxindex[:-1]
    except (DVIDException, ErrMsg) as ex:
        error_msg = str(ex)
        log_exception(logger)
    else:
        self._buttonbox.button(QDialogButtonBox.Ok).setEnabled(True)
    if error_msg:
        self._buttonbox.button(QDialogButtonBox.Ok).setEnabled(False)
        QMessageBox.critical(self, "DVID Error", error_msg)
        self._subvol_widget.initWithExtents("", (), (), ())
        return
    self._subvol_widget.initWithExtents(axiskeys, maxindex, minindex, maxindex)