Skip to end of metadata
Go to start of metadata

Overview

The COmanage Registry Data Model revolves around the CO Person, which conceptually represents one person associated with a CO.

  • A COmanage installation is referred to as a Collaboration Management Platform, or CMP.
  • A CMP is a multi-tenant installation, each tenant is referred to as a Collaborative Organization or CO.
  • The core operational record of a participant within the CO is the CO Person.
    • The CO Person record maintains information that is unique to a person within the CO, such as names and identifiers.
    • An individual person should only have one CO Person record within a CO.
    • However, an individual person may participate in multiple COs housed within the same CMP, and could therefore have multiple CO Person records (each isolated from the other) within the CMP.
  • In order for a person to become a CO Person, they must first have at least one Organizational Identity, which conceptually represents their identity as asserted by a "home" or "external" institution, such as their University or a social identity provider.
    • It is possible for Org Identity records to be pooled across all COs within the CMP, however this setting is deprecated and not recommended.
    • A person's external credentials (federated or social login information) are attached to the Organizational Identity, and typically used for access to the platform's services.
  • A CO Person record is created and one or more Org Identities are linked to it. 
  • A CO Person may have one or more CO Person Roles within the CO. A CO Person Role record maintains information that is unique to a role a person has within a CO, such as title and physical address.
    • For some use cases, it is necessary for the CO to manage credentials such as SSH Keys. In this case, these Authenticators attach to the CO Person.

There are two ways to create sets of CO People within a CO.

  • CO Groups are simple collections of CO People. Any CO Person can create a CO Group.
  • CO Units (or COUs) are intended to represent an organizational hierarchy, including delegation of CO Person administration. Only CO Administrators can create COUs.
    • When COUs are enabled, CO Person Roles are attached to COUs.

Registry Data Model Relationships

See Also: Understanding Registry People Types

Tables

Additional Columns

In addition to the column definitions available for each table below, all tables have additional columns used by the framework and supporting code. These columns include

  • Timestamps managed by Cake (created, modified)
  • Columns used in support of Changelog Behavior

Status

The statuses for each table are defined as

  • Stable: The table definition will not change in a backwards-incompatible manner across minor releases. Stable tables may only be removed in major releases.
  • Tentative: The table definition will likely become stable, but may change in a backwards-incompatible manner across minor and patch releases. Tentative tables may be refactored or removed without notice.
  • Experimental: No specific assertion is made about the stability of the table. It may be changed significantly or even removed without notice.
  • Obsolete: The table is no longer in use as of the specified version.
  • Not Implemented: The table definition is for planning purposes only.

Major, minor, and patch releases are as defined in semantic versioning.

Table Name

Description

Status

Introduced

cm_addresses

Addresses

Stable

v0.2

cm_api_users

API (Programmatic) Users

Tentative

v0.2

cm_applications

Known applications

Not Implemented, replaced by co_services

 
cm_attribute_enumerationsAttribute enumerations (per-CO or platform wide)Tentativev2.0.0
cm_authentication_eventsRegistry authentication eventsTentativev2.0.0
cm_authenticator_statusesAuthenticator StatusesTentativev3.1.0
cm_authenticators AuthenticatorsTentativev3.1.0

cm_cmp_enrollment_attributes

CMP enrollment attribute configuration

Tentative

v0.3

cm_cmp_enrollment_configurations

CMP enrollment configuration

Tentative

v0.3

cm_co_applications

Per-CO configured applications

Not Implemented

 
cm_co_changelog_provisioner_exports Obsolete as of v0.8.2v0.8

cm_co_changelog_provisioner_targets

Per-CO Changelog provisioning target configurations

Tentative

v0.8
cm_co_departmentsPer-CO departmentsTentativev3.1.0

cm_co_directory_permissions

Per-CO restrictions on publishing of directory information

Not Implemented

 
cm_co_email_listsPer-CO email listsTentativev3.1.0

cm_co_enrollment_attributes

Per-CO enrollment flow attribute configurations

Stable

v0.3

cm_co_enrollment_attribute_defaults

Default values for CO enrollment flow attributes configuration

Stable

v0.8.1

cm_co_enrollment_flows

Per-CO enrollment flow configurations

Stable

v0.3
cm_co_expiration_countsPer-CO expiration countsTentativev2.0.0

cm_co_expiration_policies

Per-CO expiration policies

Stable

v0.9.2

cm_co_extended_attributes

Per-CO extended attributes

Stable

v0.3

cm_co_extended_types

Per-CO attribute type configurations

Stable

v0.6

cm_co_fifer_servers

Per-CO FIFER services

Not Implemented

 

cm_co_github_provisioner_targets

Per-CO GitHub provisioning target configurations

Tentative

v0.9.1

cm_co_grouper_provisioner_groups

Per-CO per-Grouper target Grouper group map

Tentative

v0.8.3

cm_co_grouper_provisioner_targets

Per-CO Grouper provisioning target configurations

Tentative

v0.8.3

cm_co_groups

Per-CO groups

Stable

v0.2

cm_co_group_members

Per-CO group memberships

Stable

v0.2
cm_co_group_ois_mappingsPer-CO mappings from OIS records to group membershipsTentativev2.0.0

cm_co_homedir_provisioner_targets

Per-CO Home Directory provisioning target configurations

Experimental

v0.9

cm_co_identifier_assignments

Per-CO rules for identifier assignment

Stable

v0.6
cm_co_identifier_validatorsPer-CO identifier validatorsTentativev2.0.0

cm_co_invites

Per-CO invitations to join

Tentative

v0.1
cm_co_job_history_recordsPer-CO Job History RecordsTentativev2.0.0
cm_co_jobsPer-CO Job RecordsTentativev2.0.0

cm_co_ldap_provisioner_attr_groupings

Per-CO per-LDAP target attribute grouping definitions

Stable

v0.8

cm_co_ldap_provisioner_attributes

Per-CO per-LDAP target attribute definitions

Stable

v0.8

cm_co_ldap_provisioner_dns

Per-CO per-LDAP target DN map

Stable

v0.8

cm_co_ldap_provisioner_targets

Per-CO LDAP provisioning target configurations

Stable

v0.8
cm_co_ldap_service_token_provisioner_targetsPer-CO Per-LDAP target service token provisioning configurationsExperimentalv2.0.0

cm_co_localizations

Per-CO Text Localizations

Stable

v0.8.3
cm_co_mailman_listsPer-CO Mailman ListsTentativev3.1.0
cm_co_mailman_provisioner_targetsPer-CO Mailman provisioning target configurationsTentativev3.1.0
cm_co_message_templatesPer-CO Message TemplatesTentativev2.0.0

cm_co_name_identifier_assignments

Per-Identifier tracking of assigned name-based sequences

Obsolete

 

cm_co_navigation_links

Per-CO Navigation Links

Stable

v0.8.2

cm_co_notifications

Per-CO Notifications

Stable

v0.8.4

cm_co_nsf_demographics

Demographics for statistics

Stable

v0.3

cm_co_org_identity_links

Per-CO link to org identity

Stable

v0.3

cm_co_people

Per-CO person identity

Stable

v0.2

cm_co_person_roles

Per-CO person role identity

Stable

v0.3

cm_co_person_sources

Per-CO link from person to org person

Obsolete as of v0.3

v0.2

cm_co_petition_attributes

Per-CO enrollment petition attributes

Stable

v0.3

cm_co_petition_history_records

Per-CO enrollment petition history records

Stable

v0.3

cm_co_petitions

Per-CO enrollment petitions

Stable

v0.3
cm_co_pipelinesPer-CO pipelinesTentativev2.0.0

cm_co_provisioning_exports

Per-CO provisioning target export record

Stable

v0.8.2

cm_co_provisioning_queued_events

Per-CO provisioning events to process

Not Implemented, replaced by cm_co_jobs

v0.8

cm_co_provisioning_targets

Per-CO provisioning targets

Stable

v0.8

cm_co_role_assignments

Per-CO person role assignments

Not Implemented

 

cm_co_role_groups

Per-CO group memberships implied by role

Not implemented

 

cm_co_roles

Per-CO role definitions

Not Implemented

 

cm_co_self_service_permissions

Per-CO self service permissions

Stable

v0.9

cm_co_sequential_identifier_assignments

Per-Identifier tracking of next values for sequentially assigned identifiers

Stable

v0.6
cm_co_service_token_settingsPer-CO service token settingsExperimentalv2.0.0
cm_co_service_tokensPer-CO service tokensExperimentalv2.0.0
cm_co_servicesPer-CO ServicesTentativev2.0.0

cm_co_settings

Per-CO Settings

Stable

v0.9.1

cm_co_tandc_agreements

Per-CO Person agreements to terms and conditions

Stable

v0.8.3

cm_co_terms_and_conditions

Per-CO terms and conditions

Stable

v0.8.3
cm_co_themesPer-CO themesTentativev2.0.0

cm_configuration

COordinate configuration values

Obsolete

 

cm_cos

Definitions of (virtual) organizations

Stable

v0.2

cm_cous

Definitions of (virtual) organization units

Stable

v0.3

cm_email_addresses

Email Addresses

Stable

v0.2
cm_env_sourcesEnv Organizational Identity SourcesExperimentalv3.1.0
cm_file_sourcesFile Organizational Identity SourcesExperimentalv2.0.0

cm_history_records

Transaction history (human readable)

Stable

v0.7

cm_identifiers

Person identifiers, from organizational source

Stable

v0.2
cm_ldap_identifier_validatorsLDAP Identifier Validator configurationsTentativev2.0.0
cm_ldap_sourcesLDAP Organizational Identity SourcesExperimentalv2.0.0
cm_metaMeta (platform) informationTentativev0.9.4

cm_names

Names

Stable

v0.2

cm_navigation_links

Navigation Links

Stable

v0.8.2
cm_net_forum_sourcesnetFORUM Organizational Identity SourcesExperimentalv2.0.0
cm_orcid_sourcesORCID Organizational Identity SourcesExperimentalv2.0.0

cm_org_identities

Person identity, from organizational source

Stable

v0.3
cm_org_identity_source_recordsCached records from external org identity sourcesExperimentalv2.0.0
cm_org_identity_sourcesExternal sources of organizational identitiesExperimentalv2.0.0

cm_organizations

Definitions of (real) organizations

Obsolete as of v2.0.0

v0.2
cm_password_authenticatorsPassword AuthenticatorsExperimentalv3.1.0
cm_passwordsPasswordsExperimentalv3.1.0

cm_permissions

Permissions for COoordinate

Not Implemented

 
cm_regex_identifier_validatorsRegex Identifier Validator configurationsTentativev2.0.0
cm_salesforce_sourcesSalesforce Organizational Identity SourcesExperimentalv3.1.0

cm_ssh_keys

SSH keys

Stable

v0.9

cm_telephone_numbers

Telephone numbers

Stable

v0.2
cm_urlsURLsTentativev3.1.0

 

  • No labels
Page: All Tables Page: cm_addresses Page: cm_api_users Page: cm_applications Page: cm_attribute_enumerations Page: cm_authentication_events Page: cm_authenticator_statuses Page: cm_authenticators Page: cm_cmp_enrollment_attributes Page: cm_cmp_enrollment_configurations Page: cm_co_applications Page: cm_co_changelog_provisioner_targets Page: cm_co_departments Page: cm_co_directory_permissions Page: cm_co_email_lists Page: cm_co_enrollment_attribute_defaults Page: cm_co_enrollment_attributes Page: cm_co_enrollment_flows Page: cm_co_expiration_counts Page: cm_co_expiration_policies Page: cm_co_extended_attributes Page: cm_co_extended_types Page: cm_co_github_provisioner_targets Page: cm_co_group_members Page: cm_co_group_ois_mappings Page: cm_co_grouper_provisioner_groups Page: cm_co_grouper_provisioner_targets Page: cm_co_groups Page: cm_co_homedir_provisioner_targets Page: cm_co_identifier_assignments Page: cm_co_identifier_validators Page: cm_co_invites Page: cm_co_job_history_records Page: cm_co_jobs Page: cm_co_ldap_provisioner_attr_groupings Page: cm_co_ldap_provisioner_attributes Page: cm_co_ldap_provisioner_dns Page: cm_co_ldap_provisioner_targets Page: cm_co_ldap_service_token_provisioner_targets Page: cm_co_ligo_council_delegates Page: cm_co_localizations Page: cm_co_mailman_lists Page: cm_co_mailman_provisioner_targets Page: cm_co_message_templates Page: cm_co_name_identifier_assignments Page: cm_co_navigation_links Page: cm_co_notifications Page: cm_co_nsf_demographics Page: cm_co_org_identity_links Page: cm_co_people Page: cm_co_person_roles Page: cm_co_person_sources Page: cm_co_petition_attributes Page: cm_co_petition_history_records Page: cm_co_petitions Page: cm_co_pipelines Page: cm_co_provisioning_exports Page: cm_co_provisioning_queued_events Page: cm_co_provisioning_targets Page: cm_co_role_assignments Page: cm_co_role_groups Page: cm_co_roles Page: cm_co_self_service_permissions Page: cm_co_sequential_identifier_assignments Page: cm_co_service_token_settings Page: cm_co_service_tokens Page: cm_co_services Page: cm_co_settings Page: cm_co_tandc_agreements Page: cm_co_terms_and_conditions Page: cm_co_themes Page: cm_configuration Page: cm_cos Page: cm_cous Page: cm_email_addresses Page: cm_env_sources Page: cm_file_sources Page: cm_history_records Page: cm_identifiers Page: cm_ldap_identifier_validators Page: cm_ldap_sources Page: cm_meta Page: cm_names Page: cm_navigation_links Page: cm_net_forum_sources Page: cm_notifications Page: cm_orcid_sources Page: cm_org_identities Page: cm_org_identity_source_records Page: cm_org_identity_sources Page: cm_organizations Page: cm_password_authenticators Page: cm_passwords Page: cm_permissions Page: cm_regex_identifier_validators Page: cm_salesforce_sources Page: cm_ssh_keys Page: cm_telephone_numbers Page: cm_urls Page: Registry ERD