[development] Variables, lookups, and memory usage

Donald A. Lobo lobo at yahoo.com
Thu Dec 15 19:46:17 UTC 2005


with civicrm we've gone back-n-forth with what model
to use for various settings. We store all settings in
the DB (makes it easier to configure/tweak/translate
etc).

However, we ended up going down the road of creating
different tables for each setting (quite a few of the
tables share the same code). Probably the big factor
was the minor variation each setting had which needed
to be accomodated rather than shoe-horned into one
generic table. a good example is:

most settings just need: name , is_active, is_reserved

a few like state/country also need additional
attributes like:

abbreviate, country_id (for state)
idd_prefix, ndd_prefix (dialing code prefixes for
country), iso_code etc

ultimately we decided to go with seperate tables. In
retrospect, i would probably combine the table for the
generic case (which we'll probably do in 1.4) which
match the need exactly and keep the specific ones in
seperate tables

lobo

 
--- Allie Micka <allie at pajunas.com> wrote:

> >> I think discussed adding "domains" to the
> variable table a while back
> >> on this list.
> >
> > Yes,. It was actually the first test DEP that I
> wrote. You can  
> > probably search the mailing list for it.
> 
> I admit I didn't take the time to absorb it fully,
> but It seems that  
> the cascading variable system is about values and
> overriding them  
> (think vertical),  where the lookup stuff is more
> about segmenting/ 
> grouping data (think horizontal)
> 
> I could be convinced that they're the same thing,
> but right now I  
> feel like they're different.  Storing
> states/countries/etc in lookup  
> makes it a completely separate function from
> variables.  But I  
> considered storing expensive module settings here,
> got into a grey  
> area, and came here for advice.
> 
> To clarify, my main goal is to store settings while
> reducing memory  
> consumption by not loading values on every page
> load.  I'm inclined  
> to go with a component module for now as a proof of
> concept, but  
> input on making my strategy more
> generic/core-friendly is welcome.
> 
> Mostly, I need to finish up these dependent modules
> soon, and I'd  
> rather move forward than discuss it ad nauseum. 
> With this list's  
> input, I hope to move forward in a more
> informed/holistic way.
> 
> > I look forward to seeing you in february. I am
> seeing you in  
> > febs ,right ?
> 
> I'm sure gonna try!
> 
> 
> Allie Micka
> pajunas interactive, inc.
> http://www.pajunas.com
> 
> scalable web hosting and open source strategies
> 
> 



More information about the development mailing list