Re: [anjuta-devel] Adding some filtering mechanism for plugin



Hi Sébastien!

1. GNOME IDE will start by running anjuta with a new command line option 
allowing to select a different default profile. So you will load by example
   /usr/share/anjuta/profiles/gnome.profile
and
   ~/.cache/anjuta/gnome.profile


That sounds good to me.

3. We need make the plugin manager considering only plugins fitting in 
some categories. The goal is to avoid proposing additional choices to 
the user. We will be able to remove experimental or complex plugins from 
the GNOME IDE. We have to add an additional attribute to each plugin to 
define the category. The gnome plugin above will define which categories 
are considered by the plugin manager.

There are technically two ways to implement this:

* Add an additional attribute to all .plugin files, like
PluginCategory=gnome-c,gnome-python,gnome-js

That has the advantage that the plugin file is the master so it is
pretty easy to adjust and the project-manager just needs to consider the
"category" variable of the shell (whoever sets it). It makes maintaince
a lot harder when creating new categories though while allowing
third-parties to decide if their plugins fits or not.

* Whitelist the plugins in the session file

It is pretty easy to create new categories and third-parties cannot
break you session by supporting "wrong" categories. But this also limits
third-parties to general unspecific plugins and it might cause problems
when updating anjuta because the whitelist of old session files might be
wrong.

Don't really know what I would prefer but the actual code of the gnome
plugins seems pretty minimal while it holds a lot of metadata. Maybe
it's better to define the session type in the session file and have
additional metadata files that lists the plugins that should be
supported in that session. Is there anything else beside the session
name that needs to be considered by other plugins?

Regards,
Johannes




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]