J4 Issue ? ?
avatar coolcat-creations
coolcat-creations
6 Dec 2017

Is it possible to implement a function in Joomla, that disables EVERY 3rd party extension temporary to give the user the possibility to login in backend and check the issue / Update and enable again?

Something like safe mode on a mac?

avatar coolcat-creations coolcat-creations - open - 6 Dec 2017
avatar joomla-cms-bot joomla-cms-bot - change - 6 Dec 2017
Labels Added: ?
avatar joomla-cms-bot joomla-cms-bot - labeled - 6 Dec 2017
avatar stutteringp0et
stutteringp0et - comment - 6 Dec 2017

The problem with that request is that in order to turn on a setting like that - you would have to be able to log into the site.

The only thing that could prevent login like that would be a plugin. If you could log into your server with something like SSH or manipulate files via SFTP - you could do some directory swapping and achieve what you're asking for.

The only plugin you need to log into your site is the Authentication - Joomla plugin. That means you could (temporarily) move every directory (except the authentication directory) out of the plugins directory to somewhere else. When Joomla can't find a plugin - it just doesn't load it. It's a silent operation.

If it turns out that the cause of your issue is an authentication plugin, you could further move (again, temporarily) all of the directories out of /plugins/authentication EXCEPT the joomla directory. You would have, at that point, no plugins running except the Authentication - Joomla plugin.

avatar franz-wohlkoenig franz-wohlkoenig - change - 6 Dec 2017
Status New Discussion
avatar franz-wohlkoenig franz-wohlkoenig - change - 6 Dec 2017
Category com_login
avatar franz-wohlkoenig franz-wohlkoenig - change - 6 Dec 2017
Category com_login com_login Feature Request
avatar coolcat-creations
coolcat-creations - comment - 6 Dec 2017

Yes you would need to login, but you could have something like a checkmark or special login page to enable this function before loading the backend. I mean just like in a desktop operating system - there you need to login too. I don't mean only plugins but also extensions.
Another approach would be to add an underscore in front of each 3rd party folder to temporary disable it. Then you don't have to move directories...

avatar simbus82
simbus82 - comment - 6 Dec 2017

Nice idea, many times i go to phpmyadmin to disable extensions (switching enabled value from 1 to 0) to see if all is ok. Maybe we need a particular custom backend url that let the core loads only "core plugin, module and extension", ignoring all others "enabled" extensions.

avatar brianteeman
brianteeman - comment - 6 Dec 2017

The only safe and secure method I can think of to enable such a mode would be similar to the root user option that can be added temporarily to the global config file

avatar mbabker
mbabker - comment - 6 Dec 2017

This again requires a tracking functionality with a list of core extensions and IMO there is still no need to introduce this type of list.

avatar coolcat-creations
coolcat-creations - comment - 6 Dec 2017

Really? But we know what core is, no?

avatar mbabker
mbabker - comment - 6 Dec 2017

We do when working from this repository. An installed site has no knowledge of what is core and what is third party, and there really is no need for there to be this awareness.

avatar simbus82
simbus82 - comment - 6 Dec 2017

Uhm... so "padlock =! core extensions"?
image

avatar coolcat-creations
coolcat-creations - comment - 6 Dec 2017

It could be a lifesaver for a lot of siteowners when for example accidently upgrading Joomla with outdated extensions that break the backend. Then they could start in safemode, disable it, start in normal mode, update the stuff and be fine. Otherwise they have to go through a whole restoration process.

avatar mbabker
mbabker - comment - 6 Dec 2017

No, "padlock is not core extensions". That padlock indicates an extension is protected, basically meaning an extension cannot be disabled or uninstalled.

Even if you could boot into a safe mode, it would only be reliable for the backend. The frontend would be terribly screwed over because that is going to be very coupled to the chosen template and a safe mode would disable that.

avatar brianteeman
brianteeman - comment - 6 Dec 2017

An extension can (and many do) set the padlock

avatar tonypartridge
tonypartridge - comment - 6 Dec 2017

I actually think this is a good idea, all we need is a list of all core extensions, modules and plugins. Disable all which are none core when entering safe mode. Once finished you can click disable Debug mode which enables all which were disabled. Any which no longer exist are skipped.

avatar tonypartridge
tonypartridge - comment - 6 Dec 2017

Disable safe mode* sorry was reading something else at the same time.

avatar andrepereiradasilva
andrepereiradasilva - comment - 9 Dec 2017

And reggarding locked extensions see this PR #17219

avatar brianteeman brianteeman - change - 25 Mar 2018
Labels Added: J3 Issue
avatar brianteeman brianteeman - labeled - 25 Mar 2018
avatar brianteeman brianteeman - change - 31 Mar 2018
Labels Added: J4 Issue ?
Removed: J3 Issue
avatar brianteeman brianteeman - labeled - 31 Mar 2018
avatar brianteeman brianteeman - labeled - 31 Mar 2018
avatar brianteeman brianteeman - unlabeled - 31 Mar 2018
avatar brianteeman brianteeman - change - 9 Apr 2018
Status Discussion Closed
Closed_Date 0000-00-00 00:00:00 2018-04-09 18:47:00
Closed_By brianteeman
avatar brianteeman brianteeman - close - 9 Apr 2018
avatar brianteeman
brianteeman - comment - 9 Apr 2018

This is not going to be possible. Well it is possible but it wont achieve what you are looking to achieve.

Let me give a simple example of why "safe mode" will actually kill your site instead of helping you to debug it.

I have a site that uses a non core authorisation plugin. I start in safe mode so that only core extensions are used (if they are enabled) and now I can not log in at all to even see what the issue was that I was trying to fix.

That's just a really simple example of why this can never work

Add a Comment

Login with GitHub to post a comment