<div dir="ltr"><div>Hallo Uwe,</div><div>man kann das offizielle Repository schon entfernen aber es ist etwas umständlich.</div><div><br></div><div>Ich habe das vor ein paar Jahren hausintern eingerichtet nachdem ein Plugin aus dem offiziellen Repo QGIS für die Kollegen, die es installiert hatten, quasi nicht mehr nutzbar gemacht hatte...  ( ich hatte auf der FOSSGIS 2020 mal davon berichtet: <a href="https://www.youtube.com/watch?v=qUwPkYNA7BM">https://www.youtube.com/watch?v=qUwPkYNA7BM</a> ) <br></div><div><br></div><div>Über die QGIS-Oberfläche kannst du das offizielle Repo nicht ohne weiteres entfernen, weil beim entfernen eines Repos geprüft wird, ob es das offizielle Repo ist und falls ja bekommst du eine Fehlermeldung, dass du es nicht entfernen kannst:</div><div><a href="https://github.com/qgis/QGIS/blob/master/python/pyplugin_installer/installer.py#L533">https://github.com/qgis/QGIS/blob/master/python/pyplugin_installer/installer.py#L533</a> :</div><div>------------------------------<br></div><div>
<table class="gmail-highlight gmail-tab-size gmail-js-file-line-container gmail-js-code-nav-container gmail-js-tagsearch-file"><tbody><tr><td id="gmail-LC533" class="gmail-blob-code gmail-blob-code-inner gmail-js-file-line gmail-highlighted">        <span class="gmail-pl-k">if</span> <span class="gmail-pl-s1">settings</span>.<span class="gmail-pl-en"><span class="gmail-pl-token">value</span></span>(<span class="gmail-pl-s1">reposName</span> <span class="gmail-pl-c1">+</span> <span class="gmail-pl-s">"/url"</span>, <span class="gmail-pl-s">""</span>, <span class="gmail-pl-s1">type</span><span class="gmail-pl-c1">=</span><span class="gmail-pl-s1">str</span>) <span class="gmail-pl-c1">==</span> <span class="gmail-pl-s1">officialRepo</span>[<span class="gmail-pl-c1">1</span>]:</td>
        </tr>
        <tr>
          </tr></tbody></table><table class="gmail-highlight gmail-tab-size gmail-js-file-line-container gmail-js-code-nav-container gmail-js-tagsearch-file"><tbody><tr><td id="gmail-LC534" class="gmail-blob-code gmail-blob-code-inner gmail-js-file-line">            <span class="gmail-pl-s1">iface</span>.<span class="gmail-pl-en">pluginManagerInterface</span>().<span class="gmail-pl-en">pushMessage</span>(<span class="gmail-pl-s1">self</span>.<span class="gmail-pl-en">tr</span>(<span class="gmail-pl-s">"You can't remove the official QGIS Plugin Repository. You can disable it if needed."</span>), <span class="gmail-pl-v">Qgis</span>.<span class="gmail-pl-v">Warning</span>)</td>
        </tr>
        <tr>
          </tr></tbody></table>            </div><div><br></div><div>--------------------------</div><div><br></div><div>Zusätzlich wird bei jedem Laden der Repositories überprüft, ob das offizielle Repo vorhanden ist und falls du es doch mal z.B. über die Settings entfernt haben solltest wird es direkt wieder hinzugefügt:</div><div><a href="https://github.com/qgis/QGIS/blob/master/python/pyplugin_installer/installer_data.py#L290">https://github.com/qgis/QGIS/blob/master/python/pyplugin_installer/installer_data.py#L290</a> <br></div><div><br></div><div>-----------------------------------</div><div>
<table class="gmail-highlight gmail-tab-size gmail-js-file-line-container gmail-js-code-nav-container gmail-js-tagsearch-file"><tbody><tr><td id="gmail-LC292" class="gmail-blob-code gmail-blob-code-inner gmail-js-file-line">        <span class="gmail-pl-k">if</span> <span class="gmail-pl-c1">not</span> <span class="gmail-pl-s1">officialRepoPresent</span>:</td>
        </tr>
        <tr>
          </tr></tbody></table><table class="gmail-highlight gmail-tab-size gmail-js-file-line-container gmail-js-code-nav-container gmail-js-tagsearch-file"><tbody><tr><td id="gmail-LC293" class="gmail-blob-code gmail-blob-code-inner gmail-js-file-line">            <span class="gmail-pl-s1">settings</span>.<span class="gmail-pl-en"><span class="gmail-pl-token">setValue</span></span>(<span class="gmail-pl-s1">officialRepo</span>[<span class="gmail-pl-c1">0</span>] <span class="gmail-pl-c1">+</span> <span class="gmail-pl-s">"/url"</span>, <span class="gmail-pl-s1">officialRepo</span>[<span class="gmail-pl-c1">1</span>])</td>
        </tr>
        <tr>
          </tr></tbody></table><table class="gmail-highlight gmail-tab-size gmail-js-file-line-container gmail-js-code-nav-container gmail-js-tagsearch-file"><tbody><tr><td id="gmail-LC294" class="gmail-blob-code gmail-blob-code-inner gmail-js-file-line">
<br></td>
        </tr>
        <tr>
          </tr></tbody></table>        -----------------------------------</div><div>Welches das offizielle Repo ist findet sich hardcodiert in der Datei installer_data.py, welche bei der Installation von QGIS angelegt wird.</div><div>Dort kannst du dein Repo als das offizielle eintragen und ggf. andere Repos entfernen:</div><div><br></div><div><a href="https://github.com/qgis/QGIS/blob/master/python/pyplugin_installer/installer_data.py#L110">https://github.com/qgis/QGIS/blob/master/python/pyplugin_installer/installer_data.py#L110</a> <br></div><div><br></div><div>----------------</div><div>
<span class="gmail-pl-s1">officialRepo</span> <span class="gmail-pl-c1">=</span> (<span class="gmail-pl-v">QCoreApplication</span>.<span class="gmail-pl-en">translate</span>(<span class="gmail-pl-s">"QgsPluginInstaller"</span>, <span class="gmail-pl-s">"QGIS Official Plugin Repository"</span>), <span class="gmail-pl-s">"<a href="https://plugins.qgis.org/plugins/plugins.xml">https://plugins.qgis.org/plugins/plugins.xml</a>"</span>) <br></div><div>----------------</div><div><br></div><div>Umständlich wird es halt, wenn man keine Netzwerkinstallation von QGIS hat und die installer_data.py (auch nach jedem QGIS-Update) auf jedem Rechner anpassen muss.</div><div><br></div><div>In der startup.py von QGIS überprüfe ich zusätzlich, ob jemand manuell das offizielle Repo wieder hinzugefügt hat und falls ja entferne ich es wieder.</div><div><br></div><div>Ich hatte damals ein paar Varianten getestet, um nur das interne Repo zu haben, unter anderem mit Whitelists/Blacklists für Plugins. <br><br>Grundsätzlich kann ja ein firmen-/behördeninterner Nutzer sich das Plugin außerhalb von QGIS auch als Zip runterladen, entpacken und ins Plugin-Verzeichnis packen und schon hat er/sie das Plugin. Das könnte man halt nur mit einer Blacklist/Whitelist verhindern aber wir hatten damals darauf gebaut, dass die Kollegen ja selbst auch Interesse an Stabilität haben und haben uns für den weniger restriktiven Weg entschieden einfach nur das offizielle Repo rauszuwerfen, damit niemand einfach so irgendwelche Plugins im Pluginmanager findet+installiert.</div><div><br></div><div>Wenn die hausinternen Nutzer ein Plugin aus dem offiziellen Repo brauchen stellen wir es ihnen nach ausführlicher Prüfung hausintern bereit. Damit haben sich alle ganz gut arrangiert und seither haben wir durch Plugins keinerlei Probleme mehr gehabt.</div><div><br></div><div>Grundsätzlich wäre es schön, wenn man das Basis-Repository nicht hardcodiert im Quelltext hätte, sondern z.B. über eine Umgebungsvariabe setzen könnte<br>und es gibt sicher noch alternative Wege das umzusetzen, u.a. auch rein 
netzwerktechnisch, indem man die URL umbiegt vom offiziellen Repo auf 
die interne URL.

Für uns passt es gerade aber so mit der beschriebenen Vorgehensweise.</div><div><br></div><div><br></div><div>Viele Grüße,</div><div>Thomas Baumann<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Am Do., 11. Aug. 2022 um 12:08 Uhr schrieb Uwe Bre <<a href="mailto:uwe@brengelmann.de">uwe@brengelmann.de</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hallo Community,<br>
In QGIS ist ja ein Internet-Repositorium eingerichtet, das hunderte von QGIS-Plugins enthält. Zusätzlich ist es in QGIS möglich, weitere Repositorien einzurichten, z.B. eines im eigenen abgesicherten Intranet, welches eigene getestete Plugins enthält. <br>
Aus Sicherheitsgründen kann es sinnvoll sein, das die Nutzer von QGIS nur noch das Intranet-Repo nutzen können, und das Internet-Repo nicht mehr im Zugriff haben.<br>
Ist das technisch möglich? Welche Einstellungen sind dazu in QGIS erforderlich?<br>
<br>
Mit freundlichen Grüßen, Im Auftrage<br>
Uwe Brengelmann<br>
_______________________________________________<br>
QGIS-DE mailing list<br>
<a href="mailto:QGIS-DE@lists.osgeo.org" target="_blank">QGIS-DE@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/qgis-de" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/qgis-de</a><br>
</blockquote></div>