Resource framework project

This is the project plan for the FreeCAD resource framework as part of the Development roadmap.

Purpose and principles
This is a software development project aimed to implement PDM capabilities. Its about implementing bits and pieces needed.

The development steps are planed here and tracked in the Issue tracking system to get a well formed change log: Issue tracker

Outcome

 * Revision control for large design projects
 * share work with others over the Internet; Collaboration
 * On and Offline catalogs with standard parts.

what the others do
here some links on comparable commercial products:
 * Catia V6

Use Cases
Providet by Charles

Of course there will different sorts of people using this software for different reasons, and they may need different PDM solutions perhaps, but it would be good to investigate solutions that could be universal. I see the following different methods of development (there must be others too):


 * Individual users - they will probably be a significant percentage of people working this way and they may be fairly self-contained, but revision control and branching still useful. Many of these people may be working in parts of the world where internet access is flaky or expensive, so they maybe working offline for long periods. Would be nice to make these individual projects very easily replicable by other people if it is a good piece of work - so the design can be evolved in multiple directions at once - lots of Darwinian evolution and faster exporing of the solution space :-)


 * Small teams of people working together - perhaps from the same education institution - but each individual may want the freedom to explore all aspects of the project rather than rigidly assigned a particular part of the project. We find it generally allows more options to be easily explored and gives greater flexibility.


 * Wider open-source design projects - more members and geographically dispersed. The mirror of open-source software projects - where there does seem to be a general trend towards distributed systems (in fact Python Moved over to a DVCS last month http://mail.python.org/pipermail/python-dev/2009-March/087931.html). I see design and engineering going the same way for the same reasons. So I think there is all the more reason for us to think hard about how a distributed system could work in CAD - and if we solve this will have a big advantage over the commercial CAD vendors! I am convinced there is a solution (if we don't work it out, some other CAD system developer will!)


 * More rigid hierarchical project - there may be some projects where the teams prefer this arrangement but I can only see this as being popular within companies.