Give sharepoint edit permissions to users on one column only

Copper Contributor

Hi

I am having the certain problem.

I have a sharepoint list shared to users with edit permissions. In this same sharepoint list I have succesfully shared the list to an external user with view only (READ permissions).

On one of the columns in the sharepoint list I need this person with read permission to be able to edit and comment on the rows , just in this column.

I don't see a way I can do this even with disabling inherritance permisions on this library. Can you please advise.

14 Replies
Hello
I do not think you can do it in native SharePoint in 1 list.
A simple solution could be a PowerApps form (with comments field) and a Power Automate executed by a system account with write access on the list.

@SYLV1 thanks for your answer

 

Isn't there an easier way to do this can you direct me to a step by step guide to resolve this problem?

@george_71239 no, I don't think there's any other way to achieve this.

 

Rob
Los Gallardos
Intranet, SharePoint and Power Platform Manager (and classic 1967 Morris Traveller driver)

There is no colum security level in native SharePoint. If a user can edit an element he can edit all the available columns (including title). He can also add new values.
I do not see an easier or better way to do it on 1 list.

Only other option i can see so far is with 2 lists. List 2 with hidden title, lookup columns on List 1 and specific contribute level access (without creating items). But that would mean creating the items twice to manage comments. (why i proposed a power Apps comments form with Power Automate to update)



unreal that Microsoft doesn't have this feature yet and google sheets does. 2 lists would be a nightmare . Do you perhaps have a tutorial on how to guide me with the powerapp and automate solution. I still want the external user to see the whole list so when he clicks a field in the column needing to edit will it take him to a powerapp form and then the update will happen automatically with the flow?
Hello !
No tutorial except advise to look at some Youtube videos and create the "Getting started with Power Apps"" Template.

I do not have the full context, but i would create a Tablet canvas app, connect the SharePoint List and use it as a datasource for a gallery ( on container for responsive design). Then Add a button to open a popup with comments / save / cancel. Finally save the comment via PowerAutomate on Button after validation.
The app could be exposed in a SharePoint page or accessed directly on a tablet/phone


@SYLV1  thanks Sylv, it sounds very complicated, I have found a 3rd party solution for this. 

 

I don't want guests to be opening apps to write comments , thanks again 

@george_71239 please can you let me know of the third party solution to this as I may need the same functionality

Hi,
You can achieve this by customizing the form in Power Apps. I don't know how familiar you are with Power Apps but in simple steps:

  • Open the list and click on Integrate --> Power Apps --> Customize forms image.png
  • Click on App (on the left) and select OnStart part of the form, set a variable as varUser and set it to the current user's email.

 

 

 

Set(varUser, User().Email)​

 

 

 

 

image.png

  • Select the column's Display Mode to Edit if varUser is equal to that user's email, if not leave it as is.

 

 

 

If(varUser = "Email address removed", Edit, Parent.DisplayMode)

 

 

sedattum_0-1644383121810.png

 

 

 

Hope this helps to solve your problem.

@sedattum thank you for your help

unfortunately it did not work

May be the following may help to identify what I am not doing to make it work:

1. I had to unlock the datacard - otherwise it would not let me make the change to the DisplayMode

Should I unlock the data card to make the changes?

if so after I unlock should I leave the datacard unlocked?

2. Should I make the change at the top level for that datavalue items or at the datavalue field - see screen shot below ( i tried both) see pictures attached

3. also in the if(varUser = "Email address removed", Edit, DisplayMode) - i used the actual email of the person that would be able to edit this column. is this correct?

4. should i be logged in as the owner of this list to make these changes?

 

Hi. No problem.

1. Yes. You need to unlock the data card to make changes for the property if it is locked.


2. No. Please make the change at DataCardValue12 because that's the control you want to change the display mode.


3. Yes. That is correct. The if statement is checking the user's email address if it is matching with the one typed in the statement and if so it is setting the display mode to Edit, and if not it is inheriting the parent's display mode which can be View or Edit depend on user's permission. If it is a group people there is a different method to use.


4. To make the changes on the form, all you need Power Apps access and edit rights on the list which I see from the pictures that you have it.

When you are done you need to save the form and publish it. Otherwise your changes won't be updated on the form.

@sedattum 

Hello, sweet discusiion. I have the same issue but with a group. Is it possible to proceed in the same way, but give access ti a whole sharepoint group? Thanks in advance. 

@juletha 

 

same here, I think, kinda sorta.

 

  1. I need to create a list with roughly 13 columns in it
  2. I need to allow a sharepoint security group access to edit this list, all 13 columns
  3. I need everyone else not in the above security group to have access to VIEW this list but not be able to edit it in any way
  4. and now the kicker - those with VIEW access, I only need them to see 8 of the 13 columns with the remaining 5 hidden and not accessible at all to the VIEW access group.

@george_71239 

the next option what you can try, will be automation created via power automate. (work only if you have few predefined values in the column)

 

Step1: Simple flow witch will update selected item 

Step2: Share this flow only with person that have read permission