<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
{mso-style-priority:99;
mso-style-link:"Plain Text Char";
margin:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.PlainTextChar
{mso-style-name:"Plain Text Char";
mso-style-priority:99;
mso-style-link:"Plain Text";
font-family:"Calibri",sans-serif;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoPlainText">It would probably be more the other way around for my case. I will have to modify the calls from my front end UI for my tool to work properly with their plugin and that is how I kind of expect it as I am making calls to their code.
We plan to have quarterly releases cycles of our code with new features/bug fixes unless there is some major issue found in the 3rd party plugin that requires a hotfix.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">I was hoping to avoid forking and have to maintain 3rd party plugin. We may be looking to transition to a version of Visibility Analysis in GRASS that is a core plugin that was developed inhouse almost 40 years ago, but in the mean
time I tried another method as a test. I copied the <b>VisibilityAnalysis</b> plugin to another directory,
<b>VA_Test</b>, so I can mess with privileges on a copy of the plugin directory. <o:p>
</o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Looks like if I deny write privileges to the <b>VA_Test</b> the
<b>Upgrade Plugin</b> button just displays as <b>Reinstall Plugin</b> since it does not allow an upgrade and it is actually greyed out so that is good. The user can still run the
<b>Upgrade All</b> plugin and that will upgrade all other plugins. When I ran that it upgraded the original <b>VisibilityAnalysis</b> plugin directory and all other plugins that had upgrades available. So this seems like this will be a quick fix. I will
just need to make those permission restrictions in the my installer MSI file and test it out. This in general could be a good solution to prevent user’s from upgrading plugins that we provide with our install, so that users don’t just continue to upgrade
before we test to make sure they work so we can avoid unnecessary tech support called.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">-----Original Message-----<br>
From: Nyall Dawson <nyall.dawson@gmail.com> <br>
Sent: Wednesday, January 11, 2023 7:14 PM<br>
To: Catania, Luke A ERDC-RDE-GRL-VA CIV <Luke.A.Catania@erdc.dren.mil><br>
Cc: qgis-developer <qgis-developer@lists.osgeo.org><br>
Subject: Re: [QGIS-Developer] Revert Previous Plugin, disable "Upgrade All" and "Upgrade Plugin" buttons</p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">On Wed, 11 Jan 2023 at 12:49, Catania, Luke A ERDC-RDE-GRL-VA CIV via QGIS-Developer <<a href="mailto:qgis-developer@lists.osgeo.org"><span style="color:windowtext;text-decoration:none">qgis-developer@lists.osgeo.org</span></a>> wrote:<o:p></o:p></p>
<p class="MsoPlainText">><o:p> </o:p></p>
<p class="MsoPlainText">> I had a user that may have hit the "Upgrade All" button in the plugins window. Does that automatically upgrade all installed plugins to the newest version? If so is there a way to revert back to the previous versions. He may have just
hit the Upgrade Plugin button for the specific plugin. Not sure and I did not want to test it and mess up my configuration.<o:p></o:p></p>
<p class="MsoPlainText">><o:p> </o:p></p>
<p class="MsoPlainText">> We have created our own QGIS plugin that relies on the VisibilityAnalysis plugin and upgrading VisibilityAnalysis from 1.7 to 1.8 breaks our tool as I created a my own Visibility Analysis UI to run the VisibilityAnalysis tool. I basically
want to prevent a user from upgrading any plugin that we access so that this does not happen. Is there a way to disable "Upgrade All" and "Upgrade Plugin" buttons in the plugin window through settings, interface customization, or programmatically through
python on QGIS using startup.py?<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">I'd suggest in this situation that you should instead be either working with the VisibilityAnalysis maintainers to get the latest version compatible with your needs, or alternatively fork parts of the<o:p></o:p></p>
<p class="MsoPlainText">1.7 code into your plugin so that you aren't dependent on another maintainer's work.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Trying to workaround this by blocking plugin updates is going to be a fragile path, likely taking much longer than either of the above suggestions.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Nyall<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">><o:p> </o:p></p>
<p class="MsoPlainText">> Thanks,<o:p></o:p></p>
<p class="MsoPlainText">> Luke<o:p></o:p></p>
<p class="MsoPlainText">> _______________________________________________<o:p></o:p></p>
<p class="MsoPlainText">> QGIS-Developer mailing list<o:p></o:p></p>
<p class="MsoPlainText">> <a href="mailto:QGIS-Developer@lists.osgeo.org"><span style="color:windowtext;text-decoration:none">QGIS-Developer@lists.osgeo.org</span></a><o:p></o:p></p>
<p class="MsoPlainText">> List info: <o:p></o:p></p>
<p class="MsoPlainText">> Blockedhttps://lists.osgeo.org/mailman/listinfo/qgis-developerBlocked<o:p></o:p></p>
<p class="MsoPlainText">> Unsubscribe: <o:p></o:p></p>
<p class="MsoPlainText">> Blockedhttps://lists.osgeo.org/mailman/listinfo/qgis-developerBlocked<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
</div>
</body>
</html>