diff --git a/app/views/projects/settings/_archive.html.haml b/app/views/projects/settings/_archive.html.haml index 10ba19591fe079a848a1e02a5b378e6763bf2fef..6fc8763b9775d83dbd9b27d0592bbbe81cd01732 100644 --- a/app/views/projects/settings/_archive.html.haml +++ b/app/views/projects/settings/_archive.html.haml @@ -11,12 +11,12 @@ - c.with_body do - if @project.archived? - - link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: help_page_path('user/project/settings/migrate_projects', anchor: 'unarchive-a-project') } + - link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: help_page_path('user/project/working_with_projects', anchor: 'unarchive-a-project') } %p= _("Unarchiving the project restores its members' ability to make commits, and create issues, comments, and other entities. %{strong_start}After you unarchive the project, it displays in the search and on the dashboard.%{strong_end} %{link_start}Learn more.%{link_end}").html_safe % { strong_start: '<strong>'.html_safe, strong_end: '</strong>'.html_safe, link_start: link_start, link_end: '</a>'.html_safe } = render Pajamas::ButtonComponent.new(method: :post, href: unarchive_project_path(@project), variant: :confirm, button_options: { aria: { label: _('Unarchive project') }, data: { confirm: _("Are you sure that you want to unarchive this project?"), testid: 'unarchive-project-link' } }) do = _('Unarchive project') - else - - link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: help_page_path('user/project/settings/migrate_projects', anchor: 'archive-a-project') } + - link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: help_page_path('user/project/working_with_projects', anchor: 'archive-a-project') } %p= _("Archiving the project makes it entirely read-only. It is hidden from the dashboard and doesn't display in searches. %{strong_start}The repository cannot be committed to, and no issues, comments, or other entities can be created.%{strong_end} %{link_start}Learn more.%{link_end}").html_safe % { strong_start: '<strong>'.html_safe, strong_end: '</strong>'.html_safe, link_start: link_start, link_end: '</a>'.html_safe } = render Pajamas::ButtonComponent.new(method: :post, href: archive_project_path(@project), variant: :confirm, button_options: { aria: { label: _('Archive project') }, data: { confirm: _("Are you sure that you want to archive this project?"), testid: 'archive-project-link', 'confirm-btn-variant': 'confirm' } }) do = _('Archive project') diff --git a/doc/administration/geo/replication/datatypes.md b/doc/administration/geo/replication/datatypes.md index 30540f1cec61edf14709186d0a4be2e80ade21b6..30bd84ba37670914f1fc973c8850756f62e50a7a 100644 --- a/doc/administration/geo/replication/datatypes.md +++ b/doc/administration/geo/replication/datatypes.md @@ -193,7 +193,7 @@ successfully, you must replicate their data using some other means. |Feature | Replicated (added in GitLab version) | Verified (added in GitLab version) | GitLab-managed object storage replication (added in GitLab version) | GitLab-managed object storage verification (added in GitLab version) | Notes | |:--------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------|:---------------------------------------------------------------------------|:--------------------------------------------------------------------|:----------------------------------------------------------------|:------| |[Application data in PostgreSQL](../../postgresql/index.md) | **Yes** (10.2) | **Yes** (10.2) | Not applicable | Not applicable | | -|[Project repository](../../../user/project/repository/index.md) | **Yes** (10.2) | **Yes** (10.7) | [**Yes** (16.4)<sup>3</sup>](https://gitlab.com/groups/gitlab-org/-/epics/8056) | [**Yes** (16.4)<sup>3</sup>](https://gitlab.com/groups/gitlab-org/-/epics/8056) | Migrated to [self-service framework](../../../development/geo/framework.md) in 16.2. See GitLab issue [#367925](https://gitlab.com/gitlab-org/gitlab/-/issues/367925) for more details.<br /><br />Behind feature flag `geo_project_repository_replication`, enabled by default in (16.3).<br /><br /> All projects, including [archived projects](../../../user/project/settings/migrate_projects.md#archive-a-project), are replicated. | +|[Project repository](../../../user/project/repository/index.md) | **Yes** (10.2) | **Yes** (10.7) | [**Yes** (16.4)<sup>3</sup>](https://gitlab.com/groups/gitlab-org/-/epics/8056) | [**Yes** (16.4)<sup>3</sup>](https://gitlab.com/groups/gitlab-org/-/epics/8056) | Migrated to [self-service framework](../../../development/geo/framework.md) in 16.2. See GitLab issue [#367925](https://gitlab.com/gitlab-org/gitlab/-/issues/367925) for more details.<br /><br />Behind feature flag `geo_project_repository_replication`, enabled by default in (16.3).<br /><br /> All projects, including [archived projects](../../../user/project/working_with_projects.md#archive-a-project), are replicated. | |[Project wiki repository](../../../user/project/wiki/index.md) | **Yes** (10.2)<sup>2</sup> | **Yes** (10.7)<sup>2</sup> | [**Yes** (16.4)<sup>3</sup>](https://gitlab.com/groups/gitlab-org/-/epics/8056) | [**Yes** (16.4)<sup>3</sup>](https://gitlab.com/groups/gitlab-org/-/epics/8056) | Migrated to [self-service framework](../../../development/geo/framework.md) in 15.11. See GitLab issue [#367925](https://gitlab.com/gitlab-org/gitlab/-/issues/367925) for more details.<br /><br />Behind feature flag `geo_project_wiki_repository_replication`, enabled by default in (15.11). | |[Group wiki repository](../../../user/project/wiki/group.md) | [**Yes** (13.10)](https://gitlab.com/gitlab-org/gitlab/-/issues/208147) | [**Yes** (16.3)](https://gitlab.com/gitlab-org/gitlab/-/issues/323897) | [**Yes** (16.4)<sup>3</sup>](https://gitlab.com/groups/gitlab-org/-/epics/8056) | [**Yes** (16.4)<sup>3</sup>](https://gitlab.com/groups/gitlab-org/-/epics/8056) | Behind feature flag `geo_group_wiki_repository_replication`, enabled by default. | |[Uploads](../../uploads.md) | **Yes** (10.2) | **Yes** (14.6) | [**Yes** (15.1)](https://gitlab.com/groups/gitlab-org/-/epics/5551) | [**Yes** (16.4)<sup>3</sup>](https://gitlab.com/groups/gitlab-org/-/epics/8056) | Replication is behind the feature flag `geo_upload_replication`, enabled by default. Verification was behind the feature flag `geo_upload_verification`, removed in 14.8. | diff --git a/doc/administration/inactive_project_deletion.md b/doc/administration/inactive_project_deletion.md index b1e779b314bf86ec7ac77be20dd46b23c4aebf32..9e33b1ced6e2bc2e4ae3997ec1913632e1f99aa0 100644 --- a/doc/administration/inactive_project_deletion.md +++ b/doc/administration/inactive_project_deletion.md @@ -38,7 +38,7 @@ To configure deletion of inactive projects: Inactive projects that meet the criteria are scheduled for deletion and a warning email is sent. If the projects remain inactive, they are deleted after the specified duration. These projects are deleted even if -[the project is archived](../user/project/settings/migrate_projects.md#archive-a-project). +[the project is archived](../user/project/working_with_projects.md#archive-a-project). ### Configuration example diff --git a/doc/administration/settings/visibility_and_access_controls.md b/doc/administration/settings/visibility_and_access_controls.md index e2f63a91cdca1dd194ace606c5e50421b8786825..c35055ff40f5822658ee00d5156ffe90094e1618 100644 --- a/doc/administration/settings/visibility_and_access_controls.md +++ b/doc/administration/settings/visibility_and_access_controls.md @@ -120,7 +120,7 @@ In GitLab 15.11 and later with the `always_perform_delayed_deletion` feature fla Alternatively, projects that are marked for removal can be deleted immediately. To do so: -1. [Restore the project](../../user/project/settings/migrate_projects.md#restore-a-project). +1. [Restore the project](../../user/project/working_with_projects.md#restore-a-project). 1. Delete the project as described in the [Administering Projects page](../admin_area.md#administering-projects). diff --git a/doc/user/project/settings/migrate_projects.md b/doc/user/project/settings/migrate_projects.md index 967d9da1c3d88403a9aebe6ba747fd58c55508dd..86d1ca486f9d4cf1aabb0cf69dd148e10e9b794c 100644 --- a/doc/user/project/settings/migrate_projects.md +++ b/doc/user/project/settings/migrate_projects.md @@ -4,16 +4,12 @@ group: Tenant Scale info: 'To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments' --- -# Migrate projects +# Transfer projects DETAILS: **Tier:** Free, Premium, Ultimate **Offering:** SaaS, self-managed -## Export a project - -You can [export a project and its data](import_export.md#export-a-project-and-its-data). - ## Transfer a project to another namespace When you transfer a project to another namespace, you move the project to a different group. @@ -48,7 +44,7 @@ NOTE: If you are an administrator, you can also use the [administration interface](../../../administration/admin_area.md#administering-projects) to move any project to any namespace. -### Transferring a GitLab SaaS project to a different subscription tier +## Transferring a GitLab SaaS project to a different subscription tier When you transfer a project from a namespace licensed for GitLab SaaS Premium or Ultimate to GitLab Free: @@ -56,58 +52,6 @@ When you transfer a project from a namespace licensed for GitLab SaaS Premium or - [Pipeline subscriptions](../../../ci/pipelines/index.md#trigger-a-pipeline-when-an-upstream-project-is-rebuilt) and [test cases](../../../ci/test_cases/index.md) are deleted. -## Archive a project - -When you archive a project, the repository, packages, issues, merge requests, and all -other features become read-only. Archived projects are also hidden from project lists. - -To archive a project: - -1. On the left sidebar, select **Search or go to** and find your project. -1. Select **Settings > General**. -1. Expand **Advanced**. -1. In the **Archive project** section, select **Archive project**. -1. To confirm, select **OK**. - -## Unarchive a project - -When you unarchive a project, the read-only restriction is removed, -and the project becomes available in project lists. - -Prerequisites: - -- You must be an administrator or have the Owner role for the project. - -1. Find the archived project. - 1. On the left sidebar, select **Search or go to**. - 1. Select **View all my projects**. - 1. Select **Explore projects**. - 1. In the **Sort projects** dropdown list, select **Show archived projects**. - 1. In the **Filter by name** field, enter the project name. - 1. Select the project link. -1. On the left sidebar, select **Settings > General**. -1. Under **Advanced**, select **Expand**. -1. In the **Unarchive project** section, select **Unarchive project**. -1. To confirm, select **OK**. - -## Restore a project - -DETAILS: -**Tier:** Premium, Ultimate -**Offering:** SaaS, self-managed - -Prerequisites: - -- You must have the Owner role for the project. -- The project must be [marked for deletion](../working_with_projects.md#delete-a-project). - -To restore a project marked for deletion: - -1. On the left sidebar, select **Search or go to** and find your project. -1. Select **Settings > General**. -1. Expand **Advanced**. -1. In the Restore project section, select **Restore project**. - ## Troubleshooting When working with project settings, you might encounter the following issues, or require alternate methods to complete specific tasks. diff --git a/doc/user/project/working_with_projects.md b/doc/user/project/working_with_projects.md index 3000426085c6c01115583dc020a641d416095c6d..4d5fd4853350a4812df25bc30cd88328965dfda7 100644 --- a/doc/user/project/working_with_projects.md +++ b/doc/user/project/working_with_projects.md @@ -181,6 +181,58 @@ Each project in the list shows: - The time the project is scheduled for final deletion. - A **Restore** link to stop the project being eventually deleted. +## Restore a project + +DETAILS: +**Tier:** Premium, Ultimate +**Offering:** SaaS, self-managed + +Prerequisites: + +- You must have the Owner role for the project. +- The project must be marked for deletion. + +To restore a project marked for deletion: + +1. On the left sidebar, select **Search or go to** and find your project. +1. Select **Settings > General**. +1. Expand **Advanced**. +1. In the Restore project section, select **Restore project**. + +## Archive a project + +When you archive a project, the repository, packages, issues, merge requests, and all +other features become read-only. Archived projects are also hidden from project lists. + +To archive a project: + +1. On the left sidebar, select **Search or go to** and find your project. +1. Select **Settings > General**. +1. Expand **Advanced**. +1. In the **Archive project** section, select **Archive project**. +1. To confirm, select **OK**. + +## Unarchive a project + +When you unarchive a project, the read-only restriction is removed, +and the project becomes available in project lists. + +Prerequisites: + +- You must be an administrator or have the Owner role for the project. + +1. Find the archived project. + 1. On the left sidebar, select **Search or go to**. + 1. Select **View all my projects**. + 1. Select **Explore projects**. + 1. In the **Sort projects** dropdown list, select **Show archived projects**. + 1. In the **Filter by name** field, enter the project name. + 1. Select the project link. +1. On the left sidebar, select **Settings > General**. +1. Under **Advanced**, select **Expand**. +1. In the **Unarchive project** section, select **Unarchive project**. +1. To confirm, select **OK**. + ## View project activity To view the activity of a project: diff --git a/ee/app/views/projects/_remove.html.haml b/ee/app/views/projects/_remove.html.haml index f32cec8b579dc21c3f7d16efb9f7a812bbb1a7da..b9ed993d35747f5a3578be3c62390b1ef7918898 100644 --- a/ee/app/views/projects/_remove.html.haml +++ b/ee/app/views/projects/_remove.html.haml @@ -2,7 +2,7 @@ - can_delay_project_deletions = License.feature_available?(:adjourned_deletion_for_projects_and_groups) - delayed_deletion = project.adjourned_deletion_configured? - delayed_date = delayed_deletion ? permanent_deletion_date(Time.now.utc).to_s : nil -- restore_help_path = help_page_path('user/project/settings/migrate_projects', anchor: 'restore-a-project') +- restore_help_path = help_page_path('user/project/working_with_projects', anchor: 'restore-a-project') - merge_requests_count = Projects::AllMergeRequestsCountService.new(project).count - issues_count = Projects::AllIssuesCountService.new(project).count - forks_count = Projects::ForksCountService.new(project).count