Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial implementation for Governance Workflows #17837

Merged
merged 86 commits into from
Nov 13, 2024

Conversation

IceS2
Copy link
Contributor

@IceS2 IceS2 commented Sep 13, 2024

Initial Governance Workflows Implementation

The initial implementation focuses on the foundation to build customizable workflows:

  • It defines the JSONSchema for Workflow Definition, Instance and Instance State
  • It defines the JSONSchema for the Workflow Elements (Nodes, Edges and Triggers)
  • Creates the needed Migrations for using Flowable and for te Workflow Entities.
  • Creates the needed Endpoints
  • Migrates and updates the Glossary Approval Workflow
  • Creates the first iteration of the Table Certification Workflow

Workflow Entities

Workflow Definition

Defines a Workflow. It is composed of Nodes, Edges and ONE Trigger

Workflow Instance (Time Series)

It contains all the Workflow Runs (Instances)

Workflow Instance State (Time Series)

It contains all the Workflow States for each instance.


Workflow Elements

Edges

Connects two different Nodes. It could contain a condition that branches the flow.

Nodes

  • Start Event
    Start of the Workflow

  • End Event
    End of the Workflow

  • User Approval Task
    Node that creates a User Task for Approval.
    It will be iterated upon once we refactor tasks and have Task Templates.

  • Check Entity Attributes
    Node that allows the user to automatically check for different conditions on the Entity Attributes.

  • Set Entity Certification
    Sets an Entity Certification attribute.

  • Set Glossary Term Status
    Sets a Glossary Term Status.

Triggers

Configuration needed to actually start the Workflow.

  • Event Based Entity Trigger
    Listens to Create and/or Update events for a given Entity Type.

  • Periodic Batch Entity Trygger
    Runs on a given schedule for a given Entity Type.


Type of change:

  • New feature

Checklist:

  • I have read the CONTRIBUTING document.
  • My PR title is Fixes <issue-number>: <short explanation>
  • I have commented on my code, particularly in hard-to-understand areas.
  • For JSON Schema changes: I updated the migration scripts or explained why it is not needed.

Copy link
Contributor

The Java checkstyle failed.

Please run mvn spotless:apply in the root of your repository and commit the changes to this PR.
You can also use pre-commit to automate the Java code formatting.

You can install the pre-commit hooks with make install_test precommit_install.

Copy link

pmbrull
pmbrull previously approved these changes Nov 12, 2024
Copy link

@pmbrull pmbrull merged commit e5441a9 into open-metadata:main Nov 13, 2024
24 of 26 checks passed
@IceS2 IceS2 deleted the feat/governance-workflows branch November 13, 2024 08:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend Ingestion safe to test Add this label to run secure Github workflows on PRs spec
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants