joomla-cms
joomla-cms copied to clipboard
[4.3] Adding display of progress to installation
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.
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.
~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 😉 I would appreciate your comment on this issue as well. 😃
@hackwar I am looking
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.
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.
Not going to comment further for now as those comments would be made irrelevant if you use joomla-alert
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...
joomla -alert is the way to go - it solves your real problems
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?
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/
Confirmed my suspicion from last night.
Changed.
Would you sign off on this this way? Then we could move forward with this whole thing.
its an improvement. not perfect but can be improved in another pr. not for me to approve anything
The main question was, if you would sign off on the accessible part of this PR. Thanks for your support.
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.
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
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.
All changes incorporated. Please test and lets see if we can merge this quickly.
I still don't understand why this is a modal
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.
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.
This pull request has automatically rebased to 4.2-dev.

Can we maybe get some space between the progressbar and the checkbox list? Rest looks great.
Can we maybe get some space between the progressbar and the checkbox list? Rest looks great.
Done.
Does it really still need the joomla spinner at the end?
This completely fails accessibility. Nothing is announced at all. There is just complete silence and a user would not know that anything is happening
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.
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.