From: Johann-Peter H. <har...@ma...> - 2010-03-24 07:38:37
|
Hi, Gustavo Solt schrieb: > Point b) > - If the User A was IN the TODO #1, and try to change something, he > will get a message "The item don't exist" (for him, don't exists anymore) That's a misleading error message, it should be "You are not allowed to do this!" ;-) (better: "Missing access rights for this item") > > Point c) > - The User B, since is still in the item, get a front message that the > TODO was changed by the admin, but when he want to see the changes, > the access still say "User A and User B", since the access is cached in > the server. > > That is more or less not so important, since is an strange case, > but what about the same on a project? > > If the User A is removed from a project, then he will have some errors > when try to access to it (an Exception since the "node" don't exists). This should be the same error message as above. Any access control error should result in a clear error message documenting the user does not have access rights to the current item (anymore). > If the User A is ADDED to one project, the user will receive a front > message, but he DON'T will see the new project, since the access for all > the projects is already cached from the server for him. > The solution is "logout, and login again". > > These cases, are not so commons, but can happen and we should offer some > solutions for that. For me it looks like a wrong caching strategy. The caching should work with active invalidation, i.e. if an item changes on the server, every cache for it should be cleared - even client-side caches. The Zend_Cache provides tagging and the clean method for this purpose. Greetings, Johann |