? J3 Issue
avatar brianteeman
brianteeman
9 Apr 2021

Unless I am going mad then even in Joomla 3 ftp mode does not work except for installation.

If that finding is correct and as we have had zero reports about this then no one is using ftp mode and we should just remove it from joomla 4 - where it is currently a release blocker.

I tested this by using the docker container created by @PhilETaylor and available here https://github.com/PhilETaylor/joomla-ftptest

Following the instructions in the readme I am able to install joomla 3.9.24

Further tests that failed were
Updating joomla to 3.9.25
Installing an extension
Using the template manager

Note that the php temp directory was not set in the docker container but even after addressing that (and the warning) disappearing there was no further progress.

avatar brianteeman brianteeman - open - 9 Apr 2021
avatar joomla-cms-bot joomla-cms-bot - change - 9 Apr 2021
Labels Added: ?
avatar joomla-cms-bot joomla-cms-bot - labeled - 9 Apr 2021
avatar dgrammatiko
dgrammatiko - comment - 9 Apr 2021

Just a reminder here that #21507 was killed without the project checking the claims that FTP is still used...

avatar PhilETaylor
PhilETaylor - comment - 9 Apr 2021

I'm hoping to complete my work on opcache for joomla 3 this weekend. If no one has committed to ultimately testing and fixing ftp in joomla 4 then I could take a look...

Is it even worth PRing ftp and opcode issues against joomla3 though... I have a feeling it's wasted effort fixing these things in already end of life joomla 3.9 and 3.10 is a stopgap release and jumping base to 4...

It's 2021 also...

avatar dgrammatiko
dgrammatiko - comment - 9 Apr 2021

@PhilETaylor are you gonna resurrect #21507 or fix the FTP implementation? (confused)

avatar PhilETaylor
PhilETaylor - comment - 9 Apr 2021

If I had my way I would rip it all out, however it seems the project wants to keep the FTP layer...

avatar dgrammatiko
dgrammatiko - comment - 9 Apr 2021

however it seems the project wants to keep the FTP layer...

Since it's already broken in J3, as Brian found out, what's the point of fixing it in J4 instead of removing it? (rhetorical question)

avatar PhilETaylor
PhilETaylor - comment - 9 Apr 2021

To be honest, most extensions ignore the FTP layer anyway. You see far too many unlink file_put_contents copy move_uploaded_file function calls in extensions and plugins - all of which ignore the Joomla Filesystem layer (I know, because Ive been recently working on the OPCache issue, which is basically the same as the FTP issue, that every write of a file should be going through the filesystem API so that the opcache can be cleared, and so the API can decide if FTP is needed or not!)

The FTP layer was a good idea a decade ago, but since then web hosts have learned how to do file ownership correctly, I doubt it makes any sense in the real world in 2021. However, there are those that will argue for it to remain.

avatar brianteeman
brianteeman - comment - 9 Apr 2021

I may be completely wrong in my test and it does work in Joomla 3. I don't think I am as this is the second or third time I have spent several hours trying to see if it works.

I am not proposing doing anything in Joomla 3 at all. I am just saying that if it doesn't work right now and we are not getting reports that it doesn't work then it can't be being used. The obvious conclusion to that is there is no point at all in fixing ftp joomla 4 where it also doesn't work.

Joomla 4 currently has at least one PR to try and fix ftp install plus several issues that have not been addressed at all. At least one of which I believe will make joomla 4 unusable on an ftp only site.

However as @dgrammatiko points out when @roland-d submitted #21507 to remove the ftp layer from Joomla 4 there were two senior members of the community who were 100% in disagreement. At the time I personally accepted that they must be correct and that my tests must have been in error. I really doubt that now.

avatar PhilETaylor
PhilETaylor - comment - 9 Apr 2021

Maybe its best that we (or I) take a look and document exactly

  • When the FTP is coded to be used
  • When it actually gets used
  • When it actually is meant to be used, is used, and doesn't work
  • When it actually is meant to be used, is used, and does work
  • When Joomla BYPASSES using the FileSystem API (and thus directly manipulates files) - E.g Cache clearing doesn't use Joomla's File System API for "performance reasons".. although it could be argued that the ownership of a cache file is the same as the web server that created it, but that's the point Joomla SHOULD BE USING the FileSystem API (which is FTP aware) to WRITE cache files, else the webspace is left with some owned by FTP user and some owned by Web Server user (and thus undeleteable by FTP!)

If we (the plebs) can find and document EXACTLY what is not working then either

  1. Those that make the decisions can be better informed and make the decision to remove the FTP layer
    or
  2. Someone has a definitive list of things that are "broken", with concrete steps to replicate, and therefore can be fixed.

We (the plebs) need to make (the probably already made) decision not to bother touching FTP in Joomla 3 and concentrate all FTP based effort on Joomla 4 only.

Its all a lot of work, to maintain, for little reward. Its now 2021 and FTP itself should be abandoned as its uses (mainly, normally) clear text authentication, and the storing of credentials for FTP should be discouraged.

avatar PhilETaylor
PhilETaylor - comment - 9 Apr 2021

In a (non-random) sample of 67,000 Joomla sites - not a single site in this sample uses the FTP layer, with stored credentials.

avatar dgrammatiko
dgrammatiko - comment - 9 Apr 2021

I guess we can all agree at this point that rejecting #21507 was a very bad decision. Now we have to redo all the work once again, on short notice. Fun times...

@wilsonge @rdeutz @HLeithner can you re-evaluate the project's requirements on FTP support?

avatar brianteeman
brianteeman - comment - 9 Apr 2021

@dgrammatiko It was rejected on the basis that the ftp stuff would be fixed. As with every other PR that was either merged or rejected on that basis there has been no significant progress. Other than removing the release blocker labels to give the impression that there has been progress on those issues nothing has changed.

avatar joomdonation
joomdonation - comment - 10 Apr 2021

So I spent sometime to day to test FTP stuffs on my local computer (Windows 10) and below are the result:

There are also some code in restore.php file which is not working for Windows, too.

In short, Update Joomla! does not work with FTP at all until now.

avatar brianteeman
brianteeman - comment - 10 Apr 2021

are you sure that the permissions on your test site were such that ftp was actually being used? I couldnt get extensions to install.

avatar joomdonation
joomdonation - comment - 10 Apr 2021

@brianteeman I installed FileZilla FTP server for testing. For the account, I just give it full permission

For more information, when I tried to enable FTP on Joomla 3 website, at first, Configuration could not be saved (because the file was marked as Read Only by Joomla! before, I had to changed permission of the file configuration.php to make it writable) after that, it is working welll

But as I said, upload and update Joomla using FTP installation methods will never work.

ftp_settings

avatar PhilETaylor
PhilETaylor - comment - 30 Apr 2021

Shall we just ignore Joomla 3?

Following the projects decision to remove the FTP Layer from Joomla 4 - this can now be closed.

avatar HLeithner
HLeithner - comment - 30 Apr 2021

No we shouldn't it's a j3 feature, if we find someone how fix it we should do it.

avatar rdeutz rdeutz - change - 30 Apr 2021
Labels Added: J3 Issue
avatar rdeutz rdeutz - labeled - 30 Apr 2021
avatar brianteeman brianteeman - change - 7 Aug 2021
Status New Closed
Closed_Date 0000-00-00 00:00:00 2021-08-07 08:18:01
Closed_By brianteeman
Labels Added: ?
Removed: ?
avatar brianteeman brianteeman - close - 7 Aug 2021
avatar brianteeman
brianteeman - comment - 7 Aug 2021

Closed due to lack of interest. Its been broken for so long and no one else noticed.

Add a Comment

Login with GitHub to post a comment