in answer to your question, I would say that from a Moodle 2.x viewpoint, the most complete way to control access to content in any part of Moodle is to give each part of Moodle a "context", and then make sure only users who are allowed to can access and operate in that context.
As you may be aware, Moodle has a hierarchy of these "contexts":
- Site -> Course category -> Course
- Section -> Activity
By enforcing access by context, we can be sure that materials are only available to people who it is supposed to be shown to.
In the good old days of Moodle 1.9 we didn't have strict enforcement of this policy. However, the software was always evolving in that direction.
Now we are here in the brave new world of Moodle 2.x, and the changes in the file storage system are something we must adapt to. If files are not updated when they are supposed to be, we should find out why and fix it.
Maybe TaskChain should allow the use of external URLs to specify the source file, in the same way that QuizPort does. I have held off introducing this functionality, because it seemed to me that Moodle 2.x does not expect modules to do that.
QuizPort / TaskChain have their own file cache. At least in the case of QuizPort I can say confidently that is *does* detect when the remote file has been updated and recreate the local cache. The PHP code that dose this has been tried and tested and could be brought into TaskChain.
There are several other programming tasks in front of that though, so I suggest you first course of action is to report the problem with file content not being updated.