The correct logic of synchronization workflow?

Hi,
I see a lot of questions here, often referring to failed synchronizations, which seem to boil down to a misunderstanding of the “logic of the synchronization workflow”.

In my opinion, the documentation on this is not very clear, mainly for a lack of consistent naming and visualisation of the workflow.
Also, it seems the workflow is fundamentally different in it’s logic between cable export and cloud synchronization.

  • Could someone from QField confirm or correct the following logic?
  • Could the documentation be improved by adding a visualization of the workflow (see attached examples I made) and by adding more consistent naming of projects (the original project, and all the QField projects created by cable export, the QField app, importing synchronizing etc.)
    See also this topic for more context.

These are the workflows, as far as I understand them and please correct me if I am wrong:

Cable packaging

  1. You create a local, original QGIS project ‘orig’.
  2. You click ‘Package for QField’, it will create a new project ‘orig_qfield’ with a copy of the necessary datasets and saves it into an export folder.
  3. The contents of the export folder must be copied to the field device to the ‘imported projects’ folder (on android). Now you can edit your data in the field.
  4. The same content from the ‘imported projects folder’ must then be copied to an ‘import’ folder on your local machine.
  5. In QGIS you open your original QGIS project ‘orig’ (NOT the orig_qfield in the export folder…) , and click ‘Synchronize from QField’. This will synchronise the edited data with your original data.

Visualization example for Cable Packaging:

For QFieldCloud

  1. You create a local, original QGIS project ‘orig’.
  2. You click ‘QFieldCloud Projects Overview’ and create a new QFieldCloud project, ‘Convert currently open project to cloud project’. It forces you to save the QFieldCloud project locally in a different folder. It can not be saved into your original project folder. It creates a new project, ‘orig_cloud’ and copies the necessary dataset to this new folder.
  3. You can synchronise the orig_cloud project with your field device, edit data in the field and push the changes back to the cloud.
  4. When you want to synchronise the edited data from the cloud to your local machine, you can only sync it with your local QField version, orig_cloud. You can not sync directly from the cloud to your original QGIS project.

Visualization example for QField Cloud:

So, to me it seems like the logic is fundamentally different:
with cable packaging you you synchronize the field data with your original QGIS project
with cloud sync you synchronize the field data with a qfield-project which is different from you original QGIS project.

Is this correct?

Yes, this seems to be a correct representation of the workflow.

But in my opinion the absence of synchronisation between the ‘Project Folder’ and ‘Local Folder’ is a design flaw.

Is it a design flaw? Is it intended? Why? That is something I really want to discuss with the QField devs. I will be in Laax in October, so maybe then. Maybe earlier in an online partner-ambassador session?

I’ve tried discussing with devs it in related support tickets, and on LinkedIn, but no engagement. I also maintain that if it is intended, its still a flaw.