diff --git a/docs/img/settings_access_rules.png b/docs/img/settings_access_rules.png new file mode 100644 index 00000000..0d6a25c6 Binary files /dev/null and b/docs/img/settings_access_rules.png differ diff --git a/docs/img/settings_billing_usage.png b/docs/img/settings_billing_usage.png new file mode 100644 index 00000000..f7d29ae8 Binary files /dev/null and b/docs/img/settings_billing_usage.png differ diff --git a/docs/img/settings_billing_usage_free.png b/docs/img/settings_billing_usage_free.png new file mode 100644 index 00000000..e868f6f3 Binary files /dev/null and b/docs/img/settings_billing_usage_free.png differ diff --git a/docs/img/settings_configuration_creation.png b/docs/img/settings_configuration_creation.png new file mode 100644 index 00000000..443d0e5b Binary files /dev/null and b/docs/img/settings_configuration_creation.png differ diff --git a/docs/img/settings_user_group.png b/docs/img/settings_user_group.png new file mode 100644 index 00000000..137c2283 Binary files /dev/null and b/docs/img/settings_user_group.png differ diff --git a/docs/img/settings_user_management_table.png b/docs/img/settings_user_management_table.png new file mode 100644 index 00000000..7efd9fb0 Binary files /dev/null and b/docs/img/settings_user_management_table.png differ diff --git a/docs/img/settings_workspace_configuration.png b/docs/img/settings_workspace_configuration.png new file mode 100644 index 00000000..fd89b919 Binary files /dev/null and b/docs/img/settings_workspace_configuration.png differ diff --git a/docs/img/webapp_profile.png b/docs/img/webapp_profile.png deleted file mode 100644 index e4a7bb29..00000000 Binary files a/docs/img/webapp_profile.png and /dev/null differ diff --git a/docs/img/webapp_profile_configuration_vault.png b/docs/img/webapp_profile_configuration_vault.png deleted file mode 100644 index 770e93d6..00000000 Binary files a/docs/img/webapp_profile_configuration_vault.png and /dev/null differ diff --git a/docs/img/webapp_setting_usage.png b/docs/img/webapp_setting_usage.png new file mode 100644 index 00000000..22ace3ee Binary files /dev/null and b/docs/img/webapp_setting_usage.png differ diff --git a/docs/img/webapp_settings_workspace_conf.png b/docs/img/webapp_settings_workspace_conf.png new file mode 100644 index 00000000..01732415 Binary files /dev/null and b/docs/img/webapp_settings_workspace_conf.png differ diff --git a/docs/webapp/webapp_overview.md b/docs/webapp/webapp_overview.md index d9f95cdd..8d9ca775 100644 --- a/docs/webapp/webapp_overview.md +++ b/docs/webapp/webapp_overview.md @@ -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 Homepage - + The dashboard for recent activity and quick access to experiments and projects. +* The [Projects Page](webapp_projects_page.md) Projects page - + 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 Workers & Queues page - + The resource monitoring and queues management page. + +* The [Settings Page](webapp_profile.md) Settings page - + 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 Profile button + button in the top right corner of the web UI screen, then click **Settings**. -* The **ClearML** Slack Channel Slack channel. Ask questions about **ClearML**. -* The **ClearML** YouTube YouTube Channel. View our tutorials, presentations, and discussions. +## WebApp Menus + +Click the help menu button Help menu +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 Profile button + 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** Slack Channel Slack channel. + Ask questions about **ClearML**. +* The **ClearML** YouTube YouTube Channel. + View our tutorials, presentations, and discussions. * The **ClearML** GitHub GitHub repository. - -For more information, see the [Community page](../community.md). +For more information, see the [Community page](../community.md). \ No newline at end of file diff --git a/docs/webapp/webapp_profile.md b/docs/webapp/webapp_profile.md index f4f4d72d..d348ac12 100644 --- a/docs/webapp/webapp_profile.md +++ b/docs/webapp/webapp_profile.md @@ -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 Profile button +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 Edit Pencil +1. Change the name +1. Click Check Mark 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 Profile button - (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** Edit Pencil +(under App credentials) **>** modify the name **>** click Check Mark. -:::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 you’ve 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 Profile button (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 Trash can button -## Inviting New Teammates +Removed users lose access to your workspace’s 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 Profile button - **>** **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 Trash can 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 Edit Pencil 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 Trash can 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 Trash can + 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 Edit Pencil 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 Trash can 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 Filter +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. diff --git a/sidebars.js b/sidebars.js index 47169008..c2503f82 100644 --- a/sidebars.js +++ b/sidebars.js @@ -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',