KTp/Components/Desktop-wide Approver

From KDE Community Wiki
< KTp
Revision as of 00:31, 10 November 2012 by Drdanz (talk | contribs) (Drdanz moved page Real-Time Communication and Collaboration/Components/Desktop-wide Approver to KTp/Components/Desktop-wide Approver: As discussed at IRC meeting Real-Time_Communication_and_Collaboration is too long, we are moving all our pages...)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Braindump

  • Tp:Approver which is a process that runs in the workspace and handles all channel notifications.
    • Perhaps a kded module?
  • Needs to have some registry of all installed handlers for each channel type. (will .client files and looking at the bus do for this?)
    • Client files need to be extended so that they contain a translatable string for the name of the handler.
  • It can probably register itself as an approver for everything. The CD will never activate an approver if there is no handler.
    • It is not clear how to handle the various types of tubes channels. Perhaps the .client files should contain extra information for the approver in this case.
      • Another choice is to specify that every tubes handler will have its own approver.
      • Experiment with krfb/krdc.
  • Should respect user preferences for preferred handlers for a given channel type.
    • This should somehow intersect with Tp::ChannelDispatchOperation::possibleHandlers()
  • Companion kcm module to allow the user to select default text channel handler, default voice channel handler etc...
    • Processes that only exist on the bus cannot be considered for the kcm, as we don't know whether they are available when the actual channel is dispatched.
  • Talk to sjoerd in #telepathy to make sure we implement this in a way that is as compatible as possible with how Gnome are doing it.

Steps

  • As a first step, implement an approver that approves text/call/file transfer channels and use only Tp::ChannelDispatchOperation::possibleHandlers() to select the handler.
  • Extend the spec to support the new features.
  • Implement the kcm that reads the client files and saves order preferences with kconfig.
  • Extend the approver to intersect the kcm's saved order of handlers with Tp::ChannelDispatchOperation::possibleHandlers().
  • Find out what to do with tube channels.

Roadmap

Status Task Developers
NOT STARTED Extend the telepathy spec to support our use case George Kiagiadakis <[email protected]>
IN PROGRESS Write the daemon itself George Kiagiadakis <[email protected]>
NOT STARTED Write the kcm module for configuring handlers George Kiagiadakis <[email protected]>