8 users online. Create an account or sign in to join them.Users

Announcement

Symphony's issue tracker has been moved to Github.

Issues are displayed here for reference only and cannot be created or edited.

Browse

Closed#372: Disabled extensions are still subscribed to delegates

It seems that the delegate subscriptions stay active when you disable an extension. I think they should be disabled as well.

Do you have any more information about this bug Nils? Specifically, the extension in question, and what version of Symphony your running :)

Hmm, on closer look I believe this is because the subscriptions are kept in the self::$_subscriptions, but they are never removed when the extensions are disabled/enabled.

I found this issue while working on a script that upgrades Mediathek fields to Subsection Manager instances. Both extensions append assets using a delegate. Using both extensions simultaniously results in a completely messed up UI. That’s how I noticed the issue with delegate subscriptions: even when I disabled one of the extensions both asset sets were added.

Ah, and this happening in the 2.1 release.

Hmm, on closer look I believe this is because the subscriptions are kept in the self::$_subscriptions, but they are never removed when the extensions are disabled/enabled.

Delegate subscriptions are kept in the database, aren’t they? At least there is a table that contains the related subscriptions and this table is not updated after disabling an extension.

Well it would seem that efforts to remove delegates from that table seem to happen multiple times and again.

The extension disabled code actually looks terribly inefficient. It deletes all delegates by that extension, installs them all again, runs a check to ensure all delegates from disabled extensions are removed, then deletes all the delegates by extensionid again, then finally runs another check to ensure all disabled extensions are removed.

So really you’d think in that mess they’d be removed right?

Uh?!

Simplfication seems to be a good idea :)

I am having trouble reproducing this. When I disable an extension, the delegates are removed from the table. At least, from what I can tell they are.

WRT the code inefficiencies, well spotted. That is definitely a place we could optimise.

I could never reproduce this either but just made my judgments from looking over the code base.

What extension in particular Nils was not disabling for you? It could be an actual extension fault?

It was Mediathek.

This issues seems to be fixed in Symphony 2.1.2.

Do you remember how you replicated this?

I just installed and disabled Mediathek and checked if the mediasection.js was attached to the publish area.

Well it would seem that efforts to remove delegates from that table seem to happen multiple times and again.

By the way, are we going to clean up that mess that Brendan discovered for the 2.2 release? Or is this something we can push into a later maintenance release like 2.2.1?

The craziness has been fixed in this commit.

A much more sane process is followed.

This issue is closed.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.2 or above
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.0 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details