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#605: Inconsistent language handling when installing/enabling extensions

After adding a new extension to my extension folder, the backend tells me it is "Not Installed". However, the action dropdown menu does not give me the expected option to "install", but to "enable". This could be confusing for new users. To stay consistent, I would either expect to read "Not enabled" and to go with the matching action to "enable" the extension, or to have a matching action to the current status description to "install" my extension.

Addition: The information displayed in the "Enabled" column, "enable to install", might add further confusion: So does "enable" mean "install"? Why isn't it just "Not enabled", then? If there is a difference indeed, why can't I "install" my extension?

I agree with you. My suggestion would be to replace "Enable" with "Install", so to be consistent with the browser paradigm of installing/disabling/uninstalling extensions (e.g. Firefox, Chrome). That would make sense to me.

The only problem is that you should use "install" to re-enable disabled extension as well. Mhh...

How hard would it be to make the string dynamic? "install" if not installed, "enable" if disabled, "upadate" if a newer version is available, etc.

How hard would it be to make the string dynamic? "install" if not installed, "enable" if disabled, "upadate" if a newer version is available, etc.

What happens when you have multiple selections though? How about leaving the functionality as is, but adding something like an explicit "Install" button in place of the "Not installed" text?

Another alternative could be to have "Enable/Install" in place of "Enable".

Makenosound, good idea. I think that would be best. What about "uninstall"? Wouldn't it be inconsistent to have "install" and "uninstall" in different places?

It could be changed with JavaScript (like creativedutchmen wrote), and in case of selecting both installed and not installed extensions, it could be changed to "Install and enable" or "Install/Enable". But that will require enabled JavaScript.

What about "uninstall"? Wouldn't it be inconsistent to have "install" and "uninstall" in different places?

Yes, it would be incosistent in my opinion.

But that will require enabled JavaScript.

I think that using JavaScript for such a thing would be overkill.

I occasionally find myself enabling/installing many extensions at once, so I wouldn't break this behaviour by adding explicit buttons/link to each row (even if I like the idea)

Just as an short note: the UX/UI working group agreed that this will not be fixed in 2.2.x but that we'll find a solution for 2.3 which will ship a few general interface updates.

What about this:

  1. Replace Enable to install 1.0.7 with Enable 1.0.7
  2. Replace Uninstall with Delete
  3. Replace Are you sure you want to uninstall the selected extensions? with Are you sure you want to delete the selected extensions?

Simples.

This also has the benefit of making the backend consistent. While users are familiar uninstall in a software sense, Symphony uses delete everywhere else. This would also mean we can rename (and phase out the old) the ExtensionPreUninstall delegate to ExtensionPreDelete which is consistent with the rest of the deletion delegates.

I'd would perhaps hesitant at renaming the install(), uninstall() functions, because to an extension developer, the context is very different between having to install an extension (ie. Set up database tables) and having to reenable an extension (often nothing, Symphony just re-registers the delegates)

Replace Enable to install 1.0.7 with Enable 1.0.7

Nice one :)

Replace Uninstall with Delete

I disagree. If you "delete" something, that thing is not going to exist anymore, which is not our case. In fact, uninstalled extensions remain in the list (and they are supposed to!) so that they can be re-installed again in a future time.

While users are familiar uninstall in a software sense, Symphony uses delete everywhere else.

Symphony uses delete where things are truly going to be deleted ;)

I'd would perhaps hesitant at renaming the install(), uninstall() functions, because to an extension developer, the context is very different between having to install an extension (ie. Set up database tables) and having to reenable an extension (often nothing, Symphony just re-registers the delegates)

Again, the simplest solution in my opinion is to have the following options inside the "with-selected" menu:

  1. Install/Enable
  2. Disable
  3. Uninstall

This way we only need to change a string inside a file, without renaming any delegates or class methods.

Quoting myself:

I occasionally find myself enabling/installing many extensions at once

I disagree. If you "delete" something, that thing is not going to exist anymore, which is not our case. In fact, uninstalled extensions remain in the list (and they are supposed to!) so that they can be re-installed again in a future time.

Really good point, I didn't consider that!

Again, the simplest solution in my opinion is to have the following options inside the "with-selected" menu:

Install/Enable
Disable
Uninstall

If the copy was adjusted to just be Enable 1.0.7, I think Install could be removed as there would be no reference to Install anywhere on the Frontend.

Ah, right ;-)

Uhm, but what about "Uninstall"? How can I uninstall something if I didn't install it first? Wouldn't it be safer to keep the double-purpose option "Install/Enable", so to make things easier?

Would Remove work better?

That would make our extensions consistent with Firefox Addons where you can enable, disable or remove them.

So here's the current terms that would need review:

  • Installed Version (column displays the version that was last enabled by Symphony)
  • Not Installed (copy displayed when an extension has been uninstalled/just checked out
  • Enable to install %s (If an extension has previously been enabled, but the source files indicate that a newer version is available to use)
  • Uninstall (on the With Selected menu)

I'm proposing these:

  • Enabled Version
  • Not enabled
  • Enable %s
  • Remove

Would like to tick this one off sooner rather than later :)

Enabled Version

+1

Not enabled

+1

Enable %s

+1

Remove

I prefer "Uninstall"

That would make our extensions consistent with Firefox Addons where you can enable, disable or remove them.

Yes, but if you remove a Firefox extension, it disappears from the list as well.

Which brings it back to your point, how do you 'uninstall' something if it was never installed in the first place.

Heh.

I think the real problem is that there's no complementary action to "Uninstall" or "Remove", which is way I'm suggesting a different approach:

  • Play: Either enable or install an extension
  • Pause: Disable an extension (without removing saved data)
  • Stop: Uninstall an extension (thus removing saved data)

Is it any clearer? Do you like the metaphor?

Is it any clearer? Do you like the metaphor?

Sorry, not at all :(

I'm thinking Enable/Install might be the best fit to be honest after reviewing our discussion.

Sorry, not at all :(

Booo, shame on you! ;)

I'm thinking Enable/Install might be the best fit to be honest after reviewing our discussion.

I think the same, it's the simplest solution as it provides a complementary action for both "Disable" and "Uninstall".

This issue is closed.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details