AnsweredAssumed Answered

Design Decision : Locking attributes or controlling access rights?

Question asked by Dave on Apr 29, 2015
Latest reply on May 1, 2015 by Dave

A different kind-of debate...


I'm currently building some functionality, this involves a custom sub-object of the project object (a kind-of monthly status report).


Every month I will automatically create a new instance of the sub-object and copy forward various details from the previous month (all this I have working OK via GEL and XOG).


But I want to "lock" the previous month's instance (prevent users from editing it anymore) and only allow the users to edit the new current month instance.


So I have two options I think;


#1 : Lock all the attributes of the previous month at the point that I create the new month

               I think I have to lock the attributes through a new process though, don't think I can affect locked attributes through a XOG update

               (I know I can just insert into the locked attribute tables, but that would be unsupported)


#2 : Control everything through instance-level access rights ; only grant instance-edit rights on the new month, replace the edit rights with view rights for the previous month

               This sounds fiddly to me, but I believe I can do this all through XOG


Any options I've missed?  Any good opinions in how I should do this?


(I'm leaning strongly towards #2 by the way, I'm also concerned by loading up thousands of entries into the locked attributes table and what impact on the application performance that might have over time)