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
Azure DevOps Services supports both private and public projects. Private projects restrict access to authenticated users with explicit permissions. Public projects allow non-member users to view project contents in a read-only state.
20
+
Azure DevOps Services supports both private and public projects. Private projects restrict access to authenticated users with explicit permissions. Public projects allow nonmember users to view project contents in a read-only state.
21
21
22
-
A non-member user can be either:
22
+
A nonmember user can be either:
23
23
-**Anonymous**: Not authenticated to Azure DevOps Services
24
24
-**Public**: Authenticated to Azure DevOps Services but not a member of the organization
25
25
26
-
Non-member users see the same views as authenticated users, but Azure DevOps hides or disables non-public functionality such as settings, actions, and build queue operations.
26
+
Nonmember users see the same views as authenticated users, but Azure DevOps hides or disables nonpublic functionality such as settings, actions, and build queue operations.
As an extension developer, you can make all or part of your extension available to non-member users. These users can only use your extension from within public projects. If you choose not to make your extension available to non-member users, you need no changes and the decision has no impact on members who use your extension within public projects.
32
+
As an extension developer, you can make all or part of your extension available to nonmember users. These users can only use your extension from within public projects. If you choose not to make your extension available to nonmember users, you need no changes and the decision has no effect on members who use your extension within public projects.
33
33
34
-
Use this checklist to help decide if you should make your extension available to non-member users:
34
+
Use this checklist to help decide if you should make your extension available to nonmember users:
35
35
36
36
> [!div class="checklist"]
37
37
> * Your extension presents data that is relevant to non-member users
38
38
> * Your extension contributes capabilities at the project level
39
39
> * Your extension contributes to product areas that non-member users can access
40
-
> * Your extension doesn't extend or rely on features that non-member users cannot access, such as the Extension Data Service or certain Azure DevOps Services REST APIs. For more information, see the [Limitations](#limitations) section.
40
+
> * Your extension doesn't extend or rely on features that non-member users can't access, such as the Extension Data Service or certain Azure DevOps Services REST APIs. For more information, see the [Limitations](#limitations) section.
41
41
42
42
## Configure contribution visibility
43
43
44
-
By default, Azure DevOps shows contributions only to organization members. To give non-member users visibility to a contribution, set the `restrictedTo` attribute on that contribution. The value is a string array that lists which user types should see the contribution. The possible values include:
44
+
By default, Azure DevOps shows contributions only to organization members. To give nonmember users visibility to a contribution, set the `restrictedTo` attribute on that contribution. The value is a string array that lists which user types should see the contribution. The possible values include:
45
45
46
46
*`member`: An authenticated user who is a member of the organization
47
47
*`public`: An authenticated user who is **not** a member of the organization
@@ -123,24 +123,24 @@ You can also set the default visibility for all contributions in your extension
123
123
124
124
<aname="limitations"></a>
125
125
126
-
## Non-member limitations
126
+
## Nonmember limitations
127
127
128
128
If you want to make some or all aspects of your contribution available to public users, consider the following limitations.
129
129
130
130
### VSS SDK method restrictions
131
131
132
-
The core SDK script, VSS.SDK.js, enables web extensions to communicate with the parent frame to perform operations like initializing communication and getting current user context information. The following VSS SDK methods do not support non-member users:
132
+
The core SDK script, VSS.SDK.js, enables web extensions to communicate with the parent frame to perform operations like initializing communication and getting current user context information. The following VSS SDK methods don't support nonmember users:
133
133
134
134
*`VSS.getAccessToken()`
135
135
*`VSS.getAppToken()`
136
136
137
137
### Extension data service limitations
138
138
139
-
Because the [extension data service](./data-storage.md) manages data that isn't scoped or secured to a project, non-member users cannot read or write any type of extension data.
139
+
Because the [extension data service](./data-storage.md) manages data that isn't scoped or secured to a project, nonmember users can't read or write any type of extension data.
140
140
141
141
#### Handle data access errors
142
142
143
-
When the data service cannot access data due to permission limitations by the calling user, the promise returned from the call to `getValue` gets rejected. The error passed to the reject function has a name property, which helps you understand why the call failed to read or write data.
143
+
When the data service can't access data due to permission limitations by the calling user, the promise returned from the call to `getValue` gets rejected. The error passed to the reject function has a name property, which helps you understand why the call failed to read or write data.
Azure DevOps Services provides a limited set of REST APIs to non-member users. These APIs include most organization-level and project-level APIs for features that non-member users can generally access. Consider this information when you decide whether to make your extension available to non-member users.
159
+
Azure DevOps Services provides a limited set of REST APIs to nonmember users. These APIs include most organization-level and project-level APIs for features that nonmember users can generally access. Consider this information when you decide whether to make your extension available to nonmember users.
160
160
161
-
We recommend that you use version 5.0 and later APIs, as Azure DevOps makes certain APIs available to non-member users only starting with version 5.0.
161
+
Use version 5.0 and later APIs, as Azure DevOps makes certain APIs available to nonmember users only starting with version 5.0.
162
162
163
163
#### Identity references
164
164
@@ -170,7 +170,7 @@ Use permissions to decide whether to surface or enable a capability in your exte
170
170
171
171
#### Check build queue permissions
172
172
173
-
This example shows how to use the Security REST client to check whether the user has permissions to queue builds in the current project. By default, non-member users don't have this permission.
173
+
This example shows how to use the Security REST client to check whether the user has permissions to queue builds in the current project. By default, nonmember users don't have this permission.
@@ -196,7 +196,7 @@ VSS.require(["VSS/Service", "VSS/security/RestClient"], function(VSS_Service, Se
196
196
197
197
## Dashboard widget requirements
198
198
199
-
Just like other types of contributions, the `restrictedTo` contribution property controls the visibility of dashboard widget contributions. For example, to make a widget visible to both non-member and member users:
199
+
Just like other types of contributions, the `restrictedTo` contribution property controls the visibility of dashboard widget contributions. For example, to make a widget visible to both nonmember and member users:
200
200
201
201
```json
202
202
{
@@ -222,9 +222,9 @@ Just like other types of contributions, the `restrictedTo` contribution property
222
222
223
223
### Configure widget settings
224
224
225
-
When you control widget visibility to non-member users, the dashboard framework also provides an optional, open-form storage mechanism for widget settings. Two mechanisms indicate whether widget settings are available for non-member users in public projects.
225
+
When you control widget visibility to nonmember users, the dashboard framework also provides an optional, open-form storage mechanism for widget settings. Two mechanisms indicate whether widget settings are available for nonmember users in public projects.
226
226
227
-
A widget with configurable settings that is visible to non-member users **must** follow one of the following patterns. Not following these patterns blocks the widget from appearing to these users.
227
+
A widget with configurable settings that's visible to nonmember users **must** follow one of the following patterns. Not following these patterns blocks the widget from appearing to these users.
228
228
229
229
### Project-specific settings (extension level)
230
230
@@ -243,7 +243,7 @@ Set the widget contribution's `canStoreCrossProjectSettings` property to `false`
243
243
244
244
### Project-specific settings (instance level)
245
245
246
-
Individual widget instances can also indicate that their settings are project-specific and available to non-member users. When saving the settings, the widget should set `hasCrossProjectSettings` to `false` in the stringified JSON string:
246
+
Individual widget instances can also indicate that their settings are project-specific and available to nonmember users. When you save the settings, the widget should set `hasCrossProjectSettings` to `false` in the stringified JSON string:
247
247
248
248
```json
249
249
{
@@ -259,27 +259,27 @@ If your extension contributes a build or release task, you need no changes to us
259
259
260
260
## Work item tracking considerations
261
261
262
-
Extensions don't work for non-member users in the context of a public project without changes. This includes the work item form, other work item experiences, and interaction with work item tracking REST APIs.
262
+
Extensions don't work for nonmember users in the context of a public project without changes, including the work item form, other work item experiences, and interaction with work item tracking REST APIs.
263
263
264
264
### Work item form limitations
265
265
266
-
Azure DevOps fails all work item updates or deletes for non-member users.
266
+
Azure DevOps rejects all work item updates or deletes for nonmember users.
267
267
268
268
### Identity handling
269
269
270
-
In Azure DevOps Services REST API version 5.0 and later, the service returns identities as `IdentityRef` objects instead of strings. As described previously, Azure DevOps doesn't return certain fields, like `uniqueName`, in these objects if a non-member user makes the API call.
270
+
In Azure DevOps Services REST API version 5.0 and later, the service returns identities as `IdentityRef` objects instead of strings. As described previously, Azure DevOps doesn't return certain fields, like `uniqueName`, in these objects if a nonmember user makes the API call.
271
271
272
272
### API scope restrictions
273
273
274
-
Extensions can invoke only project-scoped REST APIs when the current user isn't an organization member. Azure DevOps rejects any REST API calls not scoped to a project.
274
+
Extensions can invoke only project-scoped REST APIs when the current user isn't an organization member. Azure DevOps rejects any REST API calls that aren't scoped to a project.
275
275
276
276
### Query limitations
277
277
278
-
Non-member users face the following limitations related to work item queries:
278
+
Nonmember users face the following limitations related to work item queries:
279
279
280
-
*Non-member users can run known queries by ID or path only
281
-
* Queries must be scoped to the current project. Azure DevOps excludes any work items that don't belong to the current project
282
-
*Non-member users cannot create new queries or execute WIQL queries
280
+
*Nonmember users can run known queries by ID or path only.
281
+
* Queries must be scoped to the current project. Azure DevOps excludes any work items that don't belong to the current project.
282
+
*Nonmember users can't create new queries or execute WIQL queries.
0 commit comments