I have a view with a "global text" header that changes once a month. It's not easy in Drupal to give users access to only certain fields in a view. And I wouldn't want to "scare" them with the views UI either ;-)
4 Answers
One option is to create a new Views "attachment" display, and give it different permissions than the other view.
What I did was create a "basic page" and change the author to the user that should be able to change the text. Then I created a view with content="basic page" and a contextual filter "nid" with the nid of that page. Remove the title field and add the description field and save.
Now I just have to change my original view, remove the "global text field" from the header and add a "Global: view area" instead. Select the view just created and you are done.
Or if you have views_PHP installed you can add a "Global:php" field and add this code:
<?php
$nid = 342388;
$node = node_load($nid);
print $node->body['und'][0]['safe_value'];
?>
I've used the Views UI: Edit Basic Settings module and it does what you want.
If you store your view in features it will reset every time you revert, which could be annoying for editors.
You can set views header to be a node by choosing rendered entity as the header. This should be editable.
"Views UI: Edit Basic Settings" places edit tabs on Views pages, similar to node pages, and allows users with the correct permission to modify their header, footer, title, empty text, or number of items to display. This module also provides a separate interface that displays a list of views. All Views are defined by you, so you can exclude certain Views.
The WYSIWYG module is supported, so users may use a rich text editor when editing Views content settings.