Refactor settings page (#154)

This commit is contained in:
pollfly 2022-01-11 12:59:41 +02:00 committed by GitHub
parent eb91aaa361
commit a91c92d76f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 309 additions and 96 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

View File

@ -12,32 +12,64 @@ The **ClearML Web UI** is the graphical user interface for the ClearML platform,
![image](../img/webapp_screenshots.gif)
The **ClearML Web UI** is composed of the following pages:
* The [Home](webapp_home.md) Page - The dashboard for recent activity, and quick access to experiments and projects.
* The [Projects Page](webapp_projects_page.md) - The main experimentation page, where specific projects can be opened.
Each project page contains customizable [experiments](webapp_exp_table.md) and [models](webapp_model_table.md) tables
with the following options:
* [Track experiments and visualize results](webapp_exp_track_visual.md)
* [Reproduce experiments](webapp_exp_reproducing.md)
* [Tune experiments](webapp_exp_tuning.md)
The ClearML Web UI is composed of the following pages:
* The [Home](webapp_home.md) Page <img src="/docs/latest/icons/ico-homepage.svg" alt="Homepage" className="icon size-md" /> -
The dashboard for recent activity and quick access to experiments and projects.
* The [Projects Page](webapp_projects_page.md) <img src="/docs/latest/icons/ico-projects.svg" alt="Projects page" className="icon size-md" /> -
The main experimentation page. Access your experiments and models as they are organized into projects.
The [experiments](webapp_exp_table.md) and [models](webapp_model_table.md) are displayed in tables
which let you:
* [Track ongoing experiments and visualize their results](webapp_exp_track_visual.md)
* [Reproduce previously run experiments](webapp_exp_reproducing.md)
* [Tune experiments with no code change](webapp_exp_tuning.md)
* [Compare experiments](webapp_exp_comparing.md)
* [Share experiments and their models](webapp_exp_sharing.md) with users of other hosted service workspaces
* [Share experiments and their models](webapp_exp_sharing.md) with other ClearML hosted service users
* [Archive experiments and models](webapp_archiving.md)
* [View](webapp_model_viewing.md) and [modify](webapp_model_modifying.md) models
* The [Workers and Queues](webapp_workers_queues.md) Page - The resource monitoring and queues management page.
* The [Profile Page](webapp_profile.md) - Manage a ClearML user account:
* Create ClearML credentials
* Provide Cloud Storage Access credentials for the **ClearML Web UI**
* If using the **ClearML Hosted Service**, invite users and switch workspaces
* The [Workers and Queues](webapp_workers_queues.md) Page <img src="/docs/latest/icons/ico-workers.svg" alt="Workers & Queues page" className="icon size-md" /> -
The resource monitoring and queues management page.
* The [Settings Page](webapp_profile.md) <img src="/docs/latest/icons/ico-settings.svg" alt="Settings page" className="icon size-md" /> -
Manage your ClearML user account:
* Set WebApp preferences
* Manage workspace API credentials
* Configure Cloud Storage Access credentials for the ClearML Web UI
* ClearML Hosted service specific options
* View usage information
* Manage users and workspaces
* Manage resource access permissions (Available in the ClearML Enterprise plan)
In addition, from the **ClearML Web UI**, use these buttons to access the ClearML community:
To navigate to the Settings page, click the <img src="/docs/latest/icons/ico-me.svg" alt="Profile button" className="icon size-lg space-sm" />
button in the top right corner of the web UI screen, then click **Settings**.
* The **ClearML** <img src="/docs/latest/icons/ico-slack-c.svg" alt="Slack Channel" className="icon size-md" /> Slack channel. Ask questions about **ClearML**.
* The **ClearML** <img src="/docs/latest/icons/ico-youtube.svg" alt="YouTube" className="icon size-md" /> YouTube Channel. View our tutorials, presentations, and discussions.
## WebApp Menus
Click the help menu button <img src="/docs/latest/icons/ico-help-outlined.svg" alt="Help menu" className="icon size-lg space-sm" />
in the top right corner of the web UI screen to access the self-help resources including:
* **ClearML Documentation**
* **Pro Tips** - Tips for working with ClearML efficiently
* **ClearML Python Package setup** - Instruction to get started with the `clearml` Python package
* **Contact Us** - Quick access to ClearML contact form
Click the profile menu button <img src="/docs/latest/icons/ico-me.svg" alt="Profile button" className="icon size-lg space-sm" />
in the top right corner of the web UI screen to access the following:
* **Settings** - Navigate to ClearML's [Settings](webapp_profile.md) page
* **Invite a User** to your workspace (supported in hosted service). Click **Invite a User** > input user's
email > click **ADD** > page will redirect to the [Users & Groups](webapp_profile.md#users--groups) section of
the **Settings** page
* **Switch to Workspace** - Hosted service users can be members of multiple workspaces. These workspaces are listed here.
Click a workspace to switch to.
* **Logout** of the workspace
## Community
In addition, from the **ClearML Web UI**, use these buttons to access the ClearML community resources:
* The **ClearML** <img src="/docs/latest/icons/ico-slack-c.svg" alt="Slack Channel" className="icon size-md" /> Slack channel.
Ask questions about **ClearML**.
* The **ClearML** <img src="/docs/latest/icons/ico-youtube.svg" alt="YouTube" className="icon size-md" /> YouTube Channel.
View our tutorials, presentations, and discussions.
* The **ClearML** <img src="/docs/latest/icons/ico-github.svg" alt="GitHub" className="icon size-md" /> GitHub repository.
For more information, see the [Community page](../community.md).
For more information, see the [Community page](../community.md).

View File

@ -1,127 +1,304 @@
---
title: Profile Page
title: Settings Page
---
Use the Profile page to manage a **ClearML** user account, including:
Use the **Settings** page to manage your ClearML account and configure your workspace settings.
* [User preferences](#setting-user-preferences) - Set **ClearML Web UI** options.
* [Cloud Storage access for the ClearML Web UI](#providing-cloud-storage-access-for-the-clearml-web-ui) - So that the **ClearML Web UI** can render data stored in a Cloud, such as debug samples.
* [ClearML credentials](#creating-clearml-credentials) - Create **ClearML** credentials to configure **ClearML** and **ClearML Agent** (if you run **ClearML Agent** commands directly).
* [Configuration vault](#configuration-vault) (supported by the Enterprise Server) - Define additional **ClearML** configuration entries that are applied to all **ClearML** and **ClearML Agent** instances (which use this profile's access credentials).
* [Switch workspaces](#switching-workspaces) - If using multiple workspaces (are a member of more than one **ClearML Hosted Service** team), switch workspaces.
* [Invite new teammates](#inviting-new-teammates) - Collaborate with new users by inviting them to a **ClearML Hosted Service** workspace.
To navigate to the Settings page, click the <img src="/docs/latest/icons/ico-me.svg" alt="Profile button" className="icon size-lg space-sm" />
button in the top right corner of the web UI screen, then click **Settings**.
![Profile page](../img/webapp_profile.png)
The Settings page consists of the following sections:
* [Profile](#profile) - You basic user information
* [Configuration](#configuration) - Control general system behavior settings and input storage access credentials
* [Workspace](#workspace)
* [ClearML credentials](#clearml-credentials) - Create client credentials for ClearML and ClearML Agent to use
* [Configuration vault](#configuration-vault) (ClearML Enterprise Server) - Define global ClearML client settings
that are applied to all ClearML and ClearML Agent instances (which use the workspace's access
credentials)
* [Users & Groups](#users--groups) - Manage the users that have access to a workspace
* [Access Rules](#access-rules) (ClearML Enterprise Server) - Manage per-resource access privileges
* [Usage & Billing](#usage--billing) (ClearML Hosted Service) - View current usage information and billing details
## Setting User Preferences
## Profile
The profile tab presents user information.
## Setting user preferences
**To edit the username:**
1. Hover over the username
1. Click <img src="/docs/latest/icons/ico-edit.svg" alt="Edit Pencil" className="icon size-md" />
1. Change the name
1. Click <img src="/docs/latest/icons/ico-save.svg" alt="Check Mark" className="icon size-md" /> button
The **HiDPI browser scale override** adjusts scaling on High-DPI monitors to improve the Web UI experience. It is enabled
by default, but can be disabled.
## Configuration
### Customizing UI Behavior
Users that use their own **ClearML Server** can choose whether to send anonymous usage data to Allegro AI.
Under **USER PREFERENCES**, users can set a few web UI options:
* **Show Hidden Projects** - Show ClearML infrastructure projects alongside your own projects. Disabled by default.
* **HiDPI browser scale override** - Adjust scaling on High-DPI monitors to improve the web UI experience.
Enabled by default.
* **Don't show pro tips periodically** - Stop showing ClearML usage tips on login. Disabled by default.
## Providing Cloud Storage Access for the ClearML Web UI
:::note Self-hosted ClearML Server
The self-hosted ClearML Server has an additional option to enable sharing anonymous telemetry data with the ClearML
engineering team.
:::
**To provide Cloud Storage access for the ClearML Web UI:**
### Browser Cloud Storage Access
Provide cloud storage access, so the browser will be able to display your cloud stored data, such as debug samples.
* In the **Cloud Access** section, enter the following credentials:
In the **Web App Cloud Access** section, enter the following credentials:
* **Bucket** - The name of a Cloud bucket.
* **Key** - The access key.
* **Secret / SAS** - The secret key or shared access signature if required.
* **Region** - The region for AWS S3.
* **Host (Endpoint)** - The host for non-AWS S3 servers.
* **Bucket** - The name of a Cloud bucket.
* **Key** - The access key.
* **Secret / SAS** - The secret key or shared access signature for Azure Storage.
* **Region** - The region for AWS S3.
* **Host (Endpoint)** - The host for non-AWS S3 servers.
## Workspace
## Creating ClearML Credentials
### Multiple Workspaces
**ClearML** credentials include:
* Access key
* Secret key
* Web server
* API server
* File servers host URLs
:::note ClearML Hosted Service Feature
Multiple workspaces is only available on the ClearML Hosted Service
:::
**ClearML Hosted Service** users need credentials for each workspace they use. Users with their own self-hosted **ClearML Server**
need only one set of credentials.
ClearML Hosted Service users can be member of multiple workspaces, which are listed under **WORKSPACES**.
**ClearML** credentials can be created for a current workspace. To create **ClearML** credentials for another workspace,
switch to it.
To switch to another workspace, click on the **SWITCH TO WORKSPACE** button next to the name of the workspace you want
to switch to.
![Workspace configuration page](../img/settings_workspace_configuration.png)
### ClearML Credentials
Generate ClearML credentials, made up of an access and secret key pair, and insert them into your [configuration file](../configs/clearml_conf.md)
to grant the ClearML SDK and the ClearML Agent API access to the server.
You can create credentials for any workspace that you are a member of.
**To create ClearML credentials:**
1. Click the Profile button <img src="/docs/latest/icons/ico-me.svg" alt="Profile button" className="icon size-lg space-sm" />
(upper right corner).
1. In **WORKSPACES**, expand the desired workspace's panel (self-deployed ClearML Server users have one workspace)
1. In **WORKSPACES**, use the current workspace or select another (self-hosted **ClearML Server** users have one workspace).
1. In **App Credentials**, click **+ Create new credentials**. A dialog pops up with the new credentials formatted as a
ready-to-copy configuration file section (including server configuration information)
1. In **App Credentials** **>** **+ Create new credentials**.
![ClearML credentials](../img/settings_configuration_creation.png)
## Configuration Vault
### Changing Your Workspace Name
To change the name of your own workspace, click **Edit workspace name** <img src="/docs/latest/icons/ico-edit.svg" alt="Edit Pencil" className="icon size-md" />
(under App credentials) **>** modify the name **>** click <img src="/docs/latest/icons/ico-save.svg" alt="Check Mark" className="icon size-md" />.
:::note Feature Support
The configuration vault is only supported by the **ClearML Enterprise Server**
### Adding Users to Your Workspace
To invite a user to your workspace, in the **MEMBERS** section:
1. Press the **INVITE USERS** button
1. Input the email in the dialog that pops up
1. Click **ADD**
A dialog box will appear with an invitation link to send to the invited users. Existing members will receive an in-app
notification informing them that they can join your workspace.
After inviting users, the page will redirect to the [Users & Groups](#users--groups) section, where the
pending invitations are displayed.
### Leaving a Workspace
You can leave any workspace youve previously joined (except your personal workspace).
When leaving a workspace, you lose access to its resources (tasks, models, etc.) and your previously created access
credentials to that workspace are revoked. Tasks and associated artifacts that you logged to that workspace will remain
in that workspace. You can rejoin the workspace only if you are re-invited.
**To leave a workspace:**
1. In **WORKSPACES**, expand the desired workspace's panel
1. In **Members** **>** Click **LEAVE WORKSPACE**.
### Configuration Vault
:::note Enterprise Feature
This feature is only available under the ClearML Enterprise plan
:::
![Configuration vault](../img/webapp_profile_configuration_vault.png)
Use the configuration vault to store global ClearML configuration entries that can extend the ClearML [configuration file](../configs/clearml_conf.md)
of any ClearML Agents or the ClearML SDK running with your credentials. Productivity tip: Keep the vault disabled while
you edit your configuration, and enable it when the configuration is ready.
Use the configuration vault to enter global ClearML configuration entries in any of ClearML supported configuration
formats: HOCON / JSON / YAML. When the vault is enabled, the inputted configurations will be used by ClearML Agents and the ClearML SDK running with the user's credentials.
New entries will extend the configuration in the ClearML [configuration file](../configs/clearml_conf.md), and
existing configurations will be overridden.
New entries will extend the configuration in the ClearML [configuration file](../configs/clearml_conf.md), and existing
file entries will be overridden by the vault values.
Fill in values using any of ClearML supported configuration formats: HOCON / JSON / YAML.
**To edit vault contents:**
* Click **EDIT** or double click the vault box
* Insert / edit the configurations in the vault
* Press **OK**
1. Click **EDIT** or double click the vault box
1. Insert / edit the configurations in the vault
1. Press **OK**
**To apply vault contents:**
* Click the toggle atop the vault to enable / disable the configurations
* Once enabled, the configurations will be merged to the configuration file during ClearML and ClearML Agent usage
## Switching Workspaces
## Users & Groups
:::note Feature Support
Switching workspaces does not apply to users of a self-hosted **ClearML Server**
ClearML Hosted Service users can add users to their workspace.
:::note Hosted Service Feature
Inviting new teammates is only available on the ClearML Hosted Service
:::
**ClearML Hosted Service** users who are members of multiple teams can switch from one workspace to another.
### Users
The **USERS** table lists workspace members and shows whether the maximum number of members has been reached.
Each row of the table includes:
* Username
* User status (`Active` or `Pending`)
* If the user's invitation is pending, the date the user was added
* [User groups](#user-groups) (ClearML Enterprise feature)
**Switch workspaces in one of the following ways:**
#### Inviting New Teammates
* Profile button - Click <img src="/docs/latest/icons/ico-me.svg" alt="Profile button" className="icon size-lg space-sm" /> (upper right corner on any page) **>**
Click the workspace to switch to.
* Profile page - In the **WORKSPACES** section, click **SWITCH TO WORKSPACE** **>** Click the workspace to switch to.
To invite a user to your workspace, press the **+ INVITE USER** button, and input the email in the dialog that pops up.
#### Removing Teammates
To remove a user from a workspace:
1. Hover over the user's row on the table
1. Click the <img src="/docs/latest/icons/ico-trash.svg" alt="Trash can" className="icon size-md" /> button
## Inviting New Teammates
Removed users lose access to your workspaces resources (tasks, models, etc.) and their existing access credentials are
revoked. Tasks and associated artifacts logged to your workspace by a removed user will remain in your workspace. The
user can only rejoin your workspace when you re-invite them.
:::note Feature Support
Inviting new teammates does not apply to users of a self-hosted **ClearML Server**.
### User Groups
:::important Enterprise Feature
This feature is only available under the ClearML Enterprise plan, as part of the [Access Rules](#access-rules)
feature.
:::
**ClearML Hosted Service** users can invite other users to collaborate in their workspace. On the Profile page, the **WORKSPACES**
section shows the current members of the team, and whether the team has reached its maximum number of members.
Administrators can define user groups, which can be used for access privilege management. Users can be assigned to
multiple user groups.
The system includes three pre-configured groups that can't be removed:
* `Users` - All users. Can't be modified
* `Admins` - Have RW access to all resources (except queue modification), and can grant users / user groups access
permissions to workspace resources
* `Queue admins` - Can create / delete / rename queues
**To invite a user to collaborate in your workspace:**
The user group table lists all the active user groups. Each row includes a group's name, description, and member list.
1. Create an invitation hyperlink with one of these options:
![User Management Page](../img/settings_user_management_table.png)
* Profile button - Click <img src="/docs/latest/icons/ico-me.svg" alt="Profile button" className="icon size-lg space-sm" />
**>** **Invite a User** **>** Copy the invitation hyperlink.
#### To create a user group:
1. Click **+ ADD GROUP**
1. In the dialog, add a group name and description
1. Add members to the group. When clicking the input box, a list of workspace members appears, from which group members
can be selected. Filter the list by typing part of the username. To remove a member, Hover over a user's row and click
the <img src="/docs/latest/icons/ico-trash.svg" alt="Trash can" className="icon size-md" /> button
1. Click **SAVE**
* Profile page - In **WORKSPACES** **>** **Members** **>** Click **INVITE USER** **>** Copy the invitation hyperlink.
![User group creation dialog](../img/settings_user_group.png)
1. Send the invitation hyperlink to an invitee.
#### To edit a user group:
1. Hover over the user group's row on the table
1. Click the <img src="/docs/latest/icons/ico-edit.svg" alt="Edit Pencil" className="icon size-md" /> button
1. Edit the group's name and / or description
1. Edit group members (see details [here](#to-create-a-user-group))
1. Click **Save**
## Leaving a Workspace
#### To delete a user group:
1. Hover over the user group's row on the table
1. Click the <img src="/docs/latest/icons/ico-trash.svg" alt="Trash can" className="icon size-md" /> button
A member of a workspace can leave the workspace and no longer be a member of that team.
When a user group is deleted, its members will lose the access privileges that had been granted to the group (unless
otherwise provided individually or to another group they are members of).
**To leave a workspace:**
## Access Rules
1. On the Profile page, in **WORKSPACES**, select the workspace to leave.
:::important Enterprise Feature
This feature is only available under the ClearML Enterprise plan
:::
1. In **Members** **>** **Leave workspace**.
Workspace administrators can use the **Access Rules** page to manage workspace permissions, by specifying which users
and / or user groups have access permissions to the following workspace resources:
* [Projects](../fundamentals/projects.md)
* [Tasks](../fundamentals/task.md)
* [Models](../fundamentals/artifacts.md#models)
* [Dataviews](../hyperdatasets/dataviews.md)
* [Datasets](../hyperdatasets/dataset.md)
* [Queues](../fundamentals/agents_and_queues.md#what-is-a-queue)
By default, all users have **READ & MODIFY** access to all resources.
### Creating Access Rules
Access privileges can be viewed, defined, and edited in the **Access Rules** table.
1. Click **+ ADD RULES** to access the rule creation dialog
1. Select the resource to grant privileges to. To select a specific resource object (e.g. a
specific project or task), click the input box, and select the object from the list that appears. Filter the
list by typing part of the desired object name
1. Select the permission type - **Read Only** or **Read & Modify**
1. Assign users and / or [user groups](#user-groups) to be given access. Click the desired input box, and select the
users / groups from the list that appears. Filter the list by typing part of the desired object name. To revoke
access, hover over a user's or group's row and click the <img src="/docs/latest/icons/ico-trash.svg" alt="Trash can" className="icon size-md" />
button
1. Click **SAVE**
![Access rule creation dialog](../img/settings_access_rules.png)
Access is inherited according to resource hierarchy. For example, if a user is given access to a project, the user will
also have access to the project's contents (tasks, models, etc.). A user who is granted access to a specific task will
not have access to another task in the project, unless explicitly granted.
### Editing Access Rules
1. Hover over the access rule's row on the table
1. Click the <img src="/docs/latest/icons/ico-edit.svg" alt="Edit Pencil" className="icon size-md" /> button
1. Change the resource, resource object, and permission type as desired
1. Edit access rule users / groups (see details [here](#creating-access-rules))
1. Click **SAVE**
### Deleting Access Rules
1. Hover over the access rule's row on the **Access Rules** table
1. Click the <img src="/docs/latest/icons/ico-trash.svg" alt="Trash can" className="icon size-md" /> button
All users and access groups who had been assigned to the deleted access rule, will lose the access privileges granted by
that rule (unless otherwise provided by a different rule)
### Filtering Access Rules Table
The access rules table can be filtered by resource type and by target resource and users / groups.
* **To filter by resource**, click the **View** dropdown menu and select the desired resource
* **To filter by target resource or users / groups**, click <img src="/docs/latest/icons/ico-filter-off.svg" alt="Filter" className="icon size-md" />
on the respective column and select the users / groups to view from the list that appears.
## Usage & Billing
The **USAGE & BILLING** section displays your ClearML workspace usage information including:
* Number of workspace users
* Available storage
* Number of monthly API calls
![Billing and Usage free](../img/settings_billing_usage_free.png)
To add users to your workspace, click **INVITE USERS** in the **USERS** section. This will redirect you to the
**USER MANAGEMENT** page, where you can invite users (see details [here](#inviting-new-teammates))
### ClearML Pro
If you use up your free resources, consider upgrading your account! See the [ClearML pricing page](https://clear.ml/pricing/)
for additional plans information.
With the ClearML Pro plan, the **USAGE & BILLING** page additionally shows estimated charges for the current billing
period and provides access to billing information.
![Billing and Usage pro](../img/settings_billing_usage.png)
**To Upgrade your account to ClearML Pro**, click **UPGRADE** in the top right corner of the page. This will open a
wizard where you will be able to read the terms and conditions and input your billing information.
**To update your billing information:**
1. Click **My billing info** in the top left of the page, which will open a dialog with your current information
1. Click **Update payment methods**, which will open a window where you can update your information
Access all of your previous invoices by clicking **My invoices** in the top left of the page. This will open the
**PAYMENT HISTORY** window, where you can download any of your invoices. Click **EMAIL INVOICES** to receive details of
your past transactions, licenses and downloads to your email.

View File

@ -31,10 +31,14 @@ module.exports = {
'Experiments': ['webapp/webapp_exp_table', 'webapp/webapp_exp_track_visual', 'webapp/webapp_exp_reproducing', 'webapp/webapp_exp_tuning',
'webapp/webapp_exp_comparing', 'webapp/webapp_exp_sharing']
},
{'Models': ['webapp/webapp_model_table', 'webapp/webapp_model_viewing', 'webapp/webapp_model_modifying']},
'webapp/webapp_archiving']
{
'Models': ['webapp/webapp_model_table', 'webapp/webapp_model_viewing', 'webapp/webapp_model_modifying']
},
'webapp/webapp_archiving'
]
},
'webapp/webapp_profile', 'webapp/webapp_workers_queues']},
'webapp/webapp_workers_queues', 'webapp/webapp_profile']
},
{'Configurations': ['configs/configuring_clearml', 'configs/clearml_conf', 'configs/env_vars']},
//'References': ['references/clearml_ref','references/clearml_agent_ref'],
{'ClearML Server': ['deploying_clearml/clearml_server',