[dev] Re: Adding contact to nag task [Patch]
Hans Lellelid
hans at appliedsec.com
Fri Jan 24 12:24:57 PST 2003
>It already was my intention to generalize what I had so more. I had some
>ideas on that, but what you are talking about takes this a bit beyond that.
>I was thinking about introducing some sort of Unique Identifier concept
>(what I now called keyFields in Turba) that allows applications to link into
>each other. We could create a horde_crosslink table that contains four
>fields:
>from_application, from_UID, to_application, to_UID.
>This also allows associating Notes with Tasks and/or Calendar Events or even
>to link Tasks to each other (follow-up tasks).
>This would result in something like the following set of APIs
>
>UIDFields: This should return the set of UID fields.
>searchUID: This seach should at least return the UID.
>showByUID: This should show a page with the associated element
>descriptionByUID: This should retreive a description that can be used to
>show in an external links list.
>
>
Yeah -- this is very cool. Sorry -- I wrote my previous post before I
had seen your note (duh!). One thing I was thinking -- it might make
sense to have one additional field in this crosslink table: something
like `relationship_id`. It is conceivable that the same object types
would need to be related in different ways. E.g. a person (Turba?) and
document (Gollem?) could be related in several ways: document author,
document poster, current document holder (checked out), etc. The app
that is concerned with the relationships might want a way of tagging
these various ways that items can be related. Of course the field could
be ignored if you simply want to know "everyone associated with this
document".
When I originally imagined the crossref table, I was thinking that it
would just be 3 fields: from_uid, to_uid, and rel_id. I was imaging
that the app name would be part of the UID fields -- e.g.
'turba:myusername at mydomain' or 'nag:12'. I think that storing the apps
probably makes a lot of sense, however. One question -- what about
different apps that may provide the same functionality? -- e.g. if I
create a "people" app that provides 'contacts' (just like Turba) would I
want to be able to access the relationships in the crossref table? ...
Again, just thinking out loud :-)
Cheers,
Hans
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3299 bytes
Desc: S/MIME Cryptographic Signature
Url : http://lists.horde.org/archives/dev/attachments/20030124/92f592ce/smime.bin
More information about the dev
mailing list