Hello,
I am exploring the possibility of developing a QField plugin that would allow users to connect to a PostgreSQL/PostGIS database in order to download and provision a QGIS project directly from a remote server.
From what I understand so far, QField plugins are only loaded once a project is already opened, since the plugin system is initialized as part of the project context. As a result, plugin functionality is not available on the initial loading screen (the screen showing options such as “Create a new project” or “Open project”).
I would like to know whether QField currently exposes any hook, API entry point, or early-stage lifecycle event that would allow a plugin to be triggered before a project is loaded.
My objective would be to integrate a custom action or button on the startup UI—next to “Create a new project”—that:
-
launches a plugin workflow at app startup,
-
authenticates the user (e.g., via PostgreSQL credentials, OAuth, or a custom API endpoint),
-
fetches project metadata from a remote server,
-
downloads the
.qgzor unpacked project structure to local storage, and -
optionally places the project into the default QField directory so it appears immediately in the project list.
The main goal is to avoid manual packaging of projects and enable a scenario where users can pull any updated project directly from their device at any time, without requiring desktop-side preparation.
I’m planning to explore this further next year, once I gather more information.
I’d also appreciate your thoughts on whether this approach makes sense within QField’s intended architecture.
Thank you !