GNOME Bugzilla – Bug 257367
Exchange plugin should not be loaded if there is no exchange account
Last modified: 2013-09-10 14:04:26 UTC
the big button w/ Exchange should really only show up if there is a Connector account configured and enabled.
That would imply that the easy way to launch the exchange autoconfig wizard does not involve going into the exchange component.
*** http://bugzilla.ximian.com/show_bug.cgi?id=57922 has been marked as a duplicate of this bug. ***
The buttons are displayed by the shell, and there is nothing connector can do to make it not do that. So if we want to implement this, we need changes in the shell
can you not just display a different control set from the connector component, if there is nothing to show? why what happens? it seems really very odd that the shell should care, if the component is installed it should be available. even if its just a big button that says 'configure an account'.
i agree about always showing the button. I think the problem is that we want to include connector as part of the default install, but adding the extra button requires an extra row, and we know users will get annoyed if they lose one button-height's-worth of folder tree space to a feature they never use.
well what do you propose. as far as i can tell there's nothing i can do about this. this is all a connector issue.
the problem: if we do not install connector rpm as part of Evo, users cannot figure out how to configure an Exchange account. If we install connector by default, then users who do not use Exchange, are stuck w/ the icon button. open to other ideas? danw? zucchi? if this is not solveable for 2.0... please propose fix for 2.2?
I suppose we could implement this by adding an API to GNOME::Evolution::Shell to hide or show a given component button. Then Connector could hide itself at createControls time if there was no Exchange account configured, and unhide itself later if an account was created. (However, this solution would mean that all evolution users would still have an evolution-exchange-storage process running in the background whenever evolution was running. Something people would likely complain about given all the e-d-s/b-a-s complaints.) As for 2.2, assuming you are talking about the Spring 2005 release, isn't the plan to have killed off the separate Exchange component entirely by that point?
I've put a solution into the shell which i think should cover it. it forces you to restart to pick up any change to the state, but i think thats fine at this point. components are activated immediately now (actually they're activated at the same time because of the way the code uses the api), and if they fail to activate, they're ignored totally. So you basically just have to exit with failure instead of setting up the factory in main.c. Then it will wont be activated, and you wont get any button showing up. Of course you wont be able to access any other components from that factory either. I guess you could even pop up the account setup wizard (based on a gconf key? env var?) at startup or from the factory method, if you wanted it to behave like evo does with no setup setup. I dont know how to implement this bit in connector, so redirecting there now. i've attached the patch i made here just for reference.
Created attachment 43892 [details] [review] diff for shell changes
*** bug 261018 has been marked as a duplicate of this bug. ***
Dan, Zucchi, Christine- Christine, you asked that we not install connector by default if this isn't resolved in 2.0. Is it going to be resolved in 2.0 or should I go ahead and file the request to not install this by default?
per conversation w/ danw and jpr, moving to 2.1, but this may actually become obsolete due to changes needed to exchange implementation using the plugin architecture.... assuming that happens in 2.1, this bug becomes invalid. but for now.... not able to address in 2.0, so moving to 2.1 and for NLD, we will not install the exchange component by defult.
For 2.3, we no longer have the Exchange button. So, this bug needs a bit of modifications. There are 2 cases which might need to be looked into. 1. Exchange plugin should get unloaded if there is no exchange account enabled. But, this has another problem. Currently, we do not have a plugin architecture, where we can programatically load any plugin at runtime. So, the user would have to enable exchange plugin before he can create an exchange account. 2. The evolution-exchange-storage process should exit, when there is no exchange accout enabled. Both of these do not affect the UI for now. So removing the ui keyword. But these might cause some usability issues.
Future..
Moving to Evolution-Misc.
What is the next action here ? Why is this under Miscellaneous ?
The way providers are being loaded needs to be changed.
*** Bug 342522 has been marked as a duplicate of this bug. ***
Another related bug http://bugzilla.gnome.org/show_bug.cgi?id=314003
What has this has got to do with the way providers are loaded ? If you dont want a plugin to be enabled, then do not add it to defaults. It is as simple as that. And having exchange-operations plugin enabled will (should) not require evolution-exchange process to be running. So #342522 is definitely not a dup of this. IMO, this bug is no longer valid (after the conenctor-button is removed)
Obsoleting the patch as it is no longer valid. No more exchange button.
I'm closing this bug because it's not applicable anymore since the newer versions of evolution doesn't provide this feature.