def set_distribute_alterations(self, distribute_mods=None):
if distribute_mods is None:<EOL><INDENT>raise NullArgument()<EOL><DEDENT>metadata = Metadata(**settings.METADATA['<STR_LIT>'])<EOL>if metadata.is_read_only():<EOL><INDENT>raise NoAccess()<EOL><DEDENT>if self._is_valid_input(distribute_mods, metadata, array=False):<EOL><INDENT>self._my_map['<STR_LIT>'] = distribute_mods<EOL><DEDENT>else:<EOL><INDENT>raise InvalidArgument()<EOL><DEDENT>
Sets the distribute alterations flag.

        This also sets distribute verbatim to ``true``.

        :param distribute_mods: right to distribute modifications
        :type distribute_mods: ``boolean``
        :raise: ``InvalidArgument`` -- ``distribute_mods`` is invalid
        :raise: ``NoAccess`` -- authorization failure

        *compliance: mandatory -- This method must be implemented.*