Uploaded image for project: 'Camunda Optimize'
  1. Camunda Optimize
  2. OPT-6670

Create instant preview dashboard upon importing a process definition (backend)

    • Icon: Task Task
    • Resolution: Fixed
    • Icon: L3 - Default L3 - Default
    • 3.10.0-alpha4, 3.10.0
    • None
    • backend
    • None

      Create a new "instant-preview" dashboard whenever a process definition is imported. Characteristics of this dashboard:

      • Must have a predictable URL based on the process definition key
      • The dashboard template is a JSON file with a fixed name (location and name TBD). Depending on the query parameter values, a new template can be used. Like this we can have several templates
      • The Backend will parse the Json file (which will be a file generated from Optimize using the export API (see below). Since the exported file will have concrete IDs (for Dashboards/Reports/XML Diagrams, etc), the backend needs to parse this file and replace the concrete data by placeholders, so that the dashboard can be used as a template for other processes. This makes it easier for the product manager to define and export a new dashboard template
        GET /api/export/dashboard/json/{dashboardId}/{fileName} 
      • Make sure that access to this dashboard is only granted to users with proper permission: Will be handled in OPT-6701
      • The request to the back end has the form:
      GET /api/dashboard/instant/<PROC_DEF_KEY>/?template=<JSON_FILE_NAME> 
      
      
      • The response of this request is still to be defined, but it will be analogous to 
      GET /api/dashboard/:id
      • Generation and update of the instant preview dashboards will be handled in OPT-6675

      Testing notes

      Can only be tested in conjunction with OPT-6675, so testing notes will be written there

        This is the controller panel for Smart Panels app

            [OPT-6670] Create instant preview dashboard upon importing a process definition (backend)

            Giuliano Rodrigues Lima created issue -
            Giuliano Rodrigues Lima made changes -
            Link New: This issue is depended on by OPT-6671 [ OPT-6671 ]
            Giuliano Rodrigues Lima made changes -
            Link New: This issue is depended on by OPT-6672 [ OPT-6672 ]
            Giuliano Rodrigues Lima made changes -
            Link New: This issue is depended on by OPT-6673 [ OPT-6673 ]
            Giuliano Rodrigues Lima made changes -
            Status Original: Triage [ 10612 ] New: In Development [ 10312 ]
            Giuliano Rodrigues Lima made changes -
            Description Original: Create a new "instant-preview" dashboard whenever a process definition is imported. Characteristics of this dashboard:
             * Must have a predictable URL based on the process definition key
             * The dashboard template is a JSON file with a fixed name (location and name TBD). Depending on the query parameter values, a new template can be used. Like this we can have several templates
             * Make sure that access to this dashboard is only granted to users with proper permission
            New: Create a new "instant-preview" dashboard whenever a process definition is imported. Characteristics of this dashboard:
             * Must have a predictable URL based on the process definition key
             * The dashboard template is a JSON file with a fixed name (location and name TBD). Depending on the query parameter values, a new template can be used. Like this we can have several templates
             * The Backend will parse the Json file (which will be a file generated from Optimize using. Since the exported file will have concrete IDs (for Dashboards/Reports/XML Diagrams, etc), the backend needs to parse this file and replace the concrete data by placeholders, so that the dashboard can be used as a template for other processes
            {code:java}
            GET /api/export/dashboard/json/{dashboardId}/{fileName} {code}

             * Make sure that access to this dashboard is only granted to users with proper permission
             * The request to the back end has the form:

            {code:java}
            GET https://stage.optimize.camunda.cloud/api/dashboard/instant/&lt;PROC_DEF_KEY&gt;/?template=&lt;JSON_FILE_NAME>

            {code}
             * The response of this request is still to be defined, but it will be analogous to 

            {code:java}
            GET /api/dashboard/:id{code}
             * The backend will generate the instant preview dashboard for each process definition upon first import to Optimize
             * An upgrade task needs to be written so that this dashboard is also created for existing processes 
             * Upon the startup of an Optimize instance, the backend shall check if the template has changed (e.g. by version). If it did, then the instant preview dashboards need to be re-generated
            Effort Original: M [ 11255 ] New: L [ 11256 ]
            Giuliano Rodrigues Lima made changes -
            Description Original: Create a new "instant-preview" dashboard whenever a process definition is imported. Characteristics of this dashboard:
             * Must have a predictable URL based on the process definition key
             * The dashboard template is a JSON file with a fixed name (location and name TBD). Depending on the query parameter values, a new template can be used. Like this we can have several templates
             * The Backend will parse the Json file (which will be a file generated from Optimize using. Since the exported file will have concrete IDs (for Dashboards/Reports/XML Diagrams, etc), the backend needs to parse this file and replace the concrete data by placeholders, so that the dashboard can be used as a template for other processes
            {code:java}
            GET /api/export/dashboard/json/{dashboardId}/{fileName} {code}

             * Make sure that access to this dashboard is only granted to users with proper permission
             * The request to the back end has the form:

            {code:java}
            GET https://stage.optimize.camunda.cloud/api/dashboard/instant/&lt;PROC_DEF_KEY&gt;/?template=&lt;JSON_FILE_NAME>

            {code}
             * The response of this request is still to be defined, but it will be analogous to 

            {code:java}
            GET /api/dashboard/:id{code}
             * The backend will generate the instant preview dashboard for each process definition upon first import to Optimize
             * An upgrade task needs to be written so that this dashboard is also created for existing processes 
             * Upon the startup of an Optimize instance, the backend shall check if the template has changed (e.g. by version). If it did, then the instant preview dashboards need to be re-generated
            New: Create a new "instant-preview" dashboard whenever a process definition is imported. Characteristics of this dashboard:
             * Must have a predictable URL based on the process definition key
             * The dashboard template is a JSON file with a fixed name (location and name TBD). Depending on the query parameter values, a new template can be used. Like this we can have several templates
             * The Backend will parse the Json file (which will be a file generated from Optimize using the export API (see below). Since the exported file will have concrete IDs (for Dashboards/Reports/XML Diagrams, etc), the backend needs to parse this file and replace the concrete data by placeholders, so that the dashboard can be used as a template for other processes. This makes it easier for the product manager to define and export a new dashboard template
            {code:java}
            GET /api/export/dashboard/json/{dashboardId}/{fileName} {code}

             * Make sure that access to this dashboard is only granted to users with proper permission
             * The request to the back end has the form:

            {code:java}
            GET /api/dashboard/instant/<PROC_DEF_KEY>/?template=<JSON_FILE_NAME>

            {code}
             * The response of this request is still to be defined, but it will be analogous to 

            {code:java}
            GET /api/dashboard/:id{code}
             * The backend will generate the instant preview dashboard for each process definition upon first import to Optimize
             * An upgrade task needs to be written so that this dashboard is also created for existing processes 
             * Upon the startup of an Optimize instance, the backend shall check if the template has changed (e.g. by version). If it did, then the instant preview dashboards need to be re-generated
            Giuliano Rodrigues Lima made changes -
            Link New: This issue depends on OPT-6675 [ OPT-6675 ]
            Giuliano Rodrigues Lima made changes -
            Description Original: Create a new "instant-preview" dashboard whenever a process definition is imported. Characteristics of this dashboard:
             * Must have a predictable URL based on the process definition key
             * The dashboard template is a JSON file with a fixed name (location and name TBD). Depending on the query parameter values, a new template can be used. Like this we can have several templates
             * The Backend will parse the Json file (which will be a file generated from Optimize using the export API (see below). Since the exported file will have concrete IDs (for Dashboards/Reports/XML Diagrams, etc), the backend needs to parse this file and replace the concrete data by placeholders, so that the dashboard can be used as a template for other processes. This makes it easier for the product manager to define and export a new dashboard template
            {code:java}
            GET /api/export/dashboard/json/{dashboardId}/{fileName} {code}

             * Make sure that access to this dashboard is only granted to users with proper permission
             * The request to the back end has the form:

            {code:java}
            GET /api/dashboard/instant/<PROC_DEF_KEY>/?template=<JSON_FILE_NAME>

            {code}
             * The response of this request is still to be defined, but it will be analogous to 

            {code:java}
            GET /api/dashboard/:id{code}
             * The backend will generate the instant preview dashboard for each process definition upon first import to Optimize
             * An upgrade task needs to be written so that this dashboard is also created for existing processes 
             * Upon the startup of an Optimize instance, the backend shall check if the template has changed (e.g. by version). If it did, then the instant preview dashboards need to be re-generated
            New: Create a new "instant-preview" dashboard whenever a process definition is imported. Characteristics of this dashboard:
             * Must have a predictable URL based on the process definition key
             * The dashboard template is a JSON file with a fixed name (location and name TBD). Depending on the query parameter values, a new template can be used. Like this we can have several templates
             * The Backend will parse the Json file (which will be a file generated from Optimize using the export API (see below). Since the exported file will have concrete IDs (for Dashboards/Reports/XML Diagrams, etc), the backend needs to parse this file and replace the concrete data by placeholders, so that the dashboard can be used as a template for other processes. This makes it easier for the product manager to define and export a new dashboard template
            {code:java}
            GET /api/export/dashboard/json/{dashboardId}/{fileName} {code}

             * Make sure that access to this dashboard is only granted to users with proper permission
             * The request to the back end has the form:

            {code:java}
            GET /api/dashboard/instant/<PROC_DEF_KEY>/?template=<JSON_FILE_NAME>

            {code}
             * The response of this request is still to be defined, but it will be analogous to 

            {code:java}
            GET /api/dashboard/:id{code}
             * Generation and update of the instant preview dashboards will be handled in OPT-6675
            Giuliano Rodrigues Lima made changes -
            Link New: This issue is depended on by OPT-6701 [ OPT-6701 ]

              Unassigned Unassigned
              giuliano.rodrigues-lima Giuliano Rodrigues Lima
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: