[rkward-devel] Downloadable plugins
Thomas Friedrichsmeier
thomas.friedrichsmeier at ruhr-uni-bochum.de
Mon Oct 4 18:15:14 UTC 2010
Hi,
On Monday 04 October 2010, meik michalke wrote:
> Am Samstag, 2. Oktober 2010, 20:51:02 schrieb Thomas Friedrichsmeier:
> > I assumed it would install to ~/.kde/somewhere, but I had not tested.
>
> hm, i'll check that. anyway, as a user i'd assume the RKWard config
> directory would be the obvious place to store its plugins, too.
I guess that means we would have to make the .rkward-directory hard-coded
instead of configurable, since we can't change the .knsrc at runtime (probably
not an issue, though).
> > Why don't you make a start and add such meta-info to the .pluginmaps?
> > I.e. make a list of useful info, decide on how to decloare this info in
> > the .pluginmap-files, and update the documentation, accordingly?
>
> ok, before this is added to any documentation, i'd like you to have a look
> at this first proposal and speak your mind. the thing is, when this is
> added to a .pluginmap, RKWard as of now skips the whole plugin:
You'll have to move the <about>-element inside the <document> element, then it
works.
> some comments:
> - i versioned the <about> section, so that if at a later point we see the
> need to change anything, i.e. add one tag or rename another, that wouldn't
> automatically break old plugins.
Adding tags is not a problem anyway. I suggest to remove the version-
specification until we actually need it (and then we can compare "no version
specified" against some specific version) to keep things simple.
> - values inside an argument should be separated by commas, if needed
Or you could repeat the element. Makes sense at least for <author>.
> - some of this information should automatically be included in the help
> page(s) to the plugin, like version and author/maintainer, so that bugs
> and requests don't spam the devel list. even if no help page was prepared
> on its own, RKWard could generate one with basic support information from
> this section.
Hm, in principle, I agree. However note that a pluginmap may not correspond to
a single plugin. And in fact most (all?) pluginmaps in the official release have
plugins of different authors. So this information should be defined at the level
of each plugin.
Probably it still makes sense to repeat this information at the level of the
pluginmap, though.
> - <plugin />:
I'd suggest to call this "pluginmap" or "collection" for the same reason.
(pluginmap is more consistent with current terminology, collection might have
been a better term in the first place). Or we could merge this part into the
"about"-element.
> - releasedate might be redundant, but maybe nice to have, so i'd vote for
> "optional" here
> - the category should be freely definable, but might be used to later
> group plugins in the configuration dialog etc.
> - <dependencies />:
> - these should all be optional, but might be needed for certain plugins
> - the repository argument is probably the most delicate one... but since
> some packages do reside in places that are probably not defined by the
> user yet, there should be some way to at least communicate that. i'd
> propose a warning message at plugin installation time like "this plugin
> depends on package Foo, which is not installed. if you proceed, the
> following repositorie(s) will be added to your repository configuration.
> the required package(s) will be installed the first time they are needed."
> - rkplugin is intended for cases where one plugin uses parts of another
> plugin
This refers to a pluginmap, again, right?
I'd suggest to change a few details as follows:
<document base_prefix="" namespace="rkward"
id="something unique">
<about
name="Square the circle"
shortinfo="Squares the circle using Heisenberg compensation."
version="0.1-3"
releasedate="2010-10-04"
url="http://eternalwondermaths.example.org/23/stc.html"
license="GPL"
category="Geometry"
>
<author
name="E.A Dölle"
email="doelle at eternalwondermaths.example.org"
url="http://eternalwondermaths.example.org"
/>
<author
name="His assistant"
email="nameless at eternalwondermaths.example.org"
url="http://eternalwondermaths.example.org/staff/"
/>
<dependencies
rkward_min_version="0.5.3"
R_min_version="2.10"
<package
name="heisenberg"
min_version="0.11-2"
repository="http://rforge.r-project.org"
/>
<package
name="DreamsOfPi"
min_version="0.2"
/>
<pluginmap
id="..."
url="..."
/>
/>
</about>
...
Some other things:
Defining the minimum version of rkward in the pluginmap makes sense. Still it
would be nice to know whether a downloadable pluginmap can be used with the
current version of RKWard *before* downloading it. If this cannot be
represented in the GHNS meta-data, should we use separate repositories (one
for "0.5.4 and later", one for "0.5.5 and later", etc.)?
How will we handle repositories? In contrast to a wallpaper, it is trivially
possible to ship malicious code in an RKWard plugin. This should not keep us
from making it easy for users to install third-party plugins. But will we
screen each plugin for obviously evil things before allowing it into the
repository? Will we show a very general warning that *any* plugin could wipe
your bank account and harddisk? Will we have one repository for plugins which
have undergone some sort of check, and another for completely untested
plugins?
Regards
Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/rkward-devel/attachments/20101004/aa72138d/attachment.sig>
More information about the Rkward-devel
mailing list