6.0.0-git
2021-01-24

[#6157] Groups null driver
Summary Groups null driver
Queue Horde Framework Packages
Queue Version HEAD
Type Enhancement
State Resolved
Priority 1. Low
Owners chuck (at) horde (dot) org
Requester duck (at) obala (dot) net
Created 2008-01-27 (4746 days ago)
Due
Updated 2008-02-07 (4735 days ago)
Assigned
Resolved 2008-02-06 (4736 days ago)
Milestone
Patch No

History
2008-02-07 17:27:16 Jan Schneider Comment #8 Reply to this comment
Or don't cache it at all, now that we have the null driver, or maybe 
once we integrated the better-performing sql driver.
2008-02-07 16:59:48 Chuck Hagenbuch Comment #7 Reply to this comment
We are storing the entire objects in session. Imagine a group with
100 members, is really big. So all users will have this group in
their session. But they need to know only if they are in this group
or the list of groups they are in. So why we don't cache only this
"end data", not entire objects and recheck them every page load? Will
save some time and a lot of session memory.
Seems like we could either cache the group globally, or the access 
info in the session.
2008-02-07 08:33:20 Duck Comment #6 Reply to this comment
Sorry, I don't follow. Is that a response to what I've written? Or
just a general rant? And what are you actually saying?
We are storing the entire objects in session. Imagine a group with 100 
members, is really big. So all users will have this group in their 
session. But they need to know only if they are in this group or the 
list of groups they are in. So why we don't cache only this "end 
data", not entire objects and recheck them every page load? Will save 
some time and a lot of session memory.
2008-02-06 20:33:23 Chuck Hagenbuch Comment #5
Assigned to Chuck Hagenbuch
State ⇒ Resolved
Reply to this comment
Having the abstract Group API separate from the null definition is 
fine too, though I agree that the datatree def should move into its 
own subclass.



I've committed this as the "mock" driver. Thanks!
2008-01-28 23:52:25 Jan Schneider Comment #4 Reply to this comment
Sorry, I don't follow. Is that a response to what I've written? Or 
just a general rant? And what are you actually saying?
2008-01-28 17:09:48 Duck Comment #3 Reply to this comment
Looking better session objects are abused in the current driver 
implementation. We normally just check if a user is in specified group 
(ex. in perms) or its membership (ex. in shares). So instead of 
storing the call results, is being stored all linking groups objects. 
That grows fast with large installations making session data bigger 
without any special need as other calls are manly if not all 
administrative.
2008-01-28 08:52:08 Jan Schneider Comment #2
State ⇒ Feedback
Reply to this comment
Though this null driver is definitely the most simple solution, it 
*feels* more correct to implement the "null functionality" in the base 
class and move the datatree code into a separate driver instead.

Besides that, I wonder why we didn't add such a driver earlier. It's 
simple enough to even get merged to FW_3, and we can swap the null and 
datatree driver in HEAD.
2008-01-27 14:13:23 Duck Comment #1
Type ⇒ Enhancement
State ⇒ New
Priority ⇒ 1. Low
Summary ⇒ Groups null driver
Queue ⇒ Horde Framework Packages
New Attachment: null.php Download
Reply to this comment
Even the groups data are cached in session, for installations not 
using groups this means additional objects creation, DT SQL queries 
and writing of session data. Null driver just returns empty values to 
avoid not needed load for sites not using groups.

Saved Queries