QgisModelBaker Versions Save

Create QGIS projects from database schemas or Interlis models

v7.8.3

1 month ago

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

Using ili2db version 5.0.1

Library

Using modelbaker library 1.7.2

v7.8.2

1 month ago

Improvements / Fixes

ili2db

Using ili2db version 5.0.1

Library

Using modelbaker library 1.7.1

v7.8.1

4 months ago

Improvements / Fixes

ili2db

Using ili2db version 5.0.1

Library

Using modelbaker library 1.7.0

v7.8.0

4 months ago

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

Get Topping by selection

Still it's possible to disable it and choose another project topping file (YAML).

image

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

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

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

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

ili2db

Using ili2db version 5.0.1

Library

Using modelbaker library 1.7.0

v7.7.0

5 months ago

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.

image

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.

image

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

image

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.

image

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.

Screenshot from 2023-11-24 13-12-40

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

v7.6.1

5 months ago

Improvements / Fixes

Filter in Relation Reference for Baskets

On extended class's layers all possible baskets (if NONE-Strategy) or only the relevant ones (if GROUP- or HIDE-Strategy) are listed in the widget of the t_basket field.

image

Dataset Selector and Default Values

In the dataset selector all possible baskets (if NONE-Strategy) or only the relevant ones (if GROUP- or HIDE-Strategy) are listed. The chosen value is then written to the project variable and can be used as default value.

Library

Using modelbaker library 1.5.1

v7.6.0

6 months ago

This release offers new features that make working with advanced capabilities of INTERLIS even more enjoyable, such as with advanced models and using validation configurations. Furthermore, it offers some enhancements and fixes, like clearing the cache, a pleasant log and the support of drag'n'drop of extra meta attribute files.

Improvements

Optimized Project Generation of extended INTERLIS Models

The problem

If a model or topic contains extended classes, the inclusive base classes are implemented in the physical database what leaded to a confusing layer tree, messy forms and lots of unused relations.

image

While the you only want to see, what is relevant for you, Model Baker detects the irrelevant layers and lets you to apply an optimization to the project.

The solution

When generating a project you can now choose one of the following strategies to optimize your project: image

Hide strategy

Base class layers with extensions of the same name are hidden and base class layers with multiple extensions also. Unless the extension is in the same model, then it's not hidden but renamed. image Relations of hidden layers are not created and thus the widgets for them neither.

Group strategy

Base class layers with extensions of the same name are grouped, base class layers with multiple extensions also. Unless the extension is in the same model, then it's not grouped but renamed. image

Relationships of grouped layers are created, but widgets are not applied to the form.

None strategy

Independently from extended models (but pretty much connected to it), we eliminate ambiguous layer naming in general. This means:

  • If layername is ambiuous append topic name as suffix.
  • If layername is still ambiguous append model name as suffix.

image

Sponsors

This feature has been financed by QGIS Anwendergruppe Schweiz - Groupe d'utilisateurs QGIS Suisse - Swiss QGIS User Group

Persistent Logging Functionality

Warning and information messages are printed to the log panel of the wizard dialog. This is good to see the information immediately, but to track down a problem, users and developers require the information of past actions. The new logging functionality saves each log output to a daily file (in the plugin directory, i.e. the QGIS profile folder) and keeps the last ten files accessible via the Model Baker menu. image

Error dialog

If Java is not installed, a barely visible log line used to be output. For people using Model Baker (and thus ili2db) for the first time, this was quite confusing. Now a popup appears indicating that Java is not installed and pointing to a possible download source.

Clear Ilicache Button

In several places, but especially on the Source Selection Page, the user can select and use a model from the network of Swiss Geodata Repositories. These files are downloaded and cached locally. In case of immediate changes - which is not often the case, but can be if the model is in a test phase - the problem can occur that a different file (the one from the cache instead of the one from the repository) is used. Users had to delete the cache folder manually, which was usually too advanced and inconvenient. This is now solved by having a button do it for you. clearcache

Store Validator Config File in Project Variable

Since some time you have the possibility to select a config file in the validator and pass it to ili2db. Since it is meaningful to use this multiple times, it is handy that you can now store the path in the QGIS project variables. The path is stored relatively (so that the project can be exchanged to other systems), but passed absolutely to ili2db. Likewise, it is possible to pass (and store) a key to the ilidata repository, like ilidata:<key>. image

Drag&Drop Support for Extra Meta Attribute Files (toml/ini)

While Model Baker claims to do everything for you when dragging and dropping files into QGIS, the Extra Meta Attribute Files (the file formerly known as the toml file) were not considered. This is now fixed. When you drop an additional Extra Meta Attribute File, it is automatically set in the advanced schema import settings.

Other Improvements and Fixes

  • Possibility to validate schemas based on ili2db 3.x.x
  • Fix missing port parsing from layer to use in validator
  • COMPOSITION strength relation on STRUCTURE childs: A STRUCTURE object cannot exist without a parent. This means when the parent is deleted the entry in the linking table (the structure) needs to be deleted. Means, every relation with a child that is a structure, shall have composition as strength.
  • Better default size for Layer Style Categories Dialog
  • Add the icon for the main menu entry
  • Remove old unused files

ili2db

Using ili2db version 5.0.0 fixing this https://github.com/opengisch/QgisModelBaker/issues/779

Library

Using modelbaker library 1.5.0

v7.5.2

10 months ago

Fixes

  • Sort models / toppings in autocompleter box
  • Print short description when a metaconfig has been selected
  • Set current layer only if validate dock is visible
  • Deactivate next button while searching for referenceData

Library

Using modelbaker library 1.4.4

v7.5.1

1 year ago

Fixes

  • Fix multiple evaluation of next-id in wizard and broken export models check-list and broken export models GUI on validator.

Library

Using modelbaker library 1.4.3

v7.5.0

1 year ago

This release brings better support of working with extended models concerning export and validation.

Improvements

Export the data in the base model format

If your data is in the format of the cantonal model, but you want to export it in the format of the national model, you have to pass --exportModels to ili2db, otherwise (or if the data cannot be exported/validated in the selected model because it's not an extension of it) the data is exported in the model it is stored.

Usually, this is one single model. However, it is also possible to pass multiple models, which makes sense if there are multiple base models in the schema you want to export.

image

Note that this implementation works as addition (and not replacement) of the filters where models can be passed to define what data (not what format) should be exported.

The tool tip is listing all the relevant parent models (the ones that are listed as well, means are exportable).

The export session visualization has been improved, helping for more clearity. image

Validate the data in the base model format

Same is now supported in the validator as well.

When the data are validated in the model where they are stored (here Staedtischer_Ortsplanung_V1_1 extending Kantonale_Ortsplanung_V1_1, all the constraints are considered. Means the one of the extended model and of its parents.

image

And when validating according to the parent model, only the parent model's constraints are checked (and the parent's parent's constraints of course :smile: image

Sponsors

This feature has been financed by QGIS Anwendergruppe Schweiz - Groupe d'utilisateurs QGIS Suisse - Swiss QGIS User Group

ili2db

Using ili2db version 4.10.0

Library

Using modelbaker library 1.4.3