Move the bulk (or guts) of newuser and newproject from the web
interface to the backend. There are new scripts that can be called from the command line: newuser xmlfile newproj xmlfile They both run from small xmlfiles that are generated by the web interface from the form data. I also moved user verification to the backend so that we do not have duplicated email functions, but that was a small change. Upon error, the xmlfile is saved and sent to tbops so that we can rerun the command by hand, rather then force user to fill out form again. I also do a better job of putting the form back up intact when there are internal errors. If the user provides an initial public key, that is put into the xml file as well and addpubkey is called from newuser instead of the web interface. A more general change to addpukey is that it is now *always* called as "nobody". This script was a morass of confusion cause of having to call it as nobody before the user actually exists. In fact, another of my ongoing projects is to reduce the number of scripts called as a particular user, but thats a story for another day. Anyway, the script is always called as nobody, but we pass along the implied user in the environment so that it can do permission checks.