[rkward-devel] R function to add plugin?

meik michalke Meik.Michalke at uni-duesseldorf.de
Fri Sep 23 11:24:46 UTC 2011


hi,

Am Freitag, 23. September 2011, 11:52:19 schrieb Thomas Friedrichsmeier:
> On Friday 23 September 2011, meik michalke wrote:
> > is there an (internal) R function to add a .pluginmap to RKWard as well
> > yet? that would be really very helpful.
> 
> no, that does not exist, yet, but it should be quite feasible. I'm
> currently busy on other parts, though (reworking the package installation
> dialog), so don't hold your breath, and remind me, if necessary.

ok, i'll do that. i'm currently using rk.plugin.skeleton() to create a GUI for 
rk.plugin.skeleton() ;-) if you source this from RKWard, it will create the 
plugin in $TMPDIR and open four of its files in editor tabs:
 source("http://reaktanz.de/stuff/R/skeleton_dialog.R")
you need the current version of rkwarddev (0.01-4) from the repo.

i restructured the dialog several times yesterday (e.g. trying 2 vs. 3 tabs), 
and that became *much* easier already. i was asking for such a function 
because it would be even nicer if the plugin appeared (optionally) in the menu 
immediately after source(), to see what it looks like. in case it's already 
present, the pluginmap should just be reloaded (which is something i usually 
have to invoke manually by moving it up+down in the pluginmap list and hit 
"apply"). if it was created in $TEMPDIR, it's already removed automatically, 
works really nice :-)

i guess the <logic> section is now the only thing left which prevents the 
complete scripting of plugins in R with rkwarddev. i'll add a static solution 
as a workaround soon, like i did for the JavaScript parts.

> > another thing i'd like to bring back to mind is the idea to "restart" the
> > R session without restarting RKWard as a whole.
> 
> This will require some non-trivial changes to the C++-code.

yes, you mentioned that earlier.

on my personal list of the most annoying things in R, its inability to cleanly 
reload single packages is undoubtedly the no. 1, though. i wouldn't even mind 
if some things in a session got lost during such a restart, if only it 
reloaded the packages which were loaded before (but really, even if it 
couldn't do that it would help, since you'd still be in your "flow"). if other 
present objects in globalenv could optionally be reconstructed, that would be 
fine too, but in most cases i really could do without that or recreate them 
myself, and it might even be a good idea to start fresh after all.

> Are you aware of assignInNamespace() (see also rk.replace.function())? That
> might obsolete at least some of those restarts.

ok, this is some help. but to check if a change you made to the package does 
actually work when it is loaded, you have to really load it most of the times 
(e.g., did something change the namespace?). also, often it's not some 
function, but the documentation which got changed.

at some point you were thinking about making it possible for RKWard to manage 
R sessions running on distant machines. i guess the underlying difficulties 
are related, aren't they? maybe this could be implemented in one effort, for a 
next release.


viele grüße :: m.eik

-- 
  dipl. psych. meik michalke
  abt. f"ur diagnostik und differentielle psychologie
  institut f"ur experimentelle psychologie
  heinrich-heine-universit"at d"usseldorf
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/rkward-devel/attachments/20110923/2e80d07d/attachment.sig>


More information about the Rkward-devel mailing list