Hi Alexandre -

Thanks for the heads-up regarding initialisation scripts and global settings file.

Med venlig hilsen / Kind regards

Bo Victor Thomsen

Den 12-07-2021 kl. 10:54 skrev Alexandre Neto:
Hi Bo,

This is some old stuff we wrote at Boundless, I believe it still applies for QGIS today.

https://boundless-desktop.readthedocs.io/en/latest/system_admins/index.html#for-system-administrators <https://boundless-desktop.readthedocs.io/en/latest/system_admins/index.html#for-system-administrators>

Both initialisation scripts and global setting file can help you with what you want to achieve.

(I should make sure this information is available on docs.qgis.org <http://docs.qgis.org>, but I never find the time to do it...)

Best regards,

Alexandre Neto
User Support
www.qcooperative.net <http://www.qcooperative.net>

A segunda, 12/07/2021, 08:34, Bo Victor Thomsen <[email protected] <mailto:[email protected]>> escreveu:

    Hi Thomas -

    Your suggestion is actually pretty close to the solution I made -

      * Standard installation of QGIS with /standard/ .msi package.
      * After the QGIS installation and before QGIS is started the
        user do a one-time run a Python script from et central network
        drive -  using the Python interpreter installed together with
        QGIS  which:
          o Unzip a complete profile  with specific plugins and
            customized parameters from a central network based
            repository. This profile replaces the standard "default"
            profile.
          o Search/replace a couple of "tokenized" values in QGIS.ini
            with actual values based on username

    The profile and tokenized QGIS.ini is prepared by the GIS
    administrator

    The Python script is packaged in a .cmd file which is started by
    the user.

    Not a perfect solution, but doable:

      * The It department is happy: No work doing specialized
        installations
      * The GIS administrator is happy. It's a one-time piece of work
        for each QGIS version to  prepare the profile and tokenize the
        QGIS.ini
      * The user is - somewhat - happy. To finish the installation is
        simply to double-click once on a file placed in a "highly
        visible" location.
      * Any subsequent mistakes made by the user (Installation of
        dodgy plugins, strange changes in setups ....) is easily
        repaired by running the Python script again.


    Med venlig hilsen / Kind regards

    Bo Victor Thomsen

    Den 12-07-2021 kl. 03:14 skrev Thomas Gratier:
    Hi,

    I'm not aware QSettings provided by Qt can do it. Your %APPDATA%
    is not portable as would only work on Windows

    You can always try generate the QGIS.ini file using a templating
    system

    File QGIS.ini.j2 with following content

    
Configuration\MODELS_FOLDER={{APPDATA}}\\QGIS\\QGIS3\\profiles\\default\\processing\\models
    
Configuration\SCRIPTS_FOLDERS={{APPDATA}}\\QGIS\\QGIS3\\profiles\\default\\processing\\scripts


    File generate_ini.py with following content

    import os
    import jinja2

    templateLoader = jinja2.FileSystemLoader(searchpath="./")
    templateEnv = jinja2.Environment(loader=templateLoader)
    TEMPLATE_FILE = "QGIS.ini.j2"
    template = templateEnv.get_template(TEMPLATE_FILE)
    mydict = {
        "APPDATA": os.environ.get("APPDATA")
    }
    outputText = template.render(**mydict)
    with open('QGIS.ini', 'w') as outputfile:
        outputfile.write(outputText)

    Then, to write your QGIS.ini file, do


    python3 generate_ini.py


    The possible deal breakers with this approach are:
    - you depend from jinja2, a third party Python library,
    - you can't later reuse the mechanism if for instance QGIS
    changes the QGIS.ini file later on


    Regards

    Thomas


    Le mar. 6 juil. 2021 à 09:18, Bo Victor Thomsen
    <[email protected]
    <mailto:[email protected]>> a écrit :

        To the list -

        Is there a method to use OS (Linux, Windows...) environment
        variables in the QGIS.ini setup file ?

        I had a number of customers asking for a method to
        "generalize" QGIS.ini, so it doesn't contain any "user"
        specific file and directory references, i.e

        (From qgis.ini)

        Configuration\MODELS_FOLDER=*C:\\Users\\Bo Victor
        
Thomsen\\AppData\\Roaming*\\QGIS\\QGIS3\\profiles\\default\\processing\\models
        Configuration\SCRIPTS_FOLDERS=*C:\\Users\\Bo Victor
        
Thomsen\\AppData\\Roaming*\\QGIS\\QGIS3\\profiles\\default\\processing\\scripts

        could be:

        
Configuration\MODELS_FOLDER=*%APPDATA%*\\QGIS\\QGIS3\\profiles\\default\\processing\\models
        
Configuration\SCRIPTS_FOLDERS=*%APPDATA%*\\QGIS\\QGIS3\\profiles\\default\\processing\\scripts

        or likewise.

        The ultimate reason is to have a method to distribute a
        "standard" setup for QGIS, complete with plugins and
        specialized setup parameters. This can be done by making a
        standard QGIS installation (which the IT departments love,
        especially with the new .msi package) and afterwards replace
        the "default" profile directory with at  directory specific
        for the organisation. However, the process of making the new
        profile will place a lot of file/directory references in
        QGIS.ini that is specific for the super-user developing the
        new profile.

-- Med venlig hilsen / Kind regards

        Bo Victor Thomsen

        _______________________________________________
        QGIS-Developer mailing list
        [email protected]
        <mailto:[email protected]>
        List info:
        https://lists.osgeo.org/mailman/listinfo/qgis-developer
        <https://lists.osgeo.org/mailman/listinfo/qgis-developer>
        Unsubscribe:
        https://lists.osgeo.org/mailman/listinfo/qgis-developer
        <https://lists.osgeo.org/mailman/listinfo/qgis-developer>

    _______________________________________________
    QGIS-Developer mailing list
    [email protected] <mailto:[email protected]>
    List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
    <https://lists.osgeo.org/mailman/listinfo/qgis-developer>
    Unsubscribe:
    https://lists.osgeo.org/mailman/listinfo/qgis-developer
    <https://lists.osgeo.org/mailman/listinfo/qgis-developer>

_______________________________________________
QGIS-Developer mailing list
[email protected]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to