Resource framework project/es

Esta es la planificación para la estructura de recursos de FreeCAD como parte del Mapa de desarrollo.

Propósito y principios
Este es un proyecto de desarrollo de software que pretende implementar capacidades de PDM. Trata de implementar los trozos y partes necesarias.

Los pasos del desarrollo se planifican aquí y se siguen en el sistema de gestión de incidencias para tener un historial de cambios bien definido: Gestor de inicdencias

Resultado

 * Control de revisiones para proyectos de diseño grandes
 * Compartir trabajo con otros a través de Internet; Colaboración
 * Catalogos online y offline con piezas estándard

Lo que hacen los otros
Aquí hay algunos enlaces con productos comerciales similares:
 * Catia V6

Casos de referencia
Proporcionado por Charles

Por supuesto habrá diferentes tipos de personas utilizando este programa por razones diferentes, y quizás necesiten diferentes soluciones PDM, pero sería bueno investigar soluciones que podrían ser universales. Yo veo los siguientes métodos diferentes de desarrollo (también debe haber otros):


 * Usuarios individuales - Probablemente sea un porcentaje significativo de personas que trabajen de este modo pero el control de revisiones y las versiones siguen siendo útiles. Muchas de estas personas pueden estar trabajando en partes del mundo en las que un acceso a Internet no sea sencillo de conseguir o sea caro, así que es posible que trabajen offline durante largos periodos. Podría estar bien hacer que esos proyectos individuales sean más sencillos de replicar por otras personas si se trata de un trabajo interesante - así el diseño puede evolucionar en múltiples direcciones a la vez.


 * Pequeños grupos de gente que trabaja junta - quizá de la misma institución de educación - pero cada individuo pueda querer la libertad de explorar todos los aspectos del proyecto en lugar de asignar rígidamente una parte particular del proyecto. Encontramos que generalmente permite más opciones a ser exploradas de forma sencilla y ofrece mayor flexibilidad.


 * Proyectos de diseño de código libre más amplios - más miembros y dispersos geográficamente. La imagen de los proyectos de software de código libre - donde parece existir una tendencia general hacia los sistemas distribuidos (en realidad Python se ha movido a un DVCS el mes pasado). Veo al diseño y los ingenieros ir en la misma dirección por las mismas razones. Así que creo que hay más razones para pensar sobre cómo un sistema distribuido podría funcionar en CAD - y si solucionamos esto tendremos una gran ventaja sobre las aplicaciones comerciales de CAD! Estoy convencido de que existe una solución (si nosotros no la encontramos, algún otro sistema de desarrollo de CAD lo hará!)


 * Proyectos con una jerarquía más rígida - pueden existir algunos proyectos donde los equipos prefieran esta adaptación pero sólo puedo verlo siendo popular con las empresas.

Posibles sistemas de control de revisiones
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:
 * Structured, server centric (Subversion or CVS)
 * Structured, distributed (Mercurial, Bazaar and Git)

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:


 * Copyright by Provider (no more restrictions)
 * Refer to protection notice ISO16016 (no special restriction)
 * Confidential, for internal use only. Use only with confidentiality obligation. Refer to protection notice ISO16016
 * Confidential, for internal use only. Refer to protection notice ISO16016
 * Any dissemination only with the express approval of the originator

Diseño
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.

Arquitectura
Esta clase de servicio es por definición no sólo local al equipo del usuario. Es más sobre la Nube e implementado en diferentes servicios en diferentes servidores. Se distinguen cuatro tipos de servicio:
 * Servidores baratos - LAMP
 * Servidores completos (e.g. servidores Ubuntu/Debian)
 * Servidores de descarga - e.g. sf.net
 * BitTorrent gestor de incidencias

Eso nos lleva al siguiente escenario:



Investigación
Antes de nada las diferentes alternativas de sistemas de control de revisiones tienen que probarse. Para tener números de como se comportan con datos de CAD.

Diseño
Un diseño de clase para la estructura de recursos.

Siguientes acciones

 * Construir repositorios de prueba en el servidor y dos equipos locales
 * Probar diferentes casos de uso