Our solution is similar to Ryan's. At project creation, we have an API
create a series of folders in the project (and program). We instruct
users to load documents to tasks as they work through, and the API will
"file" them into the appropriate folders at the higher levels so they
can be visible in any of the 3 locations (task, project, program). We
have not considered automatically "pushing" that doc to the next task, I
don't think we have enough use cases for that specific solution. James
Hill