I have almost finished a preliminary version of the LISTSERV-based User
Directory Database which I had said a long time ago I would write, and never
actually did :-) After postponing it countless times, I eventually decided to
start working on it on sunday, because it was raining and I had not much to
do.
This preliminary version will not have any command allowing the NAD to view or
alter the subscription of his users, in order to avoid mass subscription to
this database. This is due to the inherent complexity of the maintenance of a
distributed, network-wide user directory; although I am fairly sure that the
present design will work, I have as yet no proof of that. Although I have been
careful, it is always possible that loops get started and I don't want a loop
on a job with update records for 10000 users right after a mass registration
(well actually the code won't generate update jobs that large, but you get the
picture). Additionally, major changes may be required in the short term, like
adding "mandatory" fields to the database, and this could force me to delete
all existing database records and require users to re-subscribe.
After some discussions I have decided on the following development plan:
- Phase 0: alpha-test (being done now). A few more days.
- Phase 1: beta-test, on a decent scale (5-10 servers). This will last as long
as needed to (1) fix bugs not found in alpha-test and (2) make sure the
database synchronization algorithms work and there is no performance
problem. A hundred entries would be enough for that phase.
- Phase 2: implement the mass-registration commands, and make the code
generally available (according to the new policy on volunteer support to
EARN, there will be some restrictions on usage by EARN people which I will
explain later).
- Phase 3: blend the UDD functions with the other LISTSERV functions, eg
automatically tell people who subscribe to the UDD which lists they might be
interested in, notify people in the SIGNUP FILE and people subscribed to a
list that they ought to subscribe to the UDD, etc. This will most probably
require a change in the format of the SIGNUP FILE. I will also make an
EXPIRE command to let the NAD clean up UDD, lists, AFD, FUI, SIGNUP FILE et
al.
I will post a more detailed description of the planned UDD functions later,
probably tomorrow (if I do it now I will forget something). What I would like
to have at this point is input from you about what you would like to see
recorded in this UDD and how you would like to get it managed - in addition to
what has been already said before and on which I based my design (eg I know
that you want phonetic search, it's a LISTSERV database so it automatically
has it). My main problem is that I want to know exactly what will be stored in
this database, ie what kind of fields containing what kind of semantics,
before I can allow a large amount of users to subscribe. Please reply directly
to me (I've set the REPLY-TO accordingly) unless you want to start a
discussion on an "open" problem.
Thanks for your time, Eric
|