From: Gustavo S. <gus...@gm...> - 2010-03-24 13:00:49
|
Hi Johann, thanks for the answer. About Zend_Cache, yes you are right, seams to be the right solution for these cases, but as i said, the point is which cache type we want to use. Since now we use SESSION, in the client side, and is really fast (since is memory), but have these problems. Here is a list of possibles cache type: http://framework.zend.com/manual/en/zend.cache.backends.html The file, is which we use now for common data (project tree and language strings). Do you think is better to switch from "save the data in session" to "save the data in a file on the server" ? Other option is Memcached, but we must put it as a requirement. (all the others also have extra requirements) Maybe we can make a new one for use the database, using the Zend_Cache_Backend_Sqlite as template. (If we want to support many database types in the future, we should make an abstract one that can be used with all of these types) Resume: SESSION => fast, don't works for multi-users. File => slow, works for multi-users. Database => fast (less than SESSION), works for multi-users, must be implemented. Suggestions? Greetings, Gustavo Solt On 24/03/2010 05:42 a.m., Johann-Peter Hartmann wrote: > 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 > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > Phprojekt-devel mailing list > Php...@li... > https://lists.sourceforge.net/lists/listinfo/phprojekt-devel > |