Details

    • PM Priority:
      150

      Description

      • given:
        • I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
      • when:
        • I start Optimize
        • The data is imported
        • I use Optimize
      • then:
        • I can select for which tenant I want to create a report for
        • I can only see the data for the tenant I'm authorized for
        • On multiple tenants selected for a report I can only see the result if I'm authorized to all tenants selected
      • such that:
        • I can use Optimize with multi-tenancy

      AT:

      • when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        • the order of the process definition selection inputs is [key, version, tenant]
        • the tenant dropdown provides a list of tenants to select/deselect individually
        • for shared definitions (no tenant set on the definition itself), I'm presented all tenants I'm authorized to access in the tenant dropdown
        • for shared definitions, there is always a default tenant value named None available as last option in the tenant dropdown
        • the default tenant None is treated as any other tenant option and can be selected in conjunction with others
        • by default all tenants are pre-selected in the tenant dropdown (this includes the default None tenant)
        • there is a way to quickly select/deselect all tenants (similar to select/deselect visible columns in table reports)
        • for tenant specific definitions I'm presented only the tenants the currently selected definition key & version pair is available for and that I'm authorized to see
        • if a particular definition key & version pair is available for multiple tenants a warning is displayed in the "Process/Decision Definition Selection"-Popover to inform the user that we only pick one xml for displaying the process and that if the definitions differ the results may be inconsistent
      • the engine configuration is extended by an defaultTenantId field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine.
        • Once the defaultTenantId is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        • the descriptions of the engines.'engine alias', engines.'engine alias'.engines and enignes.'engine alias'.defaultTenantId are adjusted so that it's clear what the difference between those three fields is.
        • the new configuration is added to configuration documentation in the technical guide
        • it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
      • the scenarios described below are supported and documented in the technical guide.
      • Permissions related to tenants are being used by Optimize to define what data a user can see.
      • the tenant id that is persisted to Optimize should be available in the variable plugin as well
      • migration guide contains note on the necessity of a reimport in order for tenant specific authorizations to work

      Possible Scenarios:

      1. there is one engine with multiple tenants
      2. there are multiple engines, each one has its own tenant configured
      3. there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
      4. there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

      Hints:
      https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers

        Activity

        felix.mueller Felix Müller created issue -
        felix.mueller Felix Müller made changes -
        Field Original Value New Value
        Labels potential_for_2.5
        felix.mueller Felix Müller made changes -
        Link This issue is related to SUPPORT-5210 [ SUPPORT-5210 ]
        johannes.heinemann Johannes Heinemann made changes -
        Workflow Camunda Optimize - 2.0 [ 54482 ] Camunda Optimize - 2.4 [ 64754 ]
        felix.mueller Felix Müller made changes -
        Fix Version/s 2.5 [ 15364 ]
        felix.mueller Felix Müller made changes -
        Rank Ranked higher
        johannes.heinemann Johannes Heinemann made changes -
        Fix Version/s 2.5.0 [ 15385 ]
        Fix Version/s 2.5 [ 15364 ]
        felix.mueller Felix Müller made changes -
        Labels potential_for_2.5
        felix.mueller Felix Müller made changes -
        Description Optimize supports Multi-Tenancy concept of the engine.
        Permissions related to tenants are being used by Optimize to define what data a user can see.
        Optimize supports Multi-Tenancy concept of the engine.
        Permissions related to tenants are being used by Optimize to define what data a user can see.

        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        felix.mueller Felix Müller made changes -
        Assignee Felix Müller [ felix.stange ]
        felix.mueller Felix Müller made changes -
        Summary Support for Multi-Tenancy With Tenant-Identifiers Support for Multi-Tenancy
        felix.mueller Felix Müller made changes -
        Labels product_design
        felix.mueller Felix Müller made changes -
        Rank Ranked higher
        felix.mueller Felix Müller made changes -
        PM Priority 150
        johannes.heinemann Johannes Heinemann made changes -
        Description Optimize supports Multi-Tenancy concept of the engine.
        Permissions related to tenants are being used by Optimize to define what data a user can see.

        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        *AT:*
        *


        Optimize supports Multi-Tenancy concept of the engine.
        Permissions related to tenants are being used by Optimize to define what data a user can see.

        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        johannes.heinemann Johannes Heinemann made changes -
        Component/s backend [ 13653 ]
        Component/s frontend [ 13654 ]
        johannes.heinemann Johannes Heinemann made changes -
        Description *AT:*
        *


        Optimize supports Multi-Tenancy concept of the engine.
        Permissions related to tenants are being used by Optimize to define what data a user can see.

        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine. An example could look like the following:
        {code}
        engines:
          # An alias of the engine, which will be used for internal purposes like
          # logging and displaying which data belong to which engine.
          'camunda-bpm':
            #The name of the engine that will be used to import data.
            name: default
            # sets a default tenant to the data from this engine in case there is none configured in the engine
            defaultTenantId: null
            # remaining engine configurations
            ....
        {code}
        * Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        * the new configuration is added to configuration documentation in the technical guide
        * the scenarios described below are supported and documented in the technical guide.
        * it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * in multi engine scenario the following holds for user authorizations:
        ** once a users logs in, we try go through each configured engine. For each engine the user has Optimize application access, we fetch the authorizations
        ** if there are several engines with the same definition (same key + version), then the user can only see the data the definition+engine combinations he has been granted access.
        ** the user gets notified if he sees only part of the data due to the previous point. For instance, user A has only access to defintion D on Engine E1, but user B has access to definition D on E1 and E2. Now we create a report R for definition D. Then A might see different results for in R than user B. In this case we show a warning to the user
        * Permissions related to tenants are being used by Optimize to define what data a user can see.


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        johannes.heinemann Johannes Heinemann made changes -
        Description * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine. An example could look like the following:
        {code}
        engines:
          # An alias of the engine, which will be used for internal purposes like
          # logging and displaying which data belong to which engine.
          'camunda-bpm':
            #The name of the engine that will be used to import data.
            name: default
            # sets a default tenant to the data from this engine in case there is none configured in the engine
            defaultTenantId: null
            # remaining engine configurations
            ....
        {code}
        * Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        * the new configuration is added to configuration documentation in the technical guide
        * the scenarios described below are supported and documented in the technical guide.
        * it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * in multi engine scenario the following holds for user authorizations:
        ** once a users logs in, we try go through each configured engine. For each engine the user has Optimize application access, we fetch the authorizations
        ** if there are several engines with the same definition (same key + version), then the user can only see the data the definition+engine combinations he has been granted access.
        ** the user gets notified if he sees only part of the data due to the previous point. For instance, user A has only access to defintion D on Engine E1, but user B has access to definition D on E1 and E2. Now we create a report R for definition D. Then A might see different results for in R than user B. In this case we show a warning to the user
        * Permissions related to tenants are being used by Optimize to define what data a user can see.


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine. An example could look like the following:
        {code}
        engines:
          # An alias of the engine, which will be used for internal purposes like
          # logging and displaying which data belong to which engine.
          'camunda-bpm':
            #The name of the engine that will be used to import data.
            name: default
            # sets a default tenant to the data from this engine in case there is none configured in the engine
            defaultTenantId: null
            # remaining engine configurations
            ....
        {code}
        * Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        * the new configuration is added to configuration documentation in the technical guide
        * the scenarios described below are supported and documented in the technical guide.
        * it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * in multi engine scenario the following holds for user authorizations:
        ** once a users logs in, we try go through each configured engine. For each engine the user has Optimize application access, we fetch the authorizations
        ** if there are several engines with the same definition (same key + version), then the user can only see the data the definition+engine combinations he has been granted access.
        ** the user gets notified if he sees only part of the data due to the previous point. For instance, user A has only access to defintion D on Engine E1, but user B has access to definition D on E1 and E2. Now we create a report R for definition D. Then A might see different results for in R than user B. In this case we show a warning to the user
        * Permissions related to tenants are being used by Optimize to define what data a user can see.


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        johannes.heinemann Johannes Heinemann made changes -
        Description * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine. An example could look like the following:
        {code}
        engines:
          # An alias of the engine, which will be used for internal purposes like
          # logging and displaying which data belong to which engine.
          'camunda-bpm':
            #The name of the engine that will be used to import data.
            name: default
            # sets a default tenant to the data from this engine in case there is none configured in the engine
            defaultTenantId: null
            # remaining engine configurations
            ....
        {code}
        * Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        * the new configuration is added to configuration documentation in the technical guide
        * the scenarios described below are supported and documented in the technical guide.
        * it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * in multi engine scenario the following holds for user authorizations:
        ** once a users logs in, we try go through each configured engine. For each engine the user has Optimize application access, we fetch the authorizations
        ** if there are several engines with the same definition (same key + version), then the user can only see the data the definition+engine combinations he has been granted access.
        ** the user gets notified if he sees only part of the data due to the previous point. For instance, user A has only access to defintion D on Engine E1, but user B has access to definition D on E1 and E2. Now we create a report R for definition D. Then A might see different results for in R than user B. In this case we show a warning to the user
        * Permissions related to tenants are being used by Optimize to define what data a user can see.


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine. An example could look like the following:
        {code}
        engines:
          # An alias of the engine, which will be used for internal purposes like
          # logging and displaying which data belong to which engine.
          'camunda-bpm':
            #The name of the engine that will be used to import data.
            name: default
            # sets a default tenant to the data from this engine in case there is none configured in the engine
            defaultTenantId: null
            # remaining engine configurations
            ....
        {code}
        * Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        * the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        * the new configuration is added to configuration documentation in the technical guide
        * the scenarios described below are supported and documented in the technical guide.
        * it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * in multi engine scenario the following holds for user authorizations:
        ** once a users logs in, we try go through each configured engine. For each engine the user has Optimize application access, we fetch the authorizations
        ** if there are several engines with the same definition (same key + version), then the user can only see the data the definition+engine combinations he has been granted access.
        ** the user gets notified if he sees only part of the data due to the previous point. For instance, user A has only access to defintion D on Engine E1, but user B has access to definition D on E1 and E2. Now we create a report R for definition D. Then A might see different results for in R than user B. In this case we show a warning to the user
        * Permissions related to tenants are being used by Optimize to define what data a user can see.


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        johannes.heinemann Johannes Heinemann made changes -
        Assignee Sebastian Bathke [ sebastian.bathke ]
        johannes.heinemann Johannes Heinemann made changes -
        Labels product_design current_release product_design
        johannes.heinemann Johannes Heinemann made changes -
        Description * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine. An example could look like the following:
        {code}
        engines:
          # An alias of the engine, which will be used for internal purposes like
          # logging and displaying which data belong to which engine.
          'camunda-bpm':
            #The name of the engine that will be used to import data.
            name: default
            # sets a default tenant to the data from this engine in case there is none configured in the engine
            defaultTenantId: null
            # remaining engine configurations
            ....
        {code}
        * Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        * the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        * the new configuration is added to configuration documentation in the technical guide
        * the scenarios described below are supported and documented in the technical guide.
        * it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * in multi engine scenario the following holds for user authorizations:
        ** once a users logs in, we try go through each configured engine. For each engine the user has Optimize application access, we fetch the authorizations
        ** if there are several engines with the same definition (same key + version), then the user can only see the data the definition+engine combinations he has been granted access.
        ** the user gets notified if he sees only part of the data due to the previous point. For instance, user A has only access to defintion D on Engine E1, but user B has access to definition D on E1 and E2. Now we create a report R for definition D. Then A might see different results for in R than user B. In this case we show a warning to the user
        * Permissions related to tenants are being used by Optimize to define what data a user can see.


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine. An example could look like the following:
        {code}
        engines:
          # An alias of the engine, which will be used for internal purposes like
          # logging and displaying which data belong to which engine.
          'camunda-bpm':
            #The name of the engine that will be used to import data.
            name: default
            # sets a default tenant to the data from this engine in case there is none configured in the engine
            defaultTenantId: null
            # remaining engine configurations
            ....
        {code}
        * Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        * the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        * the new configuration is added to configuration documentation in the technical guide
        * the scenarios described below are supported and documented in the technical guide.
        * it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * in multi engine scenario the following holds for user authorizations:
        ** once a users logs in, we try go through each configured engine. For each engine the user has Optimize application access, we fetch the authorizations
        ** if there are several engines with the same definition (same key + version), then the user can only see the data the definition+engine combinations he has been granted access.
        ** the user gets notified if he sees only part of the data due to the previous point. For instance, user A has only access to defintion D on Engine E1, but user B has access to definition D on E1 and E2. Now we create a report R for definition D. Then A might see different results for in R than user B. In this case we show a warning to the user
        * Permissions related to tenants are being used by Optimize to define what data a user can see.
        * the tenant id should be available in the variable plugin as well


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        johannes.heinemann Johannes Heinemann made changes -
        Description * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine. An example could look like the following:
        {code}
        engines:
          # An alias of the engine, which will be used for internal purposes like
          # logging and displaying which data belong to which engine.
          'camunda-bpm':
            #The name of the engine that will be used to import data.
            name: default
            # sets a default tenant to the data from this engine in case there is none configured in the engine
            defaultTenantId: null
            # remaining engine configurations
            ....
        {code}
        * Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        * the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        * the new configuration is added to configuration documentation in the technical guide
        * the scenarios described below are supported and documented in the technical guide.
        * it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * in multi engine scenario the following holds for user authorizations:
        ** once a users logs in, we try go through each configured engine. For each engine the user has Optimize application access, we fetch the authorizations
        ** if there are several engines with the same definition (same key + version), then the user can only see the data the definition+engine combinations he has been granted access.
        ** the user gets notified if he sees only part of the data due to the previous point. For instance, user A has only access to defintion D on Engine E1, but user B has access to definition D on E1 and E2. Now we create a report R for definition D. Then A might see different results for in R than user B. In this case we show a warning to the user
        * Permissions related to tenants are being used by Optimize to define what data a user can see.
        * the tenant id should be available in the variable plugin as well


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine. An example could look like the following:
        {code}
        engines:
          # An alias of the engine, which will be used for internal purposes like
          # logging and displaying which data belong to which engine.
          'camunda-bpm':
            #The name of the engine that will be used to import data.
            name: default
            # sets a default tenant to the data from this engine in case there is none configured in the engine
            defaultTenantId: null
            # remaining engine configurations
            ....
        {code}
        * Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        * the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        * the new configuration is added to configuration documentation in the technical guide
        * the scenarios described below are supported and documented in the technical guide.
        * it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * in multi engine scenario the following holds for user authorizations:
        ** once a users logs in, we try go through each configured engine. For each engine the user has Optimize application access, we fetch the authorizations
        ** if there are several engines with the same definition (same key + version), then the user can only see the data the definition+engine combinations he has been granted access.
        ** the user gets notified if he sees only part of the data due to the previous point. For instance, user A has only access to defintion D on Engine E1, but user B has access to definition D on E1 and E2. Now we create a report R for definition D. Then A might see different results for in R than user B. In this case we show a warning to the user
        * Permissions related to tenants are being used by Optimize to define what data a user can see.
        * the tenant id that is persisted to Optimize should be available in the variable plugin as well


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        sebastian.bathke Sebastian Bathke made changes -
        Status Open [ 1 ] In Specification [ 10000 ]
        sebastian.bathke Sebastian Bathke made changes -
        Status In Specification [ 10000 ] In Development [ 10312 ]
        sebastian.bathke Sebastian Bathke made changes -
        Description * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine. An example could look like the following:
        {code}
        engines:
          # An alias of the engine, which will be used for internal purposes like
          # logging and displaying which data belong to which engine.
          'camunda-bpm':
            #The name of the engine that will be used to import data.
            name: default
            # sets a default tenant to the data from this engine in case there is none configured in the engine
            defaultTenantId: null
            # remaining engine configurations
            ....
        {code}
        * Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        * the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        * the new configuration is added to configuration documentation in the technical guide
        * the scenarios described below are supported and documented in the technical guide.
        * it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * in multi engine scenario the following holds for user authorizations:
        ** once a users logs in, we try go through each configured engine. For each engine the user has Optimize application access, we fetch the authorizations
        ** if there are several engines with the same definition (same key + version), then the user can only see the data the definition+engine combinations he has been granted access.
        ** the user gets notified if he sees only part of the data due to the previous point. For instance, user A has only access to defintion D on Engine E1, but user B has access to definition D on E1 and E2. Now we create a report R for definition D. Then A might see different results for in R than user B. In this case we show a warning to the user
        * Permissions related to tenants are being used by Optimize to define what data a user can see.
        * the tenant id that is persisted to Optimize should be available in the variable plugin as well


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine. An example could look like the following:
        {code}
        engines:
          # An alias of the engine, which will be used for internal purposes like
          # logging and displaying which data belong to which engine.
          'camunda-bpm':
            #The name of the engine that will be used to import data.
            name: default
            # sets a default tenant to the data from this engine in case there is none configured in the engine
            defaultTenantId: null
            # remaining engine configurations
            ....
        {code}
        * Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        * the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        * the new configuration is added to configuration documentation in the technical guide
        * the scenarios described below are supported and documented in the technical guide.
        * it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * in multi engine scenario the following holds for user authorizations:
        ** once a users logs in, we try go through each configured engine. For each engine the user has Optimize application access, we fetch the authorizations
        ** if there are several engines with the same definition (same key + version), then the user can only see the data the definition+engine combinations he has been granted access.
        ** the user gets notified if he sees only part of the data due to the previous point. For instance, user A has only access to defintion D on Engine E1, but user B has access to definition D on E1 and E2. Now we create a report R for definition D. Then A might see different results for in R than user B. In this case we show a warning to the user
        * Permissions related to tenants are being used by Optimize to define what data a user can see.
        * the tenant id that is persisted to Optimize should be available in the variable plugin as well
        * migration guide contains not on the necessity of a reimport in order for tenant specific authorizations to work


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        sebastian.bathke Sebastian Bathke made changes -
        Description * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine. An example could look like the following:
        {code}
        engines:
          # An alias of the engine, which will be used for internal purposes like
          # logging and displaying which data belong to which engine.
          'camunda-bpm':
            #The name of the engine that will be used to import data.
            name: default
            # sets a default tenant to the data from this engine in case there is none configured in the engine
            defaultTenantId: null
            # remaining engine configurations
            ....
        {code}
        * Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        * the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        * the new configuration is added to configuration documentation in the technical guide
        * the scenarios described below are supported and documented in the technical guide.
        * it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * in multi engine scenario the following holds for user authorizations:
        ** once a users logs in, we try go through each configured engine. For each engine the user has Optimize application access, we fetch the authorizations
        ** if there are several engines with the same definition (same key + version), then the user can only see the data the definition+engine combinations he has been granted access.
        ** the user gets notified if he sees only part of the data due to the previous point. For instance, user A has only access to defintion D on Engine E1, but user B has access to definition D on E1 and E2. Now we create a report R for definition D. Then A might see different results for in R than user B. In this case we show a warning to the user
        * Permissions related to tenants are being used by Optimize to define what data a user can see.
        * the tenant id that is persisted to Optimize should be available in the variable plugin as well
        * migration guide contains not on the necessity of a reimport in order for tenant specific authorizations to work


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine. An example could look like the following:
        {code}
        engines:
          # An alias of the engine, which will be used for internal purposes like
          # logging and displaying which data belong to which engine.
          'camunda-bpm':
            #The name of the engine that will be used to import data.
            name: default
            # sets a default tenant to the data from this engine in case there is none configured in the engine
            defaultTenantId: null
            # remaining engine configurations
            ....
        {code}
        * Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        * the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        * the new configuration is added to configuration documentation in the technical guide
        * the scenarios described below are supported and documented in the technical guide.
        * it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * in multi engine scenario the following holds for user authorizations:
        ** once a users logs in, we try go through each configured engine. For each engine the user has Optimize application access, we fetch the authorizations
        ** if there are several engines with the same definition (same key + version), then the user can only see the data the definition+engine combinations he has been granted access.
        ** the user gets notified if he sees only part of the data due to the previous point. For instance, user A has only access to defintion D on Engine E1, but user B has access to definition D on E1 and E2. Now we create a report R for definition D. Then A might see different results for in R than user B. In this case we show a warning to the user
        * Permissions related to tenants are being used by Optimize to define what data a user can see.
        * the tenant id that is persisted to Optimize should be available in the variable plugin as well
        * migration guide contains note on the necessity of a reimport in order for tenant specific authorizations to work


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        johannes.heinemann Johannes Heinemann made changes -
        Labels current_release product_design current_release needs_testing product_design
        sebastian.bathke Sebastian Bathke made changes -
        Description * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine. An example could look like the following:
        {code}
        engines:
          # An alias of the engine, which will be used for internal purposes like
          # logging and displaying which data belong to which engine.
          'camunda-bpm':
            #The name of the engine that will be used to import data.
            name: default
            # sets a default tenant to the data from this engine in case there is none configured in the engine
            defaultTenantId: null
            # remaining engine configurations
            ....
        {code}
        * Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        * the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        * the new configuration is added to configuration documentation in the technical guide
        * the scenarios described below are supported and documented in the technical guide.
        * it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * in multi engine scenario the following holds for user authorizations:
        ** once a users logs in, we try go through each configured engine. For each engine the user has Optimize application access, we fetch the authorizations
        ** if there are several engines with the same definition (same key + version), then the user can only see the data the definition+engine combinations he has been granted access.
        ** the user gets notified if he sees only part of the data due to the previous point. For instance, user A has only access to defintion D on Engine E1, but user B has access to definition D on E1 and E2. Now we create a report R for definition D. Then A might see different results for in R than user B. In this case we show a warning to the user
        * Permissions related to tenants are being used by Optimize to define what data a user can see.
        * the tenant id that is persisted to Optimize should be available in the variable plugin as well
        * migration guide contains note on the necessity of a reimport in order for tenant specific authorizations to work


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine. An example could look like the following:
        {code}
        engines:
          # An alias of the engine, which will be used for internal purposes like
          # logging and displaying which data belong to which engine.
          'camunda-bpm':
            #The name of the engine that will be used to import data.
            name: default
            # sets a default tenant to the data from this engine in case there is none configured in the engine
            defaultTenantId: null
            # remaining engine configurations
            ....
        {code}
        * Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        * the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        * the new configuration is added to configuration documentation in the technical guide
        * the scenarios described below are supported and documented in the technical guide.
        * it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * Permissions related to tenants are being used by Optimize to define what data a user can see.
        * the tenant id that is persisted to Optimize should be available in the variable plugin as well
        * migration guide contains note on the necessity of a reimport in order for tenant specific authorizations to work


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        sebastian.bathke Sebastian Bathke made changes -
        Labels current_release needs_testing product_design needs_testing next_release product_design
        sebastian.bathke Sebastian Bathke made changes -
        Description * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine. An example could look like the following:
        {code}
        engines:
          # An alias of the engine, which will be used for internal purposes like
          # logging and displaying which data belong to which engine.
          'camunda-bpm':
            #The name of the engine that will be used to import data.
            name: default
            # sets a default tenant to the data from this engine in case there is none configured in the engine
            defaultTenantId: null
            # remaining engine configurations
            ....
        {code}
        * Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        * the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        * the new configuration is added to configuration documentation in the technical guide
        * the scenarios described below are supported and documented in the technical guide.
        * it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * Permissions related to tenants are being used by Optimize to define what data a user can see.
        * the tenant id that is persisted to Optimize should be available in the variable plugin as well
        * migration guide contains note on the necessity of a reimport in order for tenant specific authorizations to work


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        ** On multiple tenants selected for a report I can only see the result if I'm authorized to all tenants selected
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        ** the order of the process definition selection inputs is [key, version, tenant]
        ** for shared definitions (no tenant set on the definition), I'm presented all authorized tenants in the tenant selection
        ** for tenant specific definitions I'm presented only the tenants the specific definition key & version pair is available for and that I'm authorized to see
        ** if a particular definition key & version pair is available for multiple tenants a warning is displayed in the "Process/Decision Definition Selection"-Popover
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine.
        ** Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        ** the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        ** the new configuration is added to configuration documentation in the technical guide
        ** it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * the scenarios described below are supported and documented in the technical guide.
        * Permissions related to tenants are being used by Optimize to define what data a user can see.
        * the tenant id that is persisted to Optimize should be available in the variable plugin as well
        * migration guide contains note on the necessity of a reimport in order for tenant specific authorizations to work


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        sebastian.bathke Sebastian Bathke made changes -
        Description * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        ** On multiple tenants selected for a report I can only see the result if I'm authorized to all tenants selected
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        ** the order of the process definition selection inputs is [key, version, tenant]
        ** for shared definitions (no tenant set on the definition), I'm presented all authorized tenants in the tenant selection
        ** for tenant specific definitions I'm presented only the tenants the specific definition key & version pair is available for and that I'm authorized to see
        ** if a particular definition key & version pair is available for multiple tenants a warning is displayed in the "Process/Decision Definition Selection"-Popover
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine.
        ** Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        ** the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        ** the new configuration is added to configuration documentation in the technical guide
        ** it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * the scenarios described below are supported and documented in the technical guide.
        * Permissions related to tenants are being used by Optimize to define what data a user can see.
        * the tenant id that is persisted to Optimize should be available in the variable plugin as well
        * migration guide contains note on the necessity of a reimport in order for tenant specific authorizations to work


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        ** On multiple tenants selected for a report I can only see the result if I'm authorized to all tenants selected
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        ** the order of the process definition selection inputs is [key, version, tenant]
        ** for shared definitions (no tenant set on the definition), I'm presented all authorized tenants in the tenant selection
        ** for shared definitions, there is always a default Tenant entry named {{None}}
        ** there an option to select/deselect all tenants (similiar to select/deselect visible columns in table reports)
        ** for tenant specific definitions I'm presented only the tenants the specific definition key & version pair is available for and that I'm authorized to see
        ** if a particular definition key & version pair is available for multiple tenants a warning is displayed in the "Process/Decision Definition Selection"-Popover
        ** the selection of tenants provides a list of tenants to select/deselect individually
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine.
        ** Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        ** the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        ** the new configuration is added to configuration documentation in the technical guide
        ** it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * the scenarios described below are supported and documented in the technical guide.
        * Permissions related to tenants are being used by Optimize to define what data a user can see.
        * the tenant id that is persisted to Optimize should be available in the variable plugin as well
        * migration guide contains note on the necessity of a reimport in order for tenant specific authorizations to work


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        sebastian.bathke Sebastian Bathke made changes -
        Description * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        ** On multiple tenants selected for a report I can only see the result if I'm authorized to all tenants selected
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        ** the order of the process definition selection inputs is [key, version, tenant]
        ** for shared definitions (no tenant set on the definition), I'm presented all authorized tenants in the tenant selection
        ** for shared definitions, there is always a default Tenant entry named {{None}}
        ** there an option to select/deselect all tenants (similiar to select/deselect visible columns in table reports)
        ** for tenant specific definitions I'm presented only the tenants the specific definition key & version pair is available for and that I'm authorized to see
        ** if a particular definition key & version pair is available for multiple tenants a warning is displayed in the "Process/Decision Definition Selection"-Popover
        ** the selection of tenants provides a list of tenants to select/deselect individually
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine.
        ** Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        ** the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        ** the new configuration is added to configuration documentation in the technical guide
        ** it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * the scenarios described below are supported and documented in the technical guide.
        * Permissions related to tenants are being used by Optimize to define what data a user can see.
        * the tenant id that is persisted to Optimize should be available in the variable plugin as well
        * migration guide contains note on the necessity of a reimport in order for tenant specific authorizations to work


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        ** On multiple tenants selected for a report I can only see the result if I'm authorized to all tenants selected
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        ** the order of the process definition selection inputs is [key, version, tenant]
        ** for shared definitions (no tenant set on the definition), I'm presented all tenants I'm authorized to access in the tenant selection
        ** for shared definitions, there is always a default Tenant entry named {{None}}
        ** there an option to select/deselect all tenants (similiar to select/deselect visible columns in table reports)
        ** for tenant specific definitions I'm presented only the tenants the specific definition key & version pair is available for and that I'm authorized to see
        ** if a particular definition key & version pair is available for multiple tenants a warning is displayed in the "Process/Decision Definition Selection"-Popover
        ** the selection of tenants provides a list of tenants to select/deselect individually
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine.
        ** Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        ** the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        ** the new configuration is added to configuration documentation in the technical guide
        ** it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * the scenarios described below are supported and documented in the technical guide.
        * Permissions related to tenants are being used by Optimize to define what data a user can see.
        * the tenant id that is persisted to Optimize should be available in the variable plugin as well
        * migration guide contains note on the necessity of a reimport in order for tenant specific authorizations to work


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        sebastian.bathke Sebastian Bathke made changes -
        Description * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        ** On multiple tenants selected for a report I can only see the result if I'm authorized to all tenants selected
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        ** the order of the process definition selection inputs is [key, version, tenant]
        ** for shared definitions (no tenant set on the definition), I'm presented all tenants I'm authorized to access in the tenant selection
        ** for shared definitions, there is always a default Tenant entry named {{None}}
        ** there an option to select/deselect all tenants (similiar to select/deselect visible columns in table reports)
        ** for tenant specific definitions I'm presented only the tenants the specific definition key & version pair is available for and that I'm authorized to see
        ** if a particular definition key & version pair is available for multiple tenants a warning is displayed in the "Process/Decision Definition Selection"-Popover
        ** the selection of tenants provides a list of tenants to select/deselect individually
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine.
        ** Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        ** the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        ** the new configuration is added to configuration documentation in the technical guide
        ** it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * the scenarios described below are supported and documented in the technical guide.
        * Permissions related to tenants are being used by Optimize to define what data a user can see.
        * the tenant id that is persisted to Optimize should be available in the variable plugin as well
        * migration guide contains note on the necessity of a reimport in order for tenant specific authorizations to work


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        ** On multiple tenants selected for a report I can only see the result if I'm authorized to all tenants selected
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        ** the order of the process definition selection inputs is [key, version, tenant]
        ** for shared definitions (no tenant set on the definition), I'm presented all tenants I'm authorized to access in the tenant selection
        ** for shared definitions, there is always a default Tenant entry named {{None}}
        ** the selection of tenants provides a list of tenants to select/deselect individually
        ** by default all tenants are preselected
        ** there is an way to select/deselect all tenants (similiar to select/deselect visible columns in table reports)
        ** for tenant specific definitions I'm presented only the tenants the specific definition key & version pair is available for and that I'm authorized to see
        ** if a particular definition key & version pair is available for multiple tenants a warning is displayed in the "Process/Decision Definition Selection"-Popover
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine.
        ** Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        ** the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        ** the new configuration is added to configuration documentation in the technical guide
        ** it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * the scenarios described below are supported and documented in the technical guide.
        * Permissions related to tenants are being used by Optimize to define what data a user can see.
        * the tenant id that is persisted to Optimize should be available in the variable plugin as well
        * migration guide contains note on the necessity of a reimport in order for tenant specific authorizations to work


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        sebastian.bathke Sebastian Bathke made changes -
        Description * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        ** On multiple tenants selected for a report I can only see the result if I'm authorized to all tenants selected
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        ** the order of the process definition selection inputs is [key, version, tenant]
        ** for shared definitions (no tenant set on the definition), I'm presented all tenants I'm authorized to access in the tenant selection
        ** for shared definitions, there is always a default Tenant entry named {{None}}
        ** the selection of tenants provides a list of tenants to select/deselect individually
        ** by default all tenants are preselected
        ** there is an way to select/deselect all tenants (similiar to select/deselect visible columns in table reports)
        ** for tenant specific definitions I'm presented only the tenants the specific definition key & version pair is available for and that I'm authorized to see
        ** if a particular definition key & version pair is available for multiple tenants a warning is displayed in the "Process/Decision Definition Selection"-Popover
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine.
        ** Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        ** the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        ** the new configuration is added to configuration documentation in the technical guide
        ** it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * the scenarios described below are supported and documented in the technical guide.
        * Permissions related to tenants are being used by Optimize to define what data a user can see.
        * the tenant id that is persisted to Optimize should be available in the variable plugin as well
        * migration guide contains note on the necessity of a reimport in order for tenant specific authorizations to work


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        ** On multiple tenants selected for a report I can only see the result if I'm authorized to all tenants selected
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        ** the order of the process definition selection inputs is [key, version, tenant]
        ** the tenant dropdown provides a list of tenants to select/deselect individually
        ** for shared definitions (no tenant set on the definition itself), I'm presented all tenants I'm authorized to access in the tenant dropdown
        ** for shared definitions, there is always a default tenant value named {{None}} available as last option in the tenant dropdown
        ** by default all tenants are preselected in the tenant dropdown
        ** there is a way to quickly select/deselect all tenants (similiar to select/deselect visible columns in table reports)
        ** for tenant specific definitions I'm presented only the tenants the currently selected definition key & version pair is available for and that I'm authorized to see
        ** if a particular definition key & version pair is available for multiple tenants a warning is displayed in the "Process/Decision Definition Selection"-Popover to inform the user of potentially inconsistent results
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine.
        ** Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        ** the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        ** the new configuration is added to configuration documentation in the technical guide
        ** it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * the scenarios described below are supported and documented in the technical guide.
        * Permissions related to tenants are being used by Optimize to define what data a user can see.
        * the tenant id that is persisted to Optimize should be available in the variable plugin as well
        * migration guide contains note on the necessity of a reimport in order for tenant specific authorizations to work


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        sebastian.bathke Sebastian Bathke made changes -
        Description * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        ** On multiple tenants selected for a report I can only see the result if I'm authorized to all tenants selected
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        ** the order of the process definition selection inputs is [key, version, tenant]
        ** the tenant dropdown provides a list of tenants to select/deselect individually
        ** for shared definitions (no tenant set on the definition itself), I'm presented all tenants I'm authorized to access in the tenant dropdown
        ** for shared definitions, there is always a default tenant value named {{None}} available as last option in the tenant dropdown
        ** by default all tenants are preselected in the tenant dropdown
        ** there is a way to quickly select/deselect all tenants (similiar to select/deselect visible columns in table reports)
        ** for tenant specific definitions I'm presented only the tenants the currently selected definition key & version pair is available for and that I'm authorized to see
        ** if a particular definition key & version pair is available for multiple tenants a warning is displayed in the "Process/Decision Definition Selection"-Popover to inform the user of potentially inconsistent results
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine.
        ** Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        ** the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        ** the new configuration is added to configuration documentation in the technical guide
        ** it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * the scenarios described below are supported and documented in the technical guide.
        * Permissions related to tenants are being used by Optimize to define what data a user can see.
        * the tenant id that is persisted to Optimize should be available in the variable plugin as well
        * migration guide contains note on the necessity of a reimport in order for tenant specific authorizations to work


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        ** On multiple tenants selected for a report I can only see the result if I'm authorized to all tenants selected
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        ** the order of the process definition selection inputs is [key, version, tenant]
        ** the tenant dropdown provides a list of tenants to select/deselect individually
        ** for shared definitions (no tenant set on the definition itself), I'm presented all tenants I'm authorized to access in the tenant dropdown
        ** for shared definitions, there is always a default tenant value named {{None}} available as last option in the tenant dropdown
        ** by default all tenants are pre-selected in the tenant dropdown
        ** there is a way to quickly select/deselect all tenants (similar to select/deselect visible columns in table reports)
        ** for tenant specific definitions I'm presented only the tenants the currently selected definition key & version pair is available for and that I'm authorized to see
        ** if a particular definition key & version pair is available for multiple tenants a warning is displayed in the "Process/Decision Definition Selection"-Popover to inform the user of potentially inconsistent results
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine.
        ** Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        ** the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        ** the new configuration is added to configuration documentation in the technical guide
        ** it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * the scenarios described below are supported and documented in the technical guide.
        * Permissions related to tenants are being used by Optimize to define what data a user can see.
        * the tenant id that is persisted to Optimize should be available in the variable plugin as well
        * migration guide contains note on the necessity of a reimport in order for tenant specific authorizations to work


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        sebastian.bathke Sebastian Bathke made changes -
        Description * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        ** On multiple tenants selected for a report I can only see the result if I'm authorized to all tenants selected
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        ** the order of the process definition selection inputs is [key, version, tenant]
        ** the tenant dropdown provides a list of tenants to select/deselect individually
        ** for shared definitions (no tenant set on the definition itself), I'm presented all tenants I'm authorized to access in the tenant dropdown
        ** for shared definitions, there is always a default tenant value named {{None}} available as last option in the tenant dropdown
        ** by default all tenants are pre-selected in the tenant dropdown
        ** there is a way to quickly select/deselect all tenants (similar to select/deselect visible columns in table reports)
        ** for tenant specific definitions I'm presented only the tenants the currently selected definition key & version pair is available for and that I'm authorized to see
        ** if a particular definition key & version pair is available for multiple tenants a warning is displayed in the "Process/Decision Definition Selection"-Popover to inform the user of potentially inconsistent results
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine.
        ** Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        ** the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        ** the new configuration is added to configuration documentation in the technical guide
        ** it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * the scenarios described below are supported and documented in the technical guide.
        * Permissions related to tenants are being used by Optimize to define what data a user can see.
        * the tenant id that is persisted to Optimize should be available in the variable plugin as well
        * migration guide contains note on the necessity of a reimport in order for tenant specific authorizations to work


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        ** On multiple tenants selected for a report I can only see the result if I'm authorized to all tenants selected
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        ** the order of the process definition selection inputs is [key, version, tenant]
        ** the tenant dropdown provides a list of tenants to select/deselect individually
        ** for shared definitions (no tenant set on the definition itself), I'm presented all tenants I'm authorized to access in the tenant dropdown
        ** for shared definitions, there is always a default tenant value named {{None}} available as last option in the tenant dropdown
        ** the default tenant {{None}} is treated as any other tenant option and can be selected in conjunction with others
        ** by default all tenants are pre-selected in the tenant dropdown (this includes the default {{None}} tenant)
        ** there is a way to quickly select/deselect all tenants (similar to select/deselect visible columns in table reports)
        ** for tenant specific definitions I'm presented only the tenants the currently selected definition key & version pair is available for and that I'm authorized to see
        ** if a particular definition key & version pair is available for multiple tenants a warning is displayed in the "Process/Decision Definition Selection"-Popover to inform the user of potentially inconsistent results
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine.
        ** Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        ** the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        ** the new configuration is added to configuration documentation in the technical guide
        ** it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * the scenarios described below are supported and documented in the technical guide.
        * Permissions related to tenants are being used by Optimize to define what data a user can see.
        * the tenant id that is persisted to Optimize should be available in the variable plugin as well
        * migration guide contains note on the necessity of a reimport in order for tenant specific authorizations to work


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        sebastian.bathke Sebastian Bathke made changes -
        Description * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        ** On multiple tenants selected for a report I can only see the result if I'm authorized to all tenants selected
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        ** the order of the process definition selection inputs is [key, version, tenant]
        ** the tenant dropdown provides a list of tenants to select/deselect individually
        ** for shared definitions (no tenant set on the definition itself), I'm presented all tenants I'm authorized to access in the tenant dropdown
        ** for shared definitions, there is always a default tenant value named {{None}} available as last option in the tenant dropdown
        ** the default tenant {{None}} is treated as any other tenant option and can be selected in conjunction with others
        ** by default all tenants are pre-selected in the tenant dropdown (this includes the default {{None}} tenant)
        ** there is a way to quickly select/deselect all tenants (similar to select/deselect visible columns in table reports)
        ** for tenant specific definitions I'm presented only the tenants the currently selected definition key & version pair is available for and that I'm authorized to see
        ** if a particular definition key & version pair is available for multiple tenants a warning is displayed in the "Process/Decision Definition Selection"-Popover to inform the user of potentially inconsistent results
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine.
        ** Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        ** the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        ** the new configuration is added to configuration documentation in the technical guide
        ** it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * the scenarios described below are supported and documented in the technical guide.
        * Permissions related to tenants are being used by Optimize to define what data a user can see.
        * the tenant id that is persisted to Optimize should be available in the variable plugin as well
        * migration guide contains note on the necessity of a reimport in order for tenant specific authorizations to work


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        ** On multiple tenants selected for a report I can only see the result if I'm authorized to all tenants selected
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        ** the order of the process definition selection inputs is [key, version, tenant]
        ** the tenant dropdown provides a list of tenants to select/deselect individually
        ** for shared definitions (no tenant set on the definition itself), I'm presented all tenants I'm authorized to access in the tenant dropdown
        ** for shared definitions, there is always a default tenant value named {{None}} available as last option in the tenant dropdown
        ** the default tenant {{None}} is treated as any other tenant option and can be selected in conjunction with others
        ** by default all tenants are pre-selected in the tenant dropdown (this includes the default {{None}} tenant)
        ** there is a way to quickly select/deselect all tenants (similar to select/deselect visible columns in table reports)
        ** for tenant specific definitions I'm presented only the tenants the currently selected definition key & version pair is available for and that I'm authorized to see
        ** if a particular definition key & version pair is available for multiple tenants a warning is displayed in the "Process/Decision Definition Selection"-Popover to inform the user that we only pick one xml and that if the definitions differ the results may be inconsistent
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine.
        ** Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        ** the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        ** the new configuration is added to configuration documentation in the technical guide
        ** it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * the scenarios described below are supported and documented in the technical guide.
        * Permissions related to tenants are being used by Optimize to define what data a user can see.
        * the tenant id that is persisted to Optimize should be available in the variable plugin as well
        * migration guide contains note on the necessity of a reimport in order for tenant specific authorizations to work


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        sebastian.bathke Sebastian Bathke made changes -
        Description * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        ** On multiple tenants selected for a report I can only see the result if I'm authorized to all tenants selected
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        ** the order of the process definition selection inputs is [key, version, tenant]
        ** the tenant dropdown provides a list of tenants to select/deselect individually
        ** for shared definitions (no tenant set on the definition itself), I'm presented all tenants I'm authorized to access in the tenant dropdown
        ** for shared definitions, there is always a default tenant value named {{None}} available as last option in the tenant dropdown
        ** the default tenant {{None}} is treated as any other tenant option and can be selected in conjunction with others
        ** by default all tenants are pre-selected in the tenant dropdown (this includes the default {{None}} tenant)
        ** there is a way to quickly select/deselect all tenants (similar to select/deselect visible columns in table reports)
        ** for tenant specific definitions I'm presented only the tenants the currently selected definition key & version pair is available for and that I'm authorized to see
        ** if a particular definition key & version pair is available for multiple tenants a warning is displayed in the "Process/Decision Definition Selection"-Popover to inform the user that we only pick one xml and that if the definitions differ the results may be inconsistent
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine.
        ** Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        ** the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        ** the new configuration is added to configuration documentation in the technical guide
        ** it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * the scenarios described below are supported and documented in the technical guide.
        * Permissions related to tenants are being used by Optimize to define what data a user can see.
        * the tenant id that is persisted to Optimize should be available in the variable plugin as well
        * migration guide contains note on the necessity of a reimport in order for tenant specific authorizations to work


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        * given:
        ** I use multiple tenants in Camunda or I have multiple engines each treated as a separate tenant
        * when:
        ** I start Optimize
        ** The data is imported
        ** I use Optimize
        * then:
        ** I can select for which tenant I want to create a report for
        ** I can only see the data for the tenant I'm authorized for
        ** On multiple tenants selected for a report I can only see the result if I'm authorized to all tenants selected
        * such that:
        ** I can use Optimize with multi-tenancy

        *AT:*
        * when I create a report and we have multiple tenants in Optimize, then I see an additional dropdown in the process definition selection where I can select the tenant as well.
        ** the order of the process definition selection inputs is [key, version, tenant]
        ** the tenant dropdown provides a list of tenants to select/deselect individually
        ** for shared definitions (no tenant set on the definition itself), I'm presented all tenants I'm authorized to access in the tenant dropdown
        ** for shared definitions, there is always a default tenant value named {{None}} available as last option in the tenant dropdown
        ** the default tenant {{None}} is treated as any other tenant option and can be selected in conjunction with others
        ** by default all tenants are pre-selected in the tenant dropdown (this includes the default {{None}} tenant)
        ** there is a way to quickly select/deselect all tenants (similar to select/deselect visible columns in table reports)
        ** for tenant specific definitions I'm presented only the tenants the currently selected definition key & version pair is available for and that I'm authorized to see
        ** if a particular definition key & version pair is available for multiple tenants a warning is displayed in the "Process/Decision Definition Selection"-Popover to inform the user that we only pick one xml for displaying the process and that if the definitions differ the results may be inconsistent
        * the engine configuration is extended by an {{defaultTenantId}} field, which allows to add a tenant to the data even if there is no explicit tenant set in the engine.
        ** Once the {{defaultTenantId}} is set and there is no tenant set in the engine, Optimize will automatically set the default tenant to the data. In particular, the tenant from the engine has higher priority than the tenant identifier configured in Optimize.
        ** the descriptions of the {{engines.'engine alias'}}, {{engines.'engine alias'.engines}} and {{enignes.'engine alias'.defaultTenantId}} are adjusted so that it's clear what the difference between those three fields is.
        ** the new configuration is added to configuration documentation in the technical guide
        ** it is also documented that the scenario with having multiple engines without any tenant defined and also no default tenant in Optimize configured, but then several engines have the same process definition (same key+version) is not supported
        * the scenarios described below are supported and documented in the technical guide.
        * Permissions related to tenants are being used by Optimize to define what data a user can see.
        * the tenant id that is persisted to Optimize should be available in the variable plugin as well
        * migration guide contains note on the necessity of a reimport in order for tenant specific authorizations to work


        *Possible Scenarios:*
        # there is one engine with multiple tenants
        # there are multiple engines, each one has its own tenant configured
        # there are multiple engiens, none of them has any tenant configured, but those engines should be treated as different tenants
        # there are multiple engine, none of them has any tenant configured, but the user does not care about analyzing the different engine separately

        *Hints:*
        https://docs.camunda.org/manual/7.10/user-guide/process-engine/multi-tenancy/#single-process-engine-with-tenant-identifiers
        michael.wagner Michael Wagner made changes -
        Labels needs_testing next_release product_design current_release needs_testing next_release product_design
        michael.wagner Michael Wagner made changes -
        Labels current_release needs_testing next_release product_design current_release needs_testing product_design
        sebastian.bathke Sebastian Bathke made changes -
        Labels current_release needs_testing product_design needs_testing next_release
        sebastian.bathke Sebastian Bathke made changes -
        Labels needs_testing next_release current_release needs_testing product_design
        sebastian.bathke Sebastian Bathke made changes -
        Status In Development [ 10312 ] In Review [ 10212 ]
        johannes.heinemann Johannes Heinemann made changes -
        Labels current_release needs_testing product_design current_release needs_testing next_release product_design
        johannes.heinemann Johannes Heinemann made changes -
        Labels current_release needs_testing next_release product_design needs_testing next_release product_design
        johannes.heinemann Johannes Heinemann made changes -
        Labels needs_testing next_release product_design current_release needs_testing next_release product_design
        johannes.heinemann Johannes Heinemann made changes -
        Labels current_release needs_testing next_release product_design current_release needs_testing product_design
        sebastian.bathke Sebastian Bathke made changes -
        Assignee Sebastian Bathke [ sebastian.bathke ]
        Status In Review [ 10212 ] Done [ 10010 ]
        Resolution Done [ 10000 ]

          People

          • Assignee:
            Unassigned
            Reporter:
            felix.mueller Felix Müller
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: