.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