Resource framework project/sv


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 Product Data Management (PDM) capabilities. It's about implementing the bits and pieces needed.

The development steps are planned here and tracked in the Mantis issue tracking system to get a well formed change log: http://www.freecadweb.org/tracker/change_log.php

Outcome

Brainstorming

What the others do

Here some links on comparable commercial products:

Use Cases

Provided 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):

The Blendswap website

Blendswap - in thier own words - is "...the place to find and share blends with the entire world. You make awesome blends, share them in the biggest repository of open source 3D models made with the awesome Open Source 3D suite Blender."

Blender is a very popular open source '3D content creation suite'.

Whilst not a CAD program, there are many parallels to be drawn and lessons to be learnt from the way Blender and it's community has gone about doing things.

Blendswap is an excellent example of an online repository. It's key features that I beleive we can learn from are:

Possible revision control systems

It's only a small step to think of revision control the same way it's used in modern software development. There are basicly two different approaches to that matter:

Although the Use Cases demand a distributed revision control system, all the named has a major drawback. If you clone a repository all the previous versions will replicated to your computer. Which can, in the case of CAD data, be a very large Mb count. In contrast do the server centric systems only check out the head revision and therefore transfer relativly small amount of data.

Licensing

In a distributed internet project its needed that every document carries a clear license. Its even more importand if you think of catalogs. Catalog parts get used in projects (free and non free) and need there fore a clear license to make it usage clear. Since there different licensing systems out there, here a set of possible licenses for CAD files:

Creative Commons

The CC licenses are very popular for creative material, you can find the description here: http://creativecommons.org

ISO 16016

fraganaut01 give us a plug to another licensing system for CAD:


Design

All the revision controlled data, catalogs, tutorials and so on, have to have some kind of representation in FreeCAD. All this can be summarized under the name Resource. There have to be a class design to hold this kind of resource information and distinguish the different cases.

Architecture

This kine of service is per definition not only local to the user's machine. Its more up in the Cloud and implemented on different services on different servers. There is to distinguish four kind of servers:

Thad leads to following scenario:

ResourceFramework.png

Organizing

Research

First of all the different alternatives of revision control systems have to be tested. To get hard numbers on how they behave on CAD data.

Design

A class design for the Resource framwork.


Next actions

Online version: "http://www.freecadweb.org/wiki/index.php?title=Resource_framework_project/sv&oldid=212041"

Navigation menu