[Qgis-developer] Processing algorithms and API breaks

Tim Sutton tim at kartoza.com
Mon Mar 7 11:09:11 PST 2016


Hi

Personally, while I like new features, I would really like to encourage you to find a way to maintain a stable environment for processing users. For users of single algorithms the issue is probably less noticeable (although event then small changes may mean updating documented workflows etc.). But for users with complex models it is a real pain if their models break from version of version of process.  So finding some way to support ‘write once, work always’ for processing is I think really important if you want people to broadly adopt it for all the powerful things it can do.

Regards

Tim


> On 07 Mar 2016, at 12:34, Alexander Bruy <alexander.bruy at gmail.com> wrote:
> 
> Hi Matthias,
> 
> when new parameter added and it is possible to declare it as optional,
> I definitely do this. But sometimes parameters also removed or replaced
> with another (e.g. string with point, or several numbers with extent). In
> such cases algorithm semantic changes.
> 
> Regarding versioning. Victor and me already discussed this approach.
> Seems this can help with 3rd party models/scripts. Maybe we will work
> on this at hackfest.
> 
> 
> 2016-03-07 11:12 GMT+02:00 Matthias Kuhn <matthias at opengis.ch>:
>> 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.
>> 
>> Matthias
>> 
>> 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
>> 
>> 
>> 
>> _______________________________________________
>> Qgis-developer mailing list
>> Qgis-developer at lists.osgeo.org
>> List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer
>> Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer
> 
> 
> 
> --
> Alexander Bruy
> _______________________________________________
> Qgis-developer mailing list
> Qgis-developer at lists.osgeo.org
> List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer

—





Tim Sutton

Visit http://kartoza.com <http://kartoza.com/> to find out about open source:

* Desktop GIS programming services
* Geospatial web development
* GIS Training
* Consulting Services

Skype: timlinux Irc: timlinux on #qgis at freenode.net
Tim is a member of the QGIS Project Steering Committee

Kartoza is a merger between Linfiniti and Afrispatial

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20160307/5b92c845/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: KartozaLogo160x66.png
Type: image/png
Size: 9324 bytes
Desc: not available
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20160307/5b92c845/attachment-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 455 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20160307/5b92c845/attachment-0001.sig>


More information about the Qgis-developer mailing list