[MonoDevelop] Thoughts about AddIns

John Luke jluke@users.sourceforge.net
Wed, 07 Apr 2004 17:41:45 -0400

Hello everyone,

	Since we are now at the point where there are a few different addins
and the possibility of more on the way, I began thinking about how to
manage them.  Currently you simply place an addin file and its assembly
in the right spot (depending on where your are running Monodevelop from)
and then addin is loaded.  This is nice and works ok.  We even have the
ability to have addins compiled and installed conditionally, etc.

The problem that I see arising is enabling/disabling various addins with
various dependencies (which may not even be written in C#) and
installing them easily.  Most plugin-enabled apps I have used have a UI
for managing these things, which could include the possibility of adding
an addin automatically via a url.  Also, I think shipping most of the
possible addins with monodevelop may become a burden and even be
undesirable for people with simple needs.

I think the solution will be to offer a mechanism similar to the
following.  Enable/Disable existing addins without requiring removal of
the dll/addin files.  Functionality to download a zip of an independent
addin and have it automatically installed to the right place (it may
require a xml file that self-describes the functionality and
dependencies of the addin).  Installing an addin manually or via a rpm
should also still work.

These are just my initial thoughts and I am only talking about the
functionality not the UI yet, so comments and suggestion are welcome
especially from the SharpDevelop guys [1] in case they want to have
something similar (or maybe they already do?).  There are a few things I
need to finish before I can even get to this, so it may be a while once
we decide what to do.

[1] I'm not CC'ing Mike because I assume he is on this list, someone let
me know if thats not true.