phpgroupware-developers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Phpgroupware-developers] addressbook model and integration with acc


From: Dave Hall
Subject: Re: [Phpgroupware-developers] addressbook model and integration with accounts
Date: Sat, 28 Jun 2003 18:49:20 +1000

Ralf Becker <address@hidden> wrote:

> Jonathan Rivera schrieb:
> > hi guys,
> > 
> > finally between skwashd and i finished the model for the 
> integration of
> > admin with addressbook, here can see it .
> 
> Good work, looks realy nice.

thanks

> 
> I would like to move these docs / proposals to the wiki and would 
> propose to give jarg write-rights to the wiki.

I have created an account for him.  I will leave jarg to add it into the
existing discussions on there.  I am happy to help with some of the
descriptive text to go with the model.

> 
> > http://co.com.mx/~jar
> 
> I have some remarks:
> 
> 1) I would recommend to use InfoLog for a variable number of notes 
> and 
> not build this into the addressbook (with an extra table). A 
> single note 
> field is needed for backward compatibility.

I agree with this.  The table was left in as some people liked it in the
past.  I think a single notes field in required, for compatiability (and
those user's who don't use/like infoLog).

> 
> 2) I'm not sure if the phpgw_contact_cat table with primary key 
> (and 
> only columns) contact_id and cat_id is better to hancle as the 
> comma-separated field in addressbook now.

I think it is better db design to do it this way.  Especially as we are
proposing to use readonly replication for LDAP.  I also don't think
there is a need for a autoincrement primary key in this case - as
contact_id+cat_id == unique_id.

> 
> 3) I still miss the custom fields, but this is easy to add with a 
> table 
> phpgw_contact_customfields with columns contact_id, 
> custumfield_name and 
> value.
> 

Yes this is possible.  Or 2 additional tables:
phpgw_contact_custom_fields
custom_field_id
custom_descr

phpgw_contact_custom_values
custom_val_id
contact_id
custom_field_id
custom_value

> 4) This might be a question to mdean: Does all supported DB's 
> allow (in 
> a single syntax) to join all this tables together?
> 

I would see there would be several key queries.  A list query (maybe 2
one for person and for orgs), one for each type of summary (person, org,
and user).  The full details query, which would be 3 or 4 queries
executed in sucession - which would give full record data.

> 5) I personly dislike schemas with so many linked tables, but this 
> might 
> be just a question of taste. The content of the *_type tables 
> (which 
> will be only a view rows), might go into the phpgw_config table as 
> an 
> serialized array.

This is the cost of 3NF more tables, more complex queries.  For this
reason I think the contacts classes should offer all a dev needs for
accessing/manipulating records - they don't even need to know how to do
a SQL join.

What *_type tables are you referring to, there are several which perform
different tasks.

> 
> 6) An other concern: I see advantage of haveing modified_* cols 
> for each 
> single table for resolveing conflikts while syncing the data. Do 
> all 
> tables need created_* columns, as most of them will get created 
> with the 
> creation of the contact itself? Do we need a modified column for 
> the 
> contact itself (not its parts) to be updated and whatever update 
> of one 
> of its parts and to show to the user as the last-update date (dont 
> think 
> you want to show 10 different modified dates / modifiers to the 
> user in 
> the UI).

The mod/created fields are good for syncing, but they are good for other
things too.  They also help with simple user auditing - for example the
data keeps on going screwy - check the db - ah it looks like Ralf is
stuffing it up ;)

I think some way of the contacts class determining the last mod time
stamp to display to the user would be a good work around.

> 
> I hope this "critisism" does not sound to negative, I'm quite 
> happy 
> someone is working on the contacts schema.

I don't see it as negative at all.  The model is there for public
discussion.  What I (and others) have been trying to do is build a model
which will work well for our developers and our users.  Jarg has been
great at taking suggestions and reworking the model.  I hope that the
schema we are working on does not make life too difficult for him to code.

> 
> I would voluntier building a nice tab'ed UI with eTemplate for the 
> new 
> addressbook.

That can be discussed also.  I would like to see it up an running asap -
but the model must first be agreed.  I would like to see it done in xslt
in head as that is the agreed core app tpl engine. /me waits for the flame.

> 
> Ralf
> -- 
> -------------------------------------------------------------------
> ---
> Ralf Becker
> OUTDOOR UNLIMITED Training GmbH                Telefon 0631 / 
> 31657-0
> Leibnizstraße 17                               Telefax 0631 / 
> 31657-26
> D-67663 Kaiserslautern            EMail address@hidden
> 
> 
> 
> _______________________________________________
> Phpgroupware-developers mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/phpgroupware-developers
> 
>

Attachment: dave.hall.vcf
Description: Card for <dave.hall@mbox.com.au>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]