diff --git a/.claude/agents/docs-screenshot-capturer.md b/.claude/agents/docs-screenshot-capturer.md index 898a291426..127253cbb5 100644 --- a/.claude/agents/docs-screenshot-capturer.md +++ b/.claude/agents/docs-screenshot-capturer.md @@ -130,6 +130,27 @@ Open the browser and log in: - Use `browser_snapshot` to find the correct `ref` for the element you want to capture - When UI has icon-only buttons, **always verify the button's accessible name** in the snapshot before clicking — e.g., "trash bin" vs download icon can look similar +**Re-capture preflight (when overwriting an existing screenshot):** + +The filename of an existing screenshot encodes a contract about what it shows. Silently broadening the scope (e.g., turning a header strip into a full-page capture) breaks documentation that references it. Before overwriting any existing image: + +1. Inspect the previous version's dimensions and visual scope: + ```bash + git show main:packages/backend.ai-webui-docs/src/en/images/foo.png > /tmp/old.png + file /tmp/old.png # note WIDTH x HEIGHT + ``` +2. Open `/tmp/old.png` and identify its scope: + - Header strip: very wide, ≤300 px tall (e.g., 2358×222) → use `ref` of `[data-testid="webui-header"]` + - Modal/dialog only: medium, no chrome (e.g., 988×804) → use `ref` of `.ant-modal-wrap .ant-modal` or `[role="dialog"]` + - Sidebar segment: narrow column → use `ref` of `.ant-layout-sider` + - Wizard step / panel: capture the specific panel `ref`, not the layout root + - Full page (~viewport × viewport): `fullPage: true` is acceptable +3. After capture, sanity-check dimensions match the same order of magnitude as the old. If new dimensions differ by more than ~2× in either axis, you broke the framing — recapture with `ref`. + +**Anti-pattern observed in PR #6708**: `header.png` was 2358×222 (header strip) on `main`, recaptured as 2880×1800 (full viewport including sidebar + main content). The filename promised "header" but the new image showed everything. Always run the preflight above before overwriting. + +If the framing genuinely needs to change, **rename the file** to reflect the new scope (e.g., `header.png` → `top_bar_with_session_timer.png`) and update all markdown references — never silently broaden an existing image. + ``` .playwright-mcp/packages/backend.ai-webui-docs/src/en/images/{filename}.png ← captured with English UI .playwright-mcp/packages/backend.ai-webui-docs/src/ko/images/{filename}.png ← captured with Korean UI diff --git a/backend.ai-webui.code-workspace b/backend.ai-webui.code-workspace index fd3c67670b..587187ba8f 100644 --- a/backend.ai-webui.code-workspace +++ b/backend.ai-webui.code-workspace @@ -56,5 +56,9 @@ }, "inputs": [], }, + "i18n-ally.localesPaths": [ + "resources/i18n", + "packages/backend.ai-ui/src/locale", + ], }, } diff --git a/packages/backend.ai-webui-docs/SCREENSHOT-GUIDELINES.md b/packages/backend.ai-webui-docs/SCREENSHOT-GUIDELINES.md index ec22064429..167e762953 100644 --- a/packages/backend.ai-webui-docs/SCREENSHOT-GUIDELINES.md +++ b/packages/backend.ai-webui-docs/SCREENSHOT-GUIDELINES.md @@ -61,6 +61,37 @@ Standards for capturing, naming, and maintaining screenshots in the Backend.AI W - Full-page captures are appropriate for page overview screenshots, but for feature-specific documentation, crop to the relevant area so users can clearly identify what is being described - Include just enough surrounding context for users to orient themselves +### Match the Existing Screenshot's Framing (for re-captures) + +When **replacing an existing screenshot** (same filename), the new image MUST match the previous image's framing scope. The filename encodes a contract about what the image shows. + +**Before recapturing**, run the following preflight on the file you intend to replace: + +```bash +# 1. Inspect the previous version's dimensions and visual scope +git show main:path/to/images/foo.png > /tmp/old.png +file /tmp/old.png # note WIDTH x HEIGHT +# 2. Open /tmp/old.png and identify: +# - Is it a header strip? (very wide, very short — e.g., 2358x222) +# - Is it a modal/dialog only? (medium, no chrome — e.g., 988x804) +# - Is it a sidebar segment? (narrow column — e.g., 1500x1098) +# - Is it a full page? (~viewport width × viewport height — e.g., 2880x1800) +``` + +Then capture the new screenshot at the **same scope**: + +| Old image scope | Capture method | +|---|---| +| Header strip (e.g., `header.png`) | `ref` of `header`/top-bar element only — never `fullPage: true` | +| Modal/dialog only | `ref` of `.ant-modal-wrap .ant-modal` or `[role="dialog"]` | +| Sidebar segment | `ref` of the sidebar element | +| Page region (e.g., a step in a wizard) | `ref` of the specific panel, not the whole layout | +| Full page overview | `fullPage: true` is acceptable | + +**Anti-pattern observed in PR #6708**: `header.png` was 2358×222 (header strip only) on `main`, recaptured as 2880×1800 (full viewport including sidebar + main content + breadcrumbs). The filename promises "header" but the new image shows everything. **Always run the preflight above before re-capturing.** + +If the framing genuinely needs to change (e.g., the feature now spans more of the page), update the filename to reflect the new scope (e.g., `header.png` → `top_bar_with_session_timer.png`) rather than silently broadening an existing image. + ### Cleanup After Capture - **Always delete any resources created during screenshot capture** (folders, files, sessions, etc.) diff --git a/packages/backend.ai-webui-docs/src/en/header/header.md b/packages/backend.ai-webui-docs/src/en/header/header.md index e621a06910..f9c3beb62a 100644 --- a/packages/backend.ai-webui-docs/src/en/header/header.md +++ b/packages/backend.ai-webui-docs/src/en/header/header.md @@ -112,7 +112,7 @@ Each item has the following meaning. Enter the desired value and click the - **Full Name**: User's name (up to 64 characters). - **Original password**: Your current password. This field is shown only when - the server does not support the V2 user update API, and you must enter it + connecting to a server prior to Backend.AI 26.4.0, and you must enter it when setting a new password on such servers. - **New password**: New password (8 characters or more containing at least 1 alphabet, number, and symbol). Click the eye icon to reveal the input. @@ -126,8 +126,7 @@ Each item has the following meaning. Enter the desired value and click the you must enter an OTP code at login. :::note -The **Allowed client IPs** field is available when the server supports the V2 -user update API. +The **Allowed client IPs** field is available from Backend.AI 26.4.0 and later. ::: :::note diff --git a/packages/backend.ai-webui-docs/src/en/images/data_page.png b/packages/backend.ai-webui-docs/src/en/images/data_page.png index 6f76b17e5a..cf1fbe4de3 100644 Binary files a/packages/backend.ai-webui-docs/src/en/images/data_page.png and b/packages/backend.ai-webui-docs/src/en/images/data_page.png differ diff --git a/packages/backend.ai-webui-docs/src/en/images/header.png b/packages/backend.ai-webui-docs/src/en/images/header.png index b8af0ec6d7..7ef0a59a79 100644 Binary files a/packages/backend.ai-webui-docs/src/en/images/header.png and b/packages/backend.ai-webui-docs/src/en/images/header.png differ diff --git a/packages/backend.ai-webui-docs/src/en/images/launce_session_resource_2.png b/packages/backend.ai-webui-docs/src/en/images/launch_session_resource_2.png similarity index 100% rename from packages/backend.ai-webui-docs/src/en/images/launce_session_resource_2.png rename to packages/backend.ai-webui-docs/src/en/images/launch_session_resource_2.png diff --git a/packages/backend.ai-webui-docs/src/en/images/menu_collapse.png b/packages/backend.ai-webui-docs/src/en/images/menu_collapse.png index 5c12f1fe5f..8f683b2ef6 100644 Binary files a/packages/backend.ai-webui-docs/src/en/images/menu_collapse.png and b/packages/backend.ai-webui-docs/src/en/images/menu_collapse.png differ diff --git a/packages/backend.ai-webui-docs/src/en/images/move_to_trash.png b/packages/backend.ai-webui-docs/src/en/images/move_to_trash.png index f73c0f8a5d..45e1d89e53 100644 Binary files a/packages/backend.ai-webui-docs/src/en/images/move_to_trash.png and b/packages/backend.ai-webui-docs/src/en/images/move_to_trash.png differ diff --git a/packages/backend.ai-webui-docs/src/en/images/rename_vfolder.png b/packages/backend.ai-webui-docs/src/en/images/rename_vfolder.png index 60015003c7..d4ff017176 100644 Binary files a/packages/backend.ai-webui-docs/src/en/images/rename_vfolder.png and b/packages/backend.ai-webui-docs/src/en/images/rename_vfolder.png differ diff --git a/packages/backend.ai-webui-docs/src/en/images/sessions_page.png b/packages/backend.ai-webui-docs/src/en/images/sessions_page.png index 15e3265206..4cb3979123 100644 Binary files a/packages/backend.ai-webui-docs/src/en/images/sessions_page.png and b/packages/backend.ai-webui-docs/src/en/images/sessions_page.png differ diff --git a/packages/backend.ai-webui-docs/src/en/images/vfolder_create_modal.png b/packages/backend.ai-webui-docs/src/en/images/vfolder_create_modal.png index 261dbed1cf..173f5f55e4 100644 Binary files a/packages/backend.ai-webui-docs/src/en/images/vfolder_create_modal.png and b/packages/backend.ai-webui-docs/src/en/images/vfolder_create_modal.png differ diff --git a/packages/backend.ai-webui-docs/src/en/images/vfolder_delete_dialog.png b/packages/backend.ai-webui-docs/src/en/images/vfolder_delete_dialog.png index 4b168f7c46..32a7cd9e2d 100644 Binary files a/packages/backend.ai-webui-docs/src/en/images/vfolder_delete_dialog.png and b/packages/backend.ai-webui-docs/src/en/images/vfolder_delete_dialog.png differ diff --git a/packages/backend.ai-webui-docs/src/en/overview/overview.md b/packages/backend.ai-webui-docs/src/en/overview/overview.md index d6d20292fd..c45846c660 100644 --- a/packages/backend.ai-webui-docs/src/en/overview/overview.md +++ b/packages/backend.ai-webui-docs/src/en/overview/overview.md @@ -189,4 +189,5 @@ achieves more intuitive use. | Configurations* | X | O | | Maintenance* | X | O | | Information* | X | O | -| RBAC Management* | X | O (superadmin) | \ No newline at end of file +| RBAC Management* | X | O (superadmin) | +| Project* | X | O | \ No newline at end of file diff --git a/packages/backend.ai-webui-docs/src/en/sessions_all/sessions_all.md b/packages/backend.ai-webui-docs/src/en/sessions_all/sessions_all.md index 4b638d618b..2f37bf81f5 100644 --- a/packages/backend.ai-webui-docs/src/en/sessions_all/sessions_all.md +++ b/packages/backend.ai-webui-docs/src/en/sessions_all/sessions_all.md @@ -151,7 +151,7 @@ refer to the following: are created. If there are not enough resources available, requests to create sessions that cannot be created are put on the waiting queue. - ![](../images/launce_session_resource_2.png) + ![](../images/launch_session_resource_2.png) * Select Agent: Select the agent to be assigned. By default, the agent is automatically selected by the scheduler. The agent selector displays the actual amount of available resources for each agent. diff --git a/packages/backend.ai-webui-docs/src/en/vfolder/vfolder.md b/packages/backend.ai-webui-docs/src/en/vfolder/vfolder.md index 823051b2c3..e6f50199e3 100644 --- a/packages/backend.ai-webui-docs/src/en/vfolder/vfolder.md +++ b/packages/backend.ai-webui-docs/src/en/vfolder/vfolder.md @@ -64,7 +64,7 @@ The meaning of each field in the creation dialog is as follows. - **Folder name**: The name of the folder (up to 64 characters). - **Location**: Select the NFS host where the folder will be created. If there are multiple hosts, choose one. An indicator will show if there is enough available space. - **Type**: Determines the type of folder to be created. It can be set as User or Project. The User folder is a folder that users can create and use alone and the Project folder is a folder created by admin and shared by users in the project. -- **Project**: Shown only when you select project type. Designates the project to which the folder belongs when creating a new project folder. Project folders must belong to a project. However, it does not play any role when creating a user folder. +- **Project**: Shown only when you select project type. Designates the project to which the folder belongs when creating a new project folder. Project folders must belong to a project. For project folders, the project currently selected in the top bar is automatically selected as the target project. However, it does not play any role when creating a user folder. - **Permission**: Set permission of a project folder for project members. If this is set to "Read only", project members cannot write to this folder inside their compute session. - **Cloneable**: Shown only when you select usage mode to "Model". Select whether the vfolder you are creating should be cloneable. @@ -121,14 +121,15 @@ The text file editor opens in a modal with a code editor interface. The editor a The editor supports both light and dark themes matching your UI preferences. You can edit the file content, then click 'Save' to upload the modified file, or 'Cancel' to discard changes. :::note -The Edit File button is only available when you have write_content permission on the storage folder. If the file fails to load, an error message will be displayed. +The Edit File button is only available when your access to this storage folder includes the `write_content` permission (granted via folder sharing permission or your role on the folder). Storage-host level settings in the control panel do not affect this. If the file fails to load, an error message will be displayed. ::: ## Rename Folder -If you have permission to rename the storage folder, you can rename it by -clicking the edit button. +If you have permission to rename the storage folder, open the folder's detail +drawer and click the edit button next to the folder name. Renaming is performed +inside the detail drawer. ![](../images/rename_vfolder.png) @@ -334,9 +335,6 @@ want to connect via SSH to your container. Please refer to [managing user's SSH keypair](#user-ssh-keypair-management). ::: -## Folder Categories - - ## Pipeline Folders This tab shows the list of folders that are automatically created when executing a diff --git a/packages/backend.ai-webui-docs/src/ja/header/header.md b/packages/backend.ai-webui-docs/src/ja/header/header.md index 143b319894..c1b38ced6a 100644 --- a/packages/backend.ai-webui-docs/src/ja/header/header.md +++ b/packages/backend.ai-webui-docs/src/ja/header/header.md @@ -92,9 +92,9 @@ ユーザー情報を更新します。 - **フルネーム**: ユーザーの名前(最大64文字)。 -- **元のパスワード**: 現在のパスワードです。このフィールドはサーバーがV2ユーザー - 更新APIをサポートしない場合にのみ表示され、そのようなサーバーで新しいパスワードを - 設定する際に入力が必要です。 +- **元のパスワード**: 現在のパスワードです。このフィールドはBackend.AI 26.4.0 より前の + バージョンのサーバーに接続している場合にのみ表示され、そのようなサーバーで新しい + パスワードを設定する際に入力が必要です。 - **新しいパスワード**: 新しいパスワード(英字、数字、記号をそれぞれ1つ以上含む 8文字以上)。目のアイコンをクリックすると入力内容を確認できます。 - **新しいパスワードを再入力)**: 確認のため、新しいパスワードを再度入力します。 @@ -107,8 +107,7 @@ ログイン時にOTPコードの入力が必要になります。 :::note -**許可されたクライアントIP**フィールドは、サーバーがV2ユーザー更新APIをサポート -している場合に利用できます。 +**許可されたクライアントIP**フィールドは、Backend.AI 26.4.0 以降で利用できます。 ::: :::note diff --git a/packages/backend.ai-webui-docs/src/ja/images/data_page.png b/packages/backend.ai-webui-docs/src/ja/images/data_page.png index 6f76b17e5a..cf1fbe4de3 100644 Binary files a/packages/backend.ai-webui-docs/src/ja/images/data_page.png and b/packages/backend.ai-webui-docs/src/ja/images/data_page.png differ diff --git a/packages/backend.ai-webui-docs/src/ja/images/header.png b/packages/backend.ai-webui-docs/src/ja/images/header.png index b8af0ec6d7..7ef0a59a79 100644 Binary files a/packages/backend.ai-webui-docs/src/ja/images/header.png and b/packages/backend.ai-webui-docs/src/ja/images/header.png differ diff --git a/packages/backend.ai-webui-docs/src/ja/images/launce_session_resource_2.png b/packages/backend.ai-webui-docs/src/ja/images/launch_session_resource_2.png similarity index 100% rename from packages/backend.ai-webui-docs/src/ja/images/launce_session_resource_2.png rename to packages/backend.ai-webui-docs/src/ja/images/launch_session_resource_2.png diff --git a/packages/backend.ai-webui-docs/src/ja/images/menu_collapse.png b/packages/backend.ai-webui-docs/src/ja/images/menu_collapse.png index 5c12f1fe5f..8f683b2ef6 100644 Binary files a/packages/backend.ai-webui-docs/src/ja/images/menu_collapse.png and b/packages/backend.ai-webui-docs/src/ja/images/menu_collapse.png differ diff --git a/packages/backend.ai-webui-docs/src/ja/images/move_to_trash.png b/packages/backend.ai-webui-docs/src/ja/images/move_to_trash.png index f73c0f8a5d..45e1d89e53 100644 Binary files a/packages/backend.ai-webui-docs/src/ja/images/move_to_trash.png and b/packages/backend.ai-webui-docs/src/ja/images/move_to_trash.png differ diff --git a/packages/backend.ai-webui-docs/src/ja/images/rename_vfolder.png b/packages/backend.ai-webui-docs/src/ja/images/rename_vfolder.png index 60015003c7..d4ff017176 100644 Binary files a/packages/backend.ai-webui-docs/src/ja/images/rename_vfolder.png and b/packages/backend.ai-webui-docs/src/ja/images/rename_vfolder.png differ diff --git a/packages/backend.ai-webui-docs/src/ja/images/sessions_page.png b/packages/backend.ai-webui-docs/src/ja/images/sessions_page.png index 15e3265206..4cb3979123 100644 Binary files a/packages/backend.ai-webui-docs/src/ja/images/sessions_page.png and b/packages/backend.ai-webui-docs/src/ja/images/sessions_page.png differ diff --git a/packages/backend.ai-webui-docs/src/ja/images/vfolder_create_modal.png b/packages/backend.ai-webui-docs/src/ja/images/vfolder_create_modal.png index 261dbed1cf..173f5f55e4 100644 Binary files a/packages/backend.ai-webui-docs/src/ja/images/vfolder_create_modal.png and b/packages/backend.ai-webui-docs/src/ja/images/vfolder_create_modal.png differ diff --git a/packages/backend.ai-webui-docs/src/ja/images/vfolder_delete_dialog.png b/packages/backend.ai-webui-docs/src/ja/images/vfolder_delete_dialog.png index 4b168f7c46..32a7cd9e2d 100644 Binary files a/packages/backend.ai-webui-docs/src/ja/images/vfolder_delete_dialog.png and b/packages/backend.ai-webui-docs/src/ja/images/vfolder_delete_dialog.png differ diff --git a/packages/backend.ai-webui-docs/src/ja/overview/overview.md b/packages/backend.ai-webui-docs/src/ja/overview/overview.md index 6a7596cd17..59e64c144e 100644 --- a/packages/backend.ai-webui-docs/src/ja/overview/overview.md +++ b/packages/backend.ai-webui-docs/src/ja/overview/overview.md @@ -122,4 +122,5 @@ GUIクライアントパッケージは、Backend.AIサーバーがサポート | 構成* | X | O | | メンテナンス* | X | O | | 情報* | X | O | -| RBAC管理* | X | O (スーパー管理者) | \ No newline at end of file +| RBAC管理* | X | O (スーパー管理者) | +| プロジェクト* | X | O | \ No newline at end of file diff --git a/packages/backend.ai-webui-docs/src/ja/sessions_all/sessions_all.md b/packages/backend.ai-webui-docs/src/ja/sessions_all/sessions_all.md index 0a44ed6f15..3e61537de2 100644 --- a/packages/backend.ai-webui-docs/src/ja/sessions_all/sessions_all.md +++ b/packages/backend.ai-webui-docs/src/ja/sessions_all/sessions_all.md @@ -151,7 +151,7 @@ refer to the following: are created. If there are not enough resources available, requests to create sessions that cannot be created are put on the waiting queue. - ![](../images/launce_session_resource_2.png) + ![](../images/launch_session_resource_2.png) * Select Agent: Select the agent to be assigned. By default, the agent is automatically selected by the scheduler. The agent selector displays the actual amount of available resources for each agent. diff --git a/packages/backend.ai-webui-docs/src/ja/vfolder/vfolder.md b/packages/backend.ai-webui-docs/src/ja/vfolder/vfolder.md index 044fdae981..b13d18e5f7 100644 --- a/packages/backend.ai-webui-docs/src/ja/vfolder/vfolder.md +++ b/packages/backend.ai-webui-docs/src/ja/vfolder/vfolder.md @@ -62,7 +62,7 @@ The meaning of each field in the creation dialog is as follows. - **Folder name**: The name of the folder (up to 64 characters). - **Location**: Select the NFS host where the folder will be created. If there are multiple hosts, choose one. An indicator will show if there is enough available space. - **種類**: 作成するフォルダーの種類を決定します。ユーザーまたはプロジェクトとして設定できます。ユーザーフォルダーは、ユーザーが自身で作成して使用できるフォルダーであり、プロジェクトフォルダーは管理者によって作成され、プロジェクト内のユーザーと共有されるフォルダーです。 -- **プロジェクト**:プロジェクトタイプを選択したときにのみ表示されます。新しいプロジェクトフォルダを作成するときに、フォルダが属するプロジェクトを指定します。プロジェクトフォルダは、プロジェクトに属する必要があります。ただし、ユーザーフォルダを作成する際には、役割を果たしません。 +- **プロジェクト**:プロジェクトタイプを選択したときにのみ表示されます。新しいプロジェクトフォルダを作成するときに、フォルダが属するプロジェクトを指定します。プロジェクトフォルダは、プロジェクトに属する必要があり、プロジェクトフォルダの場合、トップバーで現在選択されているプロジェクトが対象プロジェクトとして自動的に選択されます。ただし、ユーザーフォルダを作成する際には、役割を果たしません。 - **アクセス権限**: プロジェクトフォルダのプロジェクトメンバーに対するアクセス権限を設定します。「読み取り専用」に設定されている場合、プロジェクトメンバーはコンピュートセッション内でこのフォルダに書き込みを行うことができません。 - **Cloneable**: Shown only when you select usage mode to "Model". Select whether the vfolder you are creating should be cloneable. @@ -109,13 +109,13 @@ in the directory. エディタはUIの設定に合わせてライトテーマとダークテーマの両方をサポートしています。ファイルの内容を編集した後、「保存」をクリックして変更されたファイルをアップロードするか、「キャンセル」をクリックして変更を破棄できます。 :::note -ファイルを編集ボタンは、ストレージフォルダに対するwrite_contentパーミッションがある場合にのみ使用できます。ファイルの読み込みに失敗した場合、エラーメッセージが表示されます。 +ファイルを編集ボタンは、対象のストレージフォルダに対するユーザーのアクセス権限に `write_content` 権限が含まれている場合にのみ使用できます(フォルダの共有権限、またはフォルダに付与されたロールを通じて付与されます)。コントロールパネルのストレージホストレベルの設定は、この動作には影響しません。ファイルの読み込みに失敗した場合、エラーメッセージが表示されます。 ::: ## フォルダー名を変更 -ストレージフォルダの名前を変更する権限がある場合、編集ボタンをクリックして名前を変更できます。 +ストレージフォルダの名前を変更する権限がある場合、フォルダの詳細ドロワーを開き、フォルダ名の横にある編集ボタンをクリックして名前を変更します。名前変更は詳細ドロワー内でのみ行います。 ![](../images/rename_vfolder.png) @@ -298,9 +298,6 @@ want to connect via SSH to your container. Please refer to [managing user's SSH keypair](#user-ssh-keypair-management). ::: -## Folder Categories - - ## Pipeline folders This tab shows the list of folders that are automatically created when executing a diff --git a/packages/backend.ai-webui-docs/src/ko/header/header.md b/packages/backend.ai-webui-docs/src/ko/header/header.md index 8d2172883b..158764e288 100644 --- a/packages/backend.ai-webui-docs/src/ko/header/header.md +++ b/packages/backend.ai-webui-docs/src/ko/header/header.md @@ -91,8 +91,8 @@ 사용자 정보가 변경됩니다. - **사용자 이름**: 사용자의 이름 (최대 64자). -- **기존 비밀번호**: 현재 비밀번호입니다. 이 필드는 서버가 V2 사용자 업데이트 API를 - 지원하지 않는 경우에만 표시되며, 해당 서버에서 새 비밀번호를 설정할 때 반드시 +- **기존 비밀번호**: 현재 비밀번호입니다. 이 필드는 Backend.AI 26.4.0 이전 버전의 + 서버에 연결된 경우에만 표시되며, 해당 서버에서 새 비밀번호를 설정할 때 반드시 입력해야 합니다. - **새 비밀번호**: 새로운 비밀번호 (영문자, 숫자, 기호가 1개 이상 포함된 8글자 이상). 눈 아이콘을 클릭하면 입력 내용을 확인할 수 있습니다. @@ -105,8 +105,7 @@ 로그인 시 OTP 코드를 입력해야 합니다. :::note -**허용된 클라이언트 IP** 필드는 서버가 V2 사용자 업데이트 API를 지원하는 경우에 -사용할 수 있습니다. +**허용된 클라이언트 IP** 필드는 Backend.AI 26.4.0 이상에서 사용할 수 있습니다. ::: :::note diff --git a/packages/backend.ai-webui-docs/src/ko/images/data_page.png b/packages/backend.ai-webui-docs/src/ko/images/data_page.png index 6f76b17e5a..cf1fbe4de3 100644 Binary files a/packages/backend.ai-webui-docs/src/ko/images/data_page.png and b/packages/backend.ai-webui-docs/src/ko/images/data_page.png differ diff --git a/packages/backend.ai-webui-docs/src/ko/images/header.png b/packages/backend.ai-webui-docs/src/ko/images/header.png index b8af0ec6d7..7ef0a59a79 100644 Binary files a/packages/backend.ai-webui-docs/src/ko/images/header.png and b/packages/backend.ai-webui-docs/src/ko/images/header.png differ diff --git a/packages/backend.ai-webui-docs/src/ko/images/launce_session_resource_2.png b/packages/backend.ai-webui-docs/src/ko/images/launch_session_resource_2.png similarity index 100% rename from packages/backend.ai-webui-docs/src/ko/images/launce_session_resource_2.png rename to packages/backend.ai-webui-docs/src/ko/images/launch_session_resource_2.png diff --git a/packages/backend.ai-webui-docs/src/ko/images/menu_collapse.png b/packages/backend.ai-webui-docs/src/ko/images/menu_collapse.png index 5c12f1fe5f..8f683b2ef6 100644 Binary files a/packages/backend.ai-webui-docs/src/ko/images/menu_collapse.png and b/packages/backend.ai-webui-docs/src/ko/images/menu_collapse.png differ diff --git a/packages/backend.ai-webui-docs/src/ko/images/move_to_trash.png b/packages/backend.ai-webui-docs/src/ko/images/move_to_trash.png index f73c0f8a5d..45e1d89e53 100644 Binary files a/packages/backend.ai-webui-docs/src/ko/images/move_to_trash.png and b/packages/backend.ai-webui-docs/src/ko/images/move_to_trash.png differ diff --git a/packages/backend.ai-webui-docs/src/ko/images/rename_vfolder.png b/packages/backend.ai-webui-docs/src/ko/images/rename_vfolder.png index 60015003c7..d4ff017176 100644 Binary files a/packages/backend.ai-webui-docs/src/ko/images/rename_vfolder.png and b/packages/backend.ai-webui-docs/src/ko/images/rename_vfolder.png differ diff --git a/packages/backend.ai-webui-docs/src/ko/images/sessions_page.png b/packages/backend.ai-webui-docs/src/ko/images/sessions_page.png index 15e3265206..4cb3979123 100644 Binary files a/packages/backend.ai-webui-docs/src/ko/images/sessions_page.png and b/packages/backend.ai-webui-docs/src/ko/images/sessions_page.png differ diff --git a/packages/backend.ai-webui-docs/src/ko/images/vfolder_create_modal.png b/packages/backend.ai-webui-docs/src/ko/images/vfolder_create_modal.png index 261dbed1cf..173f5f55e4 100644 Binary files a/packages/backend.ai-webui-docs/src/ko/images/vfolder_create_modal.png and b/packages/backend.ai-webui-docs/src/ko/images/vfolder_create_modal.png differ diff --git a/packages/backend.ai-webui-docs/src/ko/images/vfolder_delete_dialog.png b/packages/backend.ai-webui-docs/src/ko/images/vfolder_delete_dialog.png index 4b168f7c46..32a7cd9e2d 100644 Binary files a/packages/backend.ai-webui-docs/src/ko/images/vfolder_delete_dialog.png and b/packages/backend.ai-webui-docs/src/ko/images/vfolder_delete_dialog.png differ diff --git a/packages/backend.ai-webui-docs/src/ko/overview/overview.md b/packages/backend.ai-webui-docs/src/ko/overview/overview.md index f5dda1437a..2ea3b3dc95 100644 --- a/packages/backend.ai-webui-docs/src/ko/overview/overview.md +++ b/packages/backend.ai-webui-docs/src/ko/overview/overview.md @@ -176,3 +176,4 @@ GUI 클라이언트입니다. Backend.AI 서버에 접속하여 연산 자원을 | 관리* | X | O | | 정보* | X | O | | RBAC 관리* | X | O (슈퍼관리자) | +| 프로젝트* | X | O | diff --git a/packages/backend.ai-webui-docs/src/ko/sessions_all/sessions_all.md b/packages/backend.ai-webui-docs/src/ko/sessions_all/sessions_all.md index 27c01a026d..47618bb97b 100644 --- a/packages/backend.ai-webui-docs/src/ko/sessions_all/sessions_all.md +++ b/packages/backend.ai-webui-docs/src/ko/sessions_all/sessions_all.md @@ -91,7 +91,7 @@ Backend.AI WebUI 에서 가장 많이 방문하게 될 페이지는 세션 페 * AI 가속기: AI 가속기 (GPU 및 NPU)는 기계 학습과 관련된 행렬 / 벡터 계산에 적합합니다. AI 가속기는 훈련 및 인퍼런스 알고리즘을 몇 배나 가속화하여 기계 학습 워크로드의 실행 시간을 몇 주에서 며칠로 줄입니다. * 세션: 세션은 지정된 환경과 자원에 따라 생성되는 계산 환경 단위입니다. 이 값을 1보다 큰 값으로 설정하면 위의 자원 설정을 이용한 여러 세션이 지정한 값만큼 동시에 생성됩니다. 세션 시작 요청 시 사용 가능한 자원이 충분하지 않은 경우, 생성하지 못한 세션 시작 요청들은 생성 대기열에 추가됩니다. - ![](../images/launce_session_resource_2.png) + ![](../images/launch_session_resource_2.png) * 에이전트 선택: 사용자는 할당할 에이전트를 직접 선택할 수 있습니다. 기본적으로는 스케줄러가 에이전트를 자동으로 선택합니다. 에이전트 선택기에서는 각 에이전트의 실제 사용 가능한 자원 양을 확인할 수 있습니다. 현재 이 기능은 단일 노드, 단일 컨테이너 환경에서만 지원됩니다. * 클러스터 모드: 클러스터 모드를 사용하면 여러 연산 세션을 한 번에 생성할 수 있습니다. 자세한 내용은 [Backend.AI 클러스터 연산 세션 개요](#backendai-cluster-compute-session)를 참고하세요. diff --git a/packages/backend.ai-webui-docs/src/ko/vfolder/vfolder.md b/packages/backend.ai-webui-docs/src/ko/vfolder/vfolder.md index 90bc1f34d0..258c0cc61e 100644 --- a/packages/backend.ai-webui-docs/src/ko/vfolder/vfolder.md +++ b/packages/backend.ai-webui-docs/src/ko/vfolder/vfolder.md @@ -54,7 +54,7 @@ Backend.AI는 사용자의 파일을 안전하게 보관할 수 있도록 전용 - **폴더 이름**: 폴더명을 입력합니다 (최대 64자). - **위치**: 폴더를 생성할 NFS 호스트를 선택합니다. 여러 호스트가 있을 경우 각각의 사용 가능 용량을 확인한 후 적절한 호스트를 선택하세요. - **종류**: 생성할 폴더 유형을 결정합니다. 사용자(User) 또는 프로젝트(Project)로 설정할 수 있습니다. 사용자 폴더는 사용자가 단독으로 생성하여 사용할 수 있는 폴더이며, 프로젝트 폴더는 관리자가 생성하고 프로젝트의 사용자가 공유하는 폴더입니다. -- **프로젝트**: 프로젝트 타입을 선택한 경우에만 표시됩니다. 새 프로젝트 폴더를 만들 때 폴더가 속한 프로젝트를 지정할 수 있습니다. 프로젝트 폴더는 반드시 프로젝트에 속해야 하지만, 사용자 폴더를 생성할 때에는 별도의 역할을 수행하지 않습니다. +- **프로젝트**: 프로젝트 타입을 선택한 경우에만 표시됩니다. 새 프로젝트 폴더를 만들 때 폴더가 속한 프로젝트를 지정할 수 있습니다. 프로젝트 폴더는 반드시 프로젝트에 속해야 하며, 프로젝트 폴더의 경우 상단 바에서 현재 선택된 프로젝트가 대상 프로젝트로 자동 선택됩니다. 다만 사용자 폴더를 생성할 때에는 별도의 역할을 수행하지 않습니다. - **권한**: 프로젝트 멤버에 대한 프로젝트 폴더의 권한을 설정합니다. "읽기 전용"으로 설정된 경우, 프로젝트 멤버가 연산 세션 내에서 이 폴더에 쓰기 작업을 수행할 수 없습니다. - **복제 가능 여부**: 사용 방식이 "모델"로 설정된 경우에만 표시됩니다. 생성하는 가상 폴더(vfolder)가 복제 가능한지 여부를 선택합니다. @@ -96,13 +96,13 @@ Backend.AI는 사용자의 파일을 안전하게 보관할 수 있도록 전용 편집기는 UI 환경 설정과 일치하는 라이트 및 다크 테마를 모두 지원합니다. 파일 내용을 편집한 후 '저장'을 클릭하여 수정된 파일을 업로드하거나, '취소'를 클릭하여 변경 사항을 취소할 수 있습니다. :::note -파일 편집 버튼은 스토리지 폴더에 대한 write_content 권한이 있는 경우에만 사용할 수 있습니다. 파일 로드에 실패하면 오류 메시지가 표시됩니다. +파일 편집 버튼은 해당 스토리지 폴더에 대한 사용자 접근 권한에 `write_content` 권한이 포함되어 있을 때에만 사용할 수 있습니다(폴더 공유 권한 또는 폴더에 부여된 역할을 통해 부여됨). 제어판의 스토리지 호스트 수준 설정은 이 동작에 영향을 주지 않습니다. 파일 로드에 실패하면 오류 메시지가 표시됩니다. ::: ## 폴더 이름 변경 -스토리지 폴더의 이름을 변경할 수 있는 권한을 가지고 있는 경우, 폴더 이름 옆의 수정 버튼을 클릭하여 이름 변경 작업을 수행할 수 있습니다. +스토리지 폴더의 이름을 변경할 수 있는 권한을 가지고 있는 경우, 폴더 상세 드로어를 열고 폴더 이름 옆의 수정 버튼을 클릭하여 이름을 변경할 수 있습니다. 이름 변경 작업은 상세 드로어 내부에서만 수행됩니다. ![](../images/rename_vfolder.png) @@ -267,9 +267,6 @@ SSH 키페어를 업로드하면 `id_container`가 사용자의 SSH 개인 키 자세한 내용은 [사용자 SSH 키페어 관리](#user-ssh-keypair-management) 섹션을 참고하세요. ::: -## 폴더 카테고리 - - ## 파이프라인 폴더 이 탭에는 FastTrack에서 파이프라인을 실행할 때 자동으로 생성되는 폴더 목록이 표시됩니다. 파이프라인이 생성되면 각 작업 인스턴스(연산 세션)에 대해 새로운 폴더가 생성되어 `/pipeline` 아래에 마운트됩니다. diff --git a/packages/backend.ai-webui-docs/src/th/header/header.md b/packages/backend.ai-webui-docs/src/th/header/header.md index 0d79ac1a0d..87adbd6410 100644 --- a/packages/backend.ai-webui-docs/src/th/header/header.md +++ b/packages/backend.ai-webui-docs/src/th/header/header.md @@ -92,8 +92,8 @@ เพื่ออัปเดตข้อมูลผู้ใช้ - **ชื่อเต็ม**: ชื่อผู้ใช้ (สูงสุด 64 ตัวอักษร) -- **รหัสผ่านเดิม**: รหัสผ่านปัจจุบันของคุณ ฟิลด์นี้จะแสดงเฉพาะเมื่อเซิร์ฟเวอร์ไม่รองรับ - V2 API สำหรับอัปเดตข้อมูลผู้ใช้ และคุณต้องป้อนรหัสผ่านนี้เมื่อตั้งรหัสผ่านใหม่ +- **รหัสผ่านเดิม**: รหัสผ่านปัจจุบันของคุณ ฟิลด์นี้จะแสดงเฉพาะเมื่อเชื่อมต่อกับเซิร์ฟเวอร์ + เวอร์ชันก่อน Backend.AI 26.4.0 และคุณต้องป้อนรหัสผ่านนี้เมื่อตั้งรหัสผ่านใหม่ บนเซิร์ฟเวอร์ดังกล่าว - **รหัสผ่านใหม่**: รหัสผ่านใหม่ (8 ตัวอักษรขึ้นไปที่มีตัวอักษร ตัวเลข และสัญลักษณ์อย่างน้อย 1 ตัว) คลิกไอคอนรูปตาเพื่อแสดงเนื้อหาที่ป้อน @@ -107,7 +107,7 @@ เมื่อเปิดใช้งาน คุณต้องป้อนรหัส OTP เมื่อเข้าสู่ระบบ :::note -ฟิลด์ **IP ไคลเอนต์ที่อนุญาต** จะใช้ได้เมื่อเซิร์ฟเวอร์สนับสนุน V2 API สำหรับอัปเดตข้อมูลผู้ใช้ +ฟิลด์ **IP ไคลเอนต์ที่อนุญาต** สามารถใช้งานได้ตั้งแต่ Backend.AI 26.4.0 เป็นต้นไป ::: :::note diff --git a/packages/backend.ai-webui-docs/src/th/images/data_page.png b/packages/backend.ai-webui-docs/src/th/images/data_page.png index 6f76b17e5a..cf1fbe4de3 100644 Binary files a/packages/backend.ai-webui-docs/src/th/images/data_page.png and b/packages/backend.ai-webui-docs/src/th/images/data_page.png differ diff --git a/packages/backend.ai-webui-docs/src/th/images/header.png b/packages/backend.ai-webui-docs/src/th/images/header.png index b8af0ec6d7..7ef0a59a79 100644 Binary files a/packages/backend.ai-webui-docs/src/th/images/header.png and b/packages/backend.ai-webui-docs/src/th/images/header.png differ diff --git a/packages/backend.ai-webui-docs/src/th/images/launce_session_resource_2.png b/packages/backend.ai-webui-docs/src/th/images/launch_session_resource_2.png similarity index 100% rename from packages/backend.ai-webui-docs/src/th/images/launce_session_resource_2.png rename to packages/backend.ai-webui-docs/src/th/images/launch_session_resource_2.png diff --git a/packages/backend.ai-webui-docs/src/th/images/move_to_trash.png b/packages/backend.ai-webui-docs/src/th/images/move_to_trash.png index f73c0f8a5d..45e1d89e53 100644 Binary files a/packages/backend.ai-webui-docs/src/th/images/move_to_trash.png and b/packages/backend.ai-webui-docs/src/th/images/move_to_trash.png differ diff --git a/packages/backend.ai-webui-docs/src/th/images/rename_vfolder.png b/packages/backend.ai-webui-docs/src/th/images/rename_vfolder.png index 60015003c7..d4ff017176 100644 Binary files a/packages/backend.ai-webui-docs/src/th/images/rename_vfolder.png and b/packages/backend.ai-webui-docs/src/th/images/rename_vfolder.png differ diff --git a/packages/backend.ai-webui-docs/src/th/images/sessions_page.png b/packages/backend.ai-webui-docs/src/th/images/sessions_page.png index 15e3265206..4cb3979123 100644 Binary files a/packages/backend.ai-webui-docs/src/th/images/sessions_page.png and b/packages/backend.ai-webui-docs/src/th/images/sessions_page.png differ diff --git a/packages/backend.ai-webui-docs/src/th/images/vfolder_create_modal.png b/packages/backend.ai-webui-docs/src/th/images/vfolder_create_modal.png index 261dbed1cf..173f5f55e4 100644 Binary files a/packages/backend.ai-webui-docs/src/th/images/vfolder_create_modal.png and b/packages/backend.ai-webui-docs/src/th/images/vfolder_create_modal.png differ diff --git a/packages/backend.ai-webui-docs/src/th/images/vfolder_delete_dialog.png b/packages/backend.ai-webui-docs/src/th/images/vfolder_delete_dialog.png index 4b168f7c46..32a7cd9e2d 100644 Binary files a/packages/backend.ai-webui-docs/src/th/images/vfolder_delete_dialog.png and b/packages/backend.ai-webui-docs/src/th/images/vfolder_delete_dialog.png differ diff --git a/packages/backend.ai-webui-docs/src/th/overview/overview.md b/packages/backend.ai-webui-docs/src/th/overview/overview.md index 2d63c0e20c..380fd7e7d7 100644 --- a/packages/backend.ai-webui-docs/src/th/overview/overview.md +++ b/packages/backend.ai-webui-docs/src/th/overview/overview.md @@ -122,4 +122,5 @@ Backend.AI มีการปรับแต่งที่มุ่งเน้ | การกำหนดค่า* | X | O | | การบำรุงรักษา* | X | O | | ข้อมูล* | X | O | -| การจัดการ RBAC* | X | O (ผู้ดูแลระบบระดับสูง) | \ No newline at end of file +| การจัดการ RBAC* | X | O (ผู้ดูแลระบบระดับสูง) | +| โปรเจกต์* | X | O | \ No newline at end of file diff --git a/packages/backend.ai-webui-docs/src/th/sessions_all/sessions_all.md b/packages/backend.ai-webui-docs/src/th/sessions_all/sessions_all.md index ac5db1e608..af8df9f42d 100644 --- a/packages/backend.ai-webui-docs/src/th/sessions_all/sessions_all.md +++ b/packages/backend.ai-webui-docs/src/th/sessions_all/sessions_all.md @@ -142,7 +142,7 @@ refer to the following: are created. If there are not enough resources available, requests to create sessions that cannot be created are put on the waiting queue. - ![](../images/launce_session_resource_2.png) + ![](../images/launch_session_resource_2.png) * Select Agent: Select the agent to be assigned. By default, the agent is automatically selected by the scheduler. The agent selector displays the actual amount of available resources for each agent. diff --git a/packages/backend.ai-webui-docs/src/th/vfolder/vfolder.md b/packages/backend.ai-webui-docs/src/th/vfolder/vfolder.md index 55b57aa167..1f64e0fc68 100644 --- a/packages/backend.ai-webui-docs/src/th/vfolder/vfolder.md +++ b/packages/backend.ai-webui-docs/src/th/vfolder/vfolder.md @@ -62,7 +62,7 @@ The meaning of each field in the creation dialog is as follows. - **Folder name**: The name of the folder (up to 64 characters). - **Location**: Select the NFS host where the folder will be created. If there are multiple hosts, choose one. An indicator will show if there is enough available space. - **ประเภท**: กำหนดประเภทของโฟลเดอร์ที่จะสร้าง สามารถตั้งค่าเป็นผู้ใช้หรือโครงการ โฟลเดอร์ผู้ใช้คือโฟลเดอร์ที่ผู้ใช้สามารถสร้างและใช้งานได้เพียงคนเดียว และโฟลเดอร์โครงการคือโฟลเดอร์ที่สร้างโดยผู้ดูแลระบบและแชร์โดยผู้ใช้ในโครงการ -- **Project**: Shown only when you select project type. Designates the project to which the folder belongs when creating a new project folder. Project folders must belong to a project. However, it does not play any role when creating a ผู้ใช้ folder. +- **Project**: Shown only when you select project type. Designates the project to which the folder belongs when creating a new project folder. Project folders must belong to a project. สำหรับโฟลเดอร์โปรเจกต์ โปรเจกต์ที่เลือกอยู่ในแถบด้านบนในปัจจุบันจะถูกเลือกเป็นโปรเจกต์เป้าหมายโดยอัตโนมัติ อย่างไรก็ตาม การตั้งค่านี้จะไม่มีผลเมื่อสร้างโฟลเดอร์ผู้ใช้ - **สิทธิ์**: กำหนดสิทธิ์ของโฟลเดอร์โปรเจกต์สำหรับสมาชิกโปรเจกต์ หากตั้งค่าเป็น "อ่านเท่านั้น" สมาชิกโปรเจกต์จะไม่สามารถเขียนลงในโฟลเดอร์นี้ภายในเซสชันการคำนวณของพวกเขาได้ - **Cloneable**: Shown only when you select usage mode to "Model". Select whether the vfolder you are creating should be cloneable. @@ -112,13 +112,13 @@ in the directory. ตัวแก้ไขรองรับทั้งธีมสว่างและธีมมืดที่ตรงกับการตั้งค่า UI ของคุณ คุณสามารถแก้ไขเนื้อหาไฟล์ จากนั้นคลิก 'บันทึก' เพื่ออัปโหลดไฟล์ที่แก้ไข หรือ 'ยกเลิก' เพื่อยกเลิกการเปลี่ยนแปลง :::note -ปุ่มแก้ไขไฟล์จะใช้งานได้เฉพาะเมื่อคุณมีสิทธิ์ write_content บนโฟลเดอร์จัดเก็บ หากไฟล์โหลดไม่สำเร็จ ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้น +ปุ่มแก้ไขไฟล์จะใช้งานได้เฉพาะเมื่อสิทธิ์การเข้าถึงของคุณต่อโฟลเดอร์จัดเก็บนี้มีสิทธิ์ `write_content` (ที่ได้รับผ่านสิทธิ์การแชร์โฟลเดอร์หรือบทบาทของคุณบนโฟลเดอร์) การตั้งค่าระดับ storage host ในแผงควบคุมไม่มีผลต่อการทำงานนี้ หากไฟล์โหลดไม่สำเร็จ ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้น ::: ## เปลี่ยนชื่อโฟลเดอร์ -หากคุณมีสิทธิ์ในการเปลี่ยนชื่อโฟลเดอร์จัดเก็บ คุณสามารถเปลี่ยนชื่อได้โดยคลิกที่ปุ่มแก้ไข +หากคุณมีสิทธิ์ในการเปลี่ยนชื่อโฟลเดอร์จัดเก็บ ให้เปิดลิ้นชักรายละเอียดของโฟลเดอร์แล้วคลิกปุ่มแก้ไขข้างชื่อโฟลเดอร์ การเปลี่ยนชื่อจะดำเนินการภายในลิ้นชักรายละเอียดเท่านั้น ![](../images/rename_vfolder.png) @@ -301,9 +301,6 @@ want to connect via SSH to your container. Please refer to [managing user's SSH keypair](#user-ssh-keypair-management). ::: -## Folder Categories - - ## Pipeline folders This tab shows the list of folders that are automatically created when executing a