6.0.0-RC7
6/28/26

[#723] Birthdays from contacts
Summary Birthdays from contacts
Queue Turba
Queue Version HEAD
Type Enhancement
State Resolved
Priority 1. Low
Owners
Requester guido.wilken (at) web (dot) de
Created 10/25/04 (7916 days ago)
Due
Updated 10/22/07 (6824 days ago)
Assigned 10/26/04 (7915 days ago)
Resolved 1/12/07 (7107 days ago)
Milestone
Patch No

History
244 Matt Selsky Comment #11 Reply to this comment
should I - or you - submit this as an enhancement request?
Yes, please.
554 daviskingdom (at) gmail (dot) com Comment #10 Reply to this comment
Thanks for the info.



Since this sounds like something the developers would have to handle, 
should I - or you - submit this as an enhancement request?
403 Matt Selsky Comment #9 Reply to this comment
Indexes won't help because listBirthdays() is a generic function that 
does the date comparisons itself.  It fetches all contact objects and 
then checks the birthday dates one-by-one.



To improve speed, we would need to do the date comparisons in the 
backend database.  This means either using a more specific search 
criteria in the call to search() or implementing an optimized 
listBirthday() function in each backend driver.
458 daviskingdom (at) gmail (dot) com Comment #8 Reply to this comment
Thanks for the quick reply.



I did simply create an index by the object_bday field.  It really did 
not make a difference.  Is there something more to it than that?



What I did was issue this command:

ALTER TABLE `turba_objects` ADD INDEX ( `object_bday` )



The resulting lookup was not any faster.



By the way - out of my 700 turba entries, only 25 actually have a 
birthday entry.  Is the listBirthday function reading every turba 
entry?  Do I need to modify the listBirthday function to know 
about/take advantage of this new index?



thanks again,

REALLY great feature!
438 Chuck Hagenbuch Comment #7 Reply to this comment
Sounds like that would definitely help in your case. For now I feel 
like this is best left to individual sites/DBAs and how they organize 
their tables.
147 daviskingdom (at) gmail (dot) com Comment #6 Reply to this comment
I have added the Address Book to my external events on my calendar in 
order to have the birthdays from my address book show on my calendar.



The time to show my calendar went from 1-2 seconds to 15-20 seconds!   
Should an index be built or something else to reduce the significant 
impact this feature has?



I am running the latest CVS code and have about 700 entries in the 
turba_objects table.



thanks,

Michael
291 Jan Schneider Comment #5
State ⇒ Resolved
Version ⇒ HEAD
Queue ⇒ Turba
Reply to this comment
This has been implemented in CVS HEAD through the listTimeObjects API. 
For now we only return attributes with the name "birthday" but this 
could easily be extended in the future to return any attributes of a 
date or datetime type.
123 jhanley (at) dgtlrift (dot) com Comment #4 Reply to this comment
Should be just the semantics of the label but it would also be nice to 
have Anniversaries, Christenings, or whatever in addition to birthdays.
407 Jan Schneider Taken from Jan Schneider
State ⇒ Accepted
 
228 Jan Schneider Assigned to Jan Schneider
 
275 Chuck Hagenbuch Summary ⇒ Birthdays from contacts
 
242 guido (dot) wilken (at) web (dot) de Comment #3 Reply to this comment
so maybe now is just the right time to start working on it :D

I wonder how much intercommunication between turba and kronolith is possible.

From my (deliberatly uninvolved) point of view it would be quite easy 
for kronolith to get the birthdates from turba, or am I wrong ?

Don't find me bothering here, I'm just a little nosy :)
428 Jan Schneider Comment #2
State ⇒ Assigned
Reply to this comment
Believe it or not, I want to have this for a few years now, but never 
got to it.
3911 guido (dot) wilken (at) web (dot) de Comment #1
Priority ⇒ 1. Low
State ⇒ New
Queue ⇒ Kronolith
Summary ⇒ Birthday's from contacts
Type ⇒ Enhancement
Reply to this comment
Would be nice to have birthdays saved with the contacts and 
automagicaly see them in the Calender :)

BTW: Really nice work so far ! Keep it on !

Saved Queries