How to keep extensions from Magento Connect up2date without connect-manager?
-
08-10-2020 - |
Question
This is not a question about solving a technical problem, it's about getting some input how to realize my idea in the "best" way. ;)
Current situation:
I support a shop that uses a lot of extensions. Most of them are maintained at Github, so they can easily updated via modman/composer ... BUT ... there are some, that are only updated at Magento Connect.
What i have done till now - and it's really annoying - was a periodic check at magento connect, download latest version, hosted or update them on Github (or Bitbucket private repo for payed once) and deployed them via modman/composer.
Aims:
I don't need a out-of-the-box upgrade process, it would be more then enough when a get notification about new version without visiting magento connect manually and without using Magento connect manager.
Plan:
Build a simple as possible extensions that notifies me about new releases at Magento Connect.
Idea:
- gather installed extension from Magentos merged XML
- store them in a DB-Table (name, version, ...)
- add a field to (manually) store Magento Connect-URL once
- add a cronjob that looks for newer releases (1)
- add a admin notification message, if an update is available
Note (1): long time planned - w/o no idea to realize - but today i found a possibility howto grab all required info. See: Download the magento connect extensions list
I still have to download lates release, update my Git/BB-Repo and deploy it, but it would save a lot of time to periodically check Magento Connect.
Question:
I assume this idea is interessting for all that rely on Magento connect-extensions and don't want to use Magento connect manager ... as long it's not necessary.
Before i start coding, I just want to ask you for smarter ideas!
Thanks in advance for your input.
Solution 2
Extension is not complete yet, but it does what I need at the moment.
Some things can be changed, but it works for now ... to do's
- accept extension key AND full connect url
- cronjob missing
- add system config
- add admin notification
- support for GIT repos (?)
- ...
Edit:
Because of Magento Connect to close on September 15 added dataset for all extension that are still downloadable ...
Download: https://github.com/sreichel/magento-Sr_VersionCheck
OTHER TIPS
Your overview specs for this concept sound interesting and it would be good to know the final result of your extension :)
My thoughts on a starting point for you below...
I'm not sure if you are using Magento 1 or 2.
I would suggest looking into the implementation of the n98-magerun plugin/module Hypernode. With Hypernode there is a command to check for updated versions to extensions:
n98-magerun hypernode:modules:list-updates
The GitHub repository for this module: https://github.com/Hypernode/hypernode-magerun/
A quick solution to your issue would be to run the hypernode command as a cron and have it email you the results periodically but I sense you want a more comprehensive solution.