Wednesday 15 February 2017

gui - Deploying QGIS settings in an enterprise environment


Are there any recommendations to manage and deploy various settings in QGIS (GUI-settings like visible plugins/toolboxes etc., settings in options, print compositions ...) to hundreds of clients / users?


Automated software installation is done so far (distributing QGIS via OPSI), but this comes with a standard configuration of the gui, which has by far too many options for a normal user, who only wants to see and print spatial data.



Answer



Sure is.


QGIS stores stuff in two places:



  • {USERHOME}.qgis2

  • Registry (Windows) | .config (Linux)



.qgis2 is for all templates, plugins, python code, processing models, etc


However you can also use the --configpath and --optionpath command args to set the folder to store the .qgis2 folder and settings. The settings will be saved as a ini file.


The registry keys (or ini file) will store everything else config related.


Here are some options for how you could deploy the settings to user.


The registry and .qgis2 route



  • Install QGIS like normal

  • Tweak all the settings you need, e.g add connection strings, move toolbars, etc

  • Export the registry keys


  • Take a copy of the .qgis2 folder

  • Deploy the registry file to the users on login and the .qgis2 folder


Note You might not want to override it after you have done it first go or else you will nuke all the users settings.


If you need to rollout just a small change in the interface e.g toolbar placement, simply export that key from the registry and import that for each user.


The configpath and optionspath route


This option lets you move the settings and plugin folder. Here is an example:


qgis --configpath C:\temp\qgis --optionspath C:\temp\qgis


This will move everything QGIS has for settings and .qgis2 into C:\temp\qgis. This is super handy for creating "profiles" for users as you can change the folder the settings are loaded from


As an example I have one folder for training which is clean and wiped on each restart, one for demos which has large fonts and toolbar icons, and my normal one. I also use this option when developing QGIS to avoid messing my normal QGIS settings when testing ideas.



For going this route simply:



  • Start QGIS using those command args

  • Setup QGIS how you wish as the default setup

  • Copy folders

  • Deploy to user along with a shortcut for QGIS pointing to the settings folder


Note The last step is important else the user will still have QGIS pointed to the registry for their settings and not you folder


Some other tips


You can set extra plugin loading paths using an environmental variable:



QGIS_PLUGINPATH


point this to a network path to share common plugins between users.


In the QGIS options you can also set extra composer template, and project template paths. Set these to a network location to share common templates between users with a single location for storage.


No comments:

Post a Comment

arcpy - Changing output name when exporting data driven pages to JPG?

Is there a way to save the output JPG, changing the output file name to the page name, instead of page number? I mean changing the script fo...