SharePoint Dev Platform
Welcome! This is your place to suggest ideas or vote for ideas for improving the SharePoint Dev Platform.
How to submit a new idea
- Check if it's already been suggested. If it has, vote for it.
- If it's new, submit it in 50 words or less.
- Gather support!
- If your idea receives over 100 votes in 90 days, we will respond.
If not, we will close it.
Want to engage further? Please visit the SharePoint Community
Note: we have partnered with UserVoice, a third-party service and your use of the portal and your submission is subject to the UserVoice Terms of Service & Privacy Policy, including the license terms. Please do not send any novel or patentable ideas, copyrighted materials, samples or demos for which you do not want to grant a license to Microsoft.
-
Support SharePoint 2016/2019 with .NET Standard APIs
While the SharePoint online version is supported, we would like to see the SharePoint on-prem versions (SharePoint 2016/2019) supported with .NET standard CSOM APIs.
https://sharepoint.uservoice.com/forums/329220-sharepoint-dev-platform/suggestions/16585795-support-net-core-with-csom
^ this only allows for SharePoint Online .NET Standard CSOM support.Many customers have significant investments and longer term roadmaps to get to SharePoint Online, but in the interim would like to start developing solutions that can be more easily converted to work in SharePoint Online along with being able to leverage the latest version of the Microsoft technology stack - that is growing the skillsets / toolset familiarity without waiting for longer term plans…
404 votesThanks for your feedback! We’re reviewing your suggestion. We are hoping that we can provide some positive news on this sooner or later. Thank you for providing the input around this specific request.
-
Line up list item pagination with REST API using $top and $skip
Actually, the only way to paginate list items using the new REST APIs is to use __next property. There's no way to have a full working pagination using $top and $skip token as for any other REST call.
See my comment here:
http://msdn.microsoft.com/library/d4b5c277-ed50-420c-8a9b-860342284b72.aspx202 votesThanks for your feedback! We’re reviewing your suggestion.
-
API support for followed sites
There's an undocumented API (https://tenant.sharepoint.com/vtibin/homeapi.ashx/ ) to follow sites and query data around those concepts. For corporate intranet scenarios, we often want to present the data a different way, surfacing native SharePoint capabilities. In order to add a "follow" button on an SPFX web part, we'd need an API to access that.
Related GitHub issue https://github.com/SharePoint/sp-dev-docs/issues/1689
202 votesThanks for your feedback! Just a note to let you know that we’re building your suggestion now. We did mention this capability in dev keynote at SharePoint Conference 2019 and it’s coming later this year.
-
Provide flag to enable\disable event firing from Remote Event Receivers
Provide option to enable\disable event firing from Remote Event Receivers in SharePoint Online (CSOM/API) similar to SSOM - EventFiringEnabled
199 votesThanks for your feedback! We’re reviewing your suggestion. This could be also useful for new WebHooks, so still relevant.
-
Improved API feedback around throttling
Currently working with the API's for drive, graph, sharepoint are very difficult due to the throttling that can be encountered.
Each api offers different guidance to avoid throttling. Example are:
1) use a special user-agent header
2) respect the retry-after headerSpeaking with microsoft representatives they instruct us to perform major api processing in off peak hours. Additionally tenant's can have hard locks placed on them.
This request is to get better information around tenant usage returned in the API's.
1) If a tenant is hard locked, tell us in a distinct message so that don't just hammer the requests…
176 votesThanks for your feedback! We’re reviewing your suggestion.
-
Fix the REST API to return the value and not the Id when getting single value Managed Metadata field
REST API should be fixed when getting single value Managed Metadata since it returns the Id instead of the actual value, which then requires another call to get the value. Without this you cannot show a list of items/docs with the single Managed Metadata value. Note that "Allow Multiple" Managed Metadata works fine as it returns a collection of actual values.
For details see: http://sharepointificate.blogspot.com/2014/05/taxonomy-columns-sharepoint-2013-list.html
159 votes -
Add Web.Recycle method to CSOM
The Web class in the CSOM lacks the ability to send a web to the recycle bin. Currently it's only possible to delete a web by using Web.DeleteObject() which makes restoring from recycle bin impossible.
Please consider adding a Recycle() method to the Web class.
156 votes -
Add CSOM support for Document Set settings on content type
Please consider adding support for setting/retrieving doucment set properties on a content type. We need to be able to set properties like Shared columns, Welcome page and Welcome page view on the document set.
147 votes -
Provide a means to do audience filtering for list items over REST APIs
List items that have an Audience field attached should be audience filtered when retrieved via the REST API.
For example, a list that has link items with the Audience field attached to target particular items at particular groups of people. If the REST APIs are used to retrieve items from this list, then the identity of the requesting user should be optionally used to filter the results based on audience.
139 votesThanks for your feedback! We’re reviewing your suggestion.
-
Enable ListItem SystemUpdate via REST
Allow REST clients to update list items a la SystemUpdate. That is, REST clients should be able to update list item metadata without creating a new version and without affecting system columns like authors and timestamps. The same idea for CSOM was recently implemented and I'm puzzled why the REST API is always left behind.
The CSOM idea:
https://sharepoint.uservoice.com/forums/329220-sharepoint-dev-platform/suggestions/15147093-enable-listitem-systemupdate-via-csom125 votes -
Add API that checks if user is in group
Right now there is no API to check that. If you add a security group into a SharePoint group, there is no way to check if the current user is a part of the SharePoint group: The user is not listed in the group.Users and the SharePoint group is not listed in the user.Groups. The 3 APIs that allowed to do this in full trust code are missing from CSOM so we need an alternative.
102 votesThanks for your feedback! We’re reviewing your suggestion.
-
Content type remote event receivers
Remote event receivers can currently, in SharePoint Online, not be added to content types (https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.client.contenttype_members.aspx). This makes it somehow tedious to catch events that are fired from items of a specific content type is added/updated/deleted. Having the possibility to add an event receiver to a content type would make this scenario easier to implement.
97 votesThanks for your feedback! We’re reviewing your suggestion.
-
Fix CSOM SiteCollection Creation providing Lcid
When creating Site Collections through CSOM and providing an LCID. (For example 2067) an exception is thrown.
[Quote]
SiteCreationProperties.Template\r\nParameter name: Specified value is not supported for the SiteCreationProperties.Template parameter." is thrown at ExecuteQuery();
[/Quote]The Exception is also not pointing in the right direction.
1) It should be possible to create Site Collections providing the LCID
2) When an Invalid Lcid is passed, the exception should point in the right direction.93 votesThanks for your feedback! We’re reviewing your suggestion.
-
Add the possibility to set the Owner when creating a SharePoint Group using REST API
It is currently not possible to set the Owner of a SharePoint Group using REST API or maybe I don't have right syntax...
89 votes -
CSOM/REST - "open documents in the browser" (open in the client application, etc.) or allow "quick edit" (yes/now).
Some list/library settings are available via CSOM. Others are available via the list property bag (although that approach is not desirable). However, there are even other advanced settings that don't appear to be accessible (read or write) via CSOM/REST. In particular, the advanced settings for "open documents in the browser" (open in the client application, etc.) or allow "quick edit" (yes/now).
I'm looking at SharePoint 2013 when trying to do this, but I suspect the same problem occurs for SharePoint Online and SharePoint 2016.
86 votesThanks for your feedback! We’re reviewing your suggestion.
-
Add User Profile changes functionality to CSOM/REST
When switching the development model from SharePoint server OM to SharePoint Apps (CSOM), there is one important feature that we are missing: the User Profile Changes API (http://msdn.microsoft.com/en-us/library/office/ms517376(v=office.14).aspx ).
In an on premise environment there is still a way to implement this using server OM but in cloud environments there is no way to do it.
Apparently the only way of synchronizing SharePoint user profiles or handle user profile changes in the App model is doing a brute-force full scan using CSOM, which is a much less performant approach. Is this the way how MS currently recommends to face…
78 votesThanks for your feedback! We’re reviewing your suggestion.
-
Add modern webservice API functionality to supported API as graph
There are two modern webservices used in SharePoint for getting followed sites, frequented sites, news posts, etc for the current user. As asked about on Github (https://github.com/SharePoint/sp-dev-docs/issues/1689) and as mentioned in this uservoice (https://sharepoint.uservoice.com/forums/329220-sharepoint-dev-platform/suggestions/34075903-api-support-for-followed-sties) a bunch of folks would like to have some kind of official support/usage for this. If this is not possible, we would like to ask to add these functions to Graph / SharePoint REST
74 votes -
Set internal site field name using REST API
We use the following call to create a site field:
$.ajax({
url: appweburl + "/_api/SP.AppContextSite(@target)/web/fields?@target='" + hostweburl + "'",
type: "POST",
data: JSON.stringify({
'__metadata': { 'type': 'SP.Field' },
'FieldTypeKind': fieldType, 'InternalName': fieldInternalName, 'Title': fieldDisplayName, 'Group': fieldGroup, 'Required': fieldRequired, 'Hidden': fieldHidden
}),
headers: { "accept": "application/json;odata=verbose", "content-type": "application/json;odata=verbose", "X-RequestDigest": $("#__REQUESTDIGEST").val() },
success: function (data) { console.log("Custom field successfully created");},
error: function (err) { alert(JSON.stringify(err)); }
})However, the internal name is not set to the parameter fieldInternalName. It seems that the internal name is also set to the display name and suffix. Would it be possible to specify the internal field…
59 votesThanks for your feedback! We’re reviewing your suggestion.
-
Add support to create list / document library based on custom template to REST API
If I save list as template I cannot use this template to create new list via REST API because it does not accept template name as input parameter: This is possible in CSOM by passing ListTemplate parameter (https://sharepoint.stackexchange.com/questions/255947/creating-a-document-library-from-custom-template-with-folder-structure-inside-us)
In REST it is possible just to pass ListTemplateTypeKind as BaseTemplate parameter and there is no parameter for custom template name so it is not possible to create new list/library based on custom template (https://docs.microsoft.com/en-us/sharepoint/dev/sp-add-ins/working-with-lists-and-list-items-with-rest)
56 votes -
Provide the AddToCurrentScopeOnly in the RoleAssignment class for JSOM and CSOM
The SharePoint "fine grain permissions" best practices document recommends using this method as a way to help prevent performance penalties when unique permissions are applied. However, we need this capability in JSOM and CSOM since AddToCurrentScopeOnly is currently only available for use on-premises using the server-side object model.
46 votes
- Don't see your idea?