[MonoDevelop] Ideas for an addin manager
Jacob Ilsø Christensen
jacobilsoe at gmail.com
Tue Jul 5 13:38:18 EDT 2005
Hi.
I think it would be a very nice feature to have. It is a bit
cumbersome to enabled addins in current MD.
And a few comments:
"Enabling/disabling of addins would require restarting MD. Doing it on
the fly would be really hard to implement with the current design":
It would be cool if we could do it though. Maybe we could do it for
some of the addins while others might require restarting MD.
"We need a way of specifying the dependencies of an addin in a
declarative way.":
Why would we need that? Can we just not examine the assembly as it is
to determine the dependencies. Also we might just try and instantiate
it inside a try/catch or are things not that simple?
/Jacob
On 7/4/05, Lluis Sanchez <lluis at ximian.com> wrote:
> Hi!
>
> One of the good things of MD addins is that in most of cases they can be
> implemented in fully managed code, which means that the same binary can
> be safely distributed to any platform that runs MD. I'm writing here
> some ideas about how could we take advantage of this.
>
> >From the user's point of view, I envision the following features:
> * A dialog shows a list of addins installed in MD.
> * The addins can be enabled / disabled.
> * When the user enables an addin, MD checks that the dependencies
> of that addin are installed in the system, and shows an error
> message if they are not.
> * Addins can be downloaded from internet. There is a list of
> addins which are available for download. The list is taken from
> a repository of addins. The user can register new repositories
> by just adding new urls.
> * Addins downloaded from internet can be easily updated when a new
> version is published.
>
> Now some technical notes:
> * Enabling/disabling of addins would require restarting MD. Doing
> it on the fly would be really hard to implement with the current
> design.
> * We need a way of specifying the dependencies of an addin in a
> declarative way.
> * An addin may depend on other addins.
> * Because of the previous point, MD should take care of making
> sure that addins can find the addin assemblies they depend upon.
> * Some addins will have uncommon unmanaged dependencies, which
> will need to be installed by using whatever system it's Linux
> distribution is based on. This new addin management system would
> not be so useful in this case, but I think that there are many
> other cases in which it would be really useful.
> * If an addin only has managed dependencies (for example, the boo
> compiler), an option would be to package those dependencies
> together with the addin.
> * A repository of addins could be something as simple as an XML
> file with the list of addins (and its dependencies and versions)
> together with gziped assemblies.
> * There would be an "official" MD repository of addins, with the
> optional addins we are not currently shipping.
>
> Any comment about this?
>
> BTW, I don't think I'm going to implement this at short term, so if
> people agree that something like this is needed and somebody has some
> free time, feel free to take it, it shouldn't be too difficult to do,
> and looks like fun ;-)
>
> Lluis.
>
>
> _______________________________________________
> Monodevelop-list mailing list
> Monodevelop-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/monodevelop-list
>
More information about the Monodevelop-list
mailing list