Re: [QGIS-Developer] Temporal controller issues

2021-01-06 Thread Nyall Dawson
I'm going to respond to your project-level criticism first, and then
following that I'll give a technical response:


On Thu, 7 Jan 2021 at 12:33, Cory Albrecht  wrote:
>
> >  and that using it for data analysis has been a secondary goal
>
>
> I'm not doing any data analysis. In fact, I doubt that I use even 10% of 
> QGIS's capability.

By analysis I mean: "anything that's not just viewing data".

> > 1. The temporal framework was in discussion and consultation phases
>
> for years prior to implementation.
>
>
> Then how did something as simple as the selection tool selecting stuff that 
> is not there get past this? Did nobody say "Hey, we need to make sure that 
> when the NTC is turned on that other parts of the application work as 
> expected"?

Bingo. You're the first to bring up the issue with the selection and
map tip tools. Guess that shows that we need more people like you
involved with the discussion, testing, and review process.

>
> > 2. QGIS already has some of the most stringent and rigorous code review 
> > processes around, and the pull requests implementing the temporal framework 
> > were subject to all these processes and peer review.
>
>
> Then how did this problem get past that review? Did nobody take the feature 
> branch, compile it, then run QGIS and do some common, simple tasks regarding 
> data entry with the NTC turned on to see that those tools are working on the 
> “root” layer data and not the filtered data one sees on the map canvas? (Or 
> an automated GUI test harness that does the same thing?) Or was it only 
> tested by loading a project with temporal layers and changing the viewing 
> time frame and seeing that only matching features were drawn on the map 
> canvas?

Of course they did. But no-one anticipated your use case and tested that.

(Hint: YOU could have been this person. There's nothing special about
anyone that qualifies them to be part of a mystical "qgis beta
testing" group. No-one is paid to do that. No-one is elected to do it.
All it takes is downloading the nightlies prior to release and running
them through YOUR workflows. So I reflect this criticism right back on
you -- why didn't YOU beta test QGIS and ensure that it worked for
your workflow? Are YOU going to get involved and ensure this doesn't
happen again? If your answer is "no" then I suggest you take some time
away from this community and come back when you've had a chance to
meditate and reflect on how open-source works.)

>
>
> > 3. If you're asking for the pace of feature development to be slowed
>
> then that problem was addressed years ago when the LTR releases were
>
> introduced.
>
>
> No, not at all. That was purely a semantics comment about not using standard 
> terminology, which makes things confusing.
>
>
> > The QGIS website is quite clear in advertising the LTR as the officially 
> > recommended version for stability and for mission critical work, while the 
> > non-LTR releases are clearly branded as "bleeding edge".
>
>
> I would disagree about that clarity. When you go to the main page, for 
> example, there's just a download button with text underneath saying "Version 
> 3.16.2 Version 3.10.13 LTR". On the download page it just says "riches on 
> features" and "most stable". And the user manual for 3.16 itself says "We 
> recommend that you use this version over previous releases."
>
>
> I couldn't find anything with the qgis.org search feature that says what you 
> say here.
>
>
> > I'd make the case that in the situation you've described you should never 
> > have been using the non-LTR release
>
>
> Unfortunately I've been somewhat forced into using master because other bugs 
> I have reported about how QGIS handles array fields in PostGIS layers. 
> Without those fixes I sometimes couldn't even work on my maps because I 
> couldn't save features without data corruption, or sometimes not even save at 
> all. Those fixes, when they finally got done (and some still aren't), took a 
> while to end up in the LTR.
>
>
> > So I ask again, in the full spirit of reconciliation and moving forward: 
> > what concrete, practical changes do YOU think the project should make?
>
>
> Testing, like I mentioned above. Better testing.

Great, thanks for volunteering to do this! Like I said above, we need
more beta testers, and I'm looking forward to your testing and
feedback. (yes, that was semi-sarcastic. But this whole thing only
works when everyone gets involved).


Now the technical part:

> For example, one can add all sorts of SQL-like filters to a layer datasource 
> (which was how the TimeManager plugin worked, if I understand correctly) and 
> the selection tool, vertex tool, and so on are not broken by that. When 
> somebody turns on the NTC, it is reasonable for them to expect that the 
> filtering it does would act in a similar manner to those SQL-like filters 
> added manually to a layer, yes?

Time manager indeed piggy backed onto the layer sql filter
functionality to implement 

Re: [QGIS-Developer] Temporal controller issues

2021-01-06 Thread Cory Albrecht
>  and that using it for data analysis has been a secondary goal


I'm not doing any data analysis. In fact, I doubt that I use even 10% of
QGIS's capability.


I draw a feature that is the Kingdom of France and set the start_date and
end_date attributes appropriately (with -mm-dd resolution) and set a
few other features (colour, default name, government type, etc...). Then I
copy that feature, move the time frame to the day after end_date, paste,
and edit the attributes of that new feature as the Second French Republic.
Then again as the Second French Empire, then the Third Republic, and so on.
If I make an error, like somehow I didn't get the border with Belgium quite
right I will use either the Vertex Tool (from the Digitizing Toolbar) or
the Reshape Features Tool (from the Advanced Digitizing Toolbar), depending
on the scale of the edit. If that feature that I am pasting has its borders
change (like when the Second French Empire lost Alsace to the German
Empire), I will use the Split Features Tool to carve off a chunk to merge
with that other feature.


That's like 90% of my QGIS workflow right there, the drawing and simple
editing of features. The rest is creating print layouts for exporting to
SVG to work on artistic renderings. Nothing fancy and no data analysis.
It's a simple data entry workflow.


> 1. The temporal framework was in discussion and consultation phases

for years prior to implementation.


Then how did something as simple as the selection tool selecting stuff that
is not there get past this? Did nobody say "Hey, we need to make sure that
when the NTC is turned on that other parts of the application work as
expected"?


For example, one can add all sorts of SQL-like filters to a layer
datasource (which was how the TimeManager plugin worked, if I understand
correctly) and the selection tool, vertex tool, and so on are not broken by
that. When somebody turns on the NTC, it is reasonable for them to expect
that the filtering it does would act in a similar manner to those SQL-like
filters added manually to a layer, yes?


This is why in my initial email I asked about the pipeline from retrieval
of features in the layer's data provider to drawing them on the canvas.
Prior to the NTC, did tools like selection, vertex, identify, and so on
work off of the same "root" list of features that the map canvas drawer
worked from? Because these bugs suggest an implementation that either
creates a second, filtered list of features and the canvas draws gets
passed that list instead of the "root" list while the tools still work off
of the "root" list, or that the canvas drawing code was modified to to do
the temporal filtering itself and draw only a subset of the "root" list
passed to it.


You’ve said that you had to fix the bugs I reported separately, but why? To
my mind, the NTC should be filtering that "root" list of features, and then
nothing else needs to be modified. Not the code that calls the canvas
drawer method, not the code for the selection tool. Not the code of the
identify feature tool. Don’t change the tools to be time-aware
individually, keep them time-agnostic and change the dataset that gets
passed to them, and implement that in a centralized location. Then later
when somebody with that rare use case of needing to select even the
filtered-out features asks for it, you can modify that centralized location
to return the full dataset, not the temporally filtered one if certain
conditions are met, like an app setting or using the Alt key when clicking
on the canvas, or whatever, and it will work for all tools, not just one.


(I’m willing to bet you a $100 donation that usage cases that need the
selection tool to work on all the features including those filtered out by
the NTC and not drawn is tiny to nonexistent, compared to the one where the
tool is expected to work in a WYSIWYG manner only on the visible features.
If I am wrong, I'll double that donation.)


However, since I do not know the codebase, I asked for that help in
understanding how the NTC was implemented and why that way, due to other
considerations of which I would be unaware that prevented that. It was also
why I phrased my final line of criticism as “I feel” rather than as a
statement of fact.


> 2. QGIS already has some of the most stringent and rigorous code review
processes around, and the pull requests implementing the temporal framework
were subject to all these processes and peer review.


Then how did this problem get past that review? Did nobody take the feature
branch, compile it, then run QGIS and do some common, simple tasks
regarding data entry with the NTC turned on to see that those tools are
working on the “root” layer data and not the filtered data one sees on the
map canvas? (Or an automated GUI test harness that does the same thing?) Or
was it only tested by loading a project with temporal layers and changing
the viewing time frame and seeing that only matching features were drawn on
the map 

[QGIS-Developer] Stale bot and older requests/issues - possible enhancement

2021-01-06 Thread Nyall Dawson
Hi list,

I've a small request to consider for stale bot and issues/feature
requests. I think that if a ticket remains open for say > 90 days
since the last comment, it would be nice if stale bot added a comment
like:

"Unfortunately this bug/feature request has not seen any solution in
the recent QGIS release. If this fix/feature is important to you or
your organisation, you can help to fast-track its development by
sponsoring this work. To do so, contact one of the QGIS commercial
support providers listed at ... to discuss how you could fund this
functionality".

I think it's a non-threatening, non-begging way to advise bug
reporters on the alternative ways they can fast track development in
QGIS.

Thoughts?

Nyall
___
QGIS-Developer mailing list
QGIS-Developer@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer


Re: [QGIS-Developer] Issue with QGIS 3.16.2 standalone and GRASS 7.8.4

2021-01-06 Thread Pedro Venâncio
Hi Andrea,

This seems fixed in 3.16.2-2 released yesterday:
https://qgis.org/downloads/QGIS-OSGeo4W-3.16.2-2-Setup-x86_64.exe

I believe 3.10.13-2 also fixes this issue.

Do you confirm?

Best regards,
Pedro


Andrea Giudiceandrea  escreveu no dia quarta,
30/12/2020 à(s) 23:47:

> Pedro Venâncio-2 wrote
> > Hi Andrea,
> >
> > I believe this report is yours, right?
> > https://trac.osgeo.org/osgeo4w/ticket/655
>
> Yes.
>
> QGIS 3.16.2 and QGIS 3.10.13 installers contain GRASS 7.8.4 which needs
> gdal300.dll and proj_6_2.dll, but both the dlls are missing.
>
> On the contrary, GRASS 7.8.5 doesn't seem to need them.
>
> Regards.
>
> Andrea
>
>
>
> --
> Sent from:
> http://osgeo-org.1560.x6.nabble.com/QGIS-Developer-f4099106.html
> ___
> QGIS-Developer mailing list
> QGIS-Developer@lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
>
___
QGIS-Developer mailing list
QGIS-Developer@lists.osgeo.org
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer