-
Notifications
You must be signed in to change notification settings - Fork 3
Multi Tenant Settings
Currently many settings specific to a merchant such as their Stripe, Mailchimp, and shipstation keys are stored as environment variables to processes running in marathon. As we go multi-tenant this is clearly not acceptable.
This document provides use cases for implementing mult-tenant settings. Each use case is briefly written describing the Actor, pre-conditions, post- conditions, the main path and alternate paths.
This document does not describe how the system should look but describes what it should be capable of doing.
New Tenants will go through an onboarding flow allowing then to configure the baseline system and 3rd party integrations
Tenants should be able to go back through all integrations in ashes and modify existing settings. We also need general Fox commerce related settings available.
Action | Selecting 3rd Party Integrations |
---|---|
Actor | Tenant Admin |
Precondition | Tenant has create an organization and has a master tenant admin account. Tenant Admin is logged in. |
Postcondition | System will know which 3RD party integrations they want configured |
Main Path | Admin selects from a list of available 3rd party integrations |
Alternate Path | No integrations are selected. User goes strait to Admin interface |
Action | Configuring Settings for an Integration |
---|---|
Actor | Tenant Admin |
Precondition | Admin has selected the integrations they want to configure. |
Postcondition | The current integration in process is configured |
Main Path |
|
Alternate Path | User selects “Skip”. Integration is marked as in- active but available to edit in the future |
Action | Selecting 3rd Party Integrations |
---|---|
Actor | Tenant Admin |
Precondition | Admin has selected the integrations they want to configure |
Postcondition | Settings are modified and available immediately |
Main Path |
|
Alternate Path | They don’t want to change any settings, they can leave the screen |
Action | Selecting 3rd Party Integrations |
---|---|
Actor | Tenant Admin |
Precondition | Tenant is logged into Ashes and has permissions to add integrations |
Postcondition | Integration is added if successfully goes through flow |
Main Path |
|
Alternate Path | They don’t want to add an integration, they can leave the screen |
Action | Adding a Settings Group |
---|---|
Actor | Tenant Admin |
Precondition | Tenant has login credentials and has permissions to add a settings group |
Postcondition | Settings group is added and is available for other admins to edit. |
Main Path |
|
Alternate Path | The setting group already exists, they can instead use CRUD API to modify. |
Action | User Edits Their Settings |
---|---|
Actor | Admin |
Precondition | Admin is logged in and has permission to see their own settings |
Postcondition | Settings are modified |
Main Path |
|
Alternate Path | They don't want to change any settings, they can leave the screen |