Feature Plan Archive

From RKWard
Jump to: navigation, search

Contents

Features implemented in RKWard 0.6.5

Generalized previews

Description: Allow preview-types other than plots. Importantly, data, and HTML. Previews are now shown attached to the dialog, by default.

Points for discussion / issues:

Development status: Done.

Testing status: N/A

Features implemented in RKWard 0.6.4

Usability improvements

Description: Importantly, the workspace browser and the <optionset> element are targetted.

Points for discussion / issues:

Development status: Done.

Testing status: N/A

Features implemented in RKWard 0.6.3

100% translatability

Description: Allow plugins and help pages to be translated.

Points for discussion / issues:

Development status: Done. Many translations already exist..

Testing status: N/A

Better plugin customization

Description: Allow external plugins to override / update installed plugins. Allow to selectively hide specific plugins.

Points for discussion / issues:


Development status: Done - for now. No UI interface for by-plugin customization, yet..

Testing status: N/A

Features implemented in RKWard 0.6.2

Make graphics device work on Mac OS X

Description: Make graphics device work on Mac OS X

Points for discussion / issues:

  • Several variants are possible:
    • Based on the quartz device, somehow syncing graphs to a draw area in the frontend
    • Cross-platform solution. Implement our own graphics device, after all, which will forward all graphics calls to a QGraphicsScene in the frontend. Could borrow some code from qtutils package.
      • Cons: Implementation / maintainance effort, performance?.
      • Pros: Cross-platform, performance?, will easily be made to work over the network, more reliable hooks for history functions.

Development status: Implemented as the new RK() default graphics device (cross-platform)..

Testing status: N/A

Allow plugin UI script code to query R for information

Description: Allow plugin UI script code to query R for information

Points for discussion / issues:

  • There are a bunch of associated caveats. In general, the recommended usage is via the level_select embeddable plugin.
  • See documenation on doRCommand()

Development status: Ready for use..

Testing status: N/A


Features implemented in RKWard 0.6.1

Simple matrix editor for use in plugins

Description: Provide a simple editor for (small) matrices for embedding in plugin dialogs.

Points for discussion / issues:

  • Should allow on-the-fly resizing
  • Strings and numbers, probably no factors, no support for invalid values
  • Called <matrix>

Development status: Ready for use.

Testing status: N/A

Sets of repeated options in plugins

Description: Provide the possibility to repeat certain options for an arbitrary number of items. E.g. line style and color for a number of variables selected for plotting

Points for discussion / issues:

  • Called <optionset>

Development status: Ready for use.

Testing status: N/A

Plugin for simple filtering of data(.frames)

Description: A plugin that can be used to filter data according to certain criteria.

Points for discussion / issues:

  • Should support filtering for single fixed values or by formula
  • Ideally, support filtering for an arbitrary number of criteria in one step. This would require a working RKOptionset.
  • By default, should filter to an object named oldname.filtered.
  • Should support storing a filter expression in the unfiltered set, for later re-use.

Development status: Initial simple implementation is part of the preview release.

Testing status: N/A

Features implemented in RKWard 0.6.0

RKWard on the Mac

Description: Provide a ready-to-use workflow for compiling & installing RKWard on the Mac, including easy to install binaries.

Points for discussion / issues:

  • Embedding on-screen graphics is not supported, initially

Development status: Ready for use..

Testing status: N/A

Debugger support

Description: Detect when the backend is in a debugger context, and provide a more useful console in this case. Also a simple frame inspector.

Points for discussion / issues:

  • Debugger console should gain highlighting, eventually.
  • Watched expressions to be added in a later release.

Development status: Ready for use..

Testing status: N/A

Features implemented in RKWard 0.5.7

Simplification of plugin-generated code

Description: Many plugins, which support running an operation (e.g. a test) on several objects in one go, generate fairly complex code, involving substitute() and eval(). Simplify these to use rk.list(), instead.

Points for discussion / issues:

  • Intermediate goal is to change only the generated code, but not the output. Existing automated tests will help with controlling this.

Development status: Ready for use..

Testing status: N/A


Proper fix for printing support

Description: Printing of graphics is sort of broken, since kprinter was never ported to KDE 4. Fix this by providing some auto-magic, which will pick the best available alternative out of the installed programs.

Points for discussion / issues:

  • Uses new pseudo device: rk.printer.device()
  • Tries to load okular part for print preview, and falls back to any registered external postscript viewer

Development status: Ready for use..

Testing status: N/A


Features implemented in RKWard 0.5.6

Global R interrupt button

Description: Simply a button that will cancel any current R operations.

Points for discussion / issues:

  • Must not cancel internal "Sync" commands.
  • When done, the "Pending jobs" tool window can be hidden somewhere, as it will rarely still be used.

Development status: Ready for use.

Testing status: N/A


Transcript of console to output

Description: Add an option to copy all console input / output to the output window.

Points for discussion / issues:

Development status: Ready for use.

Testing status: N/A


Features implemented in RKWard 0.5.5

Separate frontend and backend into different processes

Description: Make the backend run inside a separate process, in order to enhance stability, and compatibility with Java/Gtk based packages.

Points for discussion / issues:

  • Currently, the "old" solution, of the backend running in a separate thread of the same process can be enabled at compile time, by adding -DRKWARD_THREADED=1 to the cmake options.

Development status: Ready for use.

Testing status: N/A

Features implemented in RKWard 0.5.4

Plot history

Description: Automatically record plots in on-screen devices, and offer navigation features.

Points for discussion / issues:

Development status: Ready for testing / use.

Testing status: Automated test exists.


Support rownames in data.frame editor

Description: The data.frame editor does not yet support row.names. We should add support for that.

Points for discussion / issues:

  • Make sure to reset rownames to the default (1:n) when custom row names are not / no longer used.
  • Currently rownames are fully discarded when inserting / deleting rows. Obviously that needs fixing, too.

Development status: Ready for use.

Testing status: N/A


Initial support for scripted plugin logic

Description: A script based (easier, and more flexible) approach to handling the GUI logic in plugins.

Points for discussion / issues:

Development status: Ready for testing / feedback.

Testing status: N/A


Support for editor-related plugins

Description Plugins working on data.frames should be available for the context of the data editor. E.g. sorting, data transformations, etc.

Points for discussion / issues:

  • Need to create a new component context for this (trivial)
  • Save-object chooser needs to accept parent objects one way or another. What should the GUI look like?

Development status: Ready for testing / feedback.

Testing status: N/A


Features implemented in RKWard 0.5.3

New Scripting Solution

Description: The PHP backend just doesn't cut it any longer. Too heavy a dependency, too slow on windows, too inflexible. We'll probably use QtScript based on the Kross framework, next. Goal for this release is to replace the current functionality of the PHP backend. In later releases, new features will be added, esp. the ability to use scripting for the GUI logic, and the ability to script custom widgets.

Points for discussion / issues:

Development status: QtScript backend implemented, all official plugins ported.

Testing status: N/A

Features implemented in RKWard 0.5.2

Configurable toolbars

Description: Toolbars are now configurable as well. Settings -> Configure Toolbars

Points for discussion / issues:

  • Only the currently active actions can be configured at a time.

Development status: Ready for testing / feedback. Implemented on the KDE 4 branch, no backport planned.

Testing status: ???


Automated Plugin Testing

Description: Write an R script that invokes a plugin with various different settings, checks whether the output is still the same as in earlier runs of the test, checks for any errors, checks for properties of created R objects (if applicable) etc. This script could be run in regular intervals to detect any possible problems due to new version of R/packages, changes in RKWard, etc. very quickly.

In the long term, all plugins should have tests in the suite.

Points for discussion / issues:

Development status: Ready for use. All directly callable plugins have at least one test.

Testing status: N/A


Features implemented in RKWard 0.5.1

"Run again"-link

Description: Each plugin (with the exception of plugins that only work in special contexts, such as e.g. adding a grid to an X11-device) gets a "Run again" link added to its output. Clicking this link will bring up the plugin again with the same settings already filled in. That way it becomes easily possible to redo an action with slight modifications. This probably makes plugins an order of magnitude more useful.

No changes should be needed in the plugins themselves.

Points for discussion / Issues:

  • Is "Run again" a good label for this link?
  • Most/all plugins should print an rk.header() in the output, so you know, what the run again link is all about
    • Which ones do not produce a header, yet?
    • Which ones should not? Perhaps the setwd-plugin, for instance?
    • Ideally the header should also be written in case the generated code produces an error. This is not currently the case.

Development Status: Ready for testing / feedback. Implemented on the KDE 4 branch, no backport planned.

Testing Status: ???




Plugins can be invoked from R code

Description: Use e.g.

rk.call.plugin ("rkward::t_test_two_vars", x.available="x", y.available="y", submit.mode="auto")

to fire up the t-test plugin with objects x and y preselected (if possible) and automatically submit the code, if possible. The main idea behind this is that we can use this for #Automated Plugin Testing.

Points for discussion / issues: Naming of parameters should probably be revised.

Development status: Ready for testing / feedback. Implemented on the KDE 4 branch, no backport planned.

Testing status: ???



PHP function makeHeaderCode () for use in Plugins

Description: A new PHP convenience function is available for use in plugins. makeHeaderCode() basically just produces the rk.header()-syntax. The advantages are

  • Easier typing / reading, as we don't need to jump in and out of PHP code some much
  • More correct quoting (important for the rare case that parameters can contain quotes).

Points for discussion / issues:

  • Many tests have some unquoted parameters in the call to rk.header(), namely rk.describe.alternative(). There should be a good way to support this case as well.
  • Ideally, most plugins should produce an rk.header() of some sort. Ones which don't, yet are:
    • TODO: find out which, and list them, here
  • It may or may not be worth while to use makeHeaderCode() in existing plugins, now. Probably it should wait for #Automated Plugin Testing

Development status: Ready for testing / feedback. Implemented on the KDE 4 branch, needs backporting. Needs documentation.

Testing status: ???



Action to set WD to dir of current script

Description: http://sourceforge.net/tracker/?func=detail&aid=1705553&group_id=50231&atid=459010

Points for discussion / issues: A good label for this?

Development status: Ready for testing / feedback. Implemented on the KDE 4 branch, no backport planned.

Testing status: ???



Configurable keyboard shortcuts

Description: Keyboard shortcuts for (almost) all actions are finally configurable. Settings -> Configure Keybindings

Points for discussion / issues:

  • Only the currently active actions can be configured at a time.
  • Potential conflicts between application global and currently non-active action-shortcuts will not be detected.

Development status: Ready for testing / feedback. Implemented on the KDE 4 branch, no backport planned.

Testing status: ???



Windows Port

Description: Port RKWard to MS Windows.

Points for discussion / issues: Outline of main TODOs, left:

  • Polish the installer
    • simplify, if possible
    • test
  • Plugins
    • The PHP backend performance is lousy on windows. Find a solution for that
  • Testing
  • Documentation RKWard_on_Windows

Development status:

  • First technical preview release will be announced, soon.

Testing status: N/A.

Personal tools
Namespaces

Variants
Actions
RKWard
Documentation
wiki
Toolbox
Affiliations