Skip to content
Scott Little edited this page May 7, 2014 · 7 revisions

Mail Plugin Manager

Mail Plugin Manager is a tool to help users enable, disable, remove and even find and install Mail Plugins. However, in general it is not a tool that users will download by themselves. Usually it will be installed along with your plugin, but then the user can take advantage of it for all of their plugins.


Main Features

  • Plugin Manager (for users)
  • Display list of plugins available on the internet that can be installed.

Mail Plugin Manager supports Lion, Mountain Lion & Mavericks.

Mail Plugin Manager Window

This interface is for the user to interact with and is the default mode when the Mail Plugin Manager is opened without a file. Here is an example of what it looks like:

Mail Bundle Manager Window

I have tried to add as much information about the plugin as I can get from the plugin itself. There are ways to add more detailed information to the Info.plist file so that MPM can provide a better experience, but it's good to try to show something.

The user can enable/disable, remove, update and change the domain of the plugin from this window. They can also click on the name to go to a product site and the company name to go to the company site.


Sparkle Feed Keys

NEEDS WORK!


Info.plist Keys

To make your plugin work optimally with MPM and MPT, you should add some specific values to your info.plist. These will determine where to send crash reports, how to handle uninstalls and other features. Below is a list of the keys and a description of what they do.

Required to use the Send Crash Reports feature, see that link for the format of the report:

	MPCCrashReportURL		URL to your web service to accept crash reports

The rest are all optional, but recommended:

	MPCMaxCrashReportsToSend
	MPCPluginUsesMailPluginManager			
	MPCSupplementalSparkleFeedParameters

The MPCMaxCrashReportsToSend key allows you to indicate a maximum of crash reports that you want to send in any one session. This allows you to manage your server storage better. The default value is 20.

The MPCPluginUsesMailPluginManager key identifies your plugin as one that is aware of MPM and MPT and is used during an install to ensure that another uninstaller doesn't remove the apps when you depend on them.

The MPCSupplementalSparkleFeedParameters key allows you to add an array of other keys within your info.plist file that are to be sent as Sparkle feed parameters for the anonymous data.

The following values are used by the apps whenever a plugin is displayed to show the company name, URL and product URL. All of them are optional, but make the presentation nicer. There is a companies.plist file which I try to update with the company name and url based on the reverse domain name of the bundle id, but these values will always override that information.

	MPCCompanyName			Company name for display
	MPCCompanyURL			Company URL to link to in Apps
	MPCProductDescription	Short description of the plugin and what it does
	MPCProductURL			Product URL to link to in Apps

Thanks to Fabian Jäger from Chungwasoft for his contributions to Version 2.0.

© 2011-2014 Little Known Software, Inc.


License

The Mail Plugin Manager has a very particular license. The code is not being made available as open source (though if you would like to contribute to the code, please contact me at scott@littleknownsoftware.com), but the executables are being made freely available for developers to use, with the following single condition:

  • You may not resign the Mail Plugin Manager or MailPluginTool applications for any reason

The reason for this is complex, but one thing is sure, the app will terminate if the signature is not the original. The reason for this restriction is to avoid confusion for the end user. Since the application is a Developer ID signed application, if it is resigned with a different ID, then the updates will not work properly and the effectiveness of the app will be diminished tremendously. Thus to simply avoid these kinds of issues, the code has not been made available and the application validates that it is signed with a Developer ID from Little Known Software, Inc.

To be clear, this restriction does not apply to the Installer, in fact for it to work best for your installation, you should resign that application with your Developer ID.

Beyond this restriction, you are free to use the executables and their package contents and distribute it with your plugins as needed.

Clone this wiki locally