Skip to content
This repository has been archived by the owner on Jun 13, 2024. It is now read-only.

Multitenancy support #4

Open
jmansar opened this issue Aug 4, 2018 · 0 comments
Open

Multitenancy support #4

jmansar opened this issue Aug 4, 2018 · 0 comments
Labels
enhancement New feature or request needs-design

Comments

@jmansar
Copy link
Owner

jmansar commented Aug 4, 2018

Problem

Currently, the single instance of bot can only work with a single conversation as all the commands operate on a global data-set.

Goal

Make it possible for the bot to handle multiple groups / conversations. Each group completely independent with own set of suppliers (restaurants) and orders.

Solution

The most straightforward solution is to use ConversationId value that is passed with every message sent to the bot to identify the group.

All data needs to be scoped to a particular group. Commands should retrieve data with the appropriate group filter applied.

Things to consider

  • Users - global or local to a group
    • consider introducing the concept of a group participant. User (global user) can belong to multiple groups.
  • Group management / administration
    • it's likely that there will be groups specific settings introduced such as: group preferred language, timezone, etc. How are these going to be set, who has permission?
  • Groups vs conversations
    • Is there 1 to 1 mapping between Skype conversations and groups? Could you have multiple conversations part of the same group? Should you be able to direct message the bot - which group to use in case user belongs to many groups?
      • For phase 1 assume 1 to 1 mapping.
  • Terminology
    • Decide on the terminology: groups / spaces / tenants ?
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request needs-design
Projects
None yet
Development

No branches or pull requests

1 participant