[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Ganymede Dev] Re: many G... questions
|
On Fri, Jul 05, 2002 at 09:14:48PM +0200, Stephan Wiesand wrote:
| On Wed, 3 Jul 2002, Jonathan Abbey wrote:
|
| > 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.
|
| What would be the maximum number of links that makes sense, in a directory
| Ganymede can handle? 1M? A date at both ends would add some 16MB to the
| memory requirements then. Wouldnt' that be acceptable?
I imagine the InvidDBField would be modified so that it would track an
optional 8 byte long for each Invid in the field. There's no reason
why we couldn't use a sparse data auxiliary structure to hold the
dates, so that 8 bytes wouldn't cost us much of anything for those
links that didn't have dates.
That's assuming you'd only want a single date per invid.
| And the linking logic has to care for the objects on both ends already.
| Would it really be such a major change?
It depends on how fancy you'd want the link expiration behavior to be.
If someone changed the expiration date on a link, would that need to
be logged, with email notification sent out? Would one need to track
permissions for modifying the dates of links separately from
permissions for adding or removing a link?
| > 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.
|
| I don't know much about the swing widgets, unfortunately. Could we
| paint that alarm clock used in the tree view aside any link with an
| expiration date set, and have the calendar widget pop up on right click?
We could do lots of things. What would make sense from a user
interface perspective?
| > 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.
|
| Alas, different expiration dates for links to the same type of
| object are just the most useful case.
?
| > 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.
|
| Admittedly, yes. But having it as seamless as for objects themselves
| would still be best and worth the sacrifice of some memory, I think.
I would agree, so long as there is a coherent and consistent design
that makes sense in the overall Ganymede framework.
--
-------------------------------------------------------------------------------
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
----------------------------------------------------------------------------
Re: [Ganymede Dev] Re: many G... questions
- From: Jonathan Abbey <jonabbey@arlut.utexas.edu>