merginmaps / qgis-plugin Goto Github PK
View Code? Open in Web Editor NEWQGIS plugin for managing Mergin Maps projects
License: GNU General Public License v3.0
QGIS plugin for managing Mergin Maps projects
License: GNU General Public License v3.0
I would suggest to also have the auth dialog more similar to the login form on the web:
The public instance URL https://public.cloudmergin.com/ should be pre-set in the auth dialog so that people don't need to search for it. There should be also a button to reset the URL to the default if they have managed to change it for some reason. In addition I think the URL should be less prominent as users normally won't change it.... maybe we can have a checkbox "Custom Mergin server" - when checked, it would enable mergin URL configuration.
This is related to awkwardness of Geopackage again.
To reproduce, your survey layer should be gpkg
1- Download and open a project in QGIS through the plugin
2- Add a new feature to the survey layer
3- Save changes
4- Without exiting QGIS or closing the project, try to sync
5- The plugin says the sync has finished, but when you check the time-stamp of the layer on Mergin server, it is still the old one. You can confirm that changes have not been applied, by downloading the project from Mergin web interface and open it in another QGIS. The changes do not appear on the project.
If I close the project and sync, the changes will be uploaded.
When I try to sync a project (which exists locally) with server, I get this error message. Maybe it is related to this:
https://stackoverflow.com/questions/54491021/why-am-i-getting-the-error-fileexistserror-winerror-183-cannot-create-a-file
Currently, only the name of projects appear in the Browser panel from plugin. It will be good to be see the list of layers too.
It would be nice if, as well as creating, I could also delete projects from Mergin within the browser doohicky....
Plugin let you create any project from local folder. If it does not contain single QGIS project it is then not shown in the list of My Projects (as filtered out but plugin).
It takes a long time to upload small changes back to Mergin.
To reproduce the issue:
1- Open a project
2- Edit the survey layer (geopackage) and update a value within the attribute table
3- Save your edits
4- Try to sync
The changes to attribute table do not sync.
The bug is not present, if you close and open QGIS and then try to sync. It appears to have something to do with gpkg locks....again
Follow up #28 possibility to remove layers from project in Browser panel
Follow up to #28 it will be great to add layers to the projects from Browser panel.
No need to download it again.
There are several issues with non-gpkg layers as survey layer. Best to have them converted to gpkg as a part of plugin.
Right now, creation of a project requires user to specify a local directory where there is an existing .qgs project that can be uploaded. I think this should be optional: by default the project would be created empty. With the current requirement of having a .qgs file in the project it may be difficult for users to understand what went wrong. (and maybe they do not even have the project file ready yet)
Related to #31
The plugin has deleted my project file and a mbtiles file from my local project.
The repo: https://public.cloudmergin.com/projects/AsgerPetersen/Træer I will happily share the repo with whoever may be interested.
As it can be seen from the project history, I have synced the project back and forth between desktop and phone about 10 times.
Then I added a mbtiles file to the project dir and added it as a layer to the project. Closed the project and activated mergin sync (via right click on the project under the mergin node in the browser tree). As I remember it there where no warning dialogs. After the sync my QGIS project file and my mbtiles file where both gone from my desktop!
Looking into the tracked changes on mergin, I see it was registered as a delete on mergin. I see the files mentioned here https://public.cloudmergin.com/projects/AsgerPetersen/Tr%C3%A6er/history/v12, but I cannot make any sense of what happened. It has made me wonder if I at all understand terminology of mergin and how it is supposed to work.
All non-survey layers should be turned into BG layers before upload. The plugin should go through Themes and generate bg layers (as MBTiles?) and use them instead. This will speed up rendering of projects on Input devices with limited resources, as they will not need to handle styling logic and labelling.
Currently, if you log in to mergin, you will see all the list of projects.
It becomes very confusing to find the right project(s).
We can have the following main top folders:
It will be good to make it clear that Blank project is created on Mergin Server.
It will be good if the plugin can handle packaging and preparing the project, e.g.:
Follow up to #19, when creating a new project from scratch, all the files within the directory gets uploaded. The filter for temp file should work also for this function too.
This is probably (another amongst millions of) limitation of Shapefile:
1- Create a project with a Shapefile for survey layer
2- Download it through mergin plugin to a local folder. Ensure the project is open in QGIS
3- Download the project in Input
4- Make some changes in Input and sync it to mergin server
5- Try to download the changes in QGIS, while the project is open
It comes up with error that .shx (or other extensions of shapefile) exists and cannot be rewritten.
We should warn users to close the project/shapefile to be able to sync the project. The other obvious solution is not to use Shapefiles.
Would be good to have some dry-run option for sync so user can easily check what changes will be downloaded/uploaded.
This option can be also used as pre-check in sync tool, if nothing was changed, process will be aborted.
I have an empty project on Mergin, but in the plugin, it is not listed.
I think we should treat the plugin differently. In Input, if there is no QGS/QGZ file, the project does not appear. But in plugin, we should show the project and somehow let the user know it contains no valid project file.
To reproduce the pop-up window:
1- Create a blank project
2- Download it locally
3- Select to open it
this message will appear:
Better to change the wording (when there is 0 project in folder):
It appears that this folder does not contain any valid QGIS project. Please transfer your projects and associated data and try again.
The folder remain linked even after the project is deleted from server.
The link should be removed upon deletion of the project from server.
From the web interface it points to:
https://gitlab.cloud.lutraconsulting.co.uk/mergin/mergin-qgis-plugin
instead of:
https://github.com/lutraconsulting/qgis-mergin-plugin
Thanks.
When uploading files, it will be good to have a filter to select which files/folder to upload. Obviously, this will be for the first upload, for the subsequent upload, any new files/folders will be included in the project.
I suppose, it will be similar to git ignore list.
Due to bug in QGIS, the plugin keeps syncing my background osm.gpkg which is read-only:
qgis/QGIS#31044
Right now I can only create a project when right-clicking top-level Mergin browser item. It would be good to have that action also for the "My projects" item where I looked for it but it wasn't there.
The "all projects" section should be the last one as it is not going to be commonly used. It could be also renamed to "Explore" to be consistent with browser and input
I assumed that if no change has been made to the geopackage (qgis/QGIS#23991) and with geodiff integration, there won't be any update of the file when syncing. But my file on server gets updated by the local copy, despite the fact that it was opened in readonly mode and no change was made to it.
In the config dialog, there should be an option to redirect users to the website to sign up.
After mergin plugin installation, when user tries to log into to Mergin, it keeps asking for QGIS master password 100s of times. Either QGIS password manager is broken or the way Mergin is using it....
It ends up freezing QGIS.
There should be a link to Mergin website...as users will not know where to sign up...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.