Releases: opengisch/QgisModelBaker
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
7.8.0
This release focuses on topping handling (UsabILIty Hub) but brings as well some improvements of the workflow wizard in general. It makes some missing bits available like for example the using of a project topping on generating a project and the possiblity to delete the data in the schema before import.
Improvements
UsabILIty Hub: Topping on Generate Project
Since ili2db 4.11 the id of the metaconfiguration file used to create the physical database is stored in the meta-tables. This means, on Project Creation we consider this id and provide the linked project topping.
Get Topping by selection
Still it's possible to disable it and choose another project topping file (YAML
).
You can choose a project topping file (identified by model, db-type etc.) from the UsabILITy Hub repositories or as well a YAML file from the local system.
Why, project topping file
... and not "metaconfiguration* file?
Because on this step only project topping files are relevant. Metaconfiguration files are only relevant, when the schema is created. We thought about to provide them, to choose the same like on schema import, but this part is already provided by getting the topping from the DB.
Sponsors
Financed by Canton of Schwyz and the QGIS Model Baker Group
UsabILIty Hub: Filter Toppings according to the Database Source
Model Baker only provides the toppings that are made for the current database source (GeoPackage, PostgreSQL etc.) in case it's defined in the ilidata
at the category
with the key http://codes.modelbaker.ch/preferredDataSource
. If there is no such category it's always displayed - so there are no backwards compatibility issues.
UsabILIty Topping Exporter
Here it detects what database sources are used and suggests you to optimize. You still can choose none.
Sponsors
Financed by the QGIS Model Baker Group
Delete before import
It is now possible to delete the existing data before importing new data. This means on using baskets, the ili2db parameter --replace
is executed instead of --update
. On not using baskets, the parameter --deleteData
is added to the command. Note that on using baskets, only the data from the corresponding dataset is deleted, whereas on not using baskets all data from the schema is deleted.
Sponsors
Financed by the QGIS Model Baker Group
Busy bar to indicate that Model Baker is doing something
Sometimes the wizard has to load - mostly checking the repos to suggest data / reload the comboboxes. And there users are confused, what's happening. For this reason it does now disable the page (instead of just freeze) and show a busy indicator as a bar below the log panel.
Sponsors
Financed by the QGIS Model Baker Group
Other improvements
- Introduce prefix
qgis.modelbaker
for Model Baker specific Meta Attributes. See documentation - With the UsabILIty Hub Topping Exporter the transaction mode of the project is exported as well and considered on generating a project using this topping.
- On generating a project the optimize strategy is stored to the project variables. This setting is then exported by the UsabILIty Hub Topping Exporter and considered on generating a project using this topping.
- Checkbox to use superuser in OID Manager
- Name OID and TID strictly "OID" to avoid confusions
Fixes
- Update schemas in separate task to avoid freezes in #854
- Check if the layer is a QgsVectorLayer before getting the fields in opengisch/QgisModelBakerLibrary#77
- Don't handle xml files 2 times in #845
- Display
---
when no oid-domain defined in the OID Managerin #864
ili2db
Using ili2db version 5.0.1
Library
Using modelbaker library 1.7.0
7.7.0
Main feature of this release is all about OIDs, a pain point that has existed for quite some time. First thing is the OIDs generated for the single objects, means the TID (or t_ili_tid in the physical database) what is done with default value expressions. The second thing is the OIDs generated for basket-objects, means the BID (and as well t_ili_tid in the physical database), when creating baskets, what now can be controlled by the user as well.
Improvements
TID (OID) Generation for Objects
Often the models definition requires a cross-system unique identificator. The so called OID.
Model Baker detects the OID domain (like UUIDOID
, I32OID
, STANDARDOID
, ANYOID
or user defined OID) and suggests default value expressions used in the t_ili_tid
fields.
Since the user have to be able to edit those values, they are provided in the GUI.
See documentation
In the wizard
There is an additional page after the generation of the QGIS project.
You can use the QGIS Expression Dialog to edit the default value expression for the t_ili_tid
field of each layer.
See documentation
On existing projects
Find the TID (OID) Manager via the Database > Model Baker menu.
If you need a counter in the expressions, you can use the t_id
field, that has a schema-wide sequence counting up. This sequence can be reset as well by the user, but be carefull not to set it lower than already existing t_id
s in your project.
Sponsors
This feature has been financed in a crowdfunding project by geostandards.ch, Canton of Schaffhausen and the QGIS Model Baker Group
Basket Generation with BID (OID)
In case you create a new dataset (e.g. the Baseset
that is created by Model Baker automatically) and you want to collect fresh data in QGIS (no import of existing data), the baskets have to be created as well.
Here the BID
definition needs to be considered.
In the wizard
There is an additional page after the schema import when the Baseset
is created.
Reasonable BIDs are suggested, but of course some of them (like STANDARDOID
) need editing by the user.
As well Model Baker suggests what baskets should be created or not (it sees it as relevant in case it's not extended by other topics).
See documentation
In the Dataset Manager
Of course you might want to create additional Datasets and with it the Baskets. Here is a new option Manage baskets of selected dataset to create the baskets you want.
See documentation
Sponsors
This feature has been financed in a crowdfunding project by geostandards.ch, Canton of Schaffhausen and the QGIS Model Baker Group
Schema section in drop down
On PostgreSQL connections you are now able to select your schema.
Sponsors
This feature has been financed by the Canton of Schaffhausen
ili2db
Using ili2db version 5.0.1
Library
Using modelbaker library 1.6.0