.rmy File Format
The .rmy file format is a YAML file isomorphic with a database of tables in 3NF.
Example
# Rosella Project Model in Yaml => .rmy Sun Oct 11 2020 13:30:58 GMT+1100 (Australian Eastern Daylight Time)
metadata:
- key: rmy_version
value: 1
project:
- id: 464e3c2a-aaeb-4658-a838-f8605dac3416
parentId: 464e3c2a-aaeb-4658-a838-f8605dac3416
deliveryAction: Deliver House Project
deliverableName: House Project
complete: 0
expanded: 0
rel: null
nodeType: Scope
active: 1
ractiveKeypath: null
- id: 8c4e9d14-4969-4844-8621-6c8fa0228058
parentId: 464e3c2a-aaeb-4658-a838-f8605dac3416
deliveryAction: Build Primary Structure
deliverableName: Primary Structure
complete: 0
expanded: 0
rel: null
nodeType: Scope
active: 1
ractiveKeypath: null
- id: 64ea4f9d-b5b7-480c-ada4-9cb192bb512d
parentId: 8c4e9d14-4969-4844-8621-6c8fa0228058
deliveryAction: Develop Foundation
deliverableName: Foundation Development
complete: 0
expanded: 0
rel: null
nodeType: Scope
active: 1
ractiveKeypath: null
- id: ee54d2c8-c991-450b-92c6-ab308f69d0c3
parentId: 64ea4f9d-b5b7-480c-ada4-9cb192bb512d
deliveryAction: Deliver Layout-Topography
deliverableName: Layout-Topography
complete: 0
expanded: 0
rel: null
nodeType: Scope
active: 1
ractiveKeypath: null
- id: 9188fd52-dfb0-4f3e-9d2e-65743fa08e42
parentId: 64ea4f9d-b5b7-480c-ada4-9cb192bb512d
deliveryAction: Excavate
deliverableName: Excavation
complete: 0
expanded: 0
rel: null
nodeType: Scope
active: 1
ractiveKeypath: null
- id: a9e5f50b-4541-4f48-a8ca-c054bf8bb851
parentId: 64ea4f9d-b5b7-480c-ada4-9cb192bb512d
deliveryAction: Pour Concrete
deliverableName: Concrete Pour
complete: 0
expanded: 0
rel: null
nodeType: Scope
active: 1
ractiveKeypath: null
- id: a526490c-418a-4a43-beeb-dc0cedce4f4c
parentId: 8c4e9d14-4969-4844-8621-6c8fa0228058
deliveryAction: Develop Exterior Wall
deliverableName: Exterior Wall Development
complete: 0
expanded: 0
rel: null
nodeType: Scope
active: 1
ractiveKeypath: null
- id: 43d5b2fe-b260-48cc-808f-a8b7e5f1d8dd
parentId: 8c4e9d14-4969-4844-8621-6c8fa0228058
deliveryAction: Develop Roof
deliverableName: Roof Development
complete: 0
expanded: 0
rel: null
nodeType: Scope
active: 1
ractiveKeypath: null
- id: 18f56c75-41ad-4316-9862-9a8ebfb7cd12
parentId: 464e3c2a-aaeb-4658-a838-f8605dac3416
deliveryAction: Build Electrical Infrastructure
deliverableName: Electrical Infrastructure
complete: 0
expanded: 0
rel: null
nodeType: Scope
active: 1
ractiveKeypath: null
- id: 44c5902d-5396-4927-9a9e-bb9383038f51
parentId: 464e3c2a-aaeb-4658-a838-f8605dac3416
deliveryAction: Build Plumbing Infrastructure
deliverableName: Plumbing Infrastructure
complete: 0
expanded: 0
rel: null
nodeType: Scope
active: 1
ractiveKeypath: null
- id: 23462b91-a33b-4e81-b947-501a8b6f7800
parentId: 464e3c2a-aaeb-4658-a838-f8605dac3416
deliveryAction: Deliver Inside Wall Development - Rough Finish
deliverableName: Inside Wall Development - Rough Finish
complete: 0
expanded: 0
rel: null
nodeType: Scope
active: 1
ractiveKeypath: null
- id: ff8f1bb1-93bd-4069-899e-3ce30bbba7be
parentId: 9188fd52-dfb0-4f3e-9d2e-65743fa08e42
deliveryAction: null
deliverableName: null
complete: 0
expanded: 0
rel: ee54d2c8-c991-450b-92c6-ab308f69d0c3
nodeType: Dependency
active: 1
ractiveKeypath: null
- id: 509645ab-d9d2-4658-afb6-bbbbff324586
parentId: a9e5f50b-4541-4f48-a8ca-c054bf8bb851
deliveryAction: null
deliverableName: null
complete: 0
expanded: 0
rel: 9188fd52-dfb0-4f3e-9d2e-65743fa08e42
nodeType: Dependency
active: 1
ractiveKeypath: null
- id: cd008b70-6739-449f-9193-926d90ab9765
parentId: a526490c-418a-4a43-beeb-dc0cedce4f4c
deliveryAction: null
deliverableName: null
complete: 0
expanded: 0
rel: 64ea4f9d-b5b7-480c-ada4-9cb192bb512d
nodeType: Dependency
active: 1
ractiveKeypath: null
- id: 4401f6ff-56ca-4a44-84d2-38bbce5355f4
parentId: 43d5b2fe-b260-48cc-808f-a8b7e5f1d8dd
deliveryAction: null
deliverableName: null
complete: 0
expanded: 0
rel: a526490c-418a-4a43-beeb-dc0cedce4f4c
nodeType: Dependency
active: 1
ractiveKeypath: null
- id: 8bdc5d4f-d79e-4bd0-b796-924d4e03148d
parentId: 18f56c75-41ad-4316-9862-9a8ebfb7cd12
deliveryAction: null
deliverableName: null
complete: 0
expanded: 0
rel: 8c4e9d14-4969-4844-8621-6c8fa0228058
nodeType: Dependency
active: 1
ractiveKeypath: null
- id: 06b6838f-a798-45b7-b4b5-8dc8241d7463
parentId: 44c5902d-5396-4927-9a9e-bb9383038f51
deliveryAction: null
deliverableName: null
complete: 0
expanded: 0
rel: 8c4e9d14-4969-4844-8621-6c8fa0228058
nodeType: Dependency
active: 1
ractiveKeypath: null
- id: e36eb2c6-6b26-4d2d-b086-4ae3fe295011
parentId: 23462b91-a33b-4e81-b947-501a8b6f7800
deliveryAction: null
deliverableName: null
complete: 0
expanded: 0
rel: 18f56c75-41ad-4316-9862-9a8ebfb7cd12
nodeType: Dependency
active: 1
ractiveKeypath: null
- id: ffdf1d8e-a1d2-4533-9d9e-5f5070f7cea1
parentId: 23462b91-a33b-4e81-b947-501a8b6f7800
deliveryAction: null
deliverableName: null
complete: 0
expanded: 0
rel: 44c5902d-5396-4927-9a9e-bb9383038f51
nodeType: Dependency
active: 1
ractiveKeypath: null
inOHPSets:
- OHPSetId: WBS
elementId: 07a3afc2-8264-4a45-9f6d-b1b312da3634 Elements and Transclusions
Rosella Models are guaranteed to have universally unique ids (UUID) for all elements. This is enforcing a precondition of the following future possible features:
- Merge or transclude any model.
- Implement version control.
An implication of this is that any two Rosella Models which share a UUID have a shared history and represent either an earlier,or later, version of some model.
Items in lists in the .rmy element order represents a fixed point. That is, if a .rmy is loaded and then saved, the items will be in the same order. At the present there is no implemented feature to reorder nodes.
At present, WBS ids are not stored in an .rmy file and their stability when generated depends on the model being in a fixed order.
| Table Name | Column Name | Data Type | Values | Default | Required / Optional | Introduced in version |
|---|---|---|---|---|---|---|
| project_product | id | Primary Key | UUIDv4 | 1 | ||
| project_product | parentId | Foreign key into project_product | The root node is a fixed point and its parentId points to itself. | 1 | ||
| project_product | deliverableName | 1 | ||||
| project_product | deliveryAction | If not provided, the noun to verb converter is run and this column defaults to the answer. | 1 | |||
| project_product | complete | 0=incomplete 1=complete | 0 | Member of the Leaf 100% set. | 1 | |
| project_product | expanded | 0=unexpanded 1=expanded | 1 | Non members of the Leaf 100% set. | 1 | |
| project_product | rel | Foreign key into project_product | This element represents a copy of the element that is pointed to by the rel column. | nodeType = "Transclusion" | 1 | |
| project_product | nodeType | "Element": rel column is absent. "Transclusion": rel column is present. | 1 | |||
| project_product | active | 1 = Active 0 = Inactive this row is imported by ignored by all calculations and drawings. | 1 | 1 | ||
| project_product | backlogTimeboxes | List of positive integers Z+. Only the first number may be 1. | This list represents the timebox sizes available to this backlog. The first item is the number of time units in the delivery cadence; The second number is the multiplier to get from the cadence to the first timebox which is a multiple of the cadence. And so on. | [1] | Members of the Backlog 100% set. | 2 |
| project_product | backlogIcebergShape | List of positive integers Z+. | The number of each size of cadence that is in the iceberg for this backlog. This number is used as min(backlogIcebergShape,backlogTimeboxes.length) | [1] | Members of the Backlog 100% set. | 2 |
| project_product | timebox | N from Z+ | The size of the timebox for this element. A 1 means this timebox is the delivery cadence. 2 means the first multiple of the cadence, 3 means the second multiple, and so on. | 1 | Child elements of members of the "Backlog" 100% set. | 2 |
User and Community information and the .rmy file format.
Metadata
metadata: - key: rpmy_version value: 1
| Table Name | Column Name | Data Type | Values | Default | Required / Optional | Introduced in version |
|---|---|---|---|---|---|---|
| metadata | key | Primary Key | "rmy_version" is the integer version number of the .rmy file. | 1 | ||
| metadata | value | 1 |
100% Sets
inOHPSets: - OHPSetId: WBS elementId: c8e27019-d4d6-4f82-b014-d5925ea252e7The primary key of the 100% Sets list/table is OHPSetId+elementId Each elementId must be present as an element in the project data. Any 100% Sets defined purely by a graph query such as Root 100% Set and Leaf 100% Set (which do not rely on marks) – will not be affected by the presence or absence of marks for that 100% Set. In addition, the presence of a mark for a 100% Set on a node (which is not automatically defined) will trigger the generation of the 100% Set.
| Table Name | Column Name | Data Type | Values | Default | Required / Optional | Introduced in version |
|---|---|---|---|---|---|---|
| inOHPSets | OHPSetId | Primary Key | "WBS": WBS 100% Set "Backlog": Backlog 100% Set | 1 | ||
| inOHPSets | elementId | Foreign key into project_product | 1 |
Sample Projects and .rmy files
By necessity, each sample project has a fixed set of ids. At the point of instantiating a model from a Sample project the ids are replaced with UUIDs.
© 2020 David Pratten
This work is licensed under a Creative Commons Attribution 4.0 International License.
Executable versions of the model are published and licensed using the MIT License