taylor@hplabs.HP.COM (Dave Taylor) (03/05/88)
One of the things that I've wanted to implement in Elm for a while is what I'll call shared mailboxes. The idea here is roughly that there are certain mailboxes that multiple people want to be able to interact with simultaneously. The current solution is simply to send the mail to 'n' users, with each person ending up with their own identical mailbox. As the messages are answered, the reply is *also* sent to the group address, which results in it being in the mailbox, and by this mechanism presumably things work out okay, at the price of a typically huge mailbox. Well, that seems kinda not a good way. Instead, I'd like to offer a solution whereby you can bring up a mailbox in Elm (probably explicitly indicating that it's a shared mailbox somehow) at the same time that other people, perhaps connected by RFA or NFS, bring up the same box. As mail arrives it is listed as `unowned', and any of the various members of the group can `take' a message, in which case it should then immediately be listed on the other users displays as being owned by that specific person. Deletion of a message is held off until all parties leave the shared mailbox (for synchronization purposes), and any mail that is responded to (during that session) is then marked as REPLIED and will automatically have Elm add an Expires: header to the message -- a week later (for example) the message will then be automatically purged from the mailbox. (replying to a message would also automatically cause the system to list the replier as the `owner' of the message) The mechanism that I'm thinking of for implementing it is to have the user start up the program explicitly indicating that the mailbox is to be shared, as in: elm -S /shared/postmaster.mail which will then look for, and create if not present, a file called ".postmaster.mail" in the home directory of the mailbox. That file will be the basis for all interprocess communication between the various instantiations of Elm -- with 'user connected', 'user replied to', 'user took', and 'user left' messages appearing there. The interface would indicate in square brackets as part of the subject display field the owner of a particular message, as in: R 4 Feb 24 Dave Taylor (40) [Karen] Why does this address fail? 5 Feb 25 Jane Doe (31) [] Problems with your alias file where the first is indicated as `owned' by user Karen and replied to, and the second as not yet owned by anyone in particular. The reason that I'd like to use file-based communication rather than a more legitimate RPC/IPC system is because there is no commonly available standard for IPC systems ... whereas there are a number of different ways to access files on a remote machine. The two biggest problems with this are: 1. It ugly. 2. It isn't sufficiently reliable a mechanism -- if I connect to '/shared' via NFS, am marked in the activity file as being a member of the group reading the mailbox, then my machine crashes, it'll never be able to ascertain that I'm not there; it will never purge the file. I'd like to request that interested members of the Elm users community at large discuss this issue further in this forum (rather than in private mail to me) and hopefully we can arrive at a good solution that will offer not just the functionality I'm discussing here, but will also support the two buzzgoals: heterogeneity and transparency along with reliability. Still trying to get 2.0 out the door, -- Dave Taylor ps: I'll be in Bristol England for two weeks, so don't expect any blinding followups from me for a bit herein. Thanks again.
les@chinet.UUCP (Leslie Mikesell) (03/08/88)
> One of the things that I've wanted to implement in Elm for a while is > what I'll call shared mailboxes. The idea here is roughly that there > are certain mailboxes that multiple people want to be able to interact > with simultaneously. > > The current solution is simply to send the mail to 'n' users, with > each person ending up with their own identical mailbox. As the > messages are answered, the reply is *also* sent to the group address, > which results in it being in the mailbox, and by this mechanism presumably > things work out okay, at the price of a typically huge mailbox. > How about the simple-minded way of making the mailboxes directories instead of files and using links instead of copies for each member of the group. Then each user can delete or keep his copies without affecting anyone else. If you need to let each copy of Elm know what other running copies happen to be looking at, you could talk about inode numbers via IPC, but assigning an arbitrary message number would be better if the shared files might ever live on more than one filesystem. I'm not all that interested in knowing about simultaneous access, though. What I would like to see is the ability to access Notesfiles or news through the Elm interface. Notes is more efficient in terms of disk usage, but news has so much more support software that it might be the best format even for strictly local discussions. Perhaps a little generalization of the concept of "next message" and a choice of replying to the public message or via private mail would be all it takes. If the news model is used, it would be nice to add a "notes-like" index that would be updated only when the files changed. I also have a need to connect MSDOS users on a Starlan network with the unix mail system. It is possible to log in through the network and do terminal emulation, but the users normally do not run unix. It is also possible to access the unix filesystem through DOS fileserver (netbios emulation), or DOS and unix commands can be combined via pipes. I would prefer not to force the DOS folks to learn yet-another-editor just to be able to reply to a mail message so I am leaning toward batch type access where the whole mailbox is moved to the DOS disk, perhaps with a commented reply header prepended. They could then use their usual editor to delete the original mail and replace it with their replies, then send the whole thing back. This sounds pretty clumsy, but so is trying to fork an editor for each reply under DOS. Has anyone done anything like this, and if so, how? -Les ...ihnp4!chinet!les