Skip to content
Scott Little edited this page Sep 22, 2015 · 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

One of the advantages that Mail Plugin Manager provides is that there is a tab that can act somewhat like a store front. It doesn't allow for any purchasing handling or anything like that, but it does allow for users of the Manager to discover other plugins that they might find useful or interesting and to install them, or visit the website.

Your plugin can be included in this "store" simply by adding some extra data to a Sparkle feed and then send your Sparkle feed URL to us to be included in the store.

Add a section to your feed like this:

	<mpm>
		<key>value</key>
	</mpm>

where you have multiple keys and values using the following list (keys on left, value types on right):

	CFBundleIdentifier			<string>
	CFBundleName				<string>
	MPCCompanyURL				<url>
	MPCProductURL				<url>
	MPCProductIconFileURL		<url>
	MPCProductStoreURL			<string>
	MPCProductSupportURL		<string>
	MPCCompanyName				<string>
	MPCProductDescription		<string>
	MPCProductDirectInstall		<true|false>
	MPCProductPrice				<string>

The first two and the URLs should be obvious.

The MPCCompanyName will be displayed with a link to go to your site in the MPCCompanyURL. The MPCProductDescription will be displayed next to your plugin's icon in two lines of visible text, so keep the description short and to the point.

If your plugin can be installed directly from the URL in the feed, without needing to have other things installed, then you can set MPCProductDirectInstall to true and it will allow the user to click a button to install your plugin. If the value of this is not true then the “Install” button will change to “Download” and the MPCProductURL will be used to download the product installer using NSWorkspace.

You can display the price of your plugin in the information by including it in the MPCProductPrice field. The price will have store URL (MPCProductStoreURL) as it's action.

Currently the MPCProductSupportURL is not actually used, but will at sometime in the future be added to a button to open the support forum.

This is a start. Some future values that we might want to add and have Mail Plugin Manager display them might be: Trial Terms & separate installation feed URL for example.


Info.plist Keys

To make your plugin work optimally with Mail Plugin Manager and the MailPluginTool, 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. They will also override the values that may have come from the Sparkle feed mentioned above.

	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.

Clone this wiki locally