[QGIS-Developer] Documentation of QGIS3.ini structure/schema?

Johannes Kröger (WhereGroup) johannes.kroeger at wheregroup.com
Thu Jun 29 03:20:04 PDT 2023


Cheers! Yeah, this example INI is an amalgations of 2-3 years of 
different QGIS versions.

I tested with a clean profile in 3.22 and even that single version added 
data in 4 different ways:

[connections]
ows\items\wfs\connections\items\foo
ows\items\WFS\connections\items\foo

[qgis]
connections-wfs\foo
connections\WFS


# 3.22 right after adding the connection

...

[connections]
ows\items\wfs\connections\items\foo\authcfg=
ows\items\wfs\connections\items\foo\ignore-axis-orientation=false
ows\items\wfs\connections\items\foo\invert-axis-orientation=false
ows\items\wfs\connections\items\foo\max-num-features=
ows\items\wfs\connections\items\foo\page-size=
ows\items\wfs\connections\items\foo\paging-enabled=true
ows\items\wfs\connections\items\foo\password=
ows\items\wfs\connections\items\foo\prefer-coordinates-for-wfs-T11=false
ows\items\wfs\connections\items\foo\url=https://inspire.brandenburg.de/services/cp_alkis_wfs
ows\items\wfs\connections\items\foo\username=
ows\items\wfs\connections\items\foo\version=auto
ows\items\wfs\connections\selected=foo

...

# 3.22 after closing QGIS

...

[connections]
ows\items\wfs\connections\items\foo\authcfg=
ows\items\wfs\connections\items\foo\ignore-axis-orientation=false
ows\items\wfs\connections\items\foo\invert-axis-orientation=false
ows\items\wfs\connections\items\foo\max-num-features=
ows\items\wfs\connections\items\foo\page-size=
ows\items\wfs\connections\items\foo\paging-enabled=true
ows\items\wfs\connections\items\foo\password=
ows\items\wfs\connections\items\foo\prefer-coordinates-for-wfs-T11=false
ows\items\wfs\connections\items\foo\url=https://inspire.brandenburg.de/services/cp_alkis_wfs
ows\items\wfs\connections\items\foo\username=
ows\items\wfs\connections\items\foo\version=auto
ows\items\wfs\connections\selected=foo

...

[qgis]
connections-wfs\foo\dpiMode=All
connections-wfs\foo\ignoreAxisOrientation=false
connections-wfs\foo\ignoreGetFeatureInfoURI=false
connections-wfs\foo\ignoreGetMapURI=false
connections-wfs\foo\invertAxisOrientation=false
connections-wfs\foo\maxnumfeatures=
connections-wfs\foo\pagesize=
connections-wfs\foo\pagingenabled=true
connections-wfs\foo\preferCoordinatesForWfsT11=false
connections-wfs\foo\reportedLayerExtents=false
connections-wfs\foo\smoothPixmapTransform=false
connections-wfs\foo\tilePixelRatio=Undefined
connections-wfs\foo\url=https://inspire.brandenburg.de/services/cp_alkis_wfs
connections-wfs\foo\version=auto
...
connections\WFS\foo\authcfg=
connections\WFS\foo\password=
connections\WFS\foo\username=

...

# 3.22 after re-opening and loading the layer once

...

[connections]
ows\items\WFS\connections\items\foo\authcfg=
ows\items\WFS\connections\items\foo\password=
ows\items\WFS\connections\items\foo\username=
ows\items\wfs\connections\items\foo\authcfg=
ows\items\wfs\connections\items\foo\dpi-mode=All
ows\items\wfs\connections\items\foo\http-header=@Variant(\0\0\0\b\0\0\0\0)
ows\items\wfs\connections\items\foo\ignore-axis-orientation=false
ows\items\wfs\connections\items\foo\ignore-get-feature-info-uri=false
ows\items\wfs\connections\items\foo\ignore-get-map-uri=false
ows\items\wfs\connections\items\foo\invert-axis-orientation=false
ows\items\wfs\connections\items\foo\max-num-features=
ows\items\wfs\connections\items\foo\page-size=
ows\items\wfs\connections\items\foo\paging-enabled=true
ows\items\wfs\connections\items\foo\password=
ows\items\wfs\connections\items\foo\prefer-coordinates-for-wfs-T11=false
ows\items\wfs\connections\items\foo\reported-layer-extents=false
ows\items\wfs\connections\items\foo\smooth-pixmap-transform=false
ows\items\wfs\connections\items\foo\tile-pixel-ratio=Undefined
ows\items\wfs\connections\items\foo\url=https://inspire.brandenburg.de/services/cp_alkis_wfs
ows\items\wfs\connections\items\foo\username=
ows\items\wfs\connections\items\foo\version=auto
ows\items\wfs\connections\selected=foo

...

[qgis]
< same as after closing >


Maybe these are all the possible variations (for WFS) that we would need 
to consider when trying to transfer connections between profiles with 
the plugin?

Cheers, Hannes

Am 29.06.23 um 11:23 schrieb Richard Duivenvoorde via QGIS-Developer:
> Hi Hannes,
>
> Not sure if it is documented, and not sure IF they should be at 
> different places.
>
> But one explanation, IF this is an old profile and you are running 
> master/own compiled QGIS's, could be that a new Settings regime has 
> been introduced recently, which changed the 'keys' of (almost all) 
> settings. Denis can tell you the exact details.
>
> It could be that you have multiple configurations, because of 
> 'intermediate' and old settings... I do not think the new code cleans 
> up old settings (but it SAVES them).
>
> I've at a certain moment replaced/refreshed some of my profiles 
> because of settings troubles...
>
> Regards,
>
> Richard Duivenvoorde
>
> On 6/29/23 10:35, Johannes Kröger (WhereGroup) via QGIS-Developer wrote:
>> Hey guys,
>>
>> I am trying to polish the Profile Manager plugin 
>> https://plugins.qgis.org/plugins/profile-manager/ and am having 
>> sliiight troubles with the QGIS3.ini structure. Looking at a 
>> naturally grown profile I found 5 different places in which 
>> configuration is stored for one single WFS connection, mostly 
>> redundantly and I wonder if this is documented somewhere?
>>
>> Here is an example:
>>
>> [connections]
>> ows\items\WFS\connections\items\foo\authcfg =
>> ows\items\wfs\connections\items\foo\dpi-mode = All
>> ows\items\wfs\connections\items\foo\http-header = 
>> @Variant(\0\0\0\b\0\0\0\0)
>> ows\items\wfs\connections\items\foo\ignore-axis-orientation = false
>> ...
>> ows\items\wfs\connections\items\foo\version = auto
>>
>> [qgis]
>> WFS\foo\authcfg=
>> ...
>> connections-wfs\foo\dpiMode = All
>> connections-wfs\foo\ignoreAxisOrientation = false
>> ...
>> connections\WFS\foo\authcfg =
>> connections\WFS\foo\password =
>> connections\WFS\foo\username =
>>
>> I assume that this is from different versions of QGIS? When I created 
>> a new profile in 3.32 I only got lines in the [connections] section 
>> and they were all lowercase. With 3.16 I got entries under [qgis].
>>
>> - Is the QGIS3.ini structure documented somewhere?
>> - Are changes between versions documented?
>> - Is there a way to find out which QGIS version a QGIS3.ini file was 
>> written with?
>> - Is the structure stable within point releases?
>> - How far does backwards compatibility go and which entries take 
>> precedence when they are referencing the same thing?
>>
>> Cheers, Hannes
>>
>
> _______________________________________________
> QGIS-Developer mailing list
> QGIS-Developer at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer

-- 
Johannes Kröger / GIS-Entwickler/-Berater

---------------------------------------------
Aufwind durch Wissen!
Web-Seminare und Online-Schulungen
bei der www.foss-academy.com
---------------------------------------------

WhereGroup GmbH
c/o KK03 GmbH
Lange Reihe 29
20099 Hamburg
Germany

Tel: +49 (0)228 / 90 90 38 - 36
Fax: +49 (0)228 / 90 90 38 - 11

johannes.kroeger at wheregroup.com
www.wheregroup.com
Geschäftsführer:
Olaf Knopp, Peter Stamm
Amtsgericht Bonn, HRB 9885
-------------------------------



More information about the QGIS-Developer mailing list