Файлы, внесенные в систему - это хорошо, обеъдинённые под флагом документа и версий, а также связанные между собой - это тоже хорошо. Но как-то мелковато для великих дел. Ибо великие дела требуют обсчета, а для этого надо иметь не такую аморфную штуку как файлы, а некую структуру с которой можно оперировать как с единым целым. Надо заметить что мало кто сразу создают структуры, а к ним уже присоединяет файлы... Обычный исторический путь такой
1. Создаем электронный архив, т.е. в кучу собираем файлы и разделяем их по папочкам с каким то смысловым содержанием (по проекту, по изделию, по подразделению и т.п.)
2. Это наступает сразу после первого, так как выясняется что один и тот же файл благополучно может относиться и к проекту и к изделию. Значит кроме приаттачивания явно, делается приаттачивание не файла, а ссылки.
3. Последствия от решения в пункте 2 наступают как только вводится права доступа.
Например проект уже завершен, и файл входящий в этот проект уже править нельзя, а этот же файл, входящий скажем в изделие - исправить необходимо. Вот тут то и огребается по полной... Если пытаться синхронизировать права в разных объектах, да еще и иерархически построенных. Тут можно сгинуть навсегда, в этих дебрях, что обычно со многими и происходит.
4. Как способ лечения геморроя, возникающего в пункте 3 рождается механизм позволяющий, создавать копии, но так чтобы оставалось изначальная связь.
5. И так далее и тому подобное...
Сей путь обычно проходится разработчиками идущими от проектирования, т.е. потребностей CAD систем.
Есть путь и другой - файлы рассматриваются лишь как иллюстрация к элементам структуры и не более того. Решается масса задач связанных с планированием и управлением и прочими делами, но вот работа c CAD, особенно с теми, которые работают не с одним файлом, а целой кучей, весьма далека от совершенства. Приседания и хороводы в этом нелегком пути можно и не приводить, они примерно такие же.
Мысль простая - либо удобно работать с файлами, либо со структурой. И файлы нужны и структура... Но вот вместе они как-то не живут дружно. Неприкаянные какие то... В любом случае наличие возможности работать и со списками файлов и со структурами, это намного лучше чем работать с чем то одним. В конце концов пусть кто от использует только структуры, кто то только файлы... Кому что подходит.
Одно можно сказать точно - из файлов, их имен, свойств, значений пропертей в них, и также референсов на другие файлы, структуру построить можно, а вот наоборот - нет.. Хотя иногда проще получить структуру и список файлов, и глазками и ручками перевязать их друг с другом. Если надо.. А совместная работа и с тем и другим должна быть незаметна для простого гражданина... А то гражданина может не понять всей крутости затеи и просто игнорировать чудо решение... Как его не заставляй.