Field Modification Rights

How does one set a field so that anyone with editor rights can initially edit a field when the doc is created, but than restrict it so only a certain person can modify it.
schmad01Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

qwaleteeCommented:
Hi schmad01,

Simplest way: set the field to require EDITOR access.  Then make the "higher level" users editors, and the "lower level" users into Authors.  Of course, if these "authors" need to be able to edit any document (just not this field), set up a role in the ACL called [AllCanEdit] then create a computed author field wth formula "[AllCanEdit]"

Now, on creation, all fields -- including the "editor only" field -- can be edited by anyone.  As soon as the doc is saved the first time, any further changes to this field will be limited to editors -- even if someone has authro access to a particular document, authors are locked out of the particular field.

Where this scheme won't work:  if the "higher level" users need to have Autgor-only access, and you can't assign editor.  You can code around that, but it won't truly be the same.

Best regards,
qwaletee
0
qwaleteeCommented:
The other way to do this: put the field in a section, with a computed for display section formula, "[RestictedAccess]"

Create that role in the ACL, assign appropriate users.  If you expect thereto be any local replicas, you will need Enforce Consistent ACL.

This is NOT secure, but a convenient way to "direct" who can access the field.
0
HemanthaKumarCommented:
You should not hard code the role into the controlled section.. this will effectively block edit rights on the fields in this section right from the start.

So you have to compute it when it is saved

Create a field called EditAccess, computed with formula
@If( @ISNewDoc; ""; "[EditRole]");

EditRole is a role that is defined in the db acl and assigned to the group or group of user ids.

Now the Controlled section should have formula refering this EditAccess field in the @ Formula tab. Just set the type to Computed and enter

EditAccess

Now whenever you create a doc, this section fields are open for edits.. and when it is saved this is blocked to the role that is defined in the EditAccess field

~Hemanth
0
Cloud Class® Course: CompTIA Healthcare IT Tech

This course will help prep you to earn the CompTIA Healthcare IT Technician certification showing that you have the knowledge and skills needed to succeed in installing, managing, and troubleshooting IT systems in medical and clinical settings.

schmad01Author Commented:
Actually, the users have Editor access already so I guess I will have to go with a computed access section and use roles?
0
qwaleteeCommented:
I suggest taht if the users already have editor acess, then yo shoudl go with my first suggestion.

Add the role.  Assign it to all users.  Add the author field.  Put the role in the author field.  Demote some users from author to editor.

Now, it looks like there is no change, because if you are in the authors field (via the role), it is the same as if you are an editor.

BUT... once you add the field restriction, authors will be able to create data in teh field on new documents, but as son as the document is saved, no more ability to edit that field for Authors, only for Editors.

It is a neat trick.  And it is completely secure.  The controled access method (my second post, as improved by Hemantha's post) is about the same level f difficulty to implement, and is not secure.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
schmad01Author Commented:
Great. Thanks.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Lotus IBM

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.