KDEEdu/Rocs/Todo

From KDE Community Wiki

List of Rocs ToDos

Codebase Work

  • Cleanup of plugin system
    • Plugin Capabilities with respect to supported features: data types, pointer types (creation and/or only modification?), groups, etc.
    • Localization
    • Add plugin version for all plugin backends
  • consistently use KUrl for all file pathes
  • use KMimeTypes for file extensions
  • use KIO to allow access of remote files
  • use shared pointers for document objects

Graph File Format Plugins

Current status for graph file format backends.

File Format Unsupported Features Documentation (complete, incomplete, missing) Unit Tests (complete or list of missing features) Notes
Dot XML labels, non-ascii identifiers missing nearly all example files could be parsed, but not functionality tests exist yet missing features documented in dotGrammar.cpp
TGF - complete complete maybe add example files
GML ???. missing very basic tests -
KML ??? missing very basic tests -
TikZ (export only) ??? missing very basic tests -
Rocs internal ??? missing basic tests -

Concrete Tasks

Load / Save Mechanisms

  • create save mechanism at base of Project class
  • notify if project is modified (* at file name?)
  • enable "save" in mainmenu only of project is unsaved and not-temporary
  • revisit all modified-warnings

General Ideas

  • Graph Copy/Duplication
    • drag/drop
    • copy subgraph
    • script interfaces to copy? (Andreas: one of my students has such a use case while simulating changes on a graph; together with an invisibility toggle it could be a nice feature...)
  • Script Execution
    • Snapshot and Recover Functionality
    • Replay Function
  • Script Console: allow graph modification by single commands (similar like in Maple or Cantor)

UI

  • TODO: Animations on the nodes and edges. ( fade in when they are placed on the canvas, fade out when they are removed. ) doesn't need to be a huge thing, but a small fade in is better on the eyes.
  • Add Create Graph Wizard

Script-Interface

  • re-enable Kross iff it is stable enough for us
  • code-completion
  • copy graph/data structure capability (useful?)
  • Graph Plugin
    • function to compute graph diameter

Script Output

  • Add functionality:
    • copy output
    • clear output

Testing

  • add unit tests for
    • every functionality documented
    • script functions
  • Load/Save testing
    • test for all standard values
    • test for edge values (Andreas: they vanish in one of my work files when loading)
    • data structure plugin settings (Andreas: one of my students noticed problems s.t. the plugin value is not stored/loaded correctly)
    • create test suite with graph files from all Rocs version the current file format should support

Documentation

  • unify wording and definitions