If we can change a field's attributes (eg. visibility) at a template level for a specific user, how come we could not change the field's "required" attribute, for a template or a user, simply by adding a mehod at a template or user level that allows for the overriding the required attribute when that field is added to the template or user?
If the visibility is allowed to be overridden on a template, why not the "required" attibute, which would make life a lot easier for a lot of LF users.
For example, because a field is not required on all templates, but is on some, the only workaround is to make the field "not required" at a field level, and then, in workflows where they are dealing with documents which do require the field to have a value, have have the workflow test if a value was captured, and if not, route the document back to the user informing with some sort of "Error Field" message informing them that they need to enter a value in that field.
Huge loss in productivity.
Surely such a small requirement would not require a "rewrite of the backend". Inheritance of field properties from the "field pool" on a template is great, but another aspect of the OOP model is the ability to allow for overriding of methods or properties, as is currently being done for the visibility of a field on a template at a user level. Just a thought. It would make workflow design a lot simpler, and place more control in Administrators' hands.