<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hi Alexandre -</p>
<p>Thanks for the heads-up regarding initialisation scripts and
global settings file. <br>
</p>
Med venlig hilsen / Kind regards
<pre class="moz-signature" cols="72">
Bo Victor Thomsen</pre>
<div class="moz-cite-prefix">Den 12-07-2021 kl. 10:54 skrev
Alexandre Neto:<br>
</div>
<blockquote type="cite"
cite="mid:CA+H0G_F5n7S7hbz5-cR=sF40v93aHkoeV8jMKrpdxhy5k13MBg@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="auto">Hi Bo,
<div dir="auto"><br>
</div>
<div dir="auto">This is some old stuff we wrote at Boundless, I
believe it still applies for QGIS today.</div>
<div dir="auto"><br>
</div>
<div dir="auto"><a
href="https://boundless-desktop.readthedocs.io/en/latest/system_admins/index.html#for-system-administrators"
target="_blank" rel="noreferrer" moz-do-not-send="true">https://boundless-desktop.readthedocs.io/en/latest/system_admins/index.html#for-system-administrators</a><br>
</div>
<div dir="auto"><br>
</div>
<div dir="auto">Both initialisation scripts and global setting
file can help you with what you want to achieve.</div>
<div dir="auto"><br>
</div>
<div dir="auto">(I should make sure this information is
available on <a href="http://docs.qgis.org" target="_blank"
rel="noreferrer" moz-do-not-send="true">docs.qgis.org</a>,
but I never find the time to do it...)</div>
<div dir="auto"><br>
</div>
<div dir="auto">Best regards,</div>
<div dir="auto"><br>
</div>
<div dir="auto">Alexandre Neto</div>
<div dir="auto">User Support</div>
<div dir="auto"><a href="http://www.qcooperative.net"
moz-do-not-send="true">www.qcooperative.net</a></div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">A segunda, 12/07/2021, 08:34,
Bo Victor Thomsen <<a
href="mailto:bo.victor.thomsen@gmail.com" target="_blank"
rel="noreferrer" moz-do-not-send="true">bo.victor.thomsen@gmail.com</a>>
escreveu:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<p>Hi Thomas -</p>
<p>Your suggestion is actually pretty close to the solution
I made -</p>
<ul>
<li>Standard installation of QGIS with <i>standard</i>
.msi package.<br>
</li>
<li>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:<br>
</li>
<ul>
<li>Unzip a complete profile with specific plugins and
customized parameters from a central network based
repository. This profile replaces the standard
"default" profile.<br>
</li>
<li>Search/replace a couple of "tokenized" values in
QGIS.ini with actual values based on username <br>
</li>
</ul>
</ul>
<p>The profile and tokenized QGIS.ini is prepared by the GIS
administrator</p>
<p>The Python script is packaged in a .cmd file which is
started by the user.</p>
<p>Not a perfect solution, but doable: <br>
</p>
<ul>
<li>The It department is happy: No work doing specialized
installations</li>
<li>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 <br>
</li>
<li>The user is - somewhat - happy. To finish the
installation is simply to double-click once on a file
placed in a "highly visible" location.</li>
<li>Any subsequent mistakes made by the user (Installation
of dodgy plugins, strange changes in setups ....) is
easily repaired by running the Python script again.<br>
</li>
</ul>
<p> <br>
</p>
<pre cols="72">Med venlig hilsen / Kind regards
Bo Victor Thomsen</pre>
<div>Den 12-07-2021 kl. 03:14 skrev Thomas Gratier:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Hi,<br>
<br>
I'm not aware QSettings provided by Qt can do it. Your
%APPDATA% is not portable as would only work on Windows<br>
<br>
You can always try generate the QGIS.ini file using a
templating system<br>
<br>
File QGIS.ini.j2 with following content<br>
<br>
Configuration\MODELS_FOLDER={{APPDATA}}\\QGIS\\QGIS3\\profiles\\default\\processing\\models<br>
Configuration\SCRIPTS_FOLDERS={{APPDATA}}\\QGIS\\QGIS3\\profiles\\default\\processing\\scripts<br>
<br>
<br>
File generate_ini.py with following content<br>
<br>
import os<br>
import jinja2<br>
<br>
templateLoader =
jinja2.FileSystemLoader(searchpath="./")<br>
templateEnv = jinja2.Environment(loader=templateLoader)<br>
TEMPLATE_FILE = "QGIS.ini.j2"<br>
template = templateEnv.get_template(TEMPLATE_FILE)<br>
mydict = {<br>
"APPDATA": os.environ.get("APPDATA")<br>
}<br>
outputText = template.render(**mydict)<br>
with open('QGIS.ini', 'w') as outputfile:<br>
outputfile.write(outputText)<br>
<br>
Then, to write your QGIS.ini file, do<br>
<br>
<br>
python3 generate_ini.py<br>
<br>
<br>
The possible deal breakers with this approach are:<br>
- you depend from jinja2, a third party Python library,<br>
- you can't later reuse the mechanism if for instance
QGIS changes the QGIS.ini file later on<br>
<br>
<br>
Regards<br>
<br>
Thomas<br>
<br>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">Le mar. 6 juil. 2021
à 09:18, Bo Victor Thomsen <<a
href="mailto:bo.victor.thomsen@gmail.com"
rel="noreferrer noreferrer" target="_blank"
moz-do-not-send="true">bo.victor.thomsen@gmail.com</a>>
a écrit :<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px
0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div>
<p>To the list -</p>
<p>Is there a method to use OS (Linux, Windows...)
environment variables in the QGIS.ini setup file ?</p>
<p>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</p>
<p>(From qgis.ini) <br>
</p>
<p><font face="monospace">Configuration\MODELS_FOLDER=<b>C:\\Users\\Bo
Victor Thomsen\\AppData\\Roaming</b>\\QGIS\\QGIS3\\profiles\\default\\processing\\models<br>
Configuration\SCRIPTS_FOLDERS=<b>C:\\Users\\Bo
Victor Thomsen\\AppData\\Roaming</b>\\QGIS\\QGIS3\\profiles\\default\\processing\\scripts<br>
</font></p>
<p>could be: <br>
</p>
<p><font face="monospace">Configuration\MODELS_FOLDER=<b>%APPDATA%</b>\\QGIS\\QGIS3\\profiles\\default\\processing\\models<br>
Configuration\SCRIPTS_FOLDERS=<b>%APPDATA%</b>\\QGIS\\QGIS3\\profiles\\default\\processing\\scripts</font><br>
</p>
<p>or likewise.</p>
<p>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.<br>
</p>
<pre cols="72">--
Med venlig hilsen / Kind regards
Bo Victor Thomsen</pre>
</div>
_______________________________________________<br>
QGIS-Developer mailing list<br>
<a href="mailto:QGIS-Developer@lists.osgeo.org"
rel="noreferrer noreferrer" target="_blank"
moz-do-not-send="true">QGIS-Developer@lists.osgeo.org</a><br>
List info: <a
href="https://lists.osgeo.org/mailman/listinfo/qgis-developer"
rel="noreferrer noreferrer noreferrer"
target="_blank" moz-do-not-send="true">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br>
Unsubscribe: <a
href="https://lists.osgeo.org/mailman/listinfo/qgis-developer"
rel="noreferrer noreferrer noreferrer"
target="_blank" moz-do-not-send="true">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br>
</blockquote>
</div>
</blockquote>
</div>
_______________________________________________<br>
QGIS-Developer mailing list<br>
<a href="mailto:QGIS-Developer@lists.osgeo.org"
rel="noreferrer noreferrer" target="_blank"
moz-do-not-send="true">QGIS-Developer@lists.osgeo.org</a><br>
List info: <a
href="https://lists.osgeo.org/mailman/listinfo/qgis-developer"
rel="noreferrer noreferrer noreferrer" target="_blank"
moz-do-not-send="true">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br>
Unsubscribe: <a
href="https://lists.osgeo.org/mailman/listinfo/qgis-developer"
rel="noreferrer noreferrer noreferrer" target="_blank"
moz-do-not-send="true">https://lists.osgeo.org/mailman/listinfo/qgis-developer</a><br>
</blockquote>
</div>
</blockquote>
</body>
</html>