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

Optimize Entity API Enhancements

XMLWordPrintable

    • Icon: Epic Epic
    • Resolution: Unresolved
    • Icon: L3 - Default L3 - Default
    • None
    • None
    • None
    • 2
    • Not defined
    • Export & Import Enhancements

      What is the desired functionality that you are missing?

      Allow customers to programmatically interact with dashboards and reports, plus adjacent functionality to make this a smooth, sensible experience.

      Which problem are you going to solve with this functionality?

      Camunda is a platform upon which other applications are often built. These applications need programmatic access to Optimize to take advantage of it. In addition, dashboards and reports in production are important to keep working, so their changes are programmatically managed through source control and separate dev and production environments.

      Confidential context is available on the product roadmap

      User Scenario

      Sam is a software developer responsible for deploying dashboards and reports to their stage and prod environments of their Camunda deployment. Data scientists or other non-developers create the right set of dashboards and reports using toy data in a staging environment. Then, Sam saves the configurations to these dashboards and reports to his version control system. After a review and approval process, Sam deploys these dashboards to a specified collection in a production environment, making their configurations immediately available and synchronized with the stage environment.

      Later, Sam gets instructions to integrate Optimize into the company’s analytics platform. Using an API, Sam sets up a data pipeline to extract the data being visualized to be used in the external tool. Now, Sam’s colleagues can create custom visualizations that meet their style guides as well as keep all their data centralized in their business informatics solution.

      What problem does it solve?

      Camunda provides professional developers with the ability to automate any process, anywhere. However, building and managing dashboards and reports, the primary output of Camunda Optimize, does not have an API.
      One customer cited the following advantages
      CI/CD: this would allow us to design reports in the development environment and automatically stage them to other environments or set up all reports in a new environment
      SECURITY: so a report can be designed by a data scientist who does not have access to sensible productive information
      INTEGRITY: in addition, we can restore reports if somebody hit the wrong button and deletes one
      EFFICIENCY: currently have 75 Reports, considering one minute for up-and download per each, it takes 2,5 hrs to replicate all of them
      SUPPORT-11402 - Import/Export Optimize Reports via REST API

      In addition, accessing the underlying data programmatically has been hotly requested to be used in a user-facing frontend or a company analytics platform. The following benefits are often cited:
      CUSTOMIZATION: Conduent asked if they can change how the graphs are visualized, including colors, stroke width, and more.
      ADDITIONAL ANALYSIS: Another customer asked to compare data of one variable against another. This is not supported in Optimize. API support for data extraction allows us to say “no” to feature requests that are misaligned with product goals without blocking the customer

      Scoping:

      NOTE: This is a strawman approach intended to achieve the user scenario. It is subject to further refinement by Engineering.

      • (P2) REST endpoints for validation of reports configurations (no ticket)
      • (P2) REST endpoints for validation of dashboard configurations (no ticket)
      • (P2) Ability to find out active version (e.g. version #, last updated timestamp). This may be a part of OPT-5516
      • (P3) REST endpoints for GET/PUT/POST/DELETE of collection configurations (incl. data source IDs)
      • (P3) REST endpoints for GET/PUT/POST/DELETE of alerts
      • (P3) Bulk functions to trigger a manual deployment including ad-hoc changes (e.g. GET ALL, PUT ALL)
      • (P3) Graceful handling of API-created/modified reports/dashboards that can not be created/modified in the UI
      • e.g. if a report/dashboard leverages advanced, API-only functionality, the report/dashboard becomes read-only

      Acceptance Criteria

      The minimum acceptable scope for the first iteration is the ability to complete the described user scenario. This is described by the P1 tickets described above. Additional work (P2) will improve the user experience and can be added as a second iteration

      Use Cases

      • Identify which entity definitions are available on Optimize (SUPPORT-11402)
      • Backup and restore all entity definitions in Optimize deployment (SUPPORT-11492, SUPPORT-10822)
      • Manage entity definitions as code across dev and prod environments via CI/CD (SUPPORT-10428)
      • Keep entity definitions current via versioning (SUPPORT-10428)
      • Enable customers to integrate Optimize into their own analytics platforms (customer call)
      • Enable customers to integrate Optimize into their own applications (customer call)
      • Enable customers to perform additional analyses not supported by Optimize, such as variable vs variable analysis

        This is the controller panel for Smart Panels app

              tobias.conz Tobias Conz
              felix.mueller Felix Mueller
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: