Closed danFbach closed 4 months ago
This would be awesome! I agree it's a pain to always go out and check the marketplace and see if a plugin was updated.
After some consideration we've decided not to implement this functionality out of the box and leave it for customization
The issue I have, as a maintainer of a nop store, is that I have plugins from various third party sources and the only way to know if a publisher has released a new build is to manually go to their website, download the most recent version, compare the build numbers...it's very inconvenient, tedious and is ripe for improvement. If an average user is trying to maintain a store, handling plugins is challenging.
GetCurrentVersionURI
IPlugin
interface, add a property ofstring GetCurrentVersionURI()
Given this example, all of a developer's plugins, and all previous and future nop versions could be handled with one endpoint per provider. A Scheduled Task would be run, grabbing all UpdateUrls to check the assembly versions provided by the developer against the running assembly versions. If done right, the stores entire plugin catalog could be checked in just a couple of requests in many cases. If plugins are found to be out-of-date, display a message on the dashboard similar to the
The store has some error(s) or warning(s).
message likeSome plugins have updates available. Visit 'Local plugins' to review updates.
. Take user admin to the local plugins page, add a filter forUpdate available
or something.If no
auto
URL is provided, show the providedmanual
url so the user can retrieve the update manually. To be used when the download behind a login screen. If the response provided by the developer included anauto
url, nop could, upon user request, fetch the update itself and apply it. Although some security may need to be added, like a hash of the zip file included in JSON similar to how linux repos handle validation...or something to that effect.If developers provided all of the information in JSON example, you could even stage a store for version upgrades more easily. In one shot, you could see what plugins have updates available for the nop version you're planning to upgrade to, and if the plugins have the
auto
property, the new version of the plugins could be automatically installed immediately after nop itself has been upgraded.Of course, this would require developers to opt-in, but I think most would want to. I think one of nop's biggest drawbacks is the technical knowledge needed to manage and maintain a store, and I think this feature could reduce some of that.
I would be happy to contribute to building such a feature.