User tests: Successful: Unsuccessful:
Commit 2d8bf0f introduced a bug described in #6350 - this PR resolves this.
When Global Configuration Cache is enabled, plugins are stuck in the state recorded at the time of cache creation, meaning that a plugin that's been enabled will stay enabled until cache expires. Manually disabling or enabling a plugin should also refresh the cache so that this operation completes successfuly.
This is a little tricky to reproduce but here are the steps
Extensions
> Plugin Manager
and make sure System - Debug
is published.Global Configuration
and make sure Cache Handler
is set to File
and Cache
is set to OFF - Caching disabled
.Global Configuration
> System
and set Debug System
to Yes
. Save your current configuration - you should now see the debug output at the bottom.Extensions
> Plugin Manager
and unpublish the System - Debug
plugin. Debug output no longer shows. Publish it again. Debug output shows as expected.Global Configuration
> System
and set Cache
to ON - Conservative caching
. Save your current configuration - debug output is still at the bottom.Extensions > Plugin Manager
and unpublish the System - Debug
plugin. Debug output still shows - this means that the plugin still runs even though it should not.During my tests I've found out that cache for com_plugins
is stored in the cache
folder as well as in administrator/cache
. My solution would be to clean both of these by adjusting cleanCache()
in the administrator/components/com_plugins/models/plugin.php
model, but I'm open to other suggestions. Personally I'd like that we'd keep caching for system objects such as plugins in only one place (let's say on the administrator side).
Labels |
Added:
?
|
Category | ⇒ | Administration Cache Components |
Rel_Number | ⇒ | 6350 | |
Relation Type | ⇒ | Pull Request for |
@test worked for me
Status | Pending | ⇒ | Ready to Commit |
Labels |
Added:
?
|
Status | Ready to Commit | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2015-03-15 07:42:16 |
Merge. Thanks!
Labels |
Removed:
?
|
@test Success
Tested also with twofactorauth plugins where tabulators in user profile aren't removed after deactivating plugins. After patch: fine.