Pinged message
If after one week, the submitter of a new project for approval didn't answer, the admin need to send a pinged message. The pinged message can be founded in [savannah.el|vim] as sv-pinged() under emacs and SV_pinged() under vim.
Zombie projects
When projects are removed from the tracker but not from the database, they stay there and increase the "pending projects" frontpage statistics. To find such projects, a good heuristic is:
SELECT groups.group_id, unix_group_name, groups.status, task.bug_id, task.status_id, groups.group_name FROM groups, task WHERE groups.status='P' AND task.group_id=5802 AND task.status_id=3 AND task.category_id=1 AND task.details LIKE CONCAT("%* System Name: *", groups.unix_group_name, "*%") AND (SELECT count(*) FROM task WHERE task.group_id=5802 AND task.status_id=1 AND task.category_id=1 AND task.details LIKE CONCAT("%* System Name: *", groups.unix_group_name, "*%")) = 0 GROUP BY groups.group_id ORDER BY bug_id;
DELETE groups FROM groups, task WHERE groups.status='P' AND task.group_id=5802 AND task.status_id=3 AND task.category_id=1 AND task.details LIKE CONCAT("%* System Name: *", groups.unix_group_name, "*%") AND (SELECT count(*) FROM task WHERE task.group_id=5802 AND task.status_id=1 AND task.category_id=1 AND task.details LIKE CONCAT("%* System Name: *", groups.unix_group_name, "*%")) = 0;
It only fails if the group name was changed after the submission, or if a user maliciously fakes a submission item.
A better solution would be to add a 'task_id' field in the 'groups' table, filled in at registration time.