Coder Social home page Coder Social logo

dashboards-flow-framework's People

Contributors

amazon-auto avatar mend-for-github-com[bot] avatar ohltyler avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

dashboards-flow-framework's Issues

[META] Test application portal

We will have several iterations and improvements to a test application portal. This portal will allow users to test their created workflows.

Rapid prototyping enhancements

To support the user experience of rapid prototyping on a use case / workflow, there are a few enhancements we can make. This list is TBD and dependent on final design from @opensearch-project/opensearch-ux

  • show resources that can be deleted when re-running / re-executing a workflow
  • show recently-ran resources somewhere in an accessible area

Handle credential inputs securely

There are components that will need API keys / credentials as part of the configuration when constructing use cases, such as API keys for configuring and creating a connector to an external service like OpenAI, for example.

We will need to design a secure way for storing and processing this input in the frontend

Support initial APIs from the backend framework

Set up the node APIs and the server side infrastructure for supporting API calls to the connected OpenSearch cluster. Support a few initial APIs, such as:

  • create workflow
  • fetch workflow status
  • fetch workflow details
  • delete workflow

Bootstrapping components and validation

Building out any fetching logic for dynamic components, to know what is available to show in a list that the user may drag into their workspace. The current known ones are:

  • ML commons models
  • Ingest processors
  • Search processors

We will also need to check what plugins are available (e.g., ML commons).

We will need to check these things to ensure what components and/or workflows are valid for the user to use. This will likely involve several API calls to other plugins.

Read-only workspace

Build out the workspace area to construct the workflows. Initially we may have the workspace be read-only regarding the components and connections between them. We will only allow users to input the required fields within the components. We will also want to show validation and any errors of a given workflow. This is pending final design from @opensearch-project/opensearch-ux

[META] Workflow validation & conversion

As the UI workflows become more advanced and have more capabilities, we will need to similarly support more advanced validation of such workflows, and the logic for converting them into use case templates. We can track the iterative milestones in this issue.

Support more APIs from the backend framework

List of concrete APIs to add is TBD. We will likely have more advanced APIs and will want to process things like workflow state, list of created resources from a workflow, saving template-only, etc.

Support a generic test application portal

Expand the application portal to support custom workflows that can take generic inputs/outputs (may have some limitations to start). Details to be added as the design becomes more finalized.

Custom workflow workspace

Once custom workflows is supported by the backend framework, we will want to allow users to construct their own workflows, being able to drag in any components and linking them together. This will need more advanced workflow validation, as well as more interfaced functionality of the components to allow / disallow components to be linked together, etc.

Support workflow state

Have a loading bar or somewhere to view workflow status after a user submits/creates a new workflow. May involve new API integrations to process some of the state from the backend framework. May be updated as the design is finalized from @opensearch-project/opensearch-ux

Workflow management

Area to perform all CRUD operations on user-created workflows. Idea: similar to AD detector list? Pending final design from @opensearch-project/opensearch-ux

Persisting UI metadata

Design & implement how to persist the ReactFlow JSON somewhere in the backend (part of use-case template, separate system index, etc.). May need some backend implementation.

[META] Workflow editor

Introduce a workflow editor containing a drag-and-drop workspace where users can stitch together generic building blocks to build out their applications. When validated, they can launch their workflow to create any necessary resources and begin to prototype.

Proposed mock as of 2/19 from @opensearch-project/opensearch-ux:

Screenshot 2024-02-19 at 4 38 19 PM

Basic test application portal

Build out a test application portal for user to test their built workflows. Convert input to a neural search query. Only support a few use cases to start. Pending final design from @opensearch-project/opensearch-ux

[PROPOSAL] Rename repo to dashboards-flow-framework

Corresponding change needed in backend plugin: opensearch-project/flow-framework#168.

To follow https://github.com/opensearch-project/opensearch-plugins/blob/main/CONVENTIONS.md#plugin-naming-conventions, we should prefix the repo name with dashboards-. With the backend plugin also changing to flow-framework, for consistency, we propose to change this to dashboards-flow-framework.

Further follow-ups to the plugin name in the source config files will be done later.

Workflow/use-case template library

Build out the discoverable space with pre-set workflows to choose from. This is pending final design from @opensearch-project/opensearch-ux

Define UI component types

Building out a library of hierarchical interfaces for the different component types needed for initial few use cases (semantic search / RAG). Defining styling & functionality for each. These will be based on supported steps in the use case templates.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.