ConversationService Specification

From MacroDeckDevWiki

Jump to: navigation, search

This is a draft document. It may change at any time.

ConversationService will provide logging for arbitrary conversation data. Its intended purpose is to store the conversations between ChatService users and also store the conversations from any other protocol if the user has a local client sending out data. The data will be searchable, taggable, and sharable.

Contents

Local Features

  • Conversation creation/editing/etc. (messages are contained in conversations)
  • Message creation/editing/etc. (within a conversation)
  • Status updates (within a conversation)
  • Non-message data creation/editing/etc. (within a conversation)

Remote Features

  • Conversation creation/editing/etc. (messages are contained in conversations)
  • Message creation/editing/etc. (within a conversation)
  • Status updates (within a conversation)
  • Non-message data creation/editing/etc. (within a conversation)

Widget-Specific Features

  • Conversation creation/editing/etc. (messages are contained in conversations)
  • Message creation/editing/etc. (within a conversation)
  • Status updates (within a conversation)
  • Non-message data creation/editing/etc. (within a conversation)

Application-Specific Features

This service is designed to be functionally similar on applications outside of MacroDeck as well as widgets on MacroDeck.

Synchronizable Data

  • Conversations (it does not make sense to synchronize individual messages, since they'll lack context)

Interaction With Other Services

  • UserService will be used for access control.
  • DataService will be used for storing conversations. The message data should be stored in the stringdata field and any extra data (sender, font style, etc.) should be stored as a Hash in objectdata.

Technical Data

UUIDs

No UUIDs are currently defined.

APIs

No APIs are currently defined.

Front End

This service may not need a front-end. I think perhaps a widget should be provided for searching through logs, and the search engine should definitely return data from here. So if there is a front-end, it shouldn't be too involved other than showing all of the known conversations for your user and letting you view them.

Personal tools