Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove Magento Connect, Downloader and PEAR. #952

Merged
merged 3 commits into from
Sep 14, 2020

Conversation

colinmollenhour
Copy link
Member

Fixes #903

Only lightly tested.

@tmotyl
Copy link
Contributor

tmotyl commented May 6, 2020

should this be merged to the 1.9 branch or 20.x ?

@Flyingmana
Copy link
Contributor

Iam undecided.
The Pear part is the only which worries me as it may be used by someone.
But the other parts I would definitely merge into the 1.9 branch

@tmotyl
Copy link
Contributor

tmotyl commented May 10, 2020

Im ok with removing it as i never used magento connect nor pear in my projects :)

@sreichel sreichel self-requested a review May 13, 2020 22:58
@sreichel
Copy link
Contributor

Iam undecided.
The Pear part is the only which worries me as it may be used by someone.
But the other parts I would definitely merge into the 1.9 branch

Never used one of them .... so i'm okay with removal, but if you want to keep PEAR for now. Is it okay to update PR?

Copy link
Contributor

@sreichel sreichel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If there would ne no concerns about PEAR i'd approve ... ;)

@tmotyl
Copy link
Contributor

tmotyl commented May 18, 2020

Afaik PeAR is not supported by PHP any more.

@simbus82
Copy link
Contributor

Is not possible to "rewrite" Magento Download to give users the same functions but updating "parts" of the system from OpenMage?
Many and many basic stores use this method to do updates of their Magento installations...

@Flyingmana
Copy link
Contributor

@simbus82
It is possible, but then we need someone who can take this over.

@colinmollenhour @tmotyl
The argument that many merchants could use it for updating is valid.
Maybe we should put this whole topic through our RFC Process at least once.

@tmotyl
Copy link
Contributor

tmotyl commented May 21, 2020

Isn't magento connect for m1 not supported any more or will vanish in the next weeks?

@colinmollenhour
Copy link
Member Author

Although my opinion is currently that it should be removed (perhaps waiting until Connect is actually taken offline), I feel like I'm not qualified to answer the question as I don't know how others are using this and might use it in the future. Whenever I wanted to install an extension from Connect I'd just download the zip and then manually convert it to a modman directory, so I'm not the typical user. 😁

The pros:

  • over 60,000 lines of code removed, never to have to be maintained again, less security risk

The cons:

  • I need the community to shed some light on this...

So, @simbus82 can you describe how you see this code being important to keep after the EOL date? Does keeping it outweigh the pros in your view?

@simbus82
Copy link
Contributor

simbus82 commented May 21, 2020

Although my opinion is currently that it should be removed (perhaps waiting until Connect is actually taken offline), I feel like I'm not qualified to answer the question as I don't know how others are using this and might use it in the future. Whenever I wanted to install an extension from Connect I'd just download the zip and then manually convert it to a modman directory, so I'm not the typical user. 😁

The pros:

  • over 60,000 lines of code removed, never to have to be maintained again, less security risk

The cons:

  • I need the community to shed some light on this...

So, @simbus82 can you describe how you see this code being important to keep after the EOL date? Does keeping it outweigh the pros in your view?

No, i'm an optimization addicted, so if it were up to me i would kill so many useless parts of old Magento 😄

@colinmollenhour But i'm in the middle of development and web project management (SEO and CRO), so i try to take all "real users experience" to the "software level".

Until today many merchant's "developers" updates magento with the GUI (Magento Downloader), same for packages installation, with the uploader GUI. Since 1.9.3.x it works very well, not as in the past.

If tomorrow can't be used because Adobe is going to kill the server that push Magento 1.x core packages, i'm with you! Let's remove this useless code!

I'm just a little concerned about the ease with which non-developers in the past could download and install a .tgz or .zip without even opening an FTP client.

I like a lot Modman and Composer, but since they are managed only from the command line, they will be complicated to use for some merchants (or is it just my inexperienced impression?).

I fear that a Merchant who uses OpenMage is a merchant who does not have the budget to embark on the migration in that Magento 2 tank, so it is very likely that these merchants are flanked by inexperienced developers ... or they are doing some "amateurish devops".

Obviously the best solution would be to remove all this stuff from the old Magento like you say, and put a simple GUI to install the "core updates" and "extension packages" in the backed area...

It is also true that soon there will be very few updated Magento plugins that we can install ... 🤔

@Flyingmana
Copy link
Contributor

As far as I know, the direct downloads for packages were still usable for the connect downloader. But I think the update functionality (automatic listing of packages needing updates) was not working anymore for over a year.

@colinmollenhour
Copy link
Member Author

Thanks for the insights, guys.

One thought that might be a compromise between remove and keep would be to remove just the GUI and keep the CLI. The CLI code, as long as it is protected properly, is much less susceptible to attacks (you need shell and write permission to use it so you're already screwed). I understand the desire to have one-click install capability but to me the ability to download and write source code all through the web UI is too dangerous. That said, if realistically the CLI will not be used then I still say remove it all. :)

Is there a project somewhere for Magento 1 which allows a user to install a Magento Connect package via "composer install"?

@simbus82
Copy link
Contributor

But I think the update functionality (automatic listing of packages needing updates) was not working anymore for over a year.

This screenshot is taken few minutes ago from an abandoned Magento 1.9.2.4 😝
image

One thought that might be a compromise between remove and keep would be to remove just the GUI and keep the CLI. The CLI code, as long as it is protected properly, is much less susceptible to attacks (you need shell and write permission to use it so you're already screwed). I understand the desire to have one-click install capability but to me the ability to download and write source code all through the web UI is too dangerous.

Yes, too dangerous, because sometimes things are breaking easily!

That said, if realistically the CLI will not be used then I still say remove it all. :)

CLI and command line are "same thing", so it is useless to maintain a CLI 😅. Let's remove it!
If wil be needed then i'll go to write a good tutorial for some "noob developer" that i know are working with some merchants!

Is there a project somewhere for Magento 1 which allows a user to install a Magento Connect package via "composer install"?

Maybe this? https://github.com/AydinHassan/magento-connect-composer-plugin

@Flyingmana
Copy link
Contributor

Good example, I dont know if there is a newer Release, but it is one from before they cut off the connect releases.
This "new" release is from 2016.
https://github.com/OpenMageModuleFostering/owebia_shipping_2/blob/master/package.xml

I crawled everything which is available, and noticed there is a date, from which on no new releases did appear there anymore.

@colinmollenhour
Copy link
Member Author

So remove, but after how-to's are updated for the following?

  • Install old Magento Connect extensions that do not exist on Firegento package repo
  • Preferred way to install and maintain extensions (composer install; composer update)

@daim2k5
Copy link
Contributor

daim2k5 commented May 26, 2020

@colinmollenhour @Flyingmana
i wrote the update script for the "Firegento package repo". The pear packages are old because we can't get the newer versions.

@colinmollenhour
Copy link
Member Author

@daim2k5 Can you clarify what you are referring to by "i wrote the update script for the 'Firegento package repo'"?

@fballiano
Copy link
Contributor

I vote for removing download and connect, I always manually deleted them from all the projects I've worked on and I'd never allow a backend user to update a module or anything else :-)

@github-actions github-actions bot added Component: Adminhtml Relates to Mage_Adminhtml Component: Connect Component: Install Relates to Mage_Install labels Jul 24, 2020
@Flyingmana
Copy link
Contributor

will execute the removal now for current reasons, as security comes first:

we need to look into alternatives or partial reversal afterwards

@Flyingmana Flyingmana merged commit d72fb32 into OpenMage:1.9.4.x Sep 14, 2020
@bryanveIoso
Copy link

Finally! I also remove downloader in all my M1 instances. Finally, lesser inodes to use. 👍

@sreichel sreichel added this to the Release 19.4.7 / 20.0.3 milestone Sep 15, 2020
@sreichel sreichel mentioned this pull request Sep 15, 2020
@sreichel
Copy link
Contributor

.... remember #1160 ;)

@Flyingmana
Copy link
Contributor

@sreichel I dont see #1160 referenced here anywhere, is this related to this changes?

@sreichel
Copy link
Contributor

@sreichel I dont see #1160 referenced here anywhere, is this related to this changes?

was just an reminder for me to update README

@colinmollenhour
Copy link
Member Author

Looks like we successfully dodged a bullet... https://sansec.io/research/cardbleed
This shows there are many merchants though that have not adopted OpenMage that.. well, obviously should have. :)

@colinmollenhour colinmollenhour deleted the remove-connect branch November 16, 2020 21:18
Flyingmana pushed a commit that referenced this pull request May 28, 2021
Downloader was removed with #952 so it's useless to redirect to the downloader subdir. Also, I think the purpose of checkin if the MAGENTO_ROOT . '/app/Mage.php' is useless, one file check for every request while magento wouldn't work at all if it didn't exist, I think that check has to be removed, there's no point in executing it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Cleanup Component: Adminhtml Relates to Mage_Adminhtml Component: Install Relates to Mage_Install environment security Template : admin Relates to admin template
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Remove PEAR and Magento Connect Manager?
8 participants