| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Entities | Persona (user) or Purpose (system) | ||||||||||||||||||||||||
2 | Users (humans) | |||||||||||||||||||||||||
3 | Murmurations User (MU) | • Wants to find orgs and enterprises operating in the solidarity economy (or other regenerative projects) | ||||||||||||||||||||||||
4 | Node Operator (NO) | • Wants to make their project/organisation/news visible to MUs | ||||||||||||||||||||||||
5 | Aggregator (AG) | • Wants to show maps, directories and other profile data provided by NOs to MUs (generally related to a specific topic or geographic focus) | ||||||||||||||||||||||||
6 | Index Operator (IO) | • Wants to hold Node-Schema references/indices and share it with AGs | ||||||||||||||||||||||||
7 | Developer (DEV) | • Wants to build/improve software for the Murmurations Protocol and/or for AGs | ||||||||||||||||||||||||
8 | Steering Group (SG) | • Wants to have stewardship of the Murmurations Protocol • Wants to manage and share Schemas and Field definitions • Wants to disambiguate Field names when needed • Wants to maintain a Schema white list to ensure relevant content | ||||||||||||||||||||||||
9 | Systems (machines) | |||||||||||||||||||||||||
10 | Node (website) | • The holder of data to be discovered by AGs (can be NO's own website or a service that hosts Node profile data) | ||||||||||||||||||||||||
11 | Node UI (website) | • Enables NOs to provide Node profile data for one or more Schemas and submit to an Index | ||||||||||||||||||||||||
12 | Index service (server) | • Stores and provides a list of all Nodes and associated Schemas • Enables AGs to search for Nodes using specific Schemas (and by date/time of any changes made) | ||||||||||||||||||||||||
13 | Aggregator App (website or mobile app) | • Enables AGs to share aggregated Node data with the world | ||||||||||||||||||||||||
14 | Library (git repo) | • Stores and provides all Fields and Schemas • Enables discovery of Schemas/Fields by NOs and AGs • Enables AGs to upload new Schemas & suggest new Field definitions • Enables SGs to review/publish Schemas • Enables SGs to add/modify Fields | ||||||||||||||||||||||||
15 | Library service (server) | • Pulls updated Schemas and Field definitions from the Library (git repo) • Stores and provides a list of all Schemas to Node UIs to enable NOs to select relevant networks in which to add their Node profile • Stores and provides a list of all Schemas and Field definitions to Index to enable Node profile data validation | ||||||||||||||||||||||||
16 | ||||||||||||||||||||||||||
17 | Layers | What is it? | What does it / do they do? | Who interacts with it & how? | How are changes managed? | Final output | Affects | |||||||||||||||||||
18 | Protocol | A set of rules which define how data is transmitted through the Murmurations network | • Defines the rules of the data structures (i.e., how Schemas and Fields work) • Enables creation of Schemas/Fields by Aggregators • Enables indexing of Nodes by Indices • Enables discovery of Nodes by Aggregator Apps | • DEVs write software (Index, UIs) that follow the Murmurations Protocol | • Protocol changes are managed carefully by the SG | Text documents | Everyone using MP | |||||||||||||||||||
19 | ||||||||||||||||||||||||||
20 | Data Structure | Schemas are sets of specific Fields | • Defines data that aggregators want to collect for their apps | • AGs through Library UI • NOs through Node UI • Index validates all data according to Schema and Field definitions before indexing it | • Schema changes are managed by Aggregators | JSON Schema documents | Users of particular Schemas (NOs and AGs) | |||||||||||||||||||
21 | ||||||||||||||||||||||||||
22 | Fields capture the data inputs from Nodes | • Defines lexical semantics of data properties (what is a "name"? - input type (string, number, array of strings, etc.), min/max length, URL to field definition (e.g., Schema.org/name), etc.) | • NOs through Node UI • AGs & SGs through Library | • Node Operators (NOs) can change the data they enter into Fields at any time • Field definitions are reviewed by the SG | JSON data files | Users of particular Fields (NOs and AGs) | ||||||||||||||||||||
23 | ||||||||||||||||||||||||||
24 | Interfaces | Node UI - User Interface for NOs | • Provides access to the Schemas (and associated Fields) via the Wordpress 'Murmurations settings' page AND via the JSON creator form (for non WP sites) | • NOs through Node UI/JSON creator form | • Murmurations DEVs define changes, based on user needs | Code | NOs | |||||||||||||||||||
25 | ||||||||||||||||||||||||||
26 | Aggregator App - User interface for MUs | • Delivers maps, directories and other aggregators, which pull in Murmurations data | • Anyone who browses a AG's website or uses its app (MUs) • DEVs who want to build specific Aggregator Apps | • Changes defined by the Aggregator Apps' developers | Code | Users of particular Schemas (NOs and AGs) and MUs | ||||||||||||||||||||
27 | ||||||||||||||||||||||||||
28 | ||||||||||||||||||||||||||
29 | ||||||||||||||||||||||||||
30 | ||||||||||||||||||||||||||
31 | ||||||||||||||||||||||||||
32 | ||||||||||||||||||||||||||
33 | ||||||||||||||||||||||||||
34 | ||||||||||||||||||||||||||
35 | ||||||||||||||||||||||||||
36 | ||||||||||||||||||||||||||
37 | ||||||||||||||||||||||||||
38 | ||||||||||||||||||||||||||
39 | ||||||||||||||||||||||||||
40 | ||||||||||||||||||||||||||
41 | ||||||||||||||||||||||||||
42 | ||||||||||||||||||||||||||
43 | ||||||||||||||||||||||||||
44 | ||||||||||||||||||||||||||
45 | ||||||||||||||||||||||||||
46 | ||||||||||||||||||||||||||
47 | ||||||||||||||||||||||||||
48 | ||||||||||||||||||||||||||
49 | ||||||||||||||||||||||||||
50 | ||||||||||||||||||||||||||
51 | ||||||||||||||||||||||||||
52 | ||||||||||||||||||||||||||
53 | ||||||||||||||||||||||||||
54 | ||||||||||||||||||||||||||
55 | ||||||||||||||||||||||||||
56 | ||||||||||||||||||||||||||
57 | ||||||||||||||||||||||||||
58 | ||||||||||||||||||||||||||
59 | ||||||||||||||||||||||||||
60 | ||||||||||||||||||||||||||
61 | ||||||||||||||||||||||||||
62 | ||||||||||||||||||||||||||
63 | ||||||||||||||||||||||||||
64 | ||||||||||||||||||||||||||
65 | ||||||||||||||||||||||||||
66 | ||||||||||||||||||||||||||
67 | ||||||||||||||||||||||||||
68 | ||||||||||||||||||||||||||
69 | ||||||||||||||||||||||||||
70 | ||||||||||||||||||||||||||
71 | ||||||||||||||||||||||||||
72 | ||||||||||||||||||||||||||
73 | ||||||||||||||||||||||||||
74 | ||||||||||||||||||||||||||
75 | ||||||||||||||||||||||||||
76 | ||||||||||||||||||||||||||
77 | ||||||||||||||||||||||||||
78 | ||||||||||||||||||||||||||
79 | ||||||||||||||||||||||||||
80 | ||||||||||||||||||||||||||
81 | ||||||||||||||||||||||||||
82 | ||||||||||||||||||||||||||
83 | ||||||||||||||||||||||||||
84 | ||||||||||||||||||||||||||
85 | ||||||||||||||||||||||||||
86 | ||||||||||||||||||||||||||
87 | ||||||||||||||||||||||||||
88 | ||||||||||||||||||||||||||
89 | ||||||||||||||||||||||||||
90 | ||||||||||||||||||||||||||
91 | ||||||||||||||||||||||||||
92 | ||||||||||||||||||||||||||
93 | ||||||||||||||||||||||||||
94 | ||||||||||||||||||||||||||
95 | ||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||
97 | ||||||||||||||||||||||||||
98 | ||||||||||||||||||||||||||
99 | ||||||||||||||||||||||||||
100 | ||||||||||||||||||||||||||