Is this a viable way to control who can edit documents

I have a main database that needs certain aspects/sections modified by many different people and by quite a few other databases.

No I know the normal way to control who can edit specific documents is the ACL and Authors fields. But with how this is playing out so far with testing, it seems that this will not work in this instance.

I am not planning to completely do away with Authors fields but, will be giving most users author rights to all documents and then using Action Buttons to control editing.

Basically I am making the entire document computed fields. Then I am using roles to control who can access Action buttons that will launch sub forms that can be edited. Are there ways for people to access these action buttons if they are hidden from them? Is this a horrible way to proceed? Should there be another route that I should be taking?

Thanks

Subject: Is this a viable way to control who can edit documents

The ACL and Authors field is the correct way to do it. Hide when formule are not security even if it’s determined by a user role. Theoretically, and in the absence of an Authors field, a user could change a field value through a toolbar button they created themselves if they had the know how.

Subject: RE: Is this a viable way to control who can edit documents

Can I ask how one can create a toolbar button to edit field values?

What are my other choices for letting a user from Database B update Database A? My real problem is that I have about 4 databases that need to update Database A on certain changes.

I assume using agents of some sort? However, I am not sure how to make an agent start after a specific action. Meaning if a user modifies a document in Database B, how can I make the agent run on behalf of the server after he modifies this document to update Database A with this change?

Subject: RE: Is this a viable way to control who can edit documents

File → Preferences → Toolbar Preferencesthen

Customize → New Button

then

type in a formula such as:

FIELD fieldname:=“Incorrect value”

To call an agent use either:

@Command([ToolsRunMacro)] or Agent.RunOnServer

To ‘run on behalf of’ the agent signer must have unrestricted rights

hth

Subject: RE: Is this a viable way to control who can edit documents

In addition to what Ian said, knowledgeable users could also create a private view on the db and add actions to that view that could modify docs. Proper use of reader and author fields would prevent that type of doc modification.