Skip to content

Commit

Permalink
Merge pull request #982 from mandy-chessell/code2024
Browse files Browse the repository at this point in the history
Contribution records for teams and automation
  • Loading branch information
mandy-chessell authored Nov 30, 2024
2 parents 9a9ddb0 + 323009b commit d57a6d6
Show file tree
Hide file tree
Showing 17 changed files with 185 additions and 79 deletions.
4 changes: 2 additions & 2 deletions site/docs/concepts/karma-point-plateau.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@

A karma point plateau identifies a significant contribution to open metadata.
By default, a karma point plateau is achieved for every 500 [karma points](karma-point.md) awarded.
However the threshold for the karma point plateau can be
[changed at server start up](/concepts/karma-point-plateau).
However, the threshold for the karma point plateau can be
[changed at server configuration](/concepts/karma-point-plateau).

The Community Profile OMAS generates a
[Karma Point Plateau Event](/concepts/karma-point-plateau)
Expand Down
13 changes: 5 additions & 8 deletions site/docs/concepts/karma-point.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,19 @@

# Karma Point

A karma point is a reward given to an individual for making a contribution to open metadata.
A karma point is a reward given to an actor profile for making a contribution to open metadata.
This may be for:

* Creating some information
* Correcting or enhancing some information
* Linking information together
* Removing obsolete information

Karma points are awarded automatically. They are stored in an individual's [personal profile](/concepts/personal-profile).
When an individual's karma point total reaches a multiple of the karma point notification threshold,
Karma points are awarded automatically. They are stored in an actors's [actor profile](/concepts/personal-profile).
When an actor's karma point total reaches a multiple of the karma point notification threshold,
the Community Profile OMAS sends a notification on its [OutTopic](/concepts/out-topic).



## Related information

* [Configuring the notification threshold for karma points]
!!! info "Related information"
* [Configuring the notification threshold for karma points](/guides/admin/servers/by-section/access-services-section/#enable-access-services)

--8<-- "snippets/abbr.md"
11 changes: 11 additions & 0 deletions site/docs/features/people-roles-organizations/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -277,8 +277,19 @@ Organization data is widely distributed across an organization's systems. Each

### Collaboration metadata
### Contribution records

A [contribution record](/types/1/0125-Contribution) is used to accumulate information about an actor's (individual or automation) contribution. It is linked (1-1) with the actor's [actor profile](/types/1/0110-Actors) element.

### Karma points and karma point plateaus

[Karma points](/concepts/karma-point) recognize actors (both individuals and automation) based on their contributions (create, update, delete) to open metadata. Each karma point is award through the userId making the change. However, they are only accumulated in a contribution record if the userId is linked to an [actor profile](/types/1/0110-Actors). Therefore, it is necessary to create a user identity linked to an actor profile for each user that you want to be awarded karma points.

The [karma point plateau](/concepts/karma-point-plateau) identifies a threshold for karma points that should be recognised as significant. The default threshold is 500 karma points.

Karma points and/or karma point plateaus can be used to add gamification into the open metadata ecosystem in order to reward the highest contributors. Since karma points may be awarded to both individuals and automation, it is reasonable to maintain different league tables for people from automated processes.

## Summary

People are a key part of governance. Their needs, training, and recognition for their efforts are central to a successful governance program. Egeria's collaboration metadata area and associated services allows you to maintain a company-wide perspective and control of who is responsible for different actions across the different organization silos, tools and systems. The integration capability of Egeria makes it possible to keep this information in sync with key Human Resources (HR) and management systems.

--8<-- "snippets/abbr.md"
37 changes: 37 additions & 0 deletions site/docs/release-notes/december-2024.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the Egeria project. -->

# December 2024

Welcome to the Egeria community's December 2024 newsletter. Since our [last newsletter](/release-notes/october-2024), the community has developed some exciting new capabilities as well as improving the function, reliability and performance of existing features.

## New Native Open Metadata Repository built in PostgreSQL

## Visualization using Mermaid

## New Governance Action Processes

## Extensions to the View Services

## Improvements to the Secrets stores

## Roles and contribution records for teams and automation

## Extensions to pyegeria

## Full release notes for V5.2

The full release notes for version 5.2 can be found on [Egeria's website](https://egeria-project.org/release-notes/previous/#release-52-december-2024).

## Future plans

Plans for release 5.3 are open, and we are looking for suggestions.

## Connecting with the project

With our new focus on Python and supporting data practitioners directly, the community is looking for new contributors to the project. If these topics interest you, then please contact us and we can help you get started.

!!! info "Connecting with the community"
Go to our [community guide](/guides/community){target=blank} to find out more about the activities of the Egeria project nd ho to get engaged.

--8<-- "snippets/abbr.md"
4 changes: 2 additions & 2 deletions site/docs/release-notes/october-2024.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@

# October 2024

Welcome to the Egeria community's October 2024 newsletter. Since our [last newsletter](/release-notes/june-2023), the community has been focused on adding support for Unity Catalog and improving the user experience in the *egeria workspaces*.
Welcome to the Egeria community's October 2024 newsletter. Since our [last newsletter](/release-notes/june-2024), the community has been focused on adding support for Unity Catalog and improving the user experience in the *egeria workspaces*.


## Full release notes for V5.1

The full release notes for version 5.0 can be found on [Egeria's website](https://egeria-project.org/release-notes/5-1/).
The full release notes for version 5.1 can be found on [Egeria's website](https://egeria-project.org/release-notes/previous/#release-50-july-2024).

## Future plans

Expand Down
10 changes: 8 additions & 2 deletions site/docs/release-notes/previous.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,15 @@
<!-- Copyright Contributors to the Egeria project. -->


# Earlier releases
# All releases

???+ info "Release 5.0 (July 2024)"
??? info "Release 5.2 (In progress - expected December 2024)"
--8<-- "snippets/release-notes/5-2.md"

??? info "Release 5.1 (October 2024)"
--8<-- "snippets/release-notes/5-1.md"

??? info "Release 5.0 (July 2024)"
--8<-- "snippets/release-notes/5-0.md"

??? info "Release 4.3 (September 2023)"
Expand Down
8 changes: 4 additions & 4 deletions site/docs/services/omvs/metadata-explorer/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ The Metadata Explorer OMVS has 11 different types of search operation. The firs
* getMetadataElementGUIDByUniqueName - Retrieve the metadata element's unique identifier (guid) using its unique name (again, typically the *qualifiedName* attribute but other attributes can be used if they are unique - such as *pathName* for a file).
* getMetadataElementHistory - Retrieve all the versions of an element.

The next two operations retrieve the relationships linked to an element, and the element attached at the far end of each relationship.
The next four operations retrieve the relationships linked to an element, and the element attached at the far end of each relationship.

* getAllRelatedMetadataElements - Retrieve the metadata elements connected to the supplied element.
* getRelatedMetadataElements - Retrieve the metadata elements connected to the supplied element via a specific relationship type.
Expand Down Expand Up @@ -85,8 +85,8 @@ SequencingOrder is used for search requests against a metadata collection. It d
* CREATION_DATE_OLDEST: return in the order that the elements were created with the oldest ones first.
* LAST_UPDATE_RECENT: return in the order of the latest update with the most recent first.
* LAST_UPDATE_OLDEST: return in the order of the latest update with the oldest first.
* PROPERTY_ASCENDING: return in ascending order of the values in a sequencing property. The sequencing property will be supplied in the * sequencingparameter.
* PROPERTY_DESCENDING: return in descending order of the values in a sequencing property. The sequencing property will be supplied as a parameter.
* PROPERTY_ASCENDING: return in ascending order of the values in a sequencing property. The sequencing property will be supplied in the *sequencing* parameter.
* PROPERTY_DESCENDING: return in descending order of the values in a sequencing property. The sequencing property will be supplied in the *sequencing* parameter.

Note: not all repositories support ordering. The results may vary between repository types.

Expand All @@ -97,7 +97,7 @@ Each access service can be set up to support a restrictive set of governance zon
By default, all requests are routed via Feedback Manager OMVS to Asset Manager OMAS. If you wish the request to be routed via a different view service (OMVS) or access service (OMAS) it is possible to use one or other of these request parameters:

* viewServiceURLMarker optional view service URL marker (overrides accessServiceURLMarker) to route the request via a different view service and onto its default access service.
* accessServiceURLMarker optional access service URL marker used to identify which back end service
* accessServiceURLMarker optional access service URL marker used to identify which back end service.

The URL marker is derived from the name of the requested service - take the short two-word service name, convert to lower case and add a hyphen between the two words - so Feedback Manager OMVS's URL Marker is feedback-manager.

Expand Down
15 changes: 4 additions & 11 deletions site/docs/types/1/0112-People.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@

# 0112 People, their personal network and their roles

This model describes the metadata elements that describe a person and their roles and contribution in the organization.
This model describes the metadata elements that describe a person. This is an extension of the [ActorProfile](/types/1/0110-Actors).

![UML](0112-People.svg "Describing the profile for a person")

## Person
## Person entity

`Person` extends [`ActorProfile`](/types/1/0110-Actors/#actorprofile) to capture more information about a person. Many of the properties are inspired by the LDAP `inetOrgPerson` attributes (see [RFC 2798](https://datatracker.ietf.org/doc/rfc2798/)).

Typically the `name` is set to a person's preferred name. The `qualifiedName` may be the identifier from an external system or the `employeeNumber` and/or some combination of names to ensure it is unique. Then the properties are as follows:
Typically, the `name` is set to a person's preferred name. The `qualifiedName` may be the identifier from an external system or the `employeeNumber` and/or some combination of names to ensure it is unique. Then the properties are as follows:

- `title` takes the courtesy title of the person.
- `givenNames` is set to a space separated list of names that are not the person's surname (or family name).
Expand All @@ -24,17 +24,10 @@ Typically the `name` is set to a person's preferred name. The `qualifiedName` m
- `preferredLanguage` is on or more spoken or written language identifiers preferred by the person.
- `isPublic` indicates whether the information in the profile can be shared with colleagues or is only visible to the user(s) that connect with one of the linked user identities or systems that are part of the open metadata ecosystem.

## Peer
## Peer relationship

The *Peer* relationship links two people together as peers in an organization. Peers represents a list of a person's close/important colleagues. The perspective on who is a close/important colleague is a personal perspective. Therefore the *Peer* relationship separates the concept of who has linked to a person (*myFollowers*) from who they have specifically linked to (*myPeers*).

## Contribution Record

The *ContributionRecord* accumulates achievements of an individual. Specifically Egeria supports [Karma Points](/concepts/karma-point). These are awarded for participation in open metadata and governance. The number of karma points awarded to the individual is recorded in their *ContributionRecord* entity.

- `isPublic` indicates whether the values in the contribution record can be shared with colleagues or is only visible to user(s) that connect with one of the linked user identities or systems that are part of the open metadata ecosystem.
- `karmaPoints` captures the total number of points that the individual has earned from their activity.


## Further information

Expand Down
2 changes: 1 addition & 1 deletion site/docs/types/1/0112-People.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
23 changes: 23 additions & 0 deletions site/docs/types/1/0125-Contribution.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright Contributors to the Egeria project. -->

# 0125 Contribution

A key part of a successful governance program is ensuring that contributors are recognized - both the individuals and the automation that supports them. The contribution record keeps track of the contribution of each actor in the form of [karma points](/concepts/karma-point). Karma points are collected based on the user performing the work and then aggregated into the contribution record of the associated actor profile.

![UML](0125-Contribution.svg)

## ContributionRecord entity

The *ContributionRecord* accumulates achievements of an individual. Specifically Egeria supports [Karma Points](/concepts/karma-point). These are awarded for participation in open metadata and governance. The number of karma points awarded to the individual is recorded in their *ContributionRecord* entity.

- `isPublic` indicates whether the values in the contribution record can be shared with colleagues or is only visible to user(s) that connect with one of the linked user identities or systems that are part of the open metadata ecosystem.
- `karmaPoints` captures the total number of points that the actor has earned from their activity.


## Contribution relationship

The *Contribution* relationship links the contribution record to the actor profile for the individual or automation that is making the contribution.


--8<-- "snippets/abbr.md"
4 changes: 4 additions & 0 deletions site/docs/types/1/0125-Contribution.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion site/docs/types/1/area-1-collaboration-overview.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit d57a6d6

Please sign in to comment.