Resource framework project/ru

Этот проект задумывался как ресурсная база FreeCAD, он является частью плана развития.

Цели и принципы
Это проект разрабатываемого ПО, с целью реализации возможностей PDM. Речь идет о реализации необходимых частей и кусочков.

Этапы развития, планируются здесь и отслеживаются в разделе Issue системы отслеживания ошибок чтобы получить хорошо сформированный список изменений: Issue tracker

Результат

 * Система контроля версий для больших конструкторских проектов
 * для работы с другими пользователями через интернет; Сотрудничество
 * Каталоги стандартных частей доступные при работающем, а также не работающем соединении с интернетом.

то как сделана у других
Вот некоторые ссылки на сопоставимые коммерческие продукты:
 * Catia V6

Варианты Использования
Предложенное Charles

Конечно будут различные типы людей использующих это ПО для по различным причинам и им могут потребоваться различные PDM решения, было бы здорово найти решение (в этой области) которое будет универсально. Я вижу следующие различные методы разработки (также должны быть и другие):


 * Индивидуальные пользователи - вероятно будет значительный процент людей работающих таким образом и они могут быть достаточно автономны в своей работе, но система контроля версий и ветвление разработки им также полезно. Множество этих людей могут работать в частях света где доступ к интернету со сбоями либо дорог, так что они будут длительное время работать offline. Было бы здорово сделать эти индивидуальные проекты легко воспроизводимыми другими людьми если это хорошо сделанная часть - так что проектирование может развиваться в нескольких направлениях сразу - масса Дарвиновской эволюции и быстрый экспорт в пространство решений :-) (Имеется в виду эволюционное развитие техники и добавление вашего решения в базу знаний вашу или человечество Прим. переводчика)


 * Небольшие команды людей, работающих вместе - возможно, из одного и того-же учебного заведения - но каждый человек в отдельности может захотеть свободы в изучения всех аспектов(сторон) проекта, а не быть жестко назначенным к определенной части проекта. Мы находим это, в основном позволяющим больше вариантов которые просто изучить и предоставляют большую гибкость.


 * Большой конструкторский проект с открытым исходным кодом - множество членов распыленных географически. Зеркала open-source проектов ПО - где, похоже, лбщая тенденция к распределеннм системам (в действительности Python Перемещен на DVCS в прошлом месяце). Я вижу проектирование и инженерная деятельность движутся в схожем направлении. Так что я думаю это одна из причин серьезно задуматься, о том как распределенная система будет работать в CAD - и если мы решим это, мы получим преимущество над другими поставщиками комерческих CAD! Я убежден, чо это решение (если мы не будем работать на ним,другие разработчики CAD будут!)


 * Болеее жесткая иерархия проекта - это могут быть некоторые проекты где команды предпочитают договоренность, но я вижу это только внутри популярных компаний.

Возможные системы контроля версий
Это лишь шажок к размышлению о системах контроля версий и способов их использования в разработке современного ПО. Существую два различных подхода к этому вопросу:
 * Строение в виде, центрального сервера (Subversion или CVS)
 * Строение в виде, распределенной системы (Mercurial, Bazaar и Git)

Хотя Варианты Использования требуют распределенных систем контроля версий, все названные имеет серьезный недостаток. Если вы клонируете репозиторий все предыдущие версии будут скопированы на ваш компьютер. Которые в случае данных CAD, могут измеряться Мб размерами. В отличие от них, системы с централизированным сервером производят только проверку изменений и поэтому передают относительно небольшой объем данных.

Лицензия
В распределенных интернет проектах необходимо чтобы каждый документ обладал ясной лицензией. Это очень важно если вы думает о каталогах. Каталог частей используемых в проекте (свободных или несвободных) и необходимо чтобы они обладали ясной лицензией что сделает их использование прозрачным(ясным). Так как существуют различные системы лицензирования, здесь указаны возможные лицензии CAD файлов:

Creative Commons
Лицензия CC очень популярна для творческих материалов, вы можете найти её описание здесь: http://creativecommons.org

ISO 16016
fraganaut01 дает на способ подключить другую систему лицензирования для CAD:


 * Авторские права поставщика (небольшие ограничения)
 * См. уведомление о защите ISO16016 (нет специальных ограничений)
 * Конфиденциально, только для внутреннего использования. Используется только обязательство по обеспечению конфиденциальности. См. уведомление о защите ISO16016
 * Конфиденциально, только для внутреннего использования. См. уведомление о защите ISO16016
 * Любое распространение только с прямого согласия составителя

Конструирование
Все контролируемые данные, каталоги, учебники и.т.д, должны обладать каким-либо представлением в FreeCAD. Все это можно свести к понятию Ресурс. Там должен быть класс разработки хранящий информацию о ресурсе и различный в разных ситуациях.

Архитектура
Этот тип услуг по определению является ограниченным не только машиной пользователя. Больше информации об Облачных Вычислениях предоставляемых различными сервисами на разных серверах. Можно выделить четыре типа серверов:
 * Дешевый сервер - LAMP
 * Полноценный сервер (например Ubuntu/Debian сервер)
 * Сервер загрузок - например sf.net
 * BitTorrent tracker

Это создает следующую картину:



Исследование
С начало необходимо проверить различные варианты систем контроля версий. Чтобы получить точные цифры от том как видут себя CAD данные.

Проектирование
Проектирование классов для для основных Ресурсов.

Дальнейшие действия

 * Создать тестовые хранилища на Сервере и на двух локальных машинах
 * Тестирование различных вариантов использования