[Qgis-developer] Proposal: Having all Processing providers as independent components
Médéric Ribreux
mederic.ribreux at medspx.fr
Wed Dec 7 04:56:46 PST 2016
Le 2016-12-06 07:39, Paolo Cavallini a écrit :
> Hi Victor,
>
> Il 06/12/2016 07:33, Victor Olaya ha scritto:
>> Let me know what you think
>
> I like the idea of modularity. However, requiring the user to do extra
> steps to use GRASS, SAGA, GDAL/OGR, that are already shipped with our
> packages, seems a bit of hindrance.
> All the best.
Hello,
I do agree with Paolo point of view. Users need to have a ready to use
Processing configuration for most of the 'external' providers. As the
main installation package (for MS-Windows) incorporates GRASS, end
users expect that they can launch GRASS algorithms directly into QGIS
(via Processing of course).
On the software development side, I advocate to keep the external
providers into core for the moment. I have worked on the GRASS7
provider and being a part of core is something that is very convenient
and comfortable for me because most of the time, I need to add some
(often minor) evolutions into Processing core before being able to add
features/fix bugs into GRASS7 provider. Furthermore, I can benefit
from QGIS infrastructure, particularly for bug tracking.
I fear that it could be much less easy to maintain an independent
plugin provider because it involves more sysadmin work for the
maintainer (need to open a dedicated code repository, a dedicated
bugtracker). I know that this part seems to be quite easy with Github
but it could also add more work for things to be done.
On my last commit, I have made some minor modifications for three
external providers in only one PR. Having independent plugin providers
would have implied 3 PRs.
I am not completely closed to focus the dev work into Processing core
but I think that external providers are not ready to be externalized
(at least for GRASS7):
- we should wait for 3.0 to be released because we need to finish the
port to Python3/Qt5 port, otherwise, there is a real risk for
discarding some external providers for lack of 3.0 support.
- we should also try to fix all bugs (at least the major ones) before
thinking to externalize something. This is not the case for GRASS7
(but I am working on it).
- external providers need (nearly) complete unit test coverage.
- we need sufficient time to get feedback from users, after the 3.0
release, to get assured that there is no major problem involved in the
Python3/Qt5 port.
As a conclusion, I am not completely close-minded to external
Processing providers externalization but I think that it should be
postponed after 3.0 or 3.2 release...
Cheers
--
Médéric RIBREUX
https://medspx.fr
More information about the Qgis-developer
mailing list