Feature plan archive

Features implemented in RKWard 0.8.0

Port to KF6

Description: Port to KF6/Qt6 frameworks

Points for discussion / issues:

Development status: Done.

Allow to work with R installations other than what RKWard was compiled with

Description: R backend is integrated using dlopen(), rather than shared linkage

Points for discussion / issues:

Development status: Done.

Features implemented in RKWard 0.7.5

More snippets

Description: Enhanced snippets for R, RMarkdown, and others

Points for discussion / issues:

Development status: Done.

Improved completion

Description: Improved object name completion, includig completion of help topics, and objects in package that are not currently loaded.

Points for discussion / issues:

Development status: Done.

Allow to restart R backend

Description: Restart R backend without leaving RKWard session.

Points for discussion / issues:

Development status: Done.

Features implemented in RKWard 0.7.4

More import options

Description: Better support for importing data, including a generic rio-based importer, better support for pasting in data, and an import assistant.

Points for discussion / issues:

Development status: Done.

Testing status: N/A

Preview for (almost) all plugins

Description: All applicable plugins in the main distribution now provide a preview, allowing to view results faster, and helping to keep the output clean.

Points for discussion / issues:

Development status: Done.

Testing status: N/A

Fewer pop-up dialogs during package installation

Description: Especially the initial start of RKWard is crowded with pop-up dialogs. Reworking the package installation dialog takes another two of these, without loss of functionality.

Points for discussion / issues:

Development status: Done.

Testing status: N/A

Rework “Welcome to RKWard” page

Description: Should be more dashboard like, with little text, but useful links

Points for discussion / issues: https://mail.kde.org/pipermail/rkward-devel/2022-April/005689.html Replaces startup dialog

Development status: Done.

Testing status: N/A

Features implemented in RKWard 0.7.3

RKWard Output as document

Description: The RKWard output file behaves more like a regular document: Changes can be saved or discarded, stored as a single file (internally a .zip archive).

Points for discussion / issues:

Development status: Done.

Testing status: N/A

Implement R 4.1 and R 4.2 graphics features

Description: gradients, patterns, clip paths, masks, stroked and filled paths, groups, lumincance masks

Points for discussion / issues:

Development status: Done.

Testing status: N/A

Integrated dialog to ask about all changed files on exit

Description: Instead of asking separately for each changed script

Points for discussion / issues: Unfortunately, R workspace is still detected as changed, every time.

Development status: Done.

Testing status: N/A

Features implemented in RKWard 0.7.2

“First run wizard” or check installation feature

Description: To check for - and if feasible, correct - common setup problems.

Points for discussion / issues: Run for each new version. No way to install external software, yet.

Development status: Done.

Testing status: N/A

Integration of kate plugins

Description: Many useful plugins, e.g. search in files, are available from kate. RKWard should be able to embed these.

Points for discussion / issues: Not all kate plugins make sense in the context of RKWard, and for some others, the way the UI is merged is not yet ideal.

Development status: Done.

Testing status: N/A

Bring enhanced code hinting features to the R Console window

Description: Script editor windows have much improved code hinting abilities, now. Merge these into the R Console window.

Points for discussion / issues: I’m not quite happy with the behavior e.g. when typing “?print", yet (requires twice)

Development status: Done.

Testing status: N/A

Features implemented in RKWard 0.7.1

Script previews, including R markdown

Description: The script editor has gained live previews. This can be used to view the rendering of an R Markdown (.Rmd) script, comfortably, while typing. But also, you can preeview scripted plots, RKWard output, or R Console output while developing.

Points for discussion / issues:

Development status: Done.

Testing status: N/A

Better integration with R installations

Description: By default, RKWard will now offer to install R packages to the same user library location as a regular R session, making it easier to switch back and forth between RKWard and a plain R command line session. Further, RKWard’s own R package no longer needs to be installed during build-time, but will be installed in a dedicated location as needed. This makes it easier to use RKWard with several separate installations of R (provided, they are binary compatible; different patch releases will generally work), and should help avoid related installation problems.

Points for discussion / issues: The R_LIBDIR cmake parameter is made obsolete by this change.

Development status: Done.

Testing status: N/A

Features implemented in RKWard 0.7.0

Split views

Description: Allow the main window to be split horizontally or vertically, to allow side-by-side view of the same or different scripts and data.

Points for discussion / issues:

Development status: Done.

Testing status: N/A

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 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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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

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:

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:

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

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:

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

Points for discussion / issues:

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:

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:

Development status:

Testing status: N/A.