Releases: opengisch/QgisModelBaker
7.10.1
7.10.0
Two major problems have been solved with this version of Model Baker and its underlying components. Support for translation models and the ability to handle tables with multiple geometry columns on GeoPackage. In addition, the dataset/basket manager has been improved so that you no longer need to edit (or view) these technical tables directly.
Tables having multiple geometries on GeoPackages
Finally. Multiple geometries per table are possible in GeoPackage, just like in PostgreSQL. Actually, we are building on the great work done on GDAL and ili2db. This concerns models with multiple geometry attributes in one class like KbS_V1_5
, Nutzungsplanung_V310
and others.
The setting for gpkgMultiGeomPerTable
on Schema Import
If this parameter is set, ili2db creates multiple geometry columns per table in a GeoPackage.
This only works with a sufficient GDAL version * Otherwise it's invisible and false.
Generating QGIS Project
If we have a sufficient GDAL version *, we can create a QGIS project, but need to warn, that others reading this project may have problems.
If the schema was created with the gpkgMultiGeomPerTable
and it contains tables with multiple geometry columns, but the current GDAL version is not sufficient, we block the creation of a QGIS Project.
* Sufficient GDAL Version 3.8
The functionality to read such tables with multiple geometry columns is not standardized and does only work with GDAL Version >= 3.8
When a schema is created with this parameter gpkgMultiGeomPerTable
and the Model contains multiple geometries per table, it can neither create a project on QGIS with GDAL<3.8 nor read a project that has been created on a QGIS with GDAL >= 3.8.
If no multiple geometries per table, it still can create a project from it by GDAL<3.8 or open such a project.
As well we need to be aware, that GeoPackages are not that powerful than PostgreSQL. Those not-standardized implementations have been tested with the testmodels, KbS_V1_5
and Nutzungsplanung_V310
. But there is no guarantee given that it works in every case.
Sponsors
Financed by the QGIS Model Baker Group
TRANSLATION OF
For TRANSLATION OF model, the database schema is created in it's original language (otherwise you would have to pass the parameter --nameLang
manually), but on project generation Model Baker parses the meta table (t_ili2db_nls
) and creates the GUI in the selected language.
The result is a translated GUI.
Sponsors
Financed by the Canton of Neuchâtel and the QGIS Model Baker Group
Superpower Dataset Manager
The Dataset Manager has existed for quite some time, but it was still not possible to edit baskets and delete datasets. This had to be done via the technical tables t_ili2db_datasets
and t_ili2db_baskets
. Not anymore. With the new Dataset Manager you can do everything like adding, modifying or deleting datasets and baskets.
Particularly useful are functions that delete depending children. This means that if you delete a dataset, the referencing baskets and all the data in this basket are also deleted. Of course, you will be warned if you do such critical things.
Sponsors
Financed by the QGIS Model Baker Group
Support non-password DB connections
This mainly concerns solutions with Active Directories and technologies such as Kerberos. There, authentication is performed on the server side, which means that Model Baker should attempt requests without a password.
And if no user name is defined in the connection settings, Model Baker uses the user name of the operating system as a “fallback” (obtained by QgsApplication.userLoginName()
).
Sponsors
Financed by the Canton of Schaffhausen
Other things
- Show warning message in TID manager when OIDs cannot be found in #954
- Translation (Transifex) Guide in Documentation in #959
- [export] Hide superuser checkbox on PG export and make it possible to run PG export with authConfig and no superuser in #962
- Topping Exporter: Consider the layer type for style categories in #966 and load style for raster layers as well in opengisch/QgisModelBakerLibrary#105
- Fix on DB Manager: Get db type from settings and read the settings accordingly in #968
- Concern superuser login on receiving schema in #969
ili2db
Using ili2db version 5.2.0
Library
Using modelbaker library 1.9.0
7.9.3
7.9.2
7.9.1
7.9.0
With this release, Model Baker brings some cool improvements on the GUI like the consistent use of the data source settings and the dark mode. As well it fixes the missing GeoPackage part and offers optimization strategies on smart 1 inheritance implementations. As well it contains the handy detection and setting of unique and not-null constraints on OID fields.
GUI / UX
Night Model Baking
Many users work with QGIS in its velvety dark mode. Since this release Model Baker supports it as well.
As well the "Blend of Gray" theme is supported.
Concequent detecting of database settings
Dataset Manager
Because you barely want to edit datasets on another data source than the one you are using in your current project, Model Baker detects automatically the source (according to the selected layer). You cannot edit the data source in the Dataset Manager anymore. We removed it because it leaded to confusion.
And what if my current layer is not a valid layer (e.g. a group or a WMS)?
Then it goes through all the layers and takes the first valid one.
And what if I have no project opened at all?
Then it takes the last used connection (used anywhere - not only in Dataset Manager)
Export
On export it does the same. It checks for layers in the current project and takes their data source. If no project or valid layer present, it takes the last used connection. Unlike in the Dataset Manager the connection is still editable here.
Import / Generate
Although on schema import you usually create a new schema / data file we adapted the behavior here, because we I assume, that mostly the other parameters (like the db / host) are the same like the one of the opened project. If no project or valid layer present, it takes the last used connection.
On generating a project you usually have no project opened yet. But to have it everywhere in the same way, the behavior is everywhere the same.
Help in the Workflow Wizard
The workflow wizard provides support by help button. There is a summary about the current page and the description of the most important options. Then there are links to the corresponding chapter in the documentation, to the GitHub issues and to the discourse INTERLIS forum.
Other improvements
- Remove button to manage baskets when the Dataset Manager is opened via the wizard (since in that case you created the basket before or you will create it by importing the data)
- More descriptive baskets on export / validation by showing the attachement key
- Remember previous settings when using a PostgreSQL connection service file
Sponsors
Financed by the QGIS Model Baker Group
Mandatory and unique constraints on OIDs
The columns based on OIDs in physical databases (the t_ili_tid
fields) contain neither a not-null nor a unique constraint when generated by ili2db. This is because some tables created based on special inheritance structures have a t_ili_tid
but no OID. It may also be that you want to collect the data without filling in the OID.
Still, most of the time they must be unique and not null. At least as soon as you want to split or duplicate features in QGIS. This is why Model Baker sets the field widget of t_ili_tid
to not-null and unique by default as soon as an OID is defined in the INTERLIS model. But as well, those settings are provided by the OID Manager, so you are free to change them.
Sponsors
Financed by Canton of Schwyz
Improvements on Smart 1 inheritance
When a physical database based on an INTERLIS model was created with the --smart1inheritance
setting, this mostly means that multiple classes are "merged" to one table containing all the attributes. As well it contains a field t_type
describing of what class the current object is.
Provide possible t_type
values in dropdown
With QGIS projects based on PostgreSQL this was already provided before this release, but now it's also possible with GeoPackage. As well the names of the possible classes are more descriptive.
Project optimization
Projects based on the smart 1 inheritance, can now be optimized. Means on "Hide"-strategy all the irrelevant classes will be filtered out from the t_type
dropdown.
As well the irrelevant baskets are deselected per default.
Sponsors
Financed by the QGIS Model Baker Group
ili2db
Using ili2db version 5.1.0
Library
Using modelbaker library 1.8.0
7.8.4
7.8.3
7.8.2
Improvements / Fixes
- Wait for model refresh on local repository topping receiven #877
- Fix that when version output not valid we don't think we find a match in opengisch/QgisModelBakerLibrary#84
- Fix topic request, to list them even when no table is implemented in opengisch/QgisModelBakerLibrary#87
- Consider path when building up ilicache, fixes #861 in opengisch/QgisModelBakerLibrary#85
ili2db
Using ili2db version 5.0.1
Library
Using modelbaker library 1.7.1
7.8.1
Improvements / Fixes
- display --- when no bid-domain defined in #869
- accept xml files in wizard in #870
- Return the import models from repository in one entry, what leads to one command for all repo models by in #871
- Keep Settings in UsabILIty Exporter on Navigation in #873
ili2db
Using ili2db version 5.0.1
Library
Using modelbaker library 1.7.0