There is my intended workflow for project creation:
- User requests a new project at http://beaversource.oregonstate.edu/request/
- New project is added to the database as 'Requested'
- Email with details and approval link is sent to code-admin list
- A code admin clicks the approval link
- Request app verifies that user visiting the link is a staff member
- Project status set to 'A'
- @next cron: Cache_and_sync.py scans the db for any approved projects that don't have both a trac instance and svn instance
- Cache_and_sync.py executes bs-admin.py with the parameters from the db for that project
- Project is created with
- Specified trac visibility
- Chosen license as LICENSE in its SVN repo
- Chosen license as wiki/License in project's trac wiki
- Main page with svn checkout instructions, project description, and link to wiki license page
- As part of its duties, cache_and_sync.py also checks for all projects that are:
- Non-public (osu-only or members-only) and produces apache miniconfigs
- Members-only and creates an authz file that makes the projects readable to only their members

