? No Code Attached Yet J4 Issue
avatar coolcat-creations
coolcat-creations
26 Jun 2018

Is your feature request related to a problem? Please describe.

Users get sometimes an error message but no shortcut to solve it.
grafik

Describe the solution you'd like

Would be great if it's posible to include here a link to reset the user to "None" or to reasign the content to myself without any hassle to click my way through to the settings.
Same would be great for other error messages that I could collect if there is a way to solve such things.

avatar coolcat-creations coolcat-creations - open - 26 Jun 2018
avatar joomla-cms-bot joomla-cms-bot - change - 26 Jun 2018
Labels Added: ?
avatar joomla-cms-bot joomla-cms-bot - labeled - 26 Jun 2018
avatar brianteeman
brianteeman - comment - 26 Jun 2018

See the advice here on how to write an error message
https://design-system.service.gov.uk/components/error-message/

avatar franz-wohlkoenig franz-wohlkoenig - change - 26 Jun 2018
Status New Discussion
avatar franz-wohlkoenig franz-wohlkoenig - change - 26 Jun 2018
Category UI/UX
avatar coolcat-creations
coolcat-creations - comment - 26 Jun 2018

Yes, that's kind of what I was thinking about... And offer the solution directly in place or at least link there if it can't be done in place.

avatar coolcat-creations
coolcat-creations - comment - 26 Jun 2018

Huh? I don't get the joke ;) A simple "Click here to reset the user to "none" would be enough in this case. There are other error messages that can be improved accordingly... But is it possible to add "actions" there?

avatar brianteeman
brianteeman - comment - 26 Jun 2018

Don't worry about the "joke" - it wasnt funny

avatar mbabker
mbabker - comment - 26 Jun 2018

But is it possible to add "actions" there?

Actionable errors aren't something our system is designed to work with. In each case the action is going to be very reliant on context. The user ID not found error comes from the core JUser class, it's not something that can be made contextually aware (how does JUser::load() know what it needs to reset or if it even needs to reset something?).

avatar C-Lodder
C-Lodder - comment - 26 Jun 2018

In this example I assume it's caused when you delete a user that is the author of an article. In which case maybe perform a check when someone attempts to delete a user. If they are the author of any content, then display a warning, or allow them to set a different author before deleted

avatar brianteeman
brianteeman - comment - 26 Jun 2018

yes that is the reason. Cant remember the link but this idea has been discussed before - cant remember the outcome

avatar franz-wohlkoenig
franz-wohlkoenig - comment - 26 Jun 2018

My Experience on a closed Source CMS you can't delete a User as long as he is linked as Author. Same for deleting an Multimedia-Object (can't delete it if its used in an Article).

This Behaviour was in Beginning annoying, but save, what i wish for Joomla too.

avatar mbabker
mbabker - comment - 26 Jun 2018

There is a before delete event that can be used for the pre-delete checks. But, that's really the best we can offer since our entire system is lazy loaded and com_users shouldn't have a hardcoded behavior blocking delete if a user owns something in com_content and com_categories (think of folks using other content components as a reason why).

In general hooking the before delete events isn't a bad idea. But without blowing up core with more plugins or coming up with a way to stop lazy loading all the components so that you don't need plugins to turn on a component feature when it isn't the active component of a request, it's not something that is all that practical with our application design and structure.

avatar franz-wohlkoenig
franz-wohlkoenig - comment - 26 Jun 2018

I guessed there are Reasons for different Behaviour. Thanks for Comment @mbabker.

avatar coolcat-creations
coolcat-creations - comment - 26 Jun 2018

So the only solution to improve UX here is to extend the error text at least a bit, right? And is there a possibility to improve UX for Joomla 4 regarding that? To give the user the possibility to solve things with a click?

avatar brianteeman
brianteeman - comment - 26 Jun 2018

We can definitely improve the message - I don't know about the rest

avatar mbabker
mbabker - comment - 26 Jun 2018

To give the user the possibility to solve things with a click?

Again, it all depends on context. Where the error is raised is just as important as the text it raises. Like I said, JUser::load() can't know to attach a "click here to update this item" action to an error message; it's a library class that is used heavily and to give that kind of action context means trying to do things that aren't practical.

With the system design of Joomla, "actionable errors" aren't something that can be easily done. And to be honest trying to design errors to be actionable in that way only works if you very explicitly know the context of the error, what causes it, and what can fix it. In the JUser class, we lack the context and the ability to say what fixes it (the cause is pretty easy, the specified ID doesn't exist in the database). In the MVC layer, our error handling lacks depth to address specific error cases because the error handling is designed as a very generalized "catch an error and report it" mechanism.

Also relevant, #20689 (comment) (and every other issue/comment related specifically to the JUser::load() message since it is probably the most commonly displayed error message).

avatar coolcat-creations
coolcat-creations - comment - 26 Jun 2018

And if we add a context? Yes I understand It's too much work to have every context filled with recommendations, but if we improve the system at least at one place regarding UX it will be a win for the system...

Specifically in this case I have all the time annoying warnings like this. So I need to reasign everything from the user one by one to "None" manually? Should really be possible to add something and somewhere to improve the UX on that.

Another solution could be also a "deleted users list" where you only see anonymous data like the ID and you say what should happen with articles (or other things) this deleted user wrote.

There is always a way to solve things.

Another Error message that can be improved is that the update server is not available, why not directly linking to the "Update Sites" and recommend to rebuild it?

avatar mbabker
mbabker - comment - 26 Jun 2018

Specifically in this case I have all the time annoying warnings like this. So I need to reasign everything from the user one by one to "None" manually? Should really be possible to add something and somewhere to improve the UX on that.

Yes and no. Yes, this capability should exist in some form. No, it shouldn't be an action set with the error message IMO. This is the type of thing that should be checked and validated before deletion, or in the case of restoring a version checked after restoration (where an actionable error actually makes sense).

Another Error message that can be improved is that the update server is not available, why not directly linking to the "Update Sites" and recommend to rebuild it?

That assumes the error is related to the update site list not being up-to-date. If the remote server is giving a 4xx/5xx response that recommendation doesn't help at all. That's where context comes into play.

There is always a way to solve things.

You're right. I'm just making sure it's clear that there isn't a blanket fix that can be applied to every error case. Every scenario has to be handled in its own way, and in some high level classes this makes it pretty much impossible to implement an actionable error because contextually the error can be triggered through too many code paths for us to reliably manage.

avatar tonypartridge
tonypartridge - comment - 26 Jun 2018

I would be tempted to go down the lines of an audit component which audit checks which can be provided by components.

I.e. check com_content users associations

If it finds some, output we found some articles which users who do not exist, please select the user you wish to re-assign these items too.

Just a thought...

avatar brianteeman
brianteeman - comment - 26 Jun 2018

Thats an interesting idea and shouldnt actually be that hard

avatar tonypartridge
tonypartridge - comment - 26 Jun 2018

Exactly :-). Whilst I know it’s a reactive approach, given @mbabkers concerns over how the system is currently structured we could update the messages and point the user to the correct section in the audit component. Then they are fixing it where support rather than 1 article at a time.
On 26 Jun 2018, 21:55 +0100, Brian Teeman notifications@github.com, wrote:

Thats an interesting idea and shouldnt actually be that hard
β€”
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

avatar brianteeman
brianteeman - comment - 26 Jun 2018

com_healthcheck

avatar tonypartridge
tonypartridge - comment - 26 Jun 2018

+1
On 26 Jun 2018, 21:58 +0100, Brian Teeman notifications@github.com, wrote:

com_healthcheck
β€”
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

avatar brianteeman
brianteeman - comment - 26 Jun 2018

Looking forward to testing it next week

avatar coolcat-creations
coolcat-creations - comment - 27 Jun 2018

That sounds great @tonypartridge how can I be helpful to do it?

avatar tonypartridge
tonypartridge - comment - 27 Jun 2018

We need to see if the core wants to adapt it first? Otherwise it will be part of your newest favourite extension ?
On 27 Jun 2018, 10:17 +0100, Elisa Foltyn notifications@github.com, wrote:

That sounds great @tonypartridge how can I be helpful to do it?
β€”
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

avatar wojsmol
wojsmol - comment - 30 Jun 2018

@tonypartridge From perspective of person witch helps less expiries users as a moderator Polish Joomla! forum (http://forum.joomla.pl) and on .org forum this will be huge help for me. , So for me this is must have in core.

avatar brianteeman brianteeman - change - 2 Aug 2018
Labels Added: J3 Issue
avatar brianteeman brianteeman - labeled - 2 Aug 2018
avatar franz-wohlkoenig franz-wohlkoenig - change - 19 Apr 2019
Title
(UX Feature request) - Extend Error Messages with solutions
Extend Error Messages with solutions
avatar franz-wohlkoenig franz-wohlkoenig - edited - 19 Apr 2019
avatar jwaisner jwaisner - change - 30 Apr 2020
Status Discussion New
Build staging 4.0-dev
avatar jwaisner jwaisner - change - 30 Apr 2020
Category UI/UX Feature Request UI/UX
avatar jwaisner jwaisner - change - 30 Apr 2020
Title
Extend Error Messages with solutions
[4.0] Extend Error Messages with solutions
avatar joomla-cms-bot joomla-cms-bot - edited - 30 Apr 2020
avatar jwaisner jwaisner - change - 30 Apr 2020
Labels Added: ? J4 Issue
Removed: J3 Issue
avatar jwaisner jwaisner - unlabeled - 30 Apr 2020
avatar jwaisner jwaisner - labeled - 30 Apr 2020
avatar jwaisner jwaisner - labeled - 30 Apr 2020
avatar Hackwar Hackwar - change - 18 Feb 2023
Labels Added: ? ? No Code Attached Yet
Removed: ? ?
avatar Hackwar Hackwar - labeled - 18 Feb 2023
avatar laoneo laoneo - change - 6 Apr 2023
Labels Removed: ?
avatar laoneo laoneo - unlabeled - 6 Apr 2023

Add a Comment

Login with GitHub to post a comment