Master Index Software: Difference between revisions

From Open Source Ecology
Jump to navigation Jump to search
(Created page with "== Overview == === Goals === A new software is being created for managing the GVCS modules and versions as defined in Naming and Identification and Master Index. T...")
 
 
(2 intermediate revisions by the same user not shown)
Line 18: Line 18:


== Specifications ==
== Specifications ==
=== Definitions ===
The following definitions apply for the software design. The terms used in GVCS so far (and in a future front-end) may differ.
* Project: An assembly that is treated as an individual project (e.g. Tractor, Power Cube). GVCS: "Machine"
* Assembly: A major building block (e.g. Tractor, Frame, Grate). Consists of subassemblies or other assemblies. GVCS: "Module"
* Subassembly: A minor building block, on which (e.g. Tractor, Frame, Grate). Conceptually, the same thing as an assembly. GVCS: "(Sub)Module"
* Component??
* Part: A minor, atomic part of a (sub)assembly. Will be printed on the BOM.
* Interface: A description of how two (sub)assemblies depend on each other. An assembly may depend on an interface. Multiple subassemblies may fulfill the interface and are therefore compatible with the assembly.


=== Sprint #0, 2015-XX-YY ===
=== Sprint #0, 2015-XX-YY ===
Line 24: Line 34:
Infrastructure
Infrastructure
-------------
-------------
1. Sign-up/Login/Logout
1. Sign-up/Login/Logout --> using OpenID
2. Create Organization/Group (OSE would be an Organization).
2. Create Organization/Group (OSE would be an Organization).
3. Users can request to join organization, creator of Organization can approve.
3. Users can request to join organization, creator of Organization can approve.
Line 37: Line 47:
4. Start a Module Version.
4. Start a Module Version.
5. Add specific version Module to a specific version of Product.
5. Add specific version Module to a specific version of Product.
6. A way to export live tables/diagrams to be embedable in the OSE wiki.
6. A way to export live tables/diagrams to be embeddable in the OSE wiki.
 
View
-------------
* As a GVCS developer, I want to have an up-to-date overview about products/modules.
** Have list of modules in some list / tree structure
** Search items by anything
** Clickable tree diagrams for quick navigation
** For each item, have meta data: Wiki link, Dozuki Link --> note: this will create redundancy and cyclic dependencies of links. how to solve?
 
Export
-------------
* As a wiki editor, I want to include an up-to-date status of a machine/product, a module and the project.
** /master-index/api/status.xml?product=123 delivers an XML document with up-to-date info about this product (latest version, meta data, dependencies)
** /master-index/api/status-image.png?product=123 delivers a nice tree diagram about this product
** (same for modules)
** /master-index/api/global-status.xml delivers an XML file with info about latest activity, total products/modules/versions, ...
* (TBD) As a OSE page admin, I want to include images of ...
 
</pre>
</pre>
Note: Technically, a machine/product might also be part of another machine/product. So, the difference between the two should more of a front-end thing.
For login, use openID to create some feeling of Single-Sign-On with OSE wiki or dozuki.


== Current status ==
== Current status ==
* ...
* ...

Latest revision as of 11:00, 21 February 2015

Overview

Goals

A new software is being created for managing the GVCS modules and versions as defined in Naming and Identification and Master Index.

This software should fulfill these top level user stories:

  • As a GVCS developer, I have a central database for the latest machine/module versions.
  • As a OSE project manager/product owner, I can judge how this application can be used in combination with the existing databases (dozuki, development spreadsheets, wiki).

The long-term goal is to build a game changing 3D CAD application which is open source and allows real time collaboration.

Collaborators

For easy referral, some of the collaborators are listed here:

Specifications

Definitions

The following definitions apply for the software design. The terms used in GVCS so far (and in a future front-end) may differ.

  • Project: An assembly that is treated as an individual project (e.g. Tractor, Power Cube). GVCS: "Machine"
  • Assembly: A major building block (e.g. Tractor, Frame, Grate). Consists of subassemblies or other assemblies. GVCS: "Module"
  • Subassembly: A minor building block, on which (e.g. Tractor, Frame, Grate). Conceptually, the same thing as an assembly. GVCS: "(Sub)Module"
  • Component??
  • Part: A minor, atomic part of a (sub)assembly. Will be printed on the BOM.
  • Interface: A description of how two (sub)assemblies depend on each other. An assembly may depend on an interface. Multiple subassemblies may fulfill the interface and are therefore compatible with the assembly.

Sprint #0, 2015-XX-YY

Infrastructure
-------------
1. Sign-up/Login/Logout --> using OpenID
2. Create Organization/Group (OSE would be an Organization).
3. Users can request to join organization, creator of Organization can approve.

Basically similar workflow to GitHub.

Concepts
-------------
1. Create/Edit/Delete a Product: CEB Press
2. Start a Product Version.
3. Create/Edit/Delete a Module: Shaker
4. Start a Module Version.
5. Add specific version Module to a specific version of Product.
6. A way to export live tables/diagrams to be embeddable in the OSE wiki.

View
-------------
* As a GVCS developer, I want to have an up-to-date overview about products/modules.
** Have list of modules in some list / tree structure
** Search items by anything
** Clickable tree diagrams for quick navigation
** For each item, have meta data: Wiki link, Dozuki Link --> note: this will create redundancy and cyclic dependencies of links. how to solve?

Export
-------------
* As a wiki editor, I want to include an up-to-date status of a machine/product, a module and the project.
** /master-index/api/status.xml?product=123 delivers an XML document with up-to-date info about this product (latest version, meta data, dependencies)
** /master-index/api/status-image.png?product=123 delivers a nice tree diagram about this product
** (same for modules)
** /master-index/api/global-status.xml delivers an XML file with info about latest activity, total products/modules/versions, ...
* (TBD) As a OSE page admin, I want to include images of ...

Note: Technically, a machine/product might also be part of another machine/product. So, the difference between the two should more of a front-end thing.

For login, use openID to create some feeling of Single-Sign-On with OSE wiki or dozuki.

Current status

  • ...