[MonoDevelop] Thoughts about AddIns
John Luke
jluke@users.sourceforge.net
Wed, 07 Apr 2004 17:51:19 -0400
On Wed, 2004-04-07 at 17:41 -0400, John Luke wrote:
> 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.
>
Grrr, I forgot the part about having a small addin repository on the web
of said zip files and that the enable/disable status of an addin
probably only requires adding an enabled attribute to the addin file,
like so:
<addin enabled="true">
</addin>