SharePoint
Feedback by UserVoice

SharePoint Dev Platform

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.

I suggest you ....

You've used all your votes and won't be able to post a new idea, but you can still search and comment on existing ideas.

There are two ways to get more votes:

  • When an admin closes an idea you've voted on, you'll get your votes back from that idea.
  • You can remove your votes from an open idea you support.
  • To see ideas you have already voted on, select the "My feedback" filter and select "My open ideas".
(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. getFileByServerRelativeUrl with # in file name

    Posted here per request at https://github.com/SharePoint/sp-dev-docs/issues/2630#issuecomment-425349455.

    Expected or Desired Behavior
    I'd be able to fetch file using getFileByServerRelativeUrl even if file name contains hash (#).

    Observed Behavior
    https://tenant.sharepoint.com/sites/mysc/_api/web/getFileByServerRelativeUrl('%2Fsites%mysc%mydoclib%2Ffolder1%2Ffolder2%2Ffolder3%2F6Doc%23%3B%20Project%20Name.XLS')/$value returns SPException The file /sites/mysc/mydoclib/folder1/folder2/folder3/6Doc#; Project Name.XLS does not exist.

    Steps to Reproduce
    I have file in /sites/mysc/mydoclib/folder1/folder2/folder3/6Doc#; Project Name.XLS. I need to get hold of the file (in order to copy it to another site collection), so in my SPFx web part I do

    let file = sourceWeb.getFileByServerRelativeUrl(f.Path);
    file.getBlob().then(blob => {
    // deal with the file
    });
    where f.Path is encodeURIComponent'ed path of the file, so in the end it…

    3 votes
    Vote
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      Signed in as (Sign out)
      You have left! (?) (thinking…)
    • Provide mass transit option for uploading gigabytes of files quickly.

      429 errors on mass uploads. Please provide a mass transit option for uploading gigabytes of files quickly.

      1 vote
      Vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        Signed in as (Sign out)
        You have left! (?) (thinking…)
      • API to modify application principals needed

        We need the ability to modify application principals via an API so we can give Workflow a greater scope than just a web in an automated fashion. This could be used for fixing broken permissions too.

        3 votes
        Vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          Signed in as (Sign out)
          You have left! (?) (thinking…)
        • Rest api filter support tolower and toupper

          In the documentation the odata filter methods of tolower and toupper are not supported. This seems strange as this is a very common way to ensure matching of data even when text case is unknown. Without this functionality it is difficult if not impossible to do case insensitive searches.

          1 vote
          Vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            Signed in as (Sign out)
            You have left! (?) (thinking…)
          • UserProfile.BatchUpdate.API is not working anymore. Please fix.

            I am using the UserProfile.BatchUpdate.API for like 2 years without any problem. I have accidentally noticed that the API is not working anymore. It is not important, if i trigger the sync job with one user or multiple in the JSON file or if i try to sync multiple attributes or one attribute, i am just getting an internal error like this one:

            Job ID: 07bb3ef9-60a2-46d0-a467-396b9428abf5
            Job State: Error
            Error State: InternalError
            Logged errors: Failed to import the custom properties due to an unexpected error.

            Please fix the api!

            3 votes
            Vote
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              Signed in as (Sign out)
              You have left! (?) (thinking…)
            • Open source the CSOM

              Please open source the CSOM code. This would allow community to add features like throttle support, .net core and others. Microsoft could update it from time to time to add new support for new APIs etc... also.

              It would allow the community to port it to platforms and runtimes that MS are not yet able commit time to doing.

              20 votes
              Vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                Signed in as (Sign out)
                You have left! (?) (thinking…)

                As CSOM proxy assemblies will need to be 100% aligned with the server side APIs and they are automatically generated on daily basis in our build process, we cannot open-source them or it would have a severe impact on the agility of us shipping new features on weekly basis in SharePoint Online.

                SharePoint engineer coordinates, however, the open-source PnP CSOM extension work, which gives you the capability to extend the CSOM without impacting the oob CSOM lifecycle. This means that the community can add additional capabilities and features without negatively impacting the normal release process and agility of releasing new features.

                You can use PnP CSOM NuGet simply by adding that dependency to your project and it will add all needed dependencies, so it’s as simple as referencing oob CSOM NuGet, but you get more.

                PnP CSOM is currently used by 14k tenants on monthly basis and it has more…

              • Have a csom command to get current user timezone without to need peoplemanager permissions.

                A ph app installed with reasonable permissions can t access people managerm.
                We need a csom command to get current user timezone to get bias and daylight values.

                1 vote
                Vote
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  Signed in as (Sign out)
                  You have left! (?) (thinking…)
                • Provide ListItem.SystemUpdate also for SharePoint on-premises

                  Please provide the SystemUpdate function via CSOM not only for SPO but also for on-premises at minimum for SharePoint 2016 (2013 would also be nice ;-))

                  3 votes
                  Vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    Signed in as (Sign out)
                    You have left! (?) (thinking…)
                  • AAD app-only access site permission control

                    As described in this doc: https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/security-apponly-azuread
                    When granted All Site Full Control permission, the application would be able to access all sites in my organization. But can we grant permissions to specific sites? In other words, can we restrict the sites the application can access? If we can, how to do this?

                    3 votes
                    Vote
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      Signed in as (Sign out)
                      You have left! (?) (thinking…)
                    • Make CSOM license Linux friendly

                      CSOM has restrictions on distribution for Windows platform only. Make the CSOM license linux friendly because tons of people want to use CSOM platform independently to avoid having to use the REST API.

                      1 vote
                      Vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        Signed in as (Sign out)
                        You have left! (?) (thinking…)
                      • CSOM: DocumentSharingManager.UpdateDocumentSharingInfo () API fails if filename contains % or # in it

                        We are simply updating sharing of document which resides in SharePoint online using CSOM API.

                        version: Microsoft.SharePointOnline.CSOM.16.1.7813.1200

                        DocumentSharingManager.UpdateDocumentSharingInfo () API fails if filename contains % or # in it . No error though but return '0' UserSharingResult and sharing is not getting applied.

                        Note: If filaname does not have % or # then API works without issue.

                        Is new UpdateDocumentSharingInfo () API available to accept ResourcePath instead of string for url. Please help me out.

                        I also tried other API ShareObject() but unfortunately this also did not work if file path (including filename) has "%" or "#" (reference: https://github.com/SharePoint/PnP/tree/master/Samples/Core.ExternalSharing)

                        1 vote
                        Vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          Signed in as (Sign out)
                          You have left! (?) (thinking…)
                        • /_api/web/tenantappcatalog/add endpoint should be return CorporateCatalogAppMetadata

                          /_api/web/tenantappcatalog/add endpoints returns SP.File object, but it shoud be return Microsoft.SharePoint.Marketplace.CorporateCuratedGallery.CorporateCatalogAppMetadata (same as /_api/web/tenantappcatalog/availableapps/getbyid).\
                          After I added a solution package, I can't deploy it because App ID is unknown. Certainly,I can get App ID by ListItemAllFIelds.UniqueId but I think it is very confusing.

                          7 votes
                          Vote
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            Signed in as (Sign out)
                            You have left! (?) (thinking…)
                          • SPWebConfigModification target for single web application, mention zone also in ApplyWebConfigModifications

                            SPWebApplication.Parent.ApplyWebConfigModifications()
                            SPWebApplication.Farm.Services.GetValue<SPWebService>().ApplyWebConfigModifications()

                            In both these ApplyWebConfigModifications, The web.config modification refreshes all web.config files, it also does not differentiate zones. The last modified date changes for every web application web.config file, even if we targeted for a single web application. This seems default behaviour. Refreshing web.config entries recycles app pool and brings down other web applications which are not intended also.

                            Can we have options to specify zones or update to only specific web application. This is missing even in SharePoint 2016. Not available in SP2010 and SP2013 too.

                            SPWebConfigModification would be useful, when we add new servers to our Farm,…

                            3 votes
                            Vote
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              Signed in as (Sign out)
                              You have left! (?) (thinking…)
                            • develop different way to validate a new sharepoint webhook subscription for notifier URLS that cannot support responses

                              some packaged platforms like Slack have incoming webhook capability and will give you notifier URLs. But these urls cannot respond back to a validation message and the required webhook subscription in SharePoint can never be created.

                              1 vote
                              Vote
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                Signed in as (Sign out)
                                You have left! (?) (thinking…)
                              • In Place Records Management: Provide a property that would expose manual record declaration availability in CSOM / REST

                                1) Hopefully the feature InPlaceRecords (da2e115b-07e4-49d9-bb2c-35e93bb9fca9) shows up in the list of web features when it is activated.

                                2) Expose a property that would specify the setting selected by the user in the Library Record Declaration Settings.
                                a. Manual Record Declaration Availability
                                b. Automatic Declaration

                                3) Or - It would be great to have another property called "CanDeclareAsRecord" on this class:

                                public class Microsoft.SharePoint.Client.RecordsRepository.Records
                                Currently, it only provides a check if item is already an existing record. However, there is no method that says if a currently undeclared item can be declared.

                                37 votes
                                Vote
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  Signed in as (Sign out)
                                  You have left! (?) (thinking…)
                                • OpenBinaryDirectUsingPath for CSOM File object

                                  The OpenBinaryDirect method of the Microsoft.SharePoint.Client.File class takes a serverRelativeUrl string parameter. When file paths contain % or # characters, as are now allowed on SharePoint Online, these have to be replaced with their HTML escapes in order for OpenBinaryDirect to work.

                                  Please consider implementing:

                                  public static FileInformation OpenBinaryDirectUsingPath(
                                  ClientContext context,
                                  ResourcePath path
                                  )

                                  to solve this problem more cleanly using the Microsoft.SharePoint.Client.ResourcePath class. This probably applies to SaveBinaryDirect as well, although I haven't tested the latter. Thanks.

                                  1 vote
                                  Vote
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    Signed in as (Sign out)
                                    You have left! (?) (thinking…)
                                  • Enable better user profile property update options

                                    not having a bulk option to update custom multi-valued and taxonomy-based user profile attributes is greatly crippling out solution. In this regard, SPO is a let-down for our business needs.

                                    1 vote
                                    Vote
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      Signed in as (Sign out)
                                      You have left! (?) (thinking…)
                                    • Fix search wildcard issue or provide more useful message

                                      We have found an issue with property queries using REST that also occurs when using the SharePoint UI via a browser. Using the following query results in an error in the browser and also when executing the query via the REST API:

                                      Title:"Jan de*"

                                      I seems that any property query on Title that contains more than one word and where the last word has a wildcard at the end results in this error:

                                      Search has encountered a problem that prevents results from being returned. If the issue persists, please contact your administrator.

                                      Correlation ID...

                                      The following variations all work fine:

                                      11 votes
                                      Vote
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        Signed in as (Sign out)
                                        You have left! (?) (thinking…)
                                      • In Place Records Management: Provide the ability to declare/undeclare a item as a record using REST API

                                        Currently we don't have any API to declare a item in list/library as record or undeclare a item. We need an Rest API to use in SPFx or other development tools being developed.

                                        3 votes
                                        Vote
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          Signed in as (Sign out)
                                          You have left! (?) (thinking…)
                                        • incrase CSOM support for ExportDocumentSet to more than 50MB

                                          It will be great to increase the size limit of DocumentSet using the CSOM method "ExportDocumentSet".

                                          32 votes
                                          Vote
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            Signed in as (Sign out)
                                            You have left! (?) (thinking…)
                                          ← Previous 1 3 4 5
                                          • Don't see your idea?

                                          Feedback and Knowledge Base