[Qgis-developer] Processing algorithms and API breaks

Matthias Kuhn matthias at opengis.ch
Mon Mar 7 01:12:15 PST 2016

Hi Alex,

Thanks for raising this issue. I also think that the interface to the
processing algorithms should stay as stable as possible, but slowing
down development speed also does not sound very appealing.

Isn't it often possible to add a new parameter as optional with a
default value that conforms to the previous behavior? If developers keep
an eye on keeping their changes compatible this way, that should already
help a lot.

Another idea is that the algorithms are versioned, so that with
incompatible changes an old model can still use the old algorithm. I can
imagine that the maintenance overhead for this is a bit high. The
lightweight approach for this can be done ad-hoc when introducing an
algorithm with a new name and keeping the old one in place.


On 03/07/2016 09:13 AM, Alexander Bruy wrote:
> Hi all,
> Processing, became an important part of QGIS. More and more users use it
> and rely on it, especially when they developed their own models and scripts.
> So we should keep Processing algorithms as stable as possible and don't
> change their descriptions.
> On other hand there are many bugreports and feature requests which require
> changing algorithms description to be fixed/impelemented. This can be considired
> as "API" break, as scripts and models which use affected algorithms
> and were developed before such changes will not work. For example,
> there were many
> PR about fixing GRASS and SAGA algs, which change their descriptions. Time
> from time we also fix bugs in native QGIS algs and also need to change
> algorithm description, e.g. by replacing one parameter type with another or
> adding new parameter.
> I see only two solutions:
> 1. Postpone such changes for next major QGIS release when API break is
> allowed. In this case all existing scripts/models will work. But we
> should live
> with bugs and without some features, even if fix already available and keep the
> code of this fixes in sync with master until next major release.
> 2. Allow "API" breaks in Processing. In this case we create additional pressure
> on the authors of 3rd party models/scripts and force them to follow Processing
> changes and update their code accordingly.
> What do you think, which approach we should choose?

Matthias Kuhn
OPENGIS.ch - https://www.opengis.ch
Spatial • (Q)GIS • PostGIS • Open Source

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20160307/c234579c/attachment-0001.sig>

More information about the Qgis-developer mailing list