Big set of changes intended to solve a couple of problems with long
term archiving of firstclass objects like users, projects, and of course templates. * Projects, Users, and Groups are now uniquely identified inside the DB by a index value that will not be reused. If necessary, this could easily be a globally unique identifier, but without federation there is no reason to do that yet. * Currently, pid, gid, and uid still need to be locally unique until all of the changes are in place (which is going to take a fairly long time since the entire system operates in terms of those, except for the few places that I had to change to get the ball rolling). * We currently archive deleted users to the deleted_users table (their user_stats are kept forever since they are indexed by the new index column). Eventually do the same with projects (not sure about groups) but since we rarely if ever delete a project, there is no rush on this one. * At the same time, I have started a large reorg of the code, to move all of the user, group, project code into modules, both in php and perl, turning them into first class "objects" (as far as that goes in php and perl). Eventually, the number of query statements scattered around the code will be manageable, or so I hope. * Another related part of this reorg is to make it easier to move the new user/project/group code in the perl backend so that it can be made available via the xmlrpc interface (without duplication of the code).
Showing with 1991 additions and 277 deletions