Sonntag, 5. Juni 2011

Planning a Datenwerk IDE

For debugging and to demonstrate the introspective features, Python-Datenwerk offers a small IDM browser (located in the datenwerk.gtk.browser module). On numerous occasions, I wished the browser was more of an IDE, allowing me to do much more than just browse (and lightly fiddle with) a particular item branch.

The Datenwerk Browser, as it looks today.

There's a good reason for that: I have e.g. a project which features a quite extensive audio output back-end. Using or merely testing the back-end is tough without a proper graphical front-end, but I would like to test things one at a time.

A matrix graph editor I wrote

If the Datenwerk IDE works well, I will be able to test connected functionalities individually, and even edit models without needing a specialized UI for longer periods of time.

With an IDE, I could probably postpone editors like this one.
Here's the new features I would like to add, largely for myself, in random order:
  • Save particular items to file, and import them. (This is already supported, but not very well)
  • Import JSON objects.
  • Compare two item trees.
  • Search in item trees.
  • Data breakpoints: break into debugger when a particular signal is encountered.
  • Smart Forms: build customized forms for better editing of items.
  • Template library: create new objects from a template library. Allow to add existing objects to the template library.
  • Browse hub: browse the keys of the central hub, and add new ones.
  • Logging console: write a log of changing items to an exclusive console.
  • Load shared libraries: load Datenwerk enabled shared libraries into the browser, and then use the hub to explore.
  • Remote connect: debug a remote process using a net instance.
  • Project support: save view settings and browser state in a project file, so I can quickly return to a previously closed session.
  • Drag & drop views: add as many views as I want, organize them in notebooks or split panes.
  • Optimize tree views: only append child nodes when expanding parent node.
  • History: always track and revert changes (This is another of those features which just needs to be turned on)

Keine Kommentare:

Kommentar veröffentlichen