-
-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
apply_deltas: Work on TODOs // Refactor #609
Comments
Thanks a lot for this your feedback. We are experiencing the same problem right now, with people harvesting data on the field, some of them not integrated and deadlines to maintain with no ability to redo or postpone the job. So, do you have any advice that could be useful :
Thank you in advance for your support. |
I downloaded the uploaded deltas through the QFieldCloud API (https://app.qfield.cloud/api/v1/projects/) and manually corrected all deltas. Then I applied QFieldCloud's Creating and vetting this workflow cost me 2+ days. |
Thanks, I'll try to do the same. One last question : can you describe what has to be corrected manually before applying the script ? I cannot find the problem in the deltas downloaded from the API ? |
Check for differing fids. QField maintains a local and a remote fid, for our case there was a mismatch, so that the wrong feature was modified by QFieldCloud. |
Dear all,
I have been cleaning up the mess left behind #570, reconstructing the 2000+ deltas, fixing the
fids
andsourcePks
. Subsequently debugging and fixing theapply_deltas.py
script.In that process I found 8 TODOs, fixed obscure code, and improved on the performance cutting the runtime of 2000 deltas to 30%.
Here is a taste of what is deployed in production:
This should never go through any review!
I am honestly shocked to see this historically-grown script in production. This is at the very heart of the operation! It and should have guards and rails everywhere.
Excuse my harsh tone here but I have been cleaning up the messed QGIS project for several days now, praying I didn't to any mistakes. For us, the customer, there are a lot of men-hours, expensive equipment and investment at stake.
Productive suggestions
... for a serious refactor
dicts
.asyncio
otherwise the back end API won't scale properly and you will run into more problems in the future.The text was updated successfully, but these errors were encountered: