Master Index Software
Contents
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
- ...