Permission to edit just some content blocks

Posted by Community Admin on 03-Aug-2018 14:06

Permission to edit just some content blocks

All Replies

Posted by Community Admin on 31-Jul-2013 00:00

I'm using Sitefinity 5.4. I would like to grant a user permissions to edit some specific content blocks from the frontend, but not other content blocks. But I can't figure out how to do this.

I've created a test role and allowed 'Modify content block' and 'Use in-line editing', but nothing else. I also enabled 'This user can acces backend', although I actually don't want them to be able to access the backend -- but users seem to be unable to sign in at all unless this is enabled, so OK.

Next I tried setting permissions for an individual page. If I allow the role to 'Edit the content of this page and its child pages', then the test user can edit EVERYTHING on that page, including banners and images, which is no good. But if I don't allow the role to do that, then the test user can't edit ANYTHING on the page, even the content blocks I want to be editable.

So I then tried to adjust permissions for individual content blocks on the page. When I click on Permissions for a particular content block on a page, I get options for 'View a widget', 'Move a widget', 'Edit widget properties' and so on. But changing to these seems to have no effect at all on whether the user can edit that content block from the frontend.

So I'm still stuck. Either the user can edit all content blocks on a page, or he can't edit any. How can I enable frontend editing of some blocks and not others?

What am I missing?

Thanks!

Posted by Community Admin on 02-Aug-2013 00:00

Hi,

Thank you for contacting Sitefinity Support.

In-line editing permissions apply to the whole page (they are not per widget) and when you allow this option, the user is able to edit everything on this page. But each content block (Content > Content blocks) has separate permissions similar to other contents (News, Events, etc). 

Here is a possible solution for you:

1.      Create a test role (Administrations -> Roles) 
2.      Open Administrations -> Permissions and Go to section “Content blocks” and press button “Change”. Select the following permissions for the created role: View content block, Create content block, or Modify content block in order to see the Content Blocks section in the content menu.
3.      Create a new test user (Administration -> Users) via button “Create a user”. Fill the required field and in section “Roles” select the role that was created in step 1.
4.      Create several content blocks (Content -> Content blocks) 
5.      Edit the permissions of a specific content block (menu Actions -> Permissions) and change them depending that you want the user to see and how to manage this content block.
6.      Create a page and when you drag and drop a content block widget - select from existing shared content

In that way there is no need for your test user to access the page itself. S/he can simply edit the allowed content blocks from the Content Blocks section and the result will appear immediately on the page that uses the content block

Note: 
If you want to hide a specific content block, you should exclude the role from the View permission and enable the option “Enable filtering queries by view permissions” (go to Administration -> Settings -> Advanced -> Security).

Do not hesitate to contact us if you have any additional questions.

Regards,
Petya
Telerik
Do you want to have your say in the Sitefinity development roadmap? Do you want to know when a feature you requested is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items

Posted by Community Admin on 13-Aug-2013 00:00

Hi Petya -- thanks for your quick reply.

Can I check I understand you correctly? If a user can use in-line editing, they can change absolutely anything on any page, including editing widgets that belong to the template or are shared across all pages? There is no way to limit in-line editing simply to content blocks which the user has permission to edit?

If so, this is disappointing, because it makes front-end editing useless to everyone except the highest-level administrator. We don't want anyone to be able to delete, for instance, our company logo, or our navigation menu, simply by clicking 'Edit'.

OK. So I have now created a backend user. We have about 500 content blocks on the site and I would like that user to be able to view and edit, say, 5 of them in the backend. Can you advise on how to do this? I don't want to have to go through every single content block and remove the user's permissions from each one separately. But every other combination of permissions I've tried seems either to allow the user to view and edit ALL blocks, or hide the content block area altogether.

Thanks!
Toby

Posted by Community Admin on 16-Aug-2013 00:00

Hi Toby,

 Here's what you can do that will follow Petia's advise and in the same time suit your requirement. As she said, your user will have permissions over several content items only and when adding a content block to a page he will be able to choose only those content items as shared content. To achieve this and not to go through all 500 content blocks, set permissions for Creating of content blocks to your user (as in the image, where my uses is Test Testov). Then Go to Content -> Content blocks and for each content block that you want to enable the user to edit set also Modify permissions (from the actions menu of each content block). This way, when you login as the test user you will see the Content blocks section, you will be able to edit some of the content blocks, but you will not be able to do that for all of them. 

Regards,
Jen Peleva
Telerik
Do you want to have your say in the Sitefinity development roadmap? Do you want to know when a feature you requested is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items

This thread is closed