Disable Update All completely vs. improving update all process

Hey there,

I was dealing with this already in the past, but perhaps that changed with the last big update of MainWP.

I am never ever using the Update all functions, and I really want to disable it.

Not using it on the Update Overview where the button “Update All” plugins/themes is green.
Not using it on the Update Page where the button “Update All Plugins” is blue.
Not using it on the page for an individual site where the button is again green.

From my point of view Update all is not responsible. It’s already close to just keeping the WP auto-update feature enabled. Also, you notice that the chosen colors are kind of confusing, aren’t they?

Should I ever want to Update all, I would just hit the checkbox “[ ] Plugin” where I select all plugins in one click, and then click “Update Selected Plugins” in green.

I want to get rid of Update All to avoid clicks by mistake, that can be fatal. I know I could enable the Update confirmation function, but believe me it’s not the same. It’s like with banner-blindness when surfing the web, we get confirmation-dialogue-blindness as well. If I hit by mistake “Update all” it’s very likely that I will automatically just confirm it without reading the dialogue (unless it has a crazy other color for confirming selected updates vs. all updates). Another approach would be to have a setting to enable the confirmation-dialogue only for update all triggers.

If this post was too long, I’ll try later to come to the point in a short post, but I wanted to make it clear why I think we should have the setting to completely disable “Update all”. Or as an alternative, consider improvements in the confirmation dialogue, colors, etc.

I think I mentioned it a few months back as a feature request as well and workarounded it with custom CSS and display:none.

Now with the new MainWP I would need to look into that workaround again, but an actual solution would just be better.

Any ideas how to get that considered?

best regards
Markus

@markus998 Thank you very much for your feedback and input on your UI/UX experience. We love hearing this type of feedback - however this isn’t the best channels for it. For feedback such as this or new feature requests It’s suggested that you use our feedback.mainwp.com forum instead so that it’s better tracked and may be voted on by the broader community.

In the mean time, you could achieve what you are requesting very easily by utilizing the MainWP Custom Dashboard extension & this snippet I provided below - The colors are displayed correctly as-per your screenshot. Since there are no updates for that row - they are technically “Disabled” changing the color to a faded green instead of bright green.

1 Like

Thanks Keith - I was literally searching for “mainwp feature request” as I was looking for that page but didn’t find it. Didn’t know it was called “mainwp feedback”. I did report pretty much the same in the past already, so there is not much sense to do this again.

I think though my points are very valid, but sure … could be that it does not matters to others.

Thanks for providing that code snippet. I did solve this already in the past, but it changed of course with the new MainWP layout (I think from version 4.5). The provided snippet though doesn’t change anything. I don’t see any difference. Do I need to do something else to make it work? It’s a bit strange to disable the “green button”, I think. I think in the past I could select the “update all” button directly via CSS (hope that makes sense).

Don’t you think the mix of the colors blue/green is confusing? Update all is on the one screen green, and on the other screen it’s blue.

That’s how it looks after I add the code snippet:

2 Likes

@markus998 Yes, it wouldn’t make sense to create another feedback post if it’s already there. I was un aware of this post. I’m not attempting to discounting your point of view or feedback - It’s all important. :slightly_smiling_face:

With CSS changes you will need to clear any server cache that you have setup & do a hard refresh with your browser by pressing SHIFT+F5

This snippet is only for the Overview Widget and will not effect any other places within the system.

MainWP has the ability to be themed as well in order to make it exactly how you would like. If you need help with this please let us know.

1 Like

@kwcjr sorry for not getting back earlier … the usual too many open tabs problem.

I think the snippet didn’t work because it only disabled the greyed-out/disable “update all” button. My aim is to disable all “update all” buttons. They are just dangerous to me.

Good to know about the theme … I probably wouldn’t go that path, I am fine with the default layout/design and try to stay away from future issues when updates get out. Overwriting the theme is territory I should not step.

That’s the snippet you suggested
From my point of view that only hides the disabled green button. That I need to hide buttons by their color-class and not their actual function update-all feels really odd and wrong to me. Especially, as the UX does not have a consistent pattern when it comes to colors of the button (remember, ‘udpate all’ is one time green and another time its blue.

/**
* Snippet Action: Hide Update All Buttons on Overview Widtget.
* Snippet Type:   MainWP Custom Dashboard CSS snippet.
* Snippet Author: Keith Crain ( MainWP.com )
*/

#widget-overview div.right.aligned.column > a.ui.disabled.green.basic.button {
	display: none !important;
}


I had a look and tried the following now myself, I just wonder how much right or how much wrong that could be, and would ask you about your opinion:
It just feels so terribly wrong what I am doing here :neutral_face:

#widget-overview div.right.aligned.column > a.ui.basic.green.button {
    display: none !important;
}
.mainwp-ui.mainwp-custom-theme .ui.button.green:not( .basic, .disabled ) {
    display: none;
}
a#mainwp-sync-sites {
    display: inline-block;
}

@kwcjr not so sure if my last suggestion was so smart. It looks like now I can’t save PHP, CSS, JS anymore on the Custom Dashboard extension. Probably because I am hiding the save button that is probably green or blue and has the same classes :man_facepalming:

That all seems to be quite a bit of a chaos I think. So the code I suggested is also hiding the SAVE button on Custom Dashboard. Now I look at it - the big blue SAVE button has the classes ui big green button

I am sorry, but that can’t work. Why would someone code it this way. I am not a developer but something is off here big times unfortunately.

Hi @markus998,

You should not be targeting buttons just by selecting the classes, that may lead to hiding the buttons from all places.
You should target them more carefully.

So for a start, to revert back your changes, you can find this option mainwp_custom_dashboard_css_snippet in the wp_options table in your Dashbaord site Database and delete the saved CSS code from there.

Once everything is back in the place, you can try these:
This will hide the Update All buttons from the Overview widget on the Global and Per site Overview page:

.mainwp-ui #widget-overview .ui.green.basic.button {
	display:none;
}

This will hide the Update All buttons from the Manage Updates page from all tables:

.mainwp-ui .mainwp-manage-updates-table .mainwp-update-all-button {
	display:none;
}

Please let me know how it goes with this and if any additional customization is needed.

Hi @bogdan

that does look better now - I think one of my previous statements targeted the following Update All button (blue color at the Plugins Update page with the class ui mini green button)

But of course I the class is not specific enough.

I wonder if that could work for the last piece:

table#mainwp-plugins-updates-table a.ui.mini.green.button:not(.basic) {
display: none;
}

@bogdan nope … there is another button that would be addressed as well this way. My new idea won’t work.

@markus998 Yeah, as @bogdan mentioned you need to target things more directly.

You are super close adding :not( basic ) … also adding .disabled worked to target that last button.

#mainwp-plugins-updates-table a.ui.mini.green.button:not(.basic, .disabled) {
display: none;
}

It looks like you are aware of this but I am going to place it below anyways for others to read.


CSS classes are applied to more then one elements most times and the way to target them directly would be to add the other classes or ID’s needed for that section. Targeting simply .ui.green.basic.button would hide everything that “style class” is added to it.

A very easy way to target specific HTML element within a website is to utilize the browsers Developer Tools. If you right click on any element you may find the “Inspect” option. This will open a window like below that shows the exact CSS that controls that specific element.

image

But in this case that will also hide the SAVE button and who knows in some other spots unknown. So to get around this you may go a step further and Right Click on the HTML element in the left code box and select Copy > Copy Selector

image

Pasting that will show:

#mainwp-plugins-updates-table > thead > tr > th.no-sort.right.aligned > a:nth-child(3)

However, we only need the ID because we are not trying to directly target this specific button, rather we want this button on any mainwp-plugins-updates-table

So that line will turn into this line here:

#mainwp-plugins-updates-table .ui.button.green:not( .basic, .disabled )

Here is the snippets combined into one declaration for cleanliness.

Thanks @kwcjr , I still think its addressing the wrong selector.

without custom CSS addressing the mainwp plugin table

custom CSS - your most recent suggestion

custom CSS - another modification

Remember, I try to get rid of all “Update All” buttons, not the other buttons. The colors are confusing of course.

So it seems the full solution goes more towards that direction. Haven’t commented it as nicely as you have :roll_eyes:


.mainwp-ui #widget-overview .ui.green.basic.button {
	display:none;
}

.mainwp-ui .mainwp-manage-updates-table .mainwp-update-all-button {
	display:none;
}

#mainwp-plugins-updates-table .ui.mini.green.button:not(.basic, .mainwp-update-now-button) {
display: none;
}

#mainwp-themes-updates-table .ui.mini.green.button:not(.basic, .mainwp-update-now-button) {
display: none;	
}

Hi @markus998,

Since we are currently working on a quick maintenance release that should be out soon, I will add a certain CSS class to all “Update All” buttons, so we will simplify this process.

Would that be ok?

1 Like

Hi @bogdan
that sounds like a good deal - if you followed the discussion and feature request, I believe there is a plausible reasoning behind my attempts.

“Update all” is simply not for everyone and there is some kind of danger with it. I think offering a class will be helpful, as it is/was quite tricky to narrow down the right selector (and then I even wouldn’t know how future proof it is)

I am quite new to the community, so I don’t know how all things work here.

So thanks a lot for jumping on it.

cheers
Markus

1 Like

@markus998 Just wanted to say welcome to the family!

To answer your question on how things work around here:

MainWP is indeed Community Driven. We come up with new features on our own to add but a lot of our additions are requested from the Community at large. Our feedback.mainwp.com site drives a lot of this momentum.

These feature requests run off of a Voting scale - however sometimes we may feel that something needs to be fast tracked ( this could be for many reasons & different for each case )

For your specific case we would usually go with the same solutions that we have provided, however as we just deduced it would be beneficial for this specific “Button Set” having a dedicated class.

We try our best to take this into account when moving forward especially since we offer Themes that also need to stay consistent.

Our themes run on top of the Fomantic-ui framework.


Since you mentioned you were fairly new to this community I also want to make you aware of our other channels:

MainWP Users FB
MainWP Developers Network

.

Just a note, starting from the next version, all the Update All buttons will have the mainwp-update-all-button class, so hiding will be easy with just one line of CSS:

.mainwp-ui .mainwp-update-all-button {
	display:none;
}
1 Like

Thanks @kwcjr @bogdan for welcoming me and for including that improvement already in the next update, I"ll test right away once its out

3 Likes

Hi @markus998, Dashboard version 4.5.1.3 is out so you can apply these changes now.

2 Likes

Just tested - looking good - also it seems it works for the buttons in the other tables e.g. “Themes Updates” “Translation Updates” as well. Thanks a lot - it’s a saver way for me now and also a bit better UI for me this way

2 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.