Skip to content

Commit

Permalink
Merge pull request #748 from mandy-chessell/dev-dojo
Browse files Browse the repository at this point in the history
Add new types for glossary workflow
  • Loading branch information
mandy-chessell committed Apr 29, 2023
2 parents 95280e2 + 0349ad7 commit dba7eca
Show file tree
Hide file tree
Showing 27 changed files with 606 additions and 189 deletions.
50 changes: 50 additions & 0 deletions site/docs/concepts/governance-action-process-intro.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the ODPi Egeria project. -->


A *governance action process* is a predefined sequence of [governance actions](/concepts/governance-action) that are coordinated by the [Governance Engine OMAS](/services/omas/governance-engine/overview).

The steps in a governance action process are defined by linked [governance action types](/concepts/governance-action-type) stored in the open metadata ecosystem. Each governance action type provides the specification of the governance action to run. The links between them show which [guards](/concepts/guard) cause the governance action to run.

The governance action process support enables governance professionals to assemble and monitor governance processes without needing to be a Java programmer.

## Examples

In the two examples below, each of the rounded boxes represent a governance action and the links between them is a possible flow - where the label on the link is the guard that must be provided by the predecessor if the linked governance action is to run.

The governance actions in example 1 are all implemented using [governance action services](/concepts/governance-action-service). When these services complete, they supply a completion status. If a service completed successfully, they optionally supply one or more guards and a list of [action targets](/concepts/action-target) for the subsequent governance action(s) to process.

The first governance action in example 1 is called when a new asset is created. For example the [Generic Element Watchdog Governance Action Service](/connectors/governance-action/generic-element-watchdog-governance-action-service) could be configured to monitor for new/refresh events for particular types of assets and initiate this governance process then this type of event occurs.

The first governance action to run is *Validate Asset*. It retrieves the asset and tests that it has the expected classifications assigned. The guards it produces control with actions follow.

Governance actions from the same governance action processes can run in parallel if the predecessor governance actions produces multiple guards.

![Example 1](/concepts/governance-action-process-example-1.svg)
> **Example 1:** Governance Action Process to validate and augment a newly created asset
Governance action processes can include any [type of governance service](/concepts/governance-service).
Example 2 shows an [open discovery service](/concepts/open-discovery-service) amongst the [governance action services](/concepts/governance-action-service).

![Example 2](/concepts/governance-action-process-example-2.svg)
> **Example 2:** Governance Action Process to validate and augment a newly created asset
## Capturing lineage for a governance action process

The [governance actions](/concepts/governance-action) generated when a governance action process runs provide a complete audit trace of the governance services that ran and their results. The [Governance Action Open Lineage Integration Connector](/connectors/integration/governance-action-open-lineage-integration-connector) is able to monitor the operation of the governance actions and produce [OpenLineage events](/features/lineage-management/overview/#the-openlineage-standard) to provide operational lineage for governance action processes. Egeria is also able to [capture these events](/connectors/#capturing-and-publishing-lineage) (along with OpenLineage events from other technologies) for later analysis.

## Governance Action Process Lifecycle

The diagram below shows a governance action process assembly tool taking in information from a [governance engine pack](/concepts/governance-engine-pack) to build a governance action process flow. This is shared with the open metadata ecosystem either through direct called to the [Governance Engine OMAS](/services/omas/governance-engone/overview) or via a [open metadata archive](/concepts/open-metadata-archive) (possibly the archive that holds the governance engine definition.

Once the definition of the governance action process is available, an instance of the process can be started, either by a [watchdog governance action service](/concepts/governance-action-service) or through a direct call to the Governance Engine OMAS. Whichever mechanism is used, it results in the Governance Engine OMAS using the definition to choreograph the creation of [governance action](/concepts/governance-action) entities that drive the execution of the governance services in the [Engine Host](/concepts/engine-host).

![Lifecycle](/concepts/governance-action-process-lifecycle.svg)


!!! education "Further information"
- The [0462 Governance Action Types](/types/4/0462-Governance-Action-Types) model shows how the governance action process flow is built out of [governance action types](/concepts/governance-action-type).
- Governance action processes may be created using the [Governance Engine OMAS](/services/omas/governance-engine/overview) API.
- The [Open Metadata Engine Services (OMES)](/services/omes) provide the mechanisms that support the different types of [governance engines](/concepts/governance-engine). These engines run the [governance services](/concepts/governance-service) that execute the [governance actions](/concepts/governance-action) defined by the governance action process.


46 changes: 1 addition & 45 deletions site/docs/concepts/governance-action-process.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,50 +3,6 @@

# Governance Action Process

A *governance action process* is a predefined sequence of [governance actions](/concepts/governance-action) that are coordinated by the [Governance Engine OMAS](/services/omas/governance-engine/overview).

The steps in a governance action process are defined by linked [governance action types](/concepts/governance-action-type) stored in the open metadata ecosystem. Each governance action type provides the specification of the governance action to run. The links between them show which [guards](/concepts/guard) cause the governance action to run.

The governance action process support enables governance professionals to assemble and monitor governance processes without needing to be a Java programmer.

## Examples

In the two examples below, each of the rounded boxes represent a governance action and the links between them is a possible flow - where the label on the link is the guard that must be provided by the predecessor if the linked governance action is to run.

The governance actions in example 1 are all implemented using [governance action services](/concepts/governance-action-service). When these services complete, they supply a completion status. If a service completed successfully, they optionally supply one or more guards and a list of [action targets](/concepts/action-target) for the subsequent governance action(s) to process.

The first governance action in example 1 is called when a new asset is created. For example the [Generic Element Watchdog Governance Action Service](/connectors/governance-action/generic-element-watchdog-governance-action-service) could be configured to monitor for new/refresh events for particular types of assets and initiate this governance process then this type of event occurs.

The first governance action to run is *Validate Asset*. It retrieves the asset and tests that it has the expected classifications assigned. The guards it produces control with actions follow.

Governance actions from the same governance action processes can run in parallel if the predecessor governance actions produces multiple guards.

![Example 1](/concepts/governance-action-process-example-1.svg)
> **Example 1:** Governance Action Process to validate and augment a newly created asset
Governance action processes can include any [type of governance service](/concepts/governance-service).
Example 2 shows an [open discovery service](/concepts/open-discovery-service) amongst the [governance action services](/concepts/governance-action-service).

![Example 2](/concepts/governance-action-process-example-2.svg)
> **Example 2:** Governance Action Process to validate and augment a newly created asset
## Capturing lineage for a governance action process

The [governance actions](/concepts/governance-action) generated when a governance action process runs provide a complete audit trace of the governance services that ran and their results. The [Governance Action Open Lineage Integration Connector](/connectors/integration/governance-action-open-lineage-integration-connector) is able to monitor the operation of the governance actions and produce [OpenLineage events](/features/lineage-management/overview/#the-openlineage-standard) to provide operational lineage for governance action processes. Egeria is also able to [capture these events](/connectors/#capturing-and-publishing-lineage) (along with OpenLineage events from other technologies) for later analysis.

## Governance Action Process Lifecycle

The diagram below shows a governance action process assembly tool taking in information from a [governance engine pack](/concepts/governance-engine-pack) to build a governance action process flow. This is shared with the open metadata ecosystem either through direct called to the [Governance Engine OMAS](/services/omas/governance-engone/overview) or via a [open metadata archive](/concepts/open-metadata-archive) (possibly the archive that holds the governance engine definition.

Once the definition of the governance action process is available, an instance of the process can be started, either by a [watchdog governance action service](/concepts/governance-action-service) or through a direct call to the Governance Engine OMAS. Whichever mechanism is used, it results in the Governance Engine OMAS using the definition to choreograph the creation of [governance action](/concepts/governance-action) entities that drive the execution of the governance services in the [Engine Host](/concepts/engine-host).

![Lifecycle](/concepts/governance-action-process-lifecycle.svg)


!!! education "Further information"
- The [0462 Governance Action Types](/types/4/0462-Governance-Action-Types) model shows how the governance action process flow is built out of [governance action types](/concepts/governance-action-type).
- Governance action processes may be created using the [Governance Engine OMAS](/services/omas/governance-engine/overview) API.
- The [Open Metadata Engine Services (OMES)](/services/omes) provide the mechanisms that support the different types of [governance engines](/concepts/governance-engine). These engines run the [governance services](/concepts/governance-service) that execute the [governance actions](/concepts/governance-action) defined by the governance action process.

--8<-- "docs/concepts/governance-action-process-intro.md"

--8<-- "snippets/abbr.md"
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ The open metadata ecosystem collects, links and disseminates metadata from many
--8<-- "docs/patterns/metadata-governance/governance-engines.md"

??? intermediate "Designing your governance processes (30 mins)"
--8<-- "docs/concepts/governance-action-process.md"
--8<-- "docs/concepts/governance-action-process-intro.md"

??? beginner "Setting up an engine host, governance engines and services (30 mins)"
--8<-- "docs/patterns/metadata-governance/setting-up-the-engine-host.md"
Expand Down
1 change: 0 additions & 1 deletion site/docs/introduction/open-metadata-ecosystem.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,3 @@ You can make your own choices on how to build trust in your data/metadata. Eger

* Egeria's documentation provides guidance on how to use this technology to deliver business value.

--8<-- "snippets/abbr.md"
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

The managing director considered the inaccurate bus timetable information as a serious problem that urgently needed fixing. She discovered that the manager responsible for scheduling the bus drivers' shifts was the one who made changes to the timetable. These changes typically occurred whenever there was a persistent difficulty in assigning a bus driver to a route. Whenever this happened, he briefed the affected driver with the change and asked that they disseminate the information to their passengers.

The bus driver's manager was given ownership for ensuring the bus timetables were accurate at each bus stop since he was responsible for the action that triggered a need to update the timetables. He also understood the scope of any change.
The bus drivers' manager was given ownership for ensuring the bus timetables were accurate at each bus stop since he was responsible for the action that triggered a need to update the timetables. He also understood the scope of any change.

The bus driver's manager was given a new assistant. Part of the assistant's role was to make changes to the master timetables when necessary, arrange for the downloadable timetables to deliver the new version, get printed copies to the bus station and tourist information office and add an article to the local paper describing the change. They would also drive around to the affected bus stops and update the timetable as well as ensure the affected buses had new copies of the bus timetable onboard for their regular customers.
The bus drivers' manager was given a new assistant. Part of the assistant's role was to make changes to the master timetables when necessary, arrange for the downloadable timetables to deliver the new version, get printed copies to the bus station and tourist information office and add an article to the local paper describing the change. They would also drive around to the affected bus stops and update the timetable as well as ensure the affected buses had new copies of the bus timetable onboard for their regular customers.

4 changes: 3 additions & 1 deletion site/docs/release-notes/4-1.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,10 @@ The notes will be updated until & when 4.1 is released**_

??? functional "Open Metadata Types"
* A new *sourceVersionNumber* attribute has been added to the [*SourcedFrom*](/types/0/0011-Managing-Referenceables) relationship type to allow the version of the element that is copied to be recorded.
* A new classification called [*TemplateSubstitute*](/types/0/0011-Managing-Referenceables) has been added to isolate relationships included in templates from normal metadata queries.
* A new classification called [*RootCategory*](/types/3/0320-Category-Hierarchy) has been added to identify *GlossaryCategory* entities that are the top of a category hierarchy.
* The [*GlossaryTermEvolution*](/types/3/0385-Controlled-Glossary-Development) relationship has been deprecated.
* New classifications *EditingGlossary* and *EditingGlossaryCopy* have been added to the [*0385*](/types/3/0385-Controlled-Glossary-Development) model to support the controlled glossary development process.
* New classifications *EditingGlossary* and *StagingGlossary* have been added to the [*0385*](/types/3/0385-Controlled-Glossary-Development) model to support the controlled glossary development process.
* A new classification called [*DataFieldValues**](/types/2/0210-Data-Stores) allows the characterization of a collection of data values.
* A new attribute called *publishVersionIdentifier* has been added to [GlossaryTerm](/types/3/0330-Terms) to allow authors to control the version of published terms.

Expand Down
Loading

0 comments on commit dba7eca

Please sign in to comment.