views:

539

answers:

4

Is it possible in a SharePoint 2007 list (MOSS, though I don't think that this is Enterprise Edition) to allow users in one SharePoint group to edit values in some fields and users in another group to edit values in the other fields?

From all the searching I've done, this does not appear to be possible, so as a fallback I'll accept answers that suggest the best way to accomplish something like this (e.g. maintain the items in separate lists, linking them by ID).

I do not have access to Central Admin, but I do have Full Control of the site. Also, this site was not configured for custom code, so besides changing list settings (and site settings) I can make changes via SharePoint Developer (but not Visual Studio).

A big THANKS in advance!

Steve

+1  A: 

You are correct that it's not possible to set field-level permissions without custom code. Furthermore, you're on the right track thinking separate lists, though you should be aware that SharePoint list lookups are a rather weak correlation. Usable, but not exceedingly robust.

For presenting the combined data you'll want to look at SharePoint Designer's joined subviews.

dahlbyk
Thanks for your suggestion! It appears that this might work...need to figure out how to use the same master page in the ASPX page, though, unless you know of an easier way to access the joined lists. (For instance, I didn't see a way to access the joined lists through a web part.)
Steve J
You can attach a master page to a new ASPX in SharePoint Designer (Format > Master Page > Attach). For accessing the joined lists you'll want to use a Data Form Web Part (aka Data View Web Part): http://blah.winsmarts.com/2007-10-Performing_joins_between_SharePoint_lists.aspx
dahlbyk
A: 

You can customize Edit Forms for SharePoint 2007 Lists (EditForm.aspx). With custom list definition and custom edit form you can write code to check the user and show different fields depended on the users permissions.

John Hansen
I've seen several examples on the Interwebs about showing different fields based on the user's permissions, but I want to do this based on the user's group, which doesn't look possible. At least not without custom code (which I can't use on this site, unfortunately).Thanks for the tip!
Steve J
+1  A: 

Have a look at Displaying SharePoint Fields by Permission Level by Laura Rogers. This is an approach that uses SharePoint Designer.

Also see the SPListDisplaySetting CodePlex project. This is a site collection feature that needs to be installed so may not be an option.

Alex Angas
I had already run across the SPListDisplaySetting CodePlex project you mentioned. I'm also trying a POC with the instructions from Laura's blog--interesting stuff. Not sure which way I'll go at this point.
Steve J
@Steve J: Also this question that was posted just after yours and is a dupe: http://stackoverflow.com/questions/1459716/sharepoint-2007-how-to-set-column-level-permission
Alex Angas
The Secure Field solution mentioned in the answer to that question looks interesting, too, but it also requires something to be installed on the server. I think I'm going to go with multiple lists for my solution. Thanks for finding the other question!
Steve J
A: 

'a' workaround to get this functionality is to change the content type associated with a list item using workflows.

Like so:

User creates list item in content type A (limited fields).

Workflow starts, changes to content type B (all fields).

Admin gets notified, opens listitem, fills out additional form fields.

And so on..

ArjanP
Interesting... can you switch from content type A to content type B and then back to content type A without losing B's fields in the item?
Steve J
Yes that is correct. If you'd have access to code you could also have tied a separate Edit page to each content type, further customizing the experience. This is another option btw, create custom 'edit' and 'new' item pages and direct your users somehow.
ArjanP