Apps or Plugins?

Developer
Jan 27, 2011 at 5:23 PM

Currently in DotSpatial there are 4 types of extensions: Data Extensions, Application Extensions, Apps and Plugins.

By default, apps are located in the 'Apps' folder and 'Plugins' are located in the 'Plugins' folder. Otherwise I don't see any obvious difference between apps and plugins.

Is there any special recommendation when to mark my extension as 'App' and when to mark it as 'Plugin'?

Coordinator
Jan 27, 2011 at 5:50 PM
Jiri this is my fault. I got my new Droid last year and got excited about the idea of having "Apps" that could be self updating and could be managed through an App store of sorts. So Ted renamed some of the stuff "apps". In retrospect we need to keep this as simple as possible, so if you're confused then we're in trouble. Anyone with suggestions on how to simplify/streamline the App versus Extension versus Plugin approach, please feel free to share. - Dan

On Thu, Jan 27, 2011 at 11:23 AM, jirikadlec2 <notifications@codeplex.com> wrote:

From: jirikadlec2

Currently in DotSpatial there are 4 types of extensions: Data Extensions, Application Extensions, Apps and Plugins.

By default, apps are located in the 'Apps' folder and 'Plugins' are located in the 'Plugins' folder. Otherwise I don't see any obvious difference between apps and plugins.

Is there any special recommendation when to mark my extension as 'App' and when to mark it as 'Plugin'?

Read the full discussion online.

To add a post to this discussion, reply to this email (DotSpatial@discussions.codeplex.com)

To start a new discussion for this project, email DotSpatial@discussions.codeplex.com

You are receiving this email because you subscribed to this discussion on CodePlex. You can unsubscribe or change your settings on codePlex.com.

Please note: Images and attachments will be removed from emails. Any posts to this discussion will also be available online at codeplex.com




--
Daniel P. Ames, Ph.D. PE
Associate Professor, Geosciences
Idaho State University - Idaho Falls
amesdani@isu.edu
geology.isu.edu
www.mapwindow.org


Developer
Feb 23, 2011 at 2:10 AM

I'm looking through the code trying to figure out how to serialize/deserialize Apps.  The AppManager looks in both the Apps and Plugins folders.  Stepping through the DotSpatial.Controls.PluginToken.cs code it appears ApplicationExtensions are meant to be part of the UI and can't be disabled.  PluginTokens have a bool IsApplicationExtension property that distinguishes what type of "plugin" it refers to.  However, it doesn't look like this property ever get set to true.  The SerializationManager SaveProject method only serializes those plugins with IsApplicationExtension == true.

Does anyone remember the motivation for the distinction?

Developer
Feb 25, 2011 at 8:27 PM
Edited Feb 25, 2011 at 8:40 PM

Hi Kurt,

Thanks for looking into this issue. Couple of weeks ago I posted two  issues: http://dotspatial.codeplex.com/workitem/79 and http://dotspatial.codeplex.com/workitem/243

It's still not fixed in DotSpatial, because the SerializationManager is checking an "IsEnabled" property which appears to be false even if the plugin is active.

This is a high priority issue. Can we collaborate on making the plugin serialization work right?

 

As for the Plugins / Apps distinction:

The currently recommended best practice is, that "App" should be always active wheras a "Plugin" may be activated / deactivated by the user. It has also been recommended that "Application Extensions" are moved to "Apps". However, this distinction still is not completely enforced in the DotSpatial source code.

Regards,

Jiri