From 1838a16586b9cb8638e0ab3eeca9f1a37283f8f3 Mon Sep 17 00:00:00 2001 From: genwhittTTD Date: Tue, 12 Nov 2024 17:04:35 -0500 Subject: [PATCH 1/3] participant switcher, audit trail, doc mods --- docs/portal/audit-trail.md | 26 ++++++++++++++++++++++- docs/portal/portal-overview.md | 20 +++++++++++++++--- docs/portal/sharing-permissions.md | 2 +- docs/portal/team-members.md | 33 +++++++++++++++++++++++------- 4 files changed, 69 insertions(+), 12 deletions(-) diff --git a/docs/portal/audit-trail.md b/docs/portal/audit-trail.md index 6026f0e2b..7c137115d 100644 --- a/docs/portal/audit-trail.md +++ b/docs/portal/audit-trail.md @@ -9,4 +9,28 @@ import Link from '@docusaurus/Link'; # Audit Trail -In the UID2 Portal, Admin users can access the **Audit Trail** page to view a detailed log of all past actions performed by or on behalf of the current participant. The table displays the action performed, the user who performed it, the time it was performed, and whether it succeeded. The Audit Trail table also supports sorting and searching. \ No newline at end of file +In the UID2 Portal, users who have the Admin role (see [User Roles](team-members.md#user-roles)) can access the **Audit Trail** page to view a detailed log of all past actions performed by or on behalf of the current sharing participant. + +The Audit Trail log displays the types of information summarized in the following table. + +| Column | Details | +| :--- | :--- | +| Date | Date/time that the action occurred. | +| User | The user who performed the action. | +| Event | The action performed. For a summary of possible values, see [Audit Trail Event Types](#audit-trail-event-types). | +| Event Data | Details about the action. | +| Succeeded | Indicates whether or not the action was successful. | + +## Audit Trail Event Types + +The audit trail log reports the following types of activity, listed in the Event column: + +- Approve Account +- Manage API Key [**GWH__AS re update Api > API as discussed -- what might be the timing on this?**] +- Manage Key Pair +- Manage Participant +- Manage Team Members +- Update App Names +- Update Domain Names +- Update Sharing Permissions +- Update Sharing Types diff --git a/docs/portal/portal-overview.md b/docs/portal/portal-overview.md index 4d11f4673..c669592ff 100644 --- a/docs/portal/portal-overview.md +++ b/docs/portal/portal-overview.md @@ -18,7 +18,7 @@ The UID2 Portal is your one-stop shop for setting up and configuring your UID2 a | Review your profile. | [Participant Information](participant-info.md) | | Server-side or client/server integrations: Manage API keys for your account, including adding, modifying, or deleting keys. | [API Keys](api-keys.md) | | Client-side integrations only: Set up and manage the values needed for generating UID2 tokens on the client side. | [Client-Side Integration](client-side-integration.md) | -| Configure permissions for individual sharing participants or groups of sharing participants.
NOTE: Use of sharing requires an API key (see [API Keys](api-keys.md)) or client-side key pair (see [Client-Side Integration](client-side-integration.md)). Configure these values before setting up sharing permissions. | [Sharing Permissions](sharing-permissions.md) | +| Configure permissions for individual sharing participants or groups of sharing participants.
NOTE: Use of sharing requires an API key (see [API Keys](api-keys.md)) or client-side key pair (see [Client-Side Integration](client-side-integration.md)). Configure these values before setting up sharing permissions. | [Sharing Permissions](sharing-permissions.md) | | Add team members who will have permission to manage your account. | [Team Members](team-members.md) | | Set up designated email contacts who will be notified of news or updates. | [Email Contacts](email-contacts.md) | | View a detailed log of all past actions performed by, or on behalf of, the current participant. | [Audit Trail](audit-trail.md) | @@ -37,7 +37,11 @@ There are two main ways to access the pages, as shown in the following image: ![UID2 Portal Structure](images/portal-uid2-overview.png) -Your participant name will be displayed at the top of the left sidebar. If your account has access to multiple participants, as shown in the example above, a dropdown menu will appear. You can use this menu to switch between participants in the portal. +The name of the current sharing participant is displayed at the top of the left sidebar. If your account has access to multiple participants, you'll see a drop-down list of the participants that you have access to. You can use this to switch between participants. + +:::important +Any actions that you perform in the UID2 Portal, such as adding team members, domains, or API keys, are in the context of the participant currently displayed on the left. If you have access to more than one participant, make sure you perform actions in the correct context. For details, see [Participant Switcher](#participant-switcher). +::: Continuing down the left sidebar, you can access the following pages relating to configuring your account: @@ -54,9 +58,19 @@ From here, you can access the following pages relating to your personal account - [Manage Team Members](team-members.md) - [Email Contacts](email-contacts.md) - [Audit Trail](audit-trail.md) (Admin users only) -- Dark Mode: toggles dark mode on and off +- Dark Mode: Toggles dark mode on and off. Dark mode preference is applied to subsequent sessions. - [Log Out](portal-getting-started.md#log-out) ## Set Up Your Account To set up your account, see [Getting Started with the UID2 Portal](portal-getting-started.md). + +## Participant Switcher + +In most cases, each user has access to the data for one UID2 sharing participant. However, in some cases, an individual user might be on the team for more than one participant. In this scenario, the user can switch between participants. + +The current participant is displayed at the top of the left sidebar. If the current user is on the team for more than one participant, an arrow indicates that the user can switch between participants, to perform actions in the context of the correct participant. + +For an illustration, see [UID2 Portal Structure](#uid2-portal-structure). + +When the user logs out, the most recent participant choice is stored and is applied the next time the user logs in. diff --git a/docs/portal/sharing-permissions.md b/docs/portal/sharing-permissions.md index fbac9e69e..3dd7efa63 100644 --- a/docs/portal/sharing-permissions.md +++ b/docs/portal/sharing-permissions.md @@ -9,7 +9,7 @@ import Link from '@docusaurus/Link'; # Sharing Permissions -Configuring your sharing permissions opens the door to you being able to share UID2s with other UID2 participants. +Configuring your sharing permissions opens the door to you being able to share UID2s with other UID2 sharing participants. There are many options to help you create the exact sharing relationships that you want: diff --git a/docs/portal/team-members.md b/docs/portal/team-members.md index 2d4fbbd53..f5e26a12e 100644 --- a/docs/portal/team-members.md +++ b/docs/portal/team-members.md @@ -9,7 +9,7 @@ import Link from '@docusaurus/Link'; # Team Members -In the UID2 Portal, on the **Team Members** page, Admin users can perform all activities relating to configuring individuals who you want to authorize for access to your account, including the following: +In the UID2 Portal, on the **Team Members** page, users with the Admin role can perform all activities relating to configuring individuals who you want to authorize for access to your account, including the following: - [Add a Team Member](#add-a-team-member) - [Resend an Invitation to a Team Member](#resend-an-invitation-to-a-team-member) @@ -20,15 +20,25 @@ In the UID2 Portal, on the **Team Members** page, Admin users can perform all ac To access the Team Members page, go to the top right of the UID2 Portal user interface where your name is displayed. Click the down arrow and choose **Manage Team Members**. +For each team member, the following information is displayed: +- Name +- Email +- Job Function +- Role +- Actions: the available actions are **Edit** or **Delete**. + For an illustration, see [UID2 Portal Structure](portal-overview.md#uid2-portal-structure). ## User Roles -Each team member has one of two user roles: Admin or Operations. Admin users can perform all activities related to UID2 participation, as summarized in the [UID2 Portal Overview](portal-overview.md). +Each team member has one of the roles shown in the following table. -Users with the Operations role can perform most of the same actions as Admin users. However, they cannot add, modify, or remove team members. Instead, they have read-only access to the **Manage Team Members** page. +| Role | Actions | +| :--- | :--- | +| Admin | Users with the Admin role can perform all activities related to UID2 participation, as summarized in the [UID2 Portal Overview](portal-overview.md), for the current participant organization. | +| Operations | Users with the Operations role can perform most of the same actions as Admin users. However, they cannot add, modify, or remove team members. Instead, they have read-only access to the **Manage Team Members** page. | -User Roles can only be modified by users with the Admin role, by following: [Edit Information for a Team Member](#edit-information-for-a-team-member). +User roles can only be modified by users with the Admin role. For details, see [Edit Information for a Team Member](#edit-information-for-a-team-member). ## Add a Team Member @@ -43,7 +53,7 @@ To add a team member, complete the following steps: The team member is added to the list, with Pending status, and an invitation email is sent to the invited person. :::note -Team members can be added to more than one participant. Team members that belong to multiple participants are able to switch between participants as shown in [UID2 Portal Structure](portal-overview.md#uid2-portal-structure). +Team members can be added to more than one participant. Team members who belong to multiple participants can switch between participants, as shown in [UID2 Portal Structure](portal-overview.md#uid2-portal-structure). ::: ## Resend an Invitation to a Team Member @@ -60,14 +70,23 @@ To re-send the invitation for a team member, complete the following steps: ## Edit Information for a Team Member -Admin users can update any of the values: First Name, Last Name, Email, Job Function, or Role. +Notes re role: +- Users with the Admin role can update any of these values, for any team member in their participant organization. +- Users with the Operations role have read-only access to the Team Members page, but cannot change the information. To edit information for a team member, complete the following steps: 1. Log in to your UID2 Portal account. 1. At the top right, click the down arrow and choose **Manage Team Members**. 1. Find the team member on the list and then, in the Actions column, click ![the Edit icon](images/icon-pencil-solid.png) (the Edit icon). -1. Update the information, and then save the changes. +1. Update any of these values: + - First Name + - Last Name + - Job Function + - Role: For information about roles, see [User Roles](#user-roles). + + **Note**: You cannot update the email for an existing team member. If you need to change the email, add a new team member using the new email. This ensures that the email verification process is correctly followed. +1. Save the changes. ## Remove a Team Member From 5a35a30619a1db7ceab69ccc533338a55582f352 Mon Sep 17 00:00:00 2001 From: genwhittTTD Date: Thu, 14 Nov 2024 12:06:28 -0500 Subject: [PATCH 2/3] edits from AS --- .../portal-team-members-resend-invitation.png | Bin 0 -> 43598 bytes docs/portal/portal-overview.md | 2 +- docs/portal/team-members.md | 25 ++++++++++++++---- 3 files changed, 21 insertions(+), 6 deletions(-) create mode 100644 docs/portal/images/portal-team-members-resend-invitation.png diff --git a/docs/portal/images/portal-team-members-resend-invitation.png b/docs/portal/images/portal-team-members-resend-invitation.png new file mode 100644 index 0000000000000000000000000000000000000000..a1cffa611bb4af217ff6b5950653434573c51c6c GIT binary patch literal 43598 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 literal 0 HcmV?d00001 diff --git a/docs/portal/portal-overview.md b/docs/portal/portal-overview.md index c669592ff..02ce566a4 100644 --- a/docs/portal/portal-overview.md +++ b/docs/portal/portal-overview.md @@ -37,7 +37,7 @@ There are two main ways to access the pages, as shown in the following image: ![UID2 Portal Structure](images/portal-uid2-overview.png) -The name of the current sharing participant is displayed at the top of the left sidebar. If your account has access to multiple participants, you'll see a drop-down list of the participants that you have access to. You can use this to switch between participants. +The name of the current participant is displayed at the top of the left sidebar. If your account has access to multiple participants, you'll see a drop-down list of the participants that you have access to. You can use this to switch between participants. :::important Any actions that you perform in the UID2 Portal, such as adding team members, domains, or API keys, are in the context of the participant currently displayed on the left. If you have access to more than one participant, make sure you perform actions in the correct context. For details, see [Participant Switcher](#participant-switcher). diff --git a/docs/portal/team-members.md b/docs/portal/team-members.md index f5e26a12e..4819a8680 100644 --- a/docs/portal/team-members.md +++ b/docs/portal/team-members.md @@ -22,12 +22,16 @@ To access the Team Members page, go to the top right of the UID2 Portal user int For each team member, the following information is displayed: - Name + + If the user has been invited but has not yet accepted, there is a **Pending** tag after the person's name. - Email - Job Function - Role -- Actions: the available actions are **Edit** or **Delete**. +- Actions: + - Available for all: ![the Edit icon](images/icon-pencil-solid.png) (Edit) and ![the Delete icon](images/icon-trash-can-solid.png) (Delete). + - If the user has been invited but has not yet accepted, a **Resend Invitation** link is also available. -For an illustration, see [UID2 Portal Structure](portal-overview.md#uid2-portal-structure). +For an illustration, see [Resend an Invitation to a Team Member](#resend-an-invitation-to-a-team-member). ## User Roles @@ -36,7 +40,7 @@ Each team member has one of the roles shown in the following table. | Role | Actions | | :--- | :--- | | Admin | Users with the Admin role can perform all activities related to UID2 participation, as summarized in the [UID2 Portal Overview](portal-overview.md), for the current participant organization. | -| Operations | Users with the Operations role can perform most of the same actions as Admin users. However, they cannot add, modify, or remove team members. Instead, they have read-only access to the **Manage Team Members** page. | +| Operations | Users with the Operations role can perform most of the same actions as Admin users. However, there are some limitations:
  • They cannot add, modify, or remove team members. Instead, they have read-only access to the [Team Members](team-members.md) page.
  • They cannot view the [Audit Trail](audit-trail.md) page.
| User roles can only be modified by users with the Admin role. For details, see [Edit Information for a Team Member](#edit-information-for-a-team-member). @@ -60,6 +64,13 @@ Team members can be added to more than one participant. Team members who belong If you added a team member, you might need to resend the invitation. For example, perhaps the team member didn't receive the invitation or accidentally deleted it, or the invitation has expired. +If the user has been invited but has not yet accepted, the Team Members list includes the following additional information, as shown in the illustration: + +- A Pending label after the person's name. +- A **Resend Invitation** link. + +![UID2 Portal, Team Members page, pending user](images/portal-team-members-resend-invitation.png) + To re-send the invitation for a team member, complete the following steps: 1. Log in to your UID2 Portal account. @@ -68,11 +79,15 @@ To re-send the invitation for a team member, complete the following steps: The status updates to **Invitation Sent**, and a new invitation email is sent. +:::note +The Resend Invitation link only appears if the user has been invited, but has not yet accepted. +::: + ## Edit Information for a Team Member Notes re role: - Users with the Admin role can update any of these values, for any team member in their participant organization. -- Users with the Operations role have read-only access to the Team Members page, but cannot change the information. +- Users with the Operations role can view the Team Members page, but cannot change the information. To edit information for a team member, complete the following steps: @@ -85,7 +100,7 @@ To edit information for a team member, complete the following steps: - Job Function - Role: For information about roles, see [User Roles](#user-roles). - **Note**: You cannot update the email for an existing team member. If you need to change the email, add a new team member using the new email. This ensures that the email verification process is correctly followed. + **Note**: You cannot update the email for an existing team member. If you need to change the email, add a new team member using the new email. This ensures that the email verification process is correctly followed. In this scenario, remember to also delete the existing entry with the old email address. 1. Save the changes. ## Remove a Team Member From c9992e61e810890facc28aefc5e5b7b124d35c5f Mon Sep 17 00:00:00 2001 From: genwhittTTD Date: Thu, 14 Nov 2024 12:08:59 -0500 Subject: [PATCH 3/3] removed query --- docs/portal/audit-trail.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/portal/audit-trail.md b/docs/portal/audit-trail.md index 7c137115d..9837b63da 100644 --- a/docs/portal/audit-trail.md +++ b/docs/portal/audit-trail.md @@ -26,7 +26,7 @@ The Audit Trail log displays the types of information summarized in the followin The audit trail log reports the following types of activity, listed in the Event column: - Approve Account -- Manage API Key [**GWH__AS re update Api > API as discussed -- what might be the timing on this?**] +- Manage API Key - Manage Key Pair - Manage Participant - Manage Team Members