[QGIS-Developer] (QGIS 2020 Grant Report) Port DB Manager Table Management Functionalities to Browser (part 2)

Richard Duivenvoorde rdmailings at duif.net
Tue Sep 29 22:45:53 PDT 2020


Nice Alessandro!

Just tested and work flawlessly on Postgres and Gpkg (others I did not test yet...).
(one issue, see below)

As the DB Manager plugin has issues with me, I am wondering what the 'future' is of that part of QGIS? (in certain combi's of sip/qt it kills QGIS [0])

In another DB Manager related thread this month [1], Sandro mentioned he used it in a plugin, and Paolo said he used it in trainings.
So I'm wondering what others think we should do with it...

Which functionalities are still missing/wanted/needed? 
Most important one is the sql window?
And you can delete and create triggers and indexes?
Maybe the 'load data' button?

Although I really like the sql window for quick demo's :-), I'm ok with 'whatever', AS it is a plugin I will just disable it for now.

ISSUE: One (potential) issue I found in using the context menu in the 'DataSource Manager -- Browser' dialog:
- if you select 'Layer Properties' in the Browser dialog for a db, those Layer Properties (with me) popup *behind* the modal 'DataSource Manager -- Browser' window. So then you cannot use/close it, only AFTER you close the DataSource Manager. I created an issue [2]

Regards & Thanks for this work!

Richard Duivenvoorde

[0] https://github.com/qgis/QGIS/issues/38393
[1] https://lists.osgeo.org/pipermail/qgis-developer/2020-September/062261.html
[2] https://github.com/qgis/QGIS/issues/39094


On 9/29/20 9:14 AM, Alessandro Pasotti wrote:
> Hi,
> 
> this is the final report about the implementation of the QEP
> https://github.com/qgis/QGIS-Enhancement-Proposals/issues/171
> 
> The QGIS browser now exposes a new "Fields" item for vector layers
> that can be expanded to show the underlying fields, an icon identifies
> the base field type.
> 
> A context menu is available at the fields root level and allows you to
> create a new field.
> A context menu is available at the individual fields level and allows
> you to delete the selected field.
> 
> At the connection level a new context menu item is available and
> allows you to create a new table for all DB connections that support
> the Connections API:
> - PG
> - Spatialite
> - GPKG
> - MSSQL
> 
> All the new functions are implemented using the new connections API
> and exposed to Python for plugins/scripts.
> 
> There have been many other small improvements in the API and in the
> browser as part of this work such as homogenization of the
> error/warning/success reporting (now using the message bar if
> available and falling back to a dialog if it is not available) and new
> context menu entries.
> 
> The following functions are now available in the browser tree using a
> common abstraction API:
> 
> - create a new schema
> - delete a schema
> - rename a schema
> - create a new table/layer
> - rename table/layer
> - delete a table/layer
> - truncate a table/layer
> - refresh a materialized view
> - list fields for a table/view
> - add a new field
> - delete a field
> 
> Thank you to the QGIS project and to all QGIS sponsors and donors that
> made this possible, a special thank goes to Nyall Dawson who helped in
> the design of the API and reviewed the code.
> 
> Kind regards.
> 



More information about the QGIS-Developer mailing list