? NPM Resource Changed ? Pending

User tests: Successful: Unsuccessful:

avatar bembelimen
bembelimen
10 Jul 2021

Summary of Changes

This PR improves the Joomla! updater layout and adds some structure:

Initial layout

When we're in the initial state and did not check for the update yet, the following screen is visible:

Old

grafik

New

grafik

As you can see I used the emptystate function, which was implemented a few weeks ago (also in later stages). I also removed the information of the currently installed version, as it gives no benefit in the current state.

Last but not least the "Upload & Update" is moved down in a text link, as I assume upload updates are not that common.

No update found

Now we press the "Check for updates" without finding an update.

Old

grafik

and

grafik

New

grafik

As you can see, there is no pre-update check, because....there is no update. But the button changes to offer the re-installation of the core files. Also all this unnecessary verbose information were removed.

Update found

Next test is, if there is an update.

Old

grafik

and

grafik

New

grafik

and

grafik

and

grafik

and

grafik

Here the strange fieldsets are were removed and the information are split into different tab-pills. The update is moved to a 2nd step. Verbose information like current version and the download link are removed (no download needed here, see below in upload area). An additional checkbox is displayed for an extra confirmation regarding backups. Also the confirmation regarding extensions with update required is there.

The pills (left side) show an status icon, for extensions it's an animated hourclass till all extensions are checked.

Update via upload

Last but not least the update via upload.

Old

grafik

and

grafik

New

grafik

and

grafik

Here, if a update file is available as download, it's offered to the user to download. Headline of the Login is not "Login" anymore, because the user is already logged in. Also the backup confirmation is here again.

Update

The update did not change.

Testing Instructions

It's a bit hard to test. What I did was to install an Joomla! RC2 and replace the administrator/com_joomlaupdate and media/com_joomlaupdate folders from the download of this PR (see link at the bottom). Also the language file needs to be updated and layouts/joomla/content/emptystate.php has to be copied.

Then you can go through all the steps of the update.

For reinstall, you can use the normal patchtester.

Actual result BEFORE applying this Pull Request

Update works but layoutit a bit confusing.

Expected result AFTER applying this Pull Request

Update still works with new layout.

Additional comment

Help pages has the wrong link.

TODO

avatar bembelimen bembelimen - open - 10 Jul 2021
avatar bembelimen bembelimen - change - 10 Jul 2021
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 10 Jul 2021
Category Administration com_installer com_joomlaupdate Language & Strings JavaScript Repository NPM Change Layout
avatar bembelimen bembelimen - change - 10 Jul 2021
The description was changed
avatar bembelimen bembelimen - edited - 10 Jul 2021
avatar brianteeman
brianteeman - comment - 10 Jul 2021

Thanks for this. Looks a big improvement. I will take a proper look at this tomorrow and report back. Just one thing that strikes me right away (and to be fair its true without this PR but this PR makes it more obvious).

When we're in the initial state and did not check for the update yet,

It says "no update available."

Maybe it should be saying "press this big button to see if there are any updates"

avatar richard67
richard67 - comment - 10 Jul 2021
avatar richard67
richard67 - comment - 10 Jul 2021

@bembelimen The check for 8 MB or even 16 MB is outdated. A J4 update package currently has some 24 MB. A post_max_size or and upload_max_filesize lower than 24 MB will cause an update via upload & update to fail. And maybe even 24 MB is too tight. In my opinion and according to my experience the 2 values which I have mentioned should both be at least 32 MB, with the post_max_size being equal to or larger than the upload_max_filesize, and the memory limit should be at least the maximum of these 2 values, if not more.

avatar brianteeman
brianteeman - comment - 11 Jul 2021

UPDATE: this was an unrelated bug

Warning: Creating default object from empty value in C:\htdocs\joomla-cms\administrator\components\com_joomlaupdate\src\Model\UpdateModel.php on line 1336

Warning: Creating default object from empty value in C:\htdocs\joomla-cms\administrator\components\com_joomlaupdate\src\Model\UpdateModel.php on line 1396

image

avatar brianteeman
brianteeman - comment - 11 Jul 2021

Couldnt get to the re-install core package page

avatar richard67
richard67 - comment - 11 Jul 2021

@brianteeman Both code line you've mentioned haven't been changed by this PR, so the mistake seems to happen before that in the call stack. Can you switch on "Debug System" in Global Configuration so you can see the call stack?

avatar brianteeman
brianteeman - comment - 11 Jul 2021

icon alignment

image

avatar brianteeman
brianteeman - comment - 11 Jul 2021

Click to uncheck the "ignore warning" a second time (to uncheck it)

Uncaught TypeError: e.addAttribute is not a function at default.min.js?21f709b9142f3119910d9af57d0d8814:1 at Array.forEach (<anonymous>) at HTMLInputElement.l (default.min.js?21f709b9142f3119910d9af57d0d8814:1) (anonymous) @ default.min.js?21f709b9142f3119910d9af57d0d8814:1 l @ default.min.js?21f709b9142f3119910d9af57d0d8814:1

image

avatar brianteeman
brianteeman - comment - 11 Jul 2021

There is a popover :( that is not visually indicated and is not accessible from the keyboard. Oh and the text needs to be updated

image

avatar brianteeman
brianteeman - comment - 11 Jul 2021

The lack of styling on the tables means that the "more details" toggle is lost on the page and its not clear what it refers to

image

avatar brianteeman
brianteeman - comment - 11 Jul 2021

After completing an update you are taken to the url administrator/index.php?option=com_joomlaupdate&view=joomlaupdate&layout=complete but the on screen text doesnt indicate that you have updated

image

avatar brianteeman
brianteeman - comment - 11 Jul 2021

All tables must have a caption that describes the table.
table headers must have a scope=col
The extension name should be a table header with a scope=row

image

avatar brianteeman
brianteeman - comment - 11 Jul 2021

When an update has been found - clicking on the "check for updates" button in the toolbar produces a js error

core.js?c47dc50c9a8b9c85d135bbac3f47a6e9b4100832:389 Uncaught TypeError: Cannot read property 'task' of null at Object.Joomla.submitform (core.js?c47dc50c9a8b9c85d135bbac3f47a6e9b4100832:389) at Object.Joomla.submitbutton (core.js?c47dc50c9a8b9c85d135bbac3f47a6e9b4100832:446) at HTMLElement.executeTask (joomla-toolbar-button.js?176b6426ebbc64fc3b01addcab4f31ae384376d0:120) Joomla.submitform @ core.js?c47dc50c9a8b9c85d135bbac3f47a6e9b4100832:389 Joomla.submitbutton @ core.js?c47dc50c9a8b9c85d135bbac3f47a6e9b4100832:446 executeTask @ joomla-toolbar-button.js?176b6426ebbc64fc3b01addcab4f31ae384376d0:120

avatar brianteeman
brianteeman - comment - 11 Jul 2021

Creating default object from empty value

This is a different bug from #34115 - I will raise a separate issue for that

avatar bembelimen
bembelimen - comment - 11 Jul 2021

Thanks for the feedback so far. I'll look into it over the next days.
Two things to mention:

  • the language strings are somehow "strange" english (not sure if they just look like that for me, as I'm not native or someone non-native created them), so probably worth reviewing them (I also like the idea of your suggestion replacing "no update available").
  • With this PR I tried to not touch any logic in terms of model thing but it seems, I should do that (also stuff like moving the DB query in the view into the model).

Thanks again for the feedback, will try to fix everything.

avatar brianteeman
brianteeman - comment - 11 Jul 2021

the language strings are indeed strange - its not you

avatar rinka88
rinka88 - comment - 11 Jul 2021

it would be great to see it in an upcoming release candidate

avatar brianteeman
brianteeman - comment - 11 Jul 2021

please add the deleted files to the list in script.php

avatar wilsonge
wilsonge - comment - 11 Jul 2021

Just for transparency here - as we're refactoring strings as well here - I've discussed with @bembelimen and we agreed that either this goes in time for RC4 on Tuesday or it will get delayed for 4.1 stable. Obviously this is a massive improvement so it will get in one way or another.

avatar bembelimen
bembelimen - comment - 11 Jul 2021

Couldnt get to the re-install core package page

Could it be, that this notice is responsible that the reinstall does not work? I neither get the notice nor can't I re-install it. So if I click the button, I come to the re-install screen and get all files resetted.

avatar bembelimen bembelimen - change - 11 Jul 2021
Labels Added: ? NPM Resource Changed ?
avatar brianteeman
brianteeman - comment - 11 Jul 2021

Couldnt get to the re-install core package page

Could it be, that this notice is responsible that the reinstall does not work?

No the notice was something else and unrelated. I think its something to do with the update servers or version?? See animation below.

update

avatar bembelimen bembelimen - change - 11 Jul 2021
The description was changed
avatar bembelimen bembelimen - edited - 11 Jul 2021
avatar bembelimen bembelimen - change - 11 Jul 2021
The description was changed
avatar bembelimen bembelimen - edited - 11 Jul 2021
avatar bembelimen
bembelimen - comment - 12 Jul 2021

Couldnt get to the re-install core package page

Could it be, that this notice is responsible that the reinstall does not work?

No the notice was something else and unrelated. I think its something to do with the update servers or version?? See animation below.

update

Thanks for the screencast, now I can reproduce it and the explaination is very "easy" but also hard to solve: when you're at the default update channel, there is no version you can use (read: no link to rewrite the files). Same happens for the old version of the updater, so not really a bug here.

avatar bembelimen bembelimen - change - 12 Jul 2021
The description was changed
avatar bembelimen bembelimen - edited - 12 Jul 2021
avatar bembelimen bembelimen - change - 12 Jul 2021
The description was changed
avatar bembelimen bembelimen - edited - 12 Jul 2021
avatar bembelimen bembelimen - change - 12 Jul 2021
The description was changed
avatar bembelimen bembelimen - edited - 12 Jul 2021
avatar bembelimen bembelimen - change - 12 Jul 2021
The description was changed
avatar bembelimen bembelimen - edited - 12 Jul 2021
avatar bembelimen bembelimen - change - 12 Jul 2021
The description was changed
avatar bembelimen bembelimen - edited - 12 Jul 2021
avatar joomla-cms-bot joomla-cms-bot - change - 12 Jul 2021
Category Administration com_installer com_joomlaupdate Language & Strings JavaScript Repository NPM Change Layout Administration com_admin com_installer com_joomlaupdate Language & Strings JavaScript Repository NPM Change Layout
avatar bembelimen bembelimen - change - 12 Jul 2021
The description was changed
avatar bembelimen bembelimen - edited - 12 Jul 2021
avatar bembelimen bembelimen - change - 12 Jul 2021
The description was changed
avatar bembelimen bembelimen - edited - 12 Jul 2021
avatar bembelimen bembelimen - change - 12 Jul 2021
The description was changed
avatar bembelimen bembelimen - edited - 12 Jul 2021
avatar bembelimen bembelimen - change - 12 Jul 2021
The description was changed
avatar bembelimen bembelimen - edited - 12 Jul 2021
avatar bembelimen
bembelimen - comment - 12 Jul 2021

icon alignment

image

TBH I wouldn't change it here, as the icons have different widths... so to make them all vertical aligned I have to fiddle around with px and it only works till someone changes the icons...so they're currently just right aligned

avatar bembelimen
bembelimen - comment - 12 Jul 2021

There is a popover :( that is not visually indicated and is not accessible from the keyboard. Oh and the text needs to be updated

image

Yeah, that's really ugly + via JS injected. I have no real idea how to improve it beside removing it at all... Could you attach the plugin you used to test, so I can test myself that way?

And would you be able to look through the language files and fix the biggest issues? Probably we get it in 4.0, if we're fast...

avatar bembelimen
bembelimen - comment - 12 Jul 2021

The lack of styling on the tables means that the "more details" toggle is lost on the page and its not clear what it refers to

image

No with the description moved to the caption, is the show more close enough?

avatar hans2103
hans2103 - comment - 12 Jul 2021

There is a popover :( that is not visually indicated and is not accessible from the keyboard. Oh and the text needs to be updated
image

Yeah, that's really ugly + via JS injected. I have no real idea how to improve it beside removing it at all... Could you attach the plugin you used to test, so I can test myself that way?

And would you be able to look through the language files and fix the biggest issues? Probably we get it in 4.0, if we're fast...

The mentioned plugin is inside PR #34743

avatar brianteeman
brianteeman - comment - 12 Jul 2021

TBH I wouldn't change it here, as the icons have different widths... so to make them all vertical aligned I have to fiddle around with px and it only works till someone changes the icons...so they're currently just right aligned

There is a specific css class to use on the icons to make them fixed width

.fa-fw, .icon-fw

avatar brianteeman
brianteeman - comment - 12 Jul 2021

The icon animation checks with an hourglass are different to similar icon animations in the system dashboard. It would be good if they could be updated here to match

spin2

avatar bembelimen
bembelimen - comment - 12 Jul 2021

TBH I wouldn't change it here, as the icons have different widths... so to make them all vertical aligned I have to fiddle around with px and it only works till someone changes the icons...so they're currently just right aligned

There is a specific css class to use on the icons to make them fixed width

.fa-fw, .icon-fw

Thx

avatar bembelimen
bembelimen - comment - 12 Jul 2021

The icon animation checks with an hourglass are different to similar icon animations in the system dashboard. It would be good if they could be updated here to match

spin2

Done

avatar brianteeman
brianteeman - comment - 12 Jul 2021

(offline for the next few hours for media interviews - will check again (inc lang) this afternoon)

avatar bembelimen bembelimen - change - 12 Jul 2021
The description was changed
avatar bembelimen bembelimen - edited - 12 Jul 2021
avatar bembelimen bembelimen - change - 12 Jul 2021
The description was changed
avatar bembelimen bembelimen - edited - 12 Jul 2021
avatar richard67
richard67 - comment - 12 Jul 2021

This list is grouped by version as well as sorted alphabetically so these files need to be moved to the section beginning // 4.0 from RC 3 to RC 4 around line 5870

@brianteeman That's not right. The PR is good as it is regarding script.php. The files need to go to section "// From 3.10 to 4.0" because sections are not named by when the code was added to script.php but by the versions which are compared with the tool, and that's what this PR does.

avatar brianteeman
brianteeman - comment - 12 Jul 2021

Which is why it needs to be moved as the files were removed after rc3 and not after 3. 10

Otherwise it means all the files are in the wrong place

avatar richard67
richard67 - comment - 12 Jul 2021

Which is why it needs to be moved as the files were removed after rc3 and not after 3. 10

@brianteeman No, you still don't get it. The sections are based on the versions of full packages which are compared by the tool, not on then something was added to script.php. If something is removed when updating from 3.10 to 4, like it is here, it belongs to the section "// From 3.10 to 4.0". Syy all my recent PR's for script.php where I have already moved other stuff.

Otherwise it means all the files are in the wrong place

No, nothing is at the wrong place right now in script.php.

avatar bembelimen bembelimen - change - 12 Jul 2021
The description was changed
avatar bembelimen bembelimen - edited - 12 Jul 2021
avatar brianteeman
brianteeman - comment - 12 Jul 2021

But it's also removed when updating from RC3

avatar richard67
richard67 - comment - 12 Jul 2021

But it's also removed when updating from RC3

@brianteeman Correct, and so it would be added to the script 2 times. The improved version of the tool which I used in recent times doesn't add something to a later section if it is already present in the "// From 3.10 to 4.0" section so we don't have duplicates.

avatar brianteeman
brianteeman - comment - 12 Jul 2021

where is this change in script.php documented

avatar richard67
richard67 - comment - 12 Jul 2021

where is this change in script.php documented

@brianteeman Nowhere right now in documents, but in all those recent PR's I had made for script.php it is described.

avatar chmst
chmst - comment - 12 Jul 2021

grafik

This is not a question.

avatar chmst
chmst - comment - 12 Jul 2021

grafik
The upload file uses the defaul language of the site, not the user's language

avatar bembelimen
bembelimen - comment - 12 Jul 2021

grafik
The upload file uses the defaul language of the site, not the user's language

You mean: "Keine Datei ausgewählt"? That's from the browser, as it's a normal upload field.

avatar chmst
chmst - comment - 12 Jul 2021

Contrast errors on "badge bg-warning". But this is not related to this PR.

Contrast error also here: Colour yellow on white:

grafik

The buttons "More Details" are at the right side of the screen could be close to the information?
Or make the whole information a button?

Suggestion

grafik

avatar brianteeman
brianteeman - comment - 12 Jul 2021

We use a very similar visual display for "permissions" which uses webcomponent joomla-tab shouldnt that be used here as well

avatar brianteeman
brianteeman - comment - 12 Jul 2021

@brianteeman Nowhere right now in documents, but in all those recent PR's I had made for script.php it is described.

Thats a really hard fail.

avatar richard67
richard67 - comment - 12 Jul 2021

@brianteeman Nowhere right now in documents, but in all those recent PR's I had made for script.php it is described.

Thats a really hard fail.

@brianteeman Do we have any documentation already telling how script.php needs to be updated? As far as I know not. So tell me where have I failed?

avatar brianteeman
brianteeman - comment - 12 Jul 2021

the behaviour has changed. before this undocumented change (even a comment in the code) I just needed to add a removed file to the list at the end. ie I only needed to know the version of joomla that the file is being removed from. Now I appear to also need to know which version of joomla that the file was created in

avatar richard67
richard67 - comment - 12 Jul 2021

the behaviour has changed. before this undocumented change (even a comment in the code) I just needed to add a removed file to the list at the end. ie I only needed to know the version of joomla that the file is being removed from. Now I appear to also need to know which version of joomla that the file was created in

@brianteeman The point is that for J4 it has once been agreed that maintaining the list of deleted files and folders can not be left to the authors of PR's since it has become more complicated than in J3 to determine which files or folder to be added, e.g. due to the compilation of resources in J4 (build/media_source). That's why it has once been decided that the release lead runs a tool which currently is under development here #25559 , and because the release lead has lots of other stuff to do, too, when preparing a release, I took over that job from him and generate the lists before each RC release in recent times. So in general it is wrong that you require it to be done in PR's.

@wilsonge Please confirm.

avatar brianteeman
brianteeman - comment - 12 Jul 2021

and my point again is that this change is not documented at all and that as a result of this changed policy the updating of the list of files to remove should not be included in the PR at all.

avatar bembelimen bembelimen - change - 12 Jul 2021
The description was changed
avatar bembelimen bembelimen - edited - 12 Jul 2021
avatar chmst chmst - test_item - 12 Jul 2021 - Tested successfully
avatar chmst
chmst - comment - 12 Jul 2021

I have tested this item successfully on 005fdd1

Tested following the testing instructions.

To complete the test, the layout layouts/joomla/content/emptystate.php is needed.


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/34754.

avatar Quy
Quy - comment - 12 Jul 2021

Using custom URL: https://update.joomla.org/core/nightlies/next_major_list.xml

34754-quick-icon

Clicking the icon goes to this screen. Clicking Check for Updates button display Checked for updates. message.
34754-check-updates

avatar bembelimen
bembelimen - comment - 12 Jul 2021

Using custom URL: https://update.joomla.org/core/nightlies/next_major_list.xml

34754-quick-icon

Clicking the icon goes to this screen. Clicking Check for Updates button display Checked for updates. message.
34754-check-updates

Hi thanks for the feedback, that is "intended" (or not different to the old version): #34754 (comment)

But probably we should change the title to "your current version is xxx" instead of "check if an update is available".

avatar Quy
Quy - comment - 12 Jul 2021

Before PR, I got this:

34754-pre-update-check

avatar Quy
Quy - comment - 12 Jul 2021

Plus the quickicon is misleading giving the impression that there is an update to perform.

avatar bembelimen
bembelimen - comment - 12 Jul 2021

Yeah, but can you rewrite the files in the 2nd tab?

avatar Quy
Quy - comment - 12 Jul 2021

34754-reinstall

avatar bembelimen
bembelimen - comment - 12 Jul 2021

I'm using:
grafik

and get:
grafik

avatar Quy
Quy - comment - 12 Jul 2021

I installed the prebuilt package: https://ci.joomla.org/artifacts/joomla/joomla-cms/4.0-dev/34754/downloads/45766/

The custom URL is same as yours but I don't get the same result.

avatar wilsonge
wilsonge - comment - 13 Jul 2021

Screenshot 2021-07-13 at 11 18 07

Works for me too :/

avatar wilsonge wilsonge - change - 13 Jul 2021
Status Pending Fixed in Code Base
Closed_Date 0000-00-00 00:00:00 2021-07-13 10:30:52
Closed_By wilsonge
avatar wilsonge wilsonge - close - 13 Jul 2021
avatar wilsonge wilsonge - merge - 13 Jul 2021
avatar wilsonge
wilsonge - comment - 13 Jul 2021

Thankyou!

avatar particthistle
particthistle - comment - 13 Jul 2021

I'm getting same as @Quy - I too installed the prebuilt package, so that's perhaps the difference there... is it a timing issue on the nightly build?

image

avatar particthistle
particthistle - comment - 13 Jul 2021

But now it's merged, that might make a difference when applied in the next nightly build and RC4.

avatar bembelimen
bembelimen - comment - 13 Jul 2021

Especially thanks @brianteeman for the big review and @Quy for the improvements.
Also thanks for the testers

avatar richard67
richard67 - comment - 14 Jul 2021

Sorry I just see I was wrong regarding the place in script.php where the deleted files should be added.

Not for the reasons which @brianteeman stated above - what I wrote about where things belong to is still right.

But I was missing the fact that in 3.10 these files are at another place (administrator/components/com_joomlaupdate/views/default/tmpl) and so the J3 files are already present in the "From 3.10 to 4.0" section, and the J4 files removed with this PR here should be moved to section "4.0 from RC 3 to RC 4" in the deleted files list in script.php.

I will make a PR to fix that.

avatar brianteeman
brianteeman - comment - 14 Jul 2021

lol

avatar richard67
richard67 - comment - 14 Jul 2021

lol

@brianteeman Are you perfect so you never make mistakes? I am not, and I am aware of this and able to correct them, in opposite to other people around. And it changes nothing on what I have said about how that deleted files and folder lists are currently structured.

avatar richard67
richard67 - comment - 14 Jul 2021

See #34784 .

Add a Comment

Login with GitHub to post a comment