?
avatar PhilETaylor
PhilETaylor
22 Apr 2021

Issues

Pull Requests to fix things in FTP Layer

Pull Requests proposed to REMOVE the FTP layer

  • [4.0] Removing GUI parts of FTP layer #33390
  • [4.0] Remove the FTP Layer #21507

What needs testing:

This is also an attempt to record all the areas of Joomla 4 that require file write access.

  • The writing of autoload_psr4.php namespacemap
  • All of the issues mentioned in the Summary at #33251 need checking as to what happens when the FTP Credentials are MISSING from the Joomla Global Config (As saving credentials is optional)
  • Saving the Joomla Global Config
  • Creating Template Overrides in Template Manager
  • Template Manager cannot rename, save or delete files, it says "some features may not work" well the point of the FTP Layer is that they SHOULD work.
  • Joomla Update restore_finalisation use of unlink in AKFactory
  • Saving modifications to template files
  • Media Manager file uploads/deletes/renames
  • Media Manager Image changes (Crop/rotate/scale etc)
  • Filesystem Caching layer
  • Debug Mode toolbar cache files (vendor/maximebf/debugbar) uses file_put_contents
  • Error logging to file (Joomla logs)
  • Log Rotation Plugin moving files
  • UpdateModel.php if FTP Write fails, it then attempts to direct access with file_put_contents
  • CLI Database export/import
  • Use of Joomla\Archive package which uses the Joomla\Filesystem and not Joomla\CMS\Filesystem packages.
  • CLI DaemonApplication use of unlink and write on a pidFile
  • PHPMailer use of the file system when signing emails (Joomla doesn't sign emails, but the feature is exposed so 3pd can)
  • "Update Structure" button on the Database page (Used to be "fix") cannot run as it deletes files.
  • Extension installation from URL says "Unable to detect manifest file." and doesn't prompt for credentials when trying to install.
  • Extension Upload and Install doesn't work when no FTP credentials stored, not prompted for credentials.
  • Languages: Edit Override cannot save the override files, not prompted for credentials, gives bad error message with no actual error message "Save failed with the following error:"

** Warning: This list was compiled before coffee, it is possible its a very incomplete list! **

Docker image

As promised in #20774 (comment) I created a FTP Docker image based on the official joomla docker images


Leadership devisions/comments on keeping the FTP Layer in Joomla 4.

George, The Joomla Release Lead for Joomla 4 - stated on 3rd March 2019 that he believed it "give or take works"

Screenshot 2021-04-24 at 15 32 19

George, The Joomla Release Lead for Joomla 4 - stated on 1st March 2020 - "We're keeping it."

Screenshot 2021-04-24 at 15 19 26

Although a day later he stated: "admittedly I've never tested FTP Modes"

avatar PhilETaylor PhilETaylor - open - 22 Apr 2021
avatar joomla-cms-bot joomla-cms-bot - change - 22 Apr 2021
Labels Added: ?
avatar joomla-cms-bot joomla-cms-bot - labeled - 22 Apr 2021
avatar PhilETaylor PhilETaylor - change - 22 Apr 2021
Title
[4] FTP Layer Release Blocker Issues Summary:
[4] FTP Layer Release Blocker Issues Summary
avatar PhilETaylor PhilETaylor - edited - 22 Apr 2021
avatar alikon
alikon - comment - 22 Apr 2021

is this a release blocker ?
my usual 0.02

avatar PhilETaylor
PhilETaylor - comment - 22 Apr 2021

I guess that depends on the decisions those in leadership make. All I can do is make that decision easier for them to take by documenting the issues to show how big of an issue, 3 years later, it still is.

If you mean, should you flag this specific issue with a release blocker tag? - then sure, that would highlight it well.

avatar PhilETaylor PhilETaylor - change - 22 Apr 2021
The description was changed
avatar PhilETaylor PhilETaylor - edited - 22 Apr 2021
avatar alikon
alikon - comment - 22 Apr 2021

i'd not mark rb , instead some kind of wont fix

avatar PhilETaylor
PhilETaylor - comment - 22 Apr 2021

Again not my decision to make :) I dont get paid enough.

If its a won't fix then there is also a LOT of work to do to REMOVE the FTP Layer... + documentation + marketing spin

So either way, regardless of the decision, this is blocking ...

avatar brianteeman
brianteeman - comment - 22 Apr 2021

i'd not mark rb , instead some kind of wont fix

If its a wont fix then you must remove all the useless code

avatar alikon
alikon - comment - 22 Apr 2021

iirc there was such pr, anyway ive expressed my personal opinion

avatar PhilETaylor
PhilETaylor - comment - 22 Apr 2021

iirc there was such pr,

Yes in 2019 - but it was rejected - history: #21507

It would need each area revisiting again if the decision to remove FTP Layer was made.

avatar jwaisner
jwaisner - comment - 22 Apr 2021

There is no decision to remove the FTP Layer. It is a Release blocker. Any assistance on fixing it is appreciated.

avatar brianteeman
brianteeman - comment - 22 Apr 2021

Somethings cannot be fixed.
Some things should not be fixed.

avatar PhilETaylor PhilETaylor - change - 23 Apr 2021
The description was changed
avatar PhilETaylor PhilETaylor - edited - 23 Apr 2021
avatar PhilETaylor PhilETaylor - change - 24 Apr 2021
The description was changed
avatar PhilETaylor PhilETaylor - edited - 24 Apr 2021
avatar PhilETaylor PhilETaylor - change - 24 Apr 2021
The description was changed
avatar PhilETaylor PhilETaylor - edited - 24 Apr 2021
avatar PhilETaylor PhilETaylor - change - 24 Apr 2021
The description was changed
avatar PhilETaylor PhilETaylor - edited - 24 Apr 2021
avatar PhilETaylor PhilETaylor - change - 24 Apr 2021
The description was changed
avatar PhilETaylor PhilETaylor - edited - 24 Apr 2021
avatar PhilETaylor PhilETaylor - change - 24 Apr 2021
The description was changed
avatar PhilETaylor PhilETaylor - edited - 24 Apr 2021
avatar PhilETaylor
PhilETaylor - comment - 24 Apr 2021

I have added Georges comments on keeping the FTP layer from Match 2019 and March 2020 to the opening of this issue

avatar PhilETaylor PhilETaylor - change - 24 Apr 2021
The description was changed
avatar PhilETaylor PhilETaylor - edited - 24 Apr 2021
avatar PhilETaylor PhilETaylor - change - 24 Apr 2021
The description was changed
avatar PhilETaylor PhilETaylor - edited - 24 Apr 2021
avatar richard67
richard67 - comment - 24 Apr 2021

Soon I have to go to German technology museum in Munich to be able to find servers for testing it.

avatar joomdonation
joomdonation - comment - 24 Apr 2021

@PhilETaylor Do you know how can I setup FTP layer with permissions issue on a Windows computer for testing these FTP things?

avatar PhilETaylor
PhilETaylor - comment - 24 Apr 2021

@joomdonation Do you know how can I setup FTP layer with permissions issue on a Windows computer for testing these FTP things?

On windows, no sorry, unless you can commit to learning docker/virtual machines.

A standard Ubuntu server with Apache installed today replicates the problem because apache runs by default as www-user and the files are then owned by root, ubuntu or your FTP server service user.

I also prepared a docker container of this exact set up as requested by George some time ago - for those who understand docker.

You can find this here: https://github.com/PhilETaylor/joomla-ftptest

That just takes the Official Joomla Docker images and installs VSFTP Server (and nano text editor)

@richard67 Soon I have to go to German technology museum in Munich to be able to find servers for testing it.

See above, note that the Official Joomla Docker images have the same "conflict of permissions" that the FTP Layer addresses, namely that apache runs as www-data user and files owned by another user cannot be written to, but to get around this the Official Joomla Docker images fudge the permissions so that all files are owned by www-data /facepalm/

avatar PhilETaylor PhilETaylor - change - 24 Apr 2021
The description was changed
avatar PhilETaylor PhilETaylor - edited - 24 Apr 2021
avatar PhilETaylor PhilETaylor - change - 24 Apr 2021
The description was changed
avatar PhilETaylor PhilETaylor - edited - 24 Apr 2021
avatar PhilETaylor PhilETaylor - change - 24 Apr 2021
The description was changed
avatar PhilETaylor PhilETaylor - edited - 24 Apr 2021
avatar PhilETaylor PhilETaylor - change - 24 Apr 2021
The description was changed
avatar PhilETaylor PhilETaylor - edited - 24 Apr 2021
avatar PhilETaylor PhilETaylor - change - 25 Apr 2021
The description was changed
avatar PhilETaylor PhilETaylor - edited - 25 Apr 2021
avatar PhilETaylor PhilETaylor - change - 25 Apr 2021
The description was changed
avatar PhilETaylor PhilETaylor - edited - 25 Apr 2021
avatar PhilETaylor PhilETaylor - change - 25 Apr 2021
The description was changed
avatar PhilETaylor PhilETaylor - edited - 25 Apr 2021
avatar PhilETaylor PhilETaylor - change - 25 Apr 2021
The description was changed
avatar PhilETaylor PhilETaylor - edited - 25 Apr 2021
avatar PhilETaylor PhilETaylor - change - 25 Apr 2021
The description was changed
avatar PhilETaylor PhilETaylor - edited - 25 Apr 2021
avatar PhilETaylor PhilETaylor - change - 28 Apr 2021
The description was changed
avatar PhilETaylor PhilETaylor - edited - 28 Apr 2021
avatar PhilETaylor PhilETaylor - change - 28 Apr 2021
The description was changed
avatar PhilETaylor PhilETaylor - edited - 28 Apr 2021
avatar PhilETaylor PhilETaylor - change - 28 Apr 2021
The description was changed
avatar PhilETaylor PhilETaylor - edited - 28 Apr 2021
avatar PhilETaylor PhilETaylor - change - 28 Apr 2021
The description was changed
avatar PhilETaylor PhilETaylor - edited - 28 Apr 2021
avatar PhilETaylor PhilETaylor - change - 28 Apr 2021
The description was changed
avatar PhilETaylor PhilETaylor - edited - 28 Apr 2021
avatar PhilETaylor
PhilETaylor - comment - 30 Apr 2021

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

avatar PhilETaylor PhilETaylor - close - 30 Apr 2021
avatar PhilETaylor PhilETaylor - change - 30 Apr 2021
Status New Closed
Closed_Date 0000-00-00 00:00:00 2021-04-30 10:35:46
Closed_By PhilETaylor

Add a Comment

Login with GitHub to post a comment