Menu

#26 Server should keep track of Client version by ID, not email

v1.1.4
open
nobody
TEK Server (15)
4
2003-10-25
2003-10-25
Bill Thies
No

When the Server sends mail, it formats it differently
according to the version of the client. (For example,
there is a different attachment format for Linux clients
to satisfy many Linux mail readers, and there is a
completely different structure for clients using kiosks
provided by First Mile Solutions.)

However, the Server currently infers the version of the
client program based on the *email address* to which it
is sending some results. This is because by the time the
Server is sending mail, the email address is the only
piece of information in the database associated with the
outgoing mail. It does a reverse-lookup on the email
address to find the version of the client. (FYI, this
general procedure happens around line 175 of
tek.server.protocol.daemon.OutgoingMailDaemon)

The problem is when multiple versions (or even an
upgraded version) of the client is being used by a single
email address. In this case, the server might lookup the
wrong version of the client program based on the email
address. (For now this only really happens when a
developer is testing different versions of the software,
but it might happen in the future for a user.)

The solution is straightforward -- we just need to add
the CLIENT_ID to the MAIL_Q table in the database.
Then when we are sending the mail, we know the clinet
ID number instead of just the email address; the client id
will unambiguously give the client version.

This is not hard per se; just need to update the
database tables in place (being sure to retain former
content!) and propagate around the client_id, etc., at
the right spots.

Discussion


Log in to post a comment.