[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Ganymede Dev] Re: many G... questions
|
On Wed, Jul 03, 2002 at 04:28:41PM -0500, Jonathan Abbey wrote:
>
> | 6) Expirable relations
> |
> | The concept of object references and their handling in the schema
> | editor is great! So is the handling of expiration dates for objects.
> |
> | But when I started to try creating our data model in the editor,
> | I realized that in many cases of two objects tied together by
> | object references, it's not the objects that should expire eventually,
> | but just the link between them. For example, users changing from one
> | project/experiment to another are a very common case here, and
> | what typically should happen is that new group memberships etc.
> | become effective immediately, while the old ones should expire after,
> | say, 3 months.
> |
> | Hence it would be extremely useful to be able to set expiration dates
> | for object references much the same way as for objects. Would this
> | be feasible to implement?
I'm afraid I had skipped part of your comment here, so I want to elaborate
a bit on my answer.
The notion of a generically expirable relation, in which you can
specifically set an expiration date for one object reference out of
many, is a very interesting one, and one that might be feasible to add
within the InvidDBField, at the cost of an additional memory, and a
not insignificant complication of the linking logic.
Right now, the object relation/object linking logic is handled in a
bidirectional fashion. The InvidDBField logic in whatever object is
actively being edited actually checks out the remote object and
applies edits to that object. Setting an expiration date on a
relation would need to be set up so that the two sides of the link
could likewise be kept in sync. In addition, we'd want to have some
way of expressing such an timeout in the GUI, somehow.
If custom logic could be written in the DBEditObject class and/or in a
custom task that would suffice to handle the unlinking without having
to record a separate timestamp for each Invid that needed to be
unlinked in the future, it might be easier.
The good thing is that it's all just a matter of programming, and
there's nothing stopping you from achieving any effect you can imagine.
--
-------------------------------------------------------------------------------
Jonathan Abbey jonabbey@arlut.utexas.edu
Applied Research Laboratories The University of Texas at Austin
Ganymede, a GPL'ed metadirectory for UNIX http://www.arlut.utexas.edu/gash2
----------------------------------------------------------------------------
To make changes to your subscription to the Ganymede Dev mailing list, send
mail to majordomo@arlut.utexas.edu.
To unsubcribe, include the line
unsubscribe ganymede-dev
in the body of your mail message
Visit the Ganymede web page at http://www.arlut.utexas.edu/gash2
----------------------------------------------------------------------------
[Ganymede Dev] Re: many G... questions
- From: Jonathan Abbey <jonabbey@arlut.utexas.edu>