RMD

From KaiRoWiki
Jump to: navigation, search

The Rhine-Main-Danube channel connects different waterways to a large network bringing together transportation infrastructure for people from the Black Sea to the North Sea and in extension the Atlantic.

The tool using this code name (or the "RMD" abbreviation for it) is a (concept for a) universal communications (messaging/information/communication/notification management) add-on that runs in browser tabs.

In the first implementation, this would target to manage feeds (parsed with Firefox' internal feed parser) and twitter/status.net communication. Other sources should be able to be plugged in with further add-ons.

Items

Something like "messages".

  • Primary Info - fixed table: subject, source, author, target, ID, status, read
    • source+ID combination is unique
  • Full Body - text bodies with fulltext index: ID, text, (headers block?)
  • Meta Info - freeform metadata: ID, type, value

Sources

Similar to "accounts" in Thunderbird, source engines ("account types") are pluggable.

  • Source: UID (internal), name, engine, parent
    • name+parent combination is unique
  • Source Meta: freeform metadata (key/value)

Virtual folders are sources of a special engine.

Contacts

Using Contacts add-on (pluggable?)

Display Structure

Pluggable engines for:

  • folder tree
  • tabs
  • list view
  • item display

Engines

Defaults included in the base implementation, more can be added on.

  • Folder:
    • source-based hierarchical
  • Tabs:
    • 3pane (folder + list + item)
    • item (standalone message)
  • source:
    • feed
    • local?
    • twitter / status.net
    • virtual folder / query
    • ...
  • list
    • simple (tree)
    • text-in-list (esp. for twitter, etc. - rich list)
  • item display:
    • full
    • plain?
    • simplified?

Implementation Notes

  • Base XUL: loads utilities, dynamically loads pluggable tab as overlay
  • List: dynamically loaded as overlays
  • Source, Folder, Item: dynamically loaded as JS

Open Questions

  • Tags?
  • Notes?
  • Scheme Version?