Modelbaker

Latest version: v1.9.3

Safety actively analyzes 682487 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 31

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.

![Screenshot from 2024-06-27 12-18-24](https://github.com/opengisch/QgisModelBaker/assets/28384354/2c99e871-c830-44c3-b5b9-a0869a0edd53)

As well the "Blend of Gray" theme is supported.

![image](https://github.com/opengisch/QgisModelBaker/assets/28384354/3836b93c-69c2-4d34-96a8-5c979f19b79b)

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.

![Screenshot from 2024-06-21 13-04-34](https://github.com/opengisch/QgisModelBaker/assets/28384354/2082d175-a943-49e8-bf55-69dde402a06f)

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.

![image](https://github.com/opengisch/QgisModelBaker/assets/28384354/00ed74ce-efa6-4042-92a1-51ddb89dad5d)

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
![image](https://github.com/opengisch/QgisModelBaker/assets/28384354/5bbd128c-d5f1-480c-b9ac-d4b8100c30e3)
- 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](https://opengisch.github.io/QgisModelBaker/background_info/oid_tid_generator/#oid-tid-bid-t_ili_tid-tid-sorry-what) 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.

![image](https://github.com/opengisch/QgisModelBaker/assets/28384354/01dff661-46b1-4df7-8904-7c1d6bfd503b)

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.

![image](https://github.com/opengisch/QgisModelBakerLibrary/assets/28384354/2d3bf3bc-4d25-4801-839f-3b8bcbf37a61)

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.

![image](https://github.com/opengisch/QgisModelBaker/assets/28384354/99829658-e1da-496c-b486-5661889b0149)

As well the irrelevant baskets are deselected per default.

Sponsors

Financed by the QGIS Model Baker Group

ili2db

7.8.4

Fixes
* use nice prefix for meta attribut form_order
* use 'obsolete' parameter createEnumTabs on ili2db 3 only
* improve tags to find plugin (by modelbaker, qgismodelbaker etc.)

ili2db

7.8.3

Fixes
* Fix python error wrapped C/C++ object of type xy has been deleted
* unchain the optimize combo from topping results
* Don't make topics irrelevant that are extended by itself (in Basket Page)

ili2db

7.8.2

Improvements / Fixes

* Wait for model refresh on local repository topping receiven https://github.com/opengisch/QgisModelBaker/pull/877
* Fix that when version output not valid we don't think we find a match in https://github.com/opengisch/QgisModelBakerLibrary/pull/84
* Fix topic request, to list them even when no table is implemented in https://github.com/opengisch/QgisModelBakerLibrary/pull/87
* Consider path when building up ilicache, fixes opengisch/QgisModelBaker861 in https://github.com/opengisch/QgisModelBakerLibrary/pull/85

ili2db

7.8.1

Improvements / Fixes

* display --- when no bid-domain defined in https://github.com/opengisch/QgisModelBaker/pull/869
* accept xml files in wizard in https://github.com/opengisch/QgisModelBaker/pull/870
* Return the import models from repository in one entry, what leads to one command for all repo models by in https://github.com/opengisch/QgisModelBaker/pull/871
* Keep Settings in UsabILIty Exporter on Navigation in https://github.com/opengisch/QgisModelBaker/pull/873

ili2db

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**.

![Screenshot from 2023-12-04 14-41-47](https://github.com/opengisch/QgisModelBaker/assets/28384354/9ddcd4fb-b718-4e01-ab65-aa8f303f5688)

Get Topping by selection
Still it's possible to **disable it** and choose another **project topping file (`YAML`)**.

![image](https://github.com/opengisch/QgisModelBaker/assets/28384354/1f5760c7-0ad4-4556-8088-9f5d7174550c)

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.

![Screenshot from 2023-12-01 09-09-18](https://github.com/opengisch/QgisModelBaker/assets/28384354/da16bde1-6839-4921-8c76-e41208c40ed0)

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.

![image](https://github.com/opengisch/QgisModelBaker/assets/28384354/d9a6910c-be94-4b47-aa55-db922e11cb98)

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.

![Screenshot from 2023-12-08 13-50-00](https://github.com/opengisch/QgisModelBaker/assets/28384354/6e8e99b4-1583-46e4-9e6b-d7a1cb24e565)

Sponsors
Financed by the QGIS Model Baker Group

Other improvements
* Introduce prefix `qgis.modelbaker` for Model Baker specific Meta Attributes. See [documentation](https://opengisch.github.io/QgisModelBaker/background_info/meta_attributes/#list-of-specific-attributes)
* 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 https://github.com/opengisch/QgisModelBaker/pull/854
* Check if the layer is a QgsVectorLayer before getting the fields in https://github.com/opengisch/QgisModelBakerLibrary/pull/77
* Don't handle xml files 2 times in https://github.com/opengisch/QgisModelBaker/pull/845
* Display `---` when no oid-domain defined in the OID Managerin https://github.com/opengisch/QgisModelBaker/pull/864

ili2db

Page 2 of 31

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.