Form Level Security

I have just inherited a VERY large database with some VERY large forms.

The user has just requested a change to security at the document level, i.e., wants to allow a few users (who do not currently have editor access to the database) to be able to edit a particular set of fields on the form while still restricting their access to any other data contained on the form.

Sugestions as to the best way to do this w/o having to (a) create another form and use a form formula to check their role?

Thanks in advance

Subject: Form Level Security

Mary,

Your best bet is using Access controlled Sections and Readers fields. However at some level, roles will get involved, so I can’t say you are totally out of the woods. Also, there is no field level security in Notes, so if a user has access to a document they are going to see the data, unless you hide the data in an access controlled section.

You might want to create a new form with the same fields and retire the old form. By creating an alias you can have the existing docs use the new form by making the alias the old form name (or even better the old form alias!)

brandt

Subject: RE: Form Level Security

Thanks, Brandt … I was afraid I was going to hear that!

The problem is not with the selected few reading/seeing the data, it’s with editing. The fields they are to edit are in a table. Since it is being edited on the client (as opposed to the web) I’ve used an @Prompt to get the appropriate data fom these uers and put it into computed fields within the table.

Subject: RE: Form Level Security

mary,

are you saying that given the user, they may be able to see certain fields in the table but not others?

You do realize that if they are in read mode they can still see the values by going into Document Properties, right?

brandt

Subject: RE: Form Level Security

I’m saying that yes, the user can see all of the fields when reading the document. They are just not supposed to be able to change any of the data except for a few fields that are contained in a column in a huge table on the form.

Subject: RE: Form Level Security

If you don’t want to use roles, create a “config” document, (or a profile document), and set the view ACL so only a few can see it. Then, in this config doc, create fields that hold the names of folks who you want to edit. You will need to maintain this config doc going forward. By using this, you don’t need to set consistant ACLs. Just make sure that view/doc is well hidden.

Then, on your forms, for fields that you don’t want people to edit, but they can see, create computed fields next to these fields and then use hide-when, based on the values in the config doc, (or roles), to control which fields to show the user.

Subject: RE: Form Level Security

for the hide-when, use DBLookup to get the values in the config doc, then see if the current user is part of the list.

I do this type of thing all the time, but as mentioned, document properties will show values, but they can’t change

Subject: RE: Form Level Security

Thank you everyone for your responses. I know how to do all of that … just looking for an easier way that will nto consume so much time.

Alot of people out there have tried alot of different things to arrive at the same result and I was just lookign for one of those!

Subject: RE: Form Level Security

  1. Copy the form;2) Make all fields Read only except those the user can edit;

  2. Use form formulas at a view level: if it’s those people, then they get the ‘new’ form, only can edit those fields. If it’s someone else that can edit all, they get the original form…