You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
title: Differences between provisioned and published as code wiki
2
+
title: 'Wiki Differences: Provisioned or Published as Code'
3
3
titleSuffix: Azure DevOps
4
-
description: Understand the differences of updating a provisioned wiki for a team project versus files you publish from a Git repository in Azure DevOps.
4
+
description: Understand the differences of maintaining an Azure DevOps wiki provisioned for a team project versus a wiki published as code.
5
5
ms.subservice: azure-devops-wiki
6
6
ms.custom: wiki, devdivchpfy22
7
-
ms.topic: conceptual
8
-
ms.assetid:
7
+
ms.topic: concept-article
9
8
ms.author: chcomley
10
9
ms.reviewer: gopinach
11
10
author: chcomley
12
-
monikerRange: '<= azure-devops'
13
-
ms.date: 08/05/2024
11
+
ms.date: 05/28/2025
12
+
#customer intent: As an Azure DevOps developer, I want to compare provisioning a wiki with publishing a wiki as code, so I can choose the best approach for my team.
You can maintain your wiki content in a [team project wiki](wiki-create-repo.md) or a [published as code wiki](publish-repo-to-wiki.md). With a published as code wiki, you can maintain several versioned wikis to support your content needs, although it's available only if Azure Repos is enabled.
21
+
You can maintain your wiki content in a [team project wiki](wiki-create-repo.md) or a [published as code wiki](publish-repo-to-wiki.md). With a _published as code wiki_, you can maintain several versioned wikis to support your content needs. This option is available when you enable Azure Repos.
23
22
24
23
While both options maintain the wiki content in Git repositories, the way you add, update, and manage the wiki content differs.
25
24
26
-
> [!NOTE]
27
-
> The published as code wiki feature is currently available on Azure DevOps Server 2018 and later versions. For older versions, you can only [provision a wiki for your team project](wiki-create-repo.md).
25
+
## Maintain wiki content
28
26
29
-
## Wiki page menu options
27
+
For both types of wiki, you can work directly in GitHub or work offline and then push your changes to the repo.
30
28
31
-
With a *provisioned wiki*, you can add and edit pages directly within the **wiki**. All content updates to a *provisioned wiki* occur within the **wiki**.
29
+
For a _provisioned wiki_, you add and maintain wiki pages directly within the **Wiki** > **Pages** section of the repo. All content updates to a _provisioned wiki_ occur within the wiki itself.
32
30
33
-
With a *published as code wiki*, you can add, edit, and update content from **Repos** or **Code**.
31
+
For a _published as code wiki_, you addand maintain wiki content as code files in the repo. You access the files within the **Repos** or **Code** sections of the repo on GitHub.
34
32
35
-
The following image shows options for a provisioned wiki. Several of these options aren't supported for the **published as code wiki** pages.
33
+
The following image shows menu options for a _provisioned wiki_:
36
34
37
-
:::image type="content" source="media/wiki/diff-menu-options-provisioned.png" alt-text="Screenshot of Provisioned wiki page menu options.":::
35
+
:::image type="content" source="media/wiki/diff-menu-options-provisioned.png" alt-text="Screenshot of menu options available for a provisioned wiki from the wiki Pages section.":::
38
36
39
-
For example, the **Edit in Repos** option for the published as code wiki takes you to the **Repo** page to edit that specific page. Updates that you make to a page in the branch you selected for the wiki get automatically published to the wiki.
37
+
Some menu options aren't supported for _published as code wiki_ pages. For a _published as code wiki_, the **Edit in Repos** option opens the current page, so you can edit the content in place. Updates you make to a page in the selected branch for the wiki automatically publish to the wiki.
40
38
41
-
## Supported features and operational differences
39
+
## Add wiki pages
42
40
43
-
Both types of wiki support the following features:
41
+
The **New page** and **Add subpage** menu options are available for both types of wiki in GitHub. For more information, see [Add and edit wiki pages](add-edit-wiki.md#add-a-wiki-page).
-[Insert and resize images](markdown-guidance.md#images)
48
-
-[Mathematical notation and characters](markdown-guidance.md#mathematical-notation)
49
-
-[Link to work items using #](markdown-guidance.md#link-to-work-items-from-a-wiki-page)
50
-
-[Attach files](markdown-guidance.md#attach)
51
-
-[Filter Wiki contents](filter-print-wiki.md)
52
-
-[Print a Wiki page](filter-print-wiki.md)
53
-
-[Update content offline](wiki-update-offline.md)
54
-
-[Add or edit pages from the Wiki](add-edit-wiki.md)
43
+
<aid="toc"></a>
55
44
56
-
The following table summarizes those operations or features that might differ, depending on the wiki type.
45
+
## Adjust page sequence and page list
57
46
58
-
> [!div class="mx-tdCol2BreakAll"]
59
-
> |Operation | Provisioned wiki | Published as code wiki |
60
-
> |--------|--------------|--------------|
61
-
> |[Support multiple wikis, name wiki](publish-repo-to-wiki.md)|| ✔️|
62
-
> |[Add or edit pages from **Repos** > **Files** or **Code** > **Files**](publish-repo-to-wiki.md)||✔️ |
63
-
> |[Revert to an earlier revision from the **Wiki**](wiki-view-history.md#revert-provision)|✔️ ||
64
-
> |[Revert to an earlier revision from **Repos** or **Code**](wiki-view-history.md#revert-publish)|✔️ |✔️ |
65
-
> |[Maintain versioned wikis](#versioning)|| ✔️ |
66
-
> |[Select a wiki version](publish-repo-to-wiki.md#select-a-wiki-version)|| ✔️ |
67
-
> |[Unpublish a code wiki](publish-repo-to-wiki.md#unpublish-wiki)|| ✔️ |
47
+
Both types of wiki apply the same folder and file structure within the Git repo. The difference is in how you maintain the page sequence.
68
48
69
-
<aid="add-pages"></a>
49
+
For a *provisioned wiki*, GitHub manages the page sequence and page list automatically as you add or move pages within the navigation pane.
70
50
71
-
## Add pages
51
+
For a _published as code wiki_, you need to maintain the page sequence **manually**. To structure the list of pages in the navigation pane, you define an _*.order*_ file at the root and for each subfolder or parent page that contains subpages. For more information, see [Wiki Git repository files and file structure](wiki-file-structure.md#order-file).
72
52
73
-
For both types of wiki, select **New page** or **Add subpage**. For more information, see [Add and edit wiki pages](add-edit-wiki.md#add-a-wiki-page).
53
+
<aid="revisions"></a>
74
54
75
-
<aid="toc"></a>
55
+
## View page revisions and revert to earlier version
76
56
77
-
## Page sequence and page list in navigation pane
57
+
From the **Wiki** page for the Git repo, you can view the revisions of any page within the wiki. Use the **Revisions** or **View revisions** menu options. To revert the current page content to an earlier version, the process differs depending on the wiki page type.
78
58
79
-
The *provisioned wiki*manages the page sequence and page list automatically as you add or move pages within the navigation pane.
59
+
For a *provisioned wiki*page, select the **Revert** menu option. For more information, see [Revert a commit to a provisioned wiki page](wiki-view-history.md#revert-provision).
80
60
81
-
To structure the list of pages in the navigation pane for a *published as code wiki*, define the `*.order*` file at the root, and for each subfolder or parent page that contains subpages.
61
+
For a *published as code wiki* page, you work from a local branch and submit a pull request to update the branch you're working from.
82
62
83
-
Both types of wikis follow the same file structure, it's just that the published as code wiki requires you to maintain the page sequence manually.
63
+
<aid="versioning"></a>
84
64
85
-
For more information about working with *`.order`* files, see [Wiki Git repository files and file structure](wiki-file-structure.md#order-file).
65
+
## Use versioning and unpublish the wiki
86
66
87
-
<aid="revisions"></a>
67
+
Versioning support lets you publish different content versions to distinct wikis, based on a versioned branch of a Git repo.
88
68
89
-
## Page revisions and reverting to a previous version
69
+
You can version and unpublish a wiki only if you're the user who published the code to create wiki. For more information, see [Unpublish a code wiki](publish-repo-to-wiki.md#unpublish-wiki).
90
70
91
-
From the **wiki**, you can view the revisions of any wiki page. Select **Revisions** or the **View revisions** menu option.
71
+
## Delete project wiki
92
72
93
-
But, the revert process differs depending on the wiki page type.
73
+
The following steps describe how to delete a project wiki.
94
74
95
-
- For a *provisioned wiki* page, select **Revert**, as described in [Revert a commit to a provisioned wiki page](wiki-view-history.md#revert-provision)
96
-
- For a *published as code wiki* page, work from a local branch and submit a pull request to update the branch you're working from.
75
+
> [!NOTE]
76
+
> You can't use the REST API to delete a project wiki. Instead, delete the wiki repository directly.
97
77
98
-
<aid="versioning"></a>
78
+
1. Clone the wiki repository to back up all content. You can find the wiki URL on the **More options** menu (**...**).
99
79
100
-
## Versioning and unpublishing a wiki
80
+
1. Get the Git repository ID associated with your wiki. You can use the [REST API](/rest/api/azure/devops/wiki/wikis/get?view=azure-devops-rest-7.1&tabs=HTTP&preserve-view=true) to get all the wikis in the project.
81
+
82
+
For example, the `GET https://fabrikam.visualstudio.com/sampleProject/_apis/wiki/wikis?api-version=4.1` command returns all wikis in the project. Run the command and choose the wiki to delete.
101
83
102
-
With versioning, you can publish different content versions to distinct wikis, based on a versioned branch of a Git repo. You can version and unpublish a wiki only if you are the one who created it by publishing code to a wiki. For more information, see [Unpublish a code wiki](publish-repo-to-wiki.md#unpublish-wiki).
84
+
1. Delete the Git repository associated with your wiki by using the REST API. Use the repository ID of the project wiki you found earlier. Double check the repository ID to ensure you don't remove the wrong wiki.
103
85
104
-
## Delete a project wiki
86
+
For example, the `DELETE https://fabrikam.visualstudio.com/sampleProject /_apis/git/repositories/<repositoryId>?api-version=4.1` command deletes the wiki. Replace `<repositoryId>` with the repository ID of the wiki to delete.
105
87
106
-
> [!NOTE]
107
-
> Wiki REST APIs don't support deleting a project wiki. So, you have to delete the wiki repository instead.
88
+
## Update wiki while offline
108
89
109
-
1. Clone the wiki repository to take backup of all its content. The **More options** has the clone wiki URL, which can be used to clone the wiki.
90
+
You can work offline or in a local branch to update content for both types of wiki. For more information, see [Clone and update wiki pages offline](wiki-update-offline.md).
110
91
111
-
2. Get the git repository ID that backs your wiki. You can use the [REST API](/rest/api/azure/devops/wiki/wikis/get?view=azure-devops-rest-7.1&tabs=HTTP&preserve-view=true) to get all the wikis in the project.
112
-
113
-
For example, `GET https://fabrikam.visualstudio.com/sampleProject/_apis/wiki/wikis?api-version=4.1` returns all the wikis in the project, so you can choose which one to delete.
92
+
## Explore other features and operations
114
93
115
-
3. Use the REST API to delete the backing Git repo. Use the repository ID of the project wiki you found in the previous step and double check the repository ID, so you don't remove the wrong one.
94
+
Both types of wiki support several other features and operations:
116
95
117
-
For example, `DELETE https://fabrikam.visualstudio.com/sampleProject /_apis/git/repositories/{repositoryId}?api-version=4.1`
-[Insert and resize images](markdown-guidance.md#images)
99
+
-[Mathematical notation and characters](markdown-guidance.md#mathematical-notation)
100
+
-[Link to items with hash tag (#)](markdown-guidance.md#link-to-work-items-from-a-wiki-page)
101
+
-[Attach files](markdown-guidance.md#attach)
102
+
-[Filter Wiki contents](filter-print-wiki.md#filter-wiki-pages)
103
+
-[Print a Wiki page](filter-print-wiki.md#print-a-wiki-page)
104
+
-[Update content offline](wiki-update-offline.md)
105
+
-[Add or edit pages from the Wiki](add-edit-wiki.md)
118
106
119
-
## Update a wiki offline
107
+
A few operations and features are available for only one type of wiki or the usage approach differs:
120
108
121
-
You can work offline or in a local branch to update content for a *provisioned wiki* and *publish as code wiki*. For more information, see [Clone and update wiki pages offline](wiki-update-offline.md).
109
+
> [!div class="mx-tdCol2BreakAll"]
110
+
> |Operation |Provisioned |Published as code |
111
+
> |----------|:----------:|:----------------:|
112
+
> |[Support multiple wikis, name wiki](publish-repo-to-wiki.md)|| ✔️|
113
+
> |[Add or edit pages from **Repos** > **Files** <br> or from **Code** > **Files**](publish-repo-to-wiki.md)|| ✔️ |
114
+
> |[Revert to earlier revision from **Wiki** page](wiki-view-history.md#revert-provision)| ✔️ ||
115
+
> |[Revert to earlier revision from **Repos** options <br> or from **Code** options](wiki-view-history.md#revert-publish)| ✔️ | ✔️ |
116
+
> |[Maintain versioned wikis](#versioning)|| ✔️ |
117
+
> |[Select wiki version](publish-repo-to-wiki.md#select-a-wiki-version)|| ✔️ |
0 commit comments