Система управления файлами в проектной организации?
Есть файлы чертежей деталей.
Из деталей делаются сборки.
Детали иногда дорабатываются и используются в новых сборках.
Расскажите в какой системе контроля файлов удобнее всего сделать следующее:
- при просмотре свойств файла детали видеть в каких сборках она использовалась,
- при просмотре свойств файла сборки видеть все используемые детали и их количество,
- видеть автора чертежа,
- иметь возможность загрузить последнюю версию сборки, поработать в ней и сохранить измениния.
Желательно чтобы это было решение с открытым исходным кодом.
Смотрю в сторону SVN, GIT, Mercurial, однако не понятно как они будут работать с бинарными файлами чертежей.
Для бинарных файлов лучше подходит svn. К сожалению она даст не совсем ту функциональность которую вы хотите. Системы контроля версий позволяют хранить историю изменений файлов, но не зависимости между ними. Например:
посмотреть текущее состояние детали или чертежа;
посмотреть кто, когда и зачем вносил изменения в файл;
откатиться на любой момент в истории.
Сдругой стороны, остальная часть требований реализуется с помощью любой базы данных. Например SQLite, Postgress, Mysql... Нужен только удобный интерфейс ввиде сайта или отдельной программы для удобной работы.
llenchikk: Под зависимостями я имел в виду отношения типа:
*деталь принадлежит чертежу
*чертеж содержт детали
Базы данных умеют это и многое другое. Создать базу по вашим требованиям это не сложно. Но для нее вы наверняка захотите удобный интерфейс. Формочку с поиском по детали, чертежу, редактирование списка деталей, и.т.д. Я этим не занимаюсь, поэтому не скажу сколько это стоит. Но не думаю что тут больше пары дней работы для нормального фрилансера.
svn в таком случае может быть внедрен независимо. Либо можно обойтись только базой, немного ее усложнив. Почитайте про svn куча материала. Потренироваться можно создав репозиторий на https://code.google.com/. А с tortoisesvn.net работать очень просто.
yttrium: Да, я не говорил что это невозможно сделать с помощью git или mercurial. Но практика показывает, что для работы с бинарниками удобней использовать svn. Например, можно просто взять и скачать один требуемый чертеж, а не рассказывать человеку почему на самом деле это нужно, пока качается весь репозиторий вместе с историей за несколько лет.
хранить всё в одном репозитории неверный юзкейс. И даже изначально все эти системы не были задуманы для храниения истории бинарных файлов. Мне больше нравится вторая часть вашего ответа. А вот к примеру для использования git можно поднять gitlab для каждого проекта создавать группу и назначать права. Во первых никто не залезет туда куда не нужно, во-вторых будет систематизировано, и в третьих даже если нужен будет репозиторий отдельного проекта ненужно будет качать весь архив
Покопал интернет. Мой запрос наверно больше попадает под PLM решения.
Существуют открытые аналоги OpenPLM или модуль PLM для Odoo.
Ещё нашёл Aras PLM, но там что-то не понятное с лицензией.