[Top][All Lists]

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

Re: [Phpgroupware-users] CK-ERP v.0.8.1 released

From: C K Wu
Subject: Re: [Phpgroupware-users] CK-ERP v.0.8.1 released
Date: Sat, 31 Jul 2004 14:14:45 +0800
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040510

Brian Johnson wrote:

C K Wu (address@hidden) wrote:
Hi, Brian,

You know I like ck-ledger, but the inability to still not use the phpgw
addressbook table directly causes me concern.  I know that any parallel
contact storage system that relies on a sync mechanism is bound to encounter
occasional problems.

Perhaps it is due to my misunderstanding of how the "systemwide unique id"

Systemwide unique id means unique across all transactions.  Say, a newly
inserted customer
record gets id 123, the next inserted invoice gets id 124, the next
timesheet gets id 125,
so on and so forth.  As far as I can tell, addressbook only maintains id
uniqueness within
individual type of transaction, ie no organisation record could have
duplicate id, but a person
record can have the same id as an organization record.

Persons and organizations do not overlap id numbers in the current
addressbook.  They are both listed in the central table phpgw_contact and
contact_id is a primary field with an index whick prevents a person from
sharing the same id as anorganization.

However, that is still only uniquieness within that app, not across multiple
apps .. so still may not provide what you want.
You are absolutely right.

How do you do it?  Search multiple tables to ensure an id is not reused?  Or
maintain a record somewhere that contains the next id to be used (wouldn't
this system create a performance bottleneck?)?

With Postgresql, all id is assigned from a single sequence.
With MySQL, all id is assigned from one single auto-increment column.

The design is simple and efficient. However, it requires all id-assigning scripts to abide by the rule. Any single script that does not conform to the rule will screw up the design. That's why I think
it is very difficult to implement within phpgw.


I know that the existing addressbook has a hook to allow other apps to prevent
deletion of addressbook contacts and I know that the addressbook system does
use a unique id for each of it's entries .. so I don't nderstand the problem

Could you explain it more please?

Secondly, the version that I am currently running does not have "phpgw_"
preceding the table names, does the current version?

One of the enhancement with CK-ERP is to use standardised table prefix.
The default
prefix is "ck_".   But the system implementer could change it to
whatever he/she prefers.
But since it is a system crashing modification if made post
implementation, the prefix
is embedded in the script,, and script modification is
required to effect the change.


Phpgroupware-users mailing list

Phpgroupware-users mailing list

Phpgroupware-users mailing list

reply via email to

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