Idea: Github Integration with Magento Connect

There has been some discussion about Magento Connect lately, so I wanted to help keep the momentum going with a suggestion of my own.

The current system that Magento uses isn’t horrible, but it isn’t great either. One thing I would like to see is some kind of integration with Github. Many of use use github to store our extensions because we like open source and enjoy providing them to the community. Honestly, keeping an extension updated on Magento Connect is a tedious process, especially if we already keep it all updated on Github.

One example of this is modman. It is an incredibly easy-to-use system, and it pulls all the needed files from github and installs them in the proper locations with a simple command. Through the use of the Github api, you could access the readme for the module description, see when it was last updated, see how many active issues there are, etc. Perhaps there could be a specific file that could be added to every repo that would tell Magento Connect the information it needed, similar to the way modman does it, but with additional information.

I think this would be great, and the goal ultimately would be for an extension writer to be able to add their github repo of their extension once, and then from there it’s just a matter of keeping the repo up-to-date, and all changes made to the repo master branch would update Magento Connect dynamically.

Supporter of the idea or have additional thoughts on this? I’d love to hear your comments.

This entry was posted in Git, Magento. Bookmark the permalink.

8 Responses to Idea: Github Integration with Magento Connect

  1. Sylvain Rayé says:

    Totally agree it is so painful to update a package. The idea to link the packages and the read me file with git is very good. In the meantime we can benefit of the light ticket system and the wiki on git to support the users.

    However what is important is to keep the rating system or even more, improve it on MagentoConnect but it is an other story

  2. Modgit is an even easier way for doing that. 😉

  3. Ashley says:

    Really like this idea.

    I wrote a little script to grab every single free extension on Magento Connect for a different project I was working on (analyzing extension clashes, still work in progress).

    After downloading them all, I thought wouldn’t it be cool if the script just ran every week and auto pushed the changes for each updated extension into a giant github repo.

    Then devs could see what code changed between versions, clone, pull,fork their favorite extensions. Then we could also all analyze the code base too – for clashes in xml config, bad code patterns, phone-homes, encryption etc.

    Count me in on this one guys – it’s long over due.

  4. Pavel Novitsky says:

    Your idea is good for free extensions. A lot of extension providers use Github for updating modules. Now you can find modules that are updated only in git version and magento connect is used only as the place where you can tell people about your extension for the first time.

    But you forgot that there are a lot of payable extensions. And here we have another problem – people go to provider’s site to purchase extensions. In this sutuation github won’t be so good. Even private repositories. Nowerdays companies set up payment gaitway and sell extensions directly. In case of github usage extension providers will get more headache – sell keys for repository access (now extensions are sold directly) and support private repositories.

    One of solutions is to make a real extension market with centralized testing and payment systems, give some guarantees in quality (now all extensions go “as is”) and periodically cleen market from unpopular or never updated modules.

    • Josh Pratt says:

      Tanks for your feedback Pavel. I definitely didn’t forget about paid extensions. Well aware of those and how that all works. My suggestion is for free ones, just to have the option there. I’m not saying every module needs to be on github, just a good integration for those who would like to keep their modules there.

  5. Pete McWilliams says:

    I couldn’t agree with you both (Josh & Vinai) more. It could be a huge boost for the Magento community. Developers could maintain their code using Github and it’s top notch features and at the same time users could easily install those extensions with a single command.

    The other feature I think Magento Connect needs to get a handle on is search. It blows my mind that Connect isn’t using Solr and/or layered navigation to provide a fast and accurate search mechanism. I am quite confident that I have never been able to find an appropriate extension using the built-in search. I have always had to rely on our good friend Google.

  6. Karen Baker says:

    Love this idea, it definitely works IMO. I also really liked the idea Vinai bought up at the Google+ Hangout around having an issues tab similar to GitHub on the extns, this I think would encourage better comms with developers and also give indications to people on the real extn stability, etc.

    Taking it one step further, could the extensions be mastered on GitHub, with linkage back from Magento Connect and an interface in the admin panel to be able to grab directly from github instead? So scrapping the current packaging mechanism, and making Magento Connect just a storefront.

  7. Vinai says:

    I love that idea! Actually, that should be pretty easy to build, maybe even utilising composer. But developers should also be able to provide access to closed repositories by adding a Magento Connect ssh key.