joomla-cms icon indicating copy to clipboard operation
joomla-cms copied to clipboard

[4.3] Adding display of progress to installation

Open Hackwar opened this issue 5 years ago • 40 comments

Summary of Changes

The current installation is rather opaque when it comes to doing the actual setup on the server. There is no real progress indicator and it also isn't clear what Joomla is doing during installation. I assume that is also the reason why some autoinstallers just fill out the configuration.php and execute our SQL scripts, which simply isn't enough to properly install Joomla. This PR introduces an additional step in the GUI, replacing the joomla-core-loader element and instead it displays a progress bar and the different tasks the installer has so far executed.

Testing Instructions

Simply apply the PR and execute the installation. See that when you click on the "Install Joomla" button, you get a new screen with progress bar and a list of steps Joomla is doing.

Documentation Changes Required

None.

Hackwar avatar Jun 01 '20 23:06 Hackwar

So this code isn't perfect, but I can't get anyone to look at it and improve it and I wouldn't know how to make it better either. At the same time, I think this is a necessary feature and needs to be added to 4.0, which is why I'm marking this as ready for review now. I'd rather merge this imperfect code, than to have the mess we have so far.

Hackwar avatar Jan 05 '21 09:01 Hackwar

~How can we test it. As far as I can recall no one was previously able to setup an environment where the ftp install would be triggered. Did you find a way?~

sorry wrong issue

brianteeman avatar Jan 05 '21 09:01 brianteeman

@brianteeman 😉 I would appreciate your comment on this issue as well. 😃

Hackwar avatar Jan 05 '21 09:01 Hackwar

@hackwar I am looking

brianteeman avatar Jan 05 '21 09:01 brianteeman

it works, its an improvement, it is fugly which for a first impression of joomla is not good.

The main problems are that it is completely inaccessible (suggestions coming) and that the popup closes before I have the time to read it.

brianteeman avatar Jan 05 '21 09:01 brianteeman

Can you not use the joomla-alert in the same way that you did in the sample data installer? That immediately solves a lot of issues.

brianteeman avatar Jan 05 '21 09:01 brianteeman

Not going to comment further for now as those comments would be made irrelevant if you use joomla-alert

brianteeman avatar Jan 05 '21 10:01 brianteeman

it works, its an improvement, it is fugly which for a first impression of joomla is not good.

I'm open for improvements. I've been asking around a bit in the last months and people frankly have let me down. I'm not exactly creative enough to make it look nicer. For example the progress icon in front of the lists are hidden by setting them to white. I know that is a really ugly way, but I'm a backend dev mainly...

The main problems are that it is completely inaccessible (suggestions coming) and that the popup closes before I have the time to read it.

The popup is not really meant for people like you with a quick database/server, but for those with slow systems to give them an indication of progress. I had a misconfiguration on my system some time ago and that resulted in the database population step taking several minutes. A time in which you have no idea what is happening, where it is failing, etc.

Can you not use the joomla-alert in the same way that you did in the sample data installer? That immediately solves a lot of issues.

I think that would not be the best approach. First of all, the content has to show up above that spinner/loader/whatever thing and thus I would expect a modal. We also need a way to block the interaction with the previous form, so the overlay of the spinner and modal are good. At the same time I don't want the steps to show up one after the other, but to have them visible all at the same time, so that you can see how much still has to happen...

Hackwar avatar Jan 05 '21 10:01 Hackwar

joomla -alert is the way to go - it solves your real problems

brianteeman avatar Jan 05 '21 10:01 brianteeman

I've checked joomla-alert and it definitely is not the way to go. It is the wrong UI element for this task. However I've looked over my implementation and improved it a bit and hopefully this https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Live_Regions is correct and thus this should now be more accessible.

This does contain one issue and that is it is only looking for mysql custom SQL files and not postgres. Do we want to catch that case as well or do we put the burden for that on the one adding one of those custom SQL files?

Hackwar avatar Jan 07 '21 00:01 Hackwar

On my phone so can't check right now but the aria live element must be in the page before the message is created. Usually you would achieve that in the html not the js. See https://bitsofco.de/using-aria-live/

brianteeman avatar Jan 07 '21 01:01 brianteeman

Confirmed my suspicion from last night.

brianteeman avatar Jan 07 '21 08:01 brianteeman

Changed.

Hackwar avatar Jan 07 '21 09:01 Hackwar

Would you sign off on this this way? Then we could move forward with this whole thing.

Hackwar avatar Jan 07 '21 13:01 Hackwar

its an improvement. not perfect but can be improved in another pr. not for me to approve anything

brianteeman avatar Jan 07 '21 14:01 brianteeman

The main question was, if you would sign off on the accessible part of this PR. Thanks for your support.

Hackwar avatar Jan 07 '21 14:01 Hackwar

Hi,

nice progressbar, sorry for no feedback didn't see the pr in june

Found a small problem in case of an error

https://user-images.githubusercontent.com/1497730/103914159-b3ead800-5109-11eb-86f8-734f3bbd466d.mp4

and could you fix the cs errors please

The check marks may could have a lighter green but I don't know if this is our default green.

HLeithner avatar Jan 07 '21 16:01 HLeithner

The main question was, if you would sign off on the accessible part of this PR. Thanks for your support.

Still not for me to do that. That would be the role of the accessibility team

brianteeman avatar Jan 07 '21 16:01 brianteeman

CS errors are not from this PR, but currently part of the 4.0-dev branch. Fix is here #31879

The check mark is the default color that we use.

I'll fix the error handling.

Hackwar avatar Jan 07 '21 16:01 Hackwar

All changes incorporated. Please test and lets see if we can merge this quickly.

Hackwar avatar Jan 07 '21 19:01 Hackwar

I still don't understand why this is a modal

brianteeman avatar Jan 07 '21 19:01 brianteeman

Then tell me how else you would display this information. With all steps-to-be-processed visible from the start, returnable to the previous screen, updating the existing data, etc.

Hackwar avatar Jan 07 '21 21:01 Hackwar

I think this feature would be a nice addition, but I have to agree, it shouldn't be a modal.

I think this should me incooperated into a bigger improvement project for the installer (there are many flaws which should be fixed) and at the end a solution could be, that we hide (not just gray out via overlay) the installation form and show only the installation progress (+ valid return when failed, not just the whole form).

To not forget about this idea, I set it to draft.

bembelimen avatar Jan 20 '22 03:01 bembelimen

This pull request has automatically rebased to 4.2-dev.

HLeithner avatar Jun 27 '22 13:06 HLeithner

image

Can we maybe get some space between the progressbar and the checkbox list? Rest looks great.

HLeithner avatar Aug 30 '22 10:08 HLeithner

image

Can we maybe get some space between the progressbar and the checkbox list? Rest looks great.

Done.

Hackwar avatar Aug 30 '22 10:08 Hackwar

Does it really still need the joomla spinner at the end?

brianteeman avatar Aug 30 '22 10:08 brianteeman

This completely fails accessibility. Nothing is announced at all. There is just complete silence and a user would not know that anything is happening

brianteeman avatar Aug 30 '22 10:08 brianteeman

Does it really still need the joomla spinner at the end?

I don't need it. However I would leave the review of stuff like this to someone else.

Hackwar avatar Aug 30 '22 10:08 Hackwar

This completely fails accessibility. Nothing is announced at all. There is just complete silence and a user would not know that anything is happening

Unfortunately I don't know enough about accessibility to get this right. I would need your help and the help from @chmst and @drmenzelit. I'm open for what needs to be done to get this right.

Hackwar avatar Aug 30 '22 10:08 Hackwar