==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==

Text Elements

DataOS ^GxEJnHoT

Context ^i8y7FgkR

  • People cobble together their own data / knowledge management workflow. e.g. johan examples of people using excel, google docs, notion, airtable to create their data inventory. Problem of getting notifications for every dataset in a group.

  • this is understandable - these are complex workflows

  • think of content management and publishing. You probably draft your post outside of wordpress (e.g. in google docs)

  • Answer: rather than fight this and try have "one tool to rule them all", let's embrace this and find ways to weave together good off-the-shelf tools and components ^rYK7zyiJ

  • Patterns

  • Tools

  • APIs ^qy5V9lOU

CKAN v3 ^4cK7mGYL

Infrastructure for data ^00QmAZ2Q

"Renderer" aka "Portal" ^8HoSnLeP

Publisher interface (+ maybe Admin) ^Ii6fR1P4

Storage API ^NiTewaQs

Google Docs / Word ^7ISNvmUU

Google Docs / Word ^pk7dDqh7

Wordpress ^401UFMfv

Issue tracker ^TFy2wssg

Wordpress ^y1iidkvo

Editor ^iEzZiaTA

Editor ^PrJNIVv2

copy & paste? ^nQuMTHjV

Sign-off flow Does it have nice featured image ^4HjMJdyV

CMS Analogy ^oeUVdh4X

v1 ^uDWb6JS6

v2 ^C433DH6e

Example: Ministry of Culture ^hML2oJoQ

  1. Original source: Internal databases and spreadsheets (source of truth)
  2. Obligation to open their data … => new task force
  3. They decide what they want to open
  4. Publish excel/csv file on the OpenDataSoft portal

Summary

  • They need a list of data to decide what to open
  • They need to build a flow to repeatedly release a dataset

In ministry of culture: they have an excel file which one person maintains

The internal data catalog is an excel file … (87 lines)

  • some data that is
  • other data not yet open where they have title

Then for a given published open dataset they need to build a publishing workflow which is often manual

Problems

  • internal catalog and now data portal so have 2 sources of truth => classic pain point

Solution:

  • Have one source of truth which is the "core" data catalog (internal one)
  • separate metadata and data for now
  • Automate process of pushing metadata from that to the main portal
  • ? what about the data flow? Ans: that is a separate flow we will address later

=> need 3 things

  • storage/api layer for core catalog
  • UI layer for core catalog
  • automation for moving metadata from core catalog to portal

^QKjSJoIU

Publish UI 2 ^JJPUjpAm

Publish UI 1 ^1xZATk6B

Storage ^TiYf5k7J

Metadata Flow (all datasets) ^UfBYbTyT

Data flow (only for approved open datasets) ^5XBvFybt

Automation ^6Imhr8Zb

Data Portal ^lLSPRcyi

Raw Source ^RQDcj76R

ETL (manual or automated) ^zV5tr0Rg

Airtable or Excel covers both ^MRgPSGLv

csv in git(lab/hub) table in a database ckan! ^gqIEENFW

Risk of airtable is lock-in for your storage to this proprietary vendor (including permissions etc) Ultimately inflexible ^iUblyisc

custom UI … google spreadsheet ^CTEjrbzC

2 ministries with diff publish flow ^Q5V8LYvw

Catalog Viewer ^26Lf5Zee

Write API ^InbEbQPC

Read API ^urFXrvsb

Option 1

A. Publish UI: if possible use something close to their existing setup "don't move the cheese"

e.g. if they are using excel - can we live with that to start with?

=> a place they upload their excel and you ingest it …

B. Storage: flat file data packages in closed gitlab/github

(or whatever structure you want)

C. Automation: use gitlab/github actions …

"on every commit" -> notify the catalog viewer to rebuild (if slow, just have catalog viewer query) "update the data portal"

D. Catalog viewer: build something quickly using e.g. portal.js

Step 2:

Replace publish UI with e.g. google spreadsheets

Step 3:

Replace publish UI with custom UI with permissions and login. ^kWIBVE1Y

Decoupled model … ^CLvV3V1M

%%

Drawing

{
	"type": "excalidraw",
	"version": 2,
	"source": "https://excalidraw.com",
	"elements": [
		{
			"type": "text",
			"version": 54,
			"versionNonce": 1363737788,
			"isDeleted": false,
			"id": "GxEJnHoT",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": 508.7812499999999,
			"y": -1701.6627604166665,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 145,
			"height": 45,
			"seed": 1466645308,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318125,
			"link": null,
			"fontSize": 36,
			"fontFamily": 1,
			"text": "DataOS",
			"rawText": "DataOS",
			"baseline": 32,
			"textAlign": "left",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "DataOS"
		},
		{
			"type": "text",
			"version": 16,
			"versionNonce": 875479612,
			"isDeleted": false,
			"id": "i8y7FgkR",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -667.2460937500001,
			"y": -1610.9440104166665,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 142,
			"height": 45,
			"seed": 342238852,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318125,
			"link": null,
			"fontSize": 36,
			"fontFamily": 1,
			"text": "Context",
			"rawText": "Context",
			"baseline": 32,
			"textAlign": "left",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "Context"
		},
		{
			"type": "rectangle",
			"version": 58,
			"versionNonce": 962312252,
			"isDeleted": false,
			"id": "buqGxiDA7XTYKfyDA_RnB",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -688.4570312500001,
			"y": -1469.8893229166665,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 607,
			"height": 565.3828125,
			"seed": 1767404476,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [
				{
					"id": "rYK7zyiJ",
					"type": "text"
				}
			],
			"updated": 1649929318128,
			"link": null
		},
		{
			"type": "text",
			"version": 764,
			"versionNonce": 244528516,
			"isDeleted": false,
			"id": "rYK7zyiJ",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -683.4570312500001,
			"y": -1464.8893229166665,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 597,
			"height": 375,
			"seed": 1298576900,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318505,
			"link": null,
			"fontSize": 20,
			"fontFamily": 1,
			"text": "\n * People cobble together their own data / knowledge \nmanagement workflow. e.g. johan examples of people using \nexcel, google docs, notion, airtable to create their data \ninventory. Problem of getting notifications for every \ndataset in a group.\n\n * this is understandable - these are complex workflows\n\n * think of content management and publishing. You probably\ndraft your post outside of wordpress (e.g. in google docs)\n\n * Answer: rather than fight this and try have \"one tool to\nrule them all\", let's embrace this and find ways to weave \ntogether good off-the-shelf tools and components",
			"rawText": "\n * People cobble together their own data / knowledge \nmanagement workflow. e.g. johan examples of people using \nexcel, google docs, notion, airtable to create their data \ninventory. Problem of getting notifications for every \ndataset in a group.\n\n * this is understandable - these are complex workflows\n\n * think of content management and publishing. You probably\ndraft your post outside of wordpress (e.g. in google docs)\n\n * Answer: rather than fight this and try have \"one tool to\nrule them all\", let's embrace this and find ways to weave \ntogether good off-the-shelf tools and components",
			"baseline": 368,
			"textAlign": "left",
			"verticalAlign": "top",
			"containerId": "buqGxiDA7XTYKfyDA_RnB",
			"originalText": "\n * People cobble together their own data / knowledge \nmanagement workflow. e.g. johan examples of people using \nexcel, google docs, notion, airtable to create their data \ninventory. Problem of getting notifications for every \ndataset in a group.\n\n * this is understandable - these are complex workflows\n\n * think of content management and publishing. You probably\ndraft your post outside of wordpress (e.g. in google docs)\n\n * Answer: rather than fight this and try have \"one tool to\nrule them all\", let's embrace this and find ways to weave \ntogether good off-the-shelf tools and components"
		},
		{
			"type": "text",
			"version": 122,
			"versionNonce": 796872324,
			"isDeleted": false,
			"id": "qy5V9lOU",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": 453.8854166666664,
			"y": -1458.4192708333333,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 153,
			"height": 105,
			"seed": 705338428,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318125,
			"link": null,
			"fontSize": 28,
			"fontFamily": 1,
			"text": "* Patterns\n* Tools\n* APIs",
			"rawText": "* Patterns\n* Tools\n* APIs",
			"baseline": 95,
			"textAlign": "left",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "* Patterns\n* Tools\n* APIs"
		},
		{
			"type": "text",
			"version": 18,
			"versionNonce": 1289788348,
			"isDeleted": false,
			"id": "4cK7mGYL",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": 1135.75390625,
			"y": -1695.9440104166665,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 154,
			"height": 45,
			"seed": 1185502596,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318125,
			"link": null,
			"fontSize": 36,
			"fontFamily": 1,
			"text": "CKAN v3",
			"rawText": "CKAN v3",
			"baseline": 32,
			"textAlign": "left",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "CKAN v3"
		},
		{
			"type": "text",
			"version": 114,
			"versionNonce": 1289815100,
			"isDeleted": false,
			"id": "5iOJCWlM",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": 1134.6809895833335,
			"y": -1474.4973958333333,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 684,
			"height": 105,
			"seed": 1399043260,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318125,
			"link": null,
			"fontSize": 28,
			"fontFamily": 1,
			"text": "* portal.js\n* datapub - https://github.com/datopian/datapub\n* giftless",
			"rawText": "* portal.js\n* datapub - https://github.com/datopian/datapub\n* giftless",
			"baseline": 95,
			"textAlign": "left",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "* portal.js\n* datapub - https://github.com/datopian/datapub\n* giftless"
		},
		{
			"type": "text",
			"version": 51,
			"versionNonce": 1143917572,
			"isDeleted": false,
			"id": "00QmAZ2Q",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": 459.1640624999999,
			"y": -1620.2669270833333,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 358,
			"height": 35,
			"seed": 1298924804,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318125,
			"link": null,
			"fontSize": 28,
			"fontFamily": 1,
			"text": "Infrastructure for data ",
			"rawText": "Infrastructure for data ",
			"baseline": 25,
			"textAlign": "left",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "Infrastructure for data "
		},
		{
			"type": "rectangle",
			"version": 97,
			"versionNonce": 1703410052,
			"isDeleted": false,
			"id": "dPS_0Ko9q3802e6-ASl1M",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": 1243.8059895833335,
			"y": -1071.70703125,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 401,
			"height": 276.58203125,
			"seed": 319143228,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [
				{
					"id": "8HoSnLeP",
					"type": "text"
				}
			],
			"updated": 1649929318128,
			"link": null
		},
		{
			"type": "rectangle",
			"version": 173,
			"versionNonce": 1025107204,
			"isDeleted": false,
			"id": "AQ0NvHdKvxS2f2Glbtnu_",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": 1011.3710937500009,
			"y": -717.0781250000005,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 401,
			"height": 276.58203125,
			"seed": 1462551684,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [
				{
					"id": "Ii6fR1P4",
					"type": "text"
				}
			],
			"updated": 1649929318506,
			"link": null
		},
		{
			"type": "rectangle",
			"version": 282,
			"versionNonce": 1624647940,
			"isDeleted": false,
			"id": "lvPy08PWT9_Cg7QcDu82L",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": 1566.0260416666665,
			"y": -723.666666666667,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 401,
			"height": 276.58203125,
			"seed": 307410364,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [
				{
					"id": "NiTewaQs",
					"type": "text"
				}
			],
			"updated": 1649929318128,
			"link": null
		},
		{
			"type": "text",
			"version": 92,
			"versionNonce": 1065866428,
			"isDeleted": false,
			"id": "8HoSnLeP",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": 1248.8059895833335,
			"y": -1003.416015625,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 391,
			"height": 140,
			"seed": 2041156612,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318505,
			"link": null,
			"fontSize": 28,
			"fontFamily": 1,
			"text": "\n\"Renderer\"\naka \"Portal\"\n",
			"rawText": "\n\"Renderer\"\naka \"Portal\"\n",
			"baseline": 130,
			"textAlign": "center",
			"verticalAlign": "middle",
			"containerId": "dPS_0Ko9q3802e6-ASl1M",
			"originalText": "\n\"Renderer\"\naka \"Portal\"\n"
		},
		{
			"type": "text",
			"version": 192,
			"versionNonce": 631627068,
			"isDeleted": false,
			"id": "Ii6fR1P4",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": 1016.3710937500009,
			"y": -613.7871093750005,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 391,
			"height": 70,
			"seed": 2121047612,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318506,
			"link": null,
			"fontSize": 28,
			"fontFamily": 1,
			"text": "Publisher interface\n(+ maybe Admin)",
			"rawText": "Publisher interface\n(+ maybe Admin)",
			"baseline": 60,
			"textAlign": "center",
			"verticalAlign": "middle",
			"containerId": "AQ0NvHdKvxS2f2Glbtnu_",
			"originalText": "Publisher interface\n(+ maybe Admin)"
		},
		{
			"type": "text",
			"version": 278,
			"versionNonce": 1444848772,
			"isDeleted": false,
			"id": "NiTewaQs",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": 1571.0260416666665,
			"y": -602.875651041667,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 391,
			"height": 35,
			"seed": 1658876804,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318506,
			"link": null,
			"fontSize": 28,
			"fontFamily": 1,
			"text": "Storage API",
			"rawText": "Storage API",
			"baseline": 25,
			"textAlign": "center",
			"verticalAlign": "middle",
			"containerId": "lvPy08PWT9_Cg7QcDu82L",
			"originalText": "Storage API"
		},
		{
			"type": "ellipse",
			"version": 190,
			"versionNonce": 300986044,
			"isDeleted": false,
			"id": "YbBmw-xytXUO0GlwcYsxp",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -1885.6276041666656,
			"y": -1431.420572916667,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 203.17708333333337,
			"height": 203.17708333333337,
			"seed": 271939260,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [
				{
					"id": "7ISNvmUU",
					"type": "text"
				}
			],
			"updated": 1649929335239,
			"link": null
		},
		{
			"type": "ellipse",
			"version": 318,
			"versionNonce": 1034426300,
			"isDeleted": false,
			"id": "R9lmst_l4wCjLqfhI9g-_",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -1329.624999999999,
			"y": -1436.153645833333,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 203.17708333333337,
			"height": 203.17708333333337,
			"seed": 1359962884,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [
				{
					"id": "pk7dDqh7",
					"type": "text"
				},
				{
					"id": "ZuYTv5HWSj31rdyq1820d",
					"type": "arrow"
				},
				{
					"id": "MRdB1mUhGIQl1HftBrhvh",
					"type": "arrow"
				}
			],
			"updated": 1649929318511,
			"link": null
		},
		{
			"type": "ellipse",
			"version": 253,
			"versionNonce": 1170451204,
			"isDeleted": false,
			"id": "5UBeUllYerL2tIJfkWfBz",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -1890.9075520833321,
			"y": -1040.2747395833337,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 203.17708333333337,
			"height": 203.17708333333337,
			"seed": 340737852,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [
				{
					"id": "401UFMfv",
					"type": "text"
				}
			],
			"updated": 1649929335239,
			"link": null
		},
		{
			"type": "ellipse",
			"version": 412,
			"versionNonce": 1272625156,
			"isDeleted": false,
			"id": "zg4MeRxGQ2fbIYl6vGMRd",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -1342.144531249999,
			"y": -1043.7513020833335,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 203.17708333333337,
			"height": 203.17708333333337,
			"seed": 179593860,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [
				{
					"id": "TFy2wssg",
					"type": "text"
				},
				{
					"id": "ZuYTv5HWSj31rdyq1820d",
					"type": "arrow"
				},
				{
					"id": "MRdB1mUhGIQl1HftBrhvh",
					"type": "arrow"
				},
				{
					"id": "T1TvIgS3vacA0aKRF56DN",
					"type": "arrow"
				}
			],
			"updated": 1649929318128,
			"link": null
		},
		{
			"type": "ellipse",
			"version": 520,
			"versionNonce": 2119154236,
			"isDeleted": false,
			"id": "FYm8lzTbV1S6upPfMz01v",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -1338.0104166666656,
			"y": -675.7369791666667,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 203.17708333333337,
			"height": 203.17708333333337,
			"seed": 1931212732,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [
				{
					"id": "y1iidkvo",
					"type": "text"
				},
				{
					"id": "UcDDX77usf2e8tZGBy4vr",
					"type": "arrow"
				},
				{
					"id": "T1TvIgS3vacA0aKRF56DN",
					"type": "arrow"
				}
			],
			"updated": 1649929318128,
			"link": null
		},
		{
			"type": "text",
			"version": 181,
			"versionNonce": 1994019716,
			"isDeleted": false,
			"id": "7ISNvmUU",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -1880.6276041666656,
			"y": -1364.8320312500002,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 193.17708333333337,
			"height": 70,
			"seed": 1452110340,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318509,
			"link": null,
			"fontSize": 28.025690846286707,
			"fontFamily": 1,
			"text": "Google Docs \n/ Word",
			"rawText": "Google Docs \n/ Word",
			"baseline": 60,
			"textAlign": "center",
			"verticalAlign": "middle",
			"containerId": "YbBmw-xytXUO0GlwcYsxp",
			"originalText": "Google Docs \n/ Word"
		},
		{
			"type": "text",
			"version": 308,
			"versionNonce": 482721852,
			"isDeleted": false,
			"id": "pk7dDqh7",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -1324.624999999999,
			"y": -1369.5651041666663,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 193.17708333333337,
			"height": 70,
			"seed": 951951420,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318511,
			"link": null,
			"fontSize": 28.025690846286707,
			"fontFamily": 1,
			"text": "Google Docs \n/ Word",
			"rawText": "Google Docs \n/ Word",
			"baseline": 60,
			"textAlign": "center",
			"verticalAlign": "middle",
			"containerId": "R9lmst_l4wCjLqfhI9g-_",
			"originalText": "Google Docs \n/ Word"
		},
		{
			"type": "text",
			"version": 245,
			"versionNonce": 1682432316,
			"isDeleted": false,
			"id": "401UFMfv",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -1885.9075520833321,
			"y": -956.186197916667,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 193.17708333333337,
			"height": 35,
			"seed": 1939378564,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318512,
			"link": null,
			"fontSize": 28.025690846286707,
			"fontFamily": 1,
			"text": "Wordpress",
			"rawText": "Wordpress",
			"baseline": 25,
			"textAlign": "center",
			"verticalAlign": "middle",
			"containerId": "5UBeUllYerL2tIJfkWfBz",
			"originalText": "Wordpress"
		},
		{
			"type": "text",
			"version": 446,
			"versionNonce": 1902076732,
			"isDeleted": false,
			"id": "TFy2wssg",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -1337.144531249999,
			"y": -959.6627604166667,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 193.17708333333337,
			"height": 35,
			"seed": 487995580,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318514,
			"link": null,
			"fontSize": 28.025690846286707,
			"fontFamily": 1,
			"text": "Issue tracker",
			"rawText": "Issue tracker",
			"baseline": 25,
			"textAlign": "center",
			"verticalAlign": "middle",
			"containerId": "zg4MeRxGQ2fbIYl6vGMRd",
			"originalText": "Issue tracker"
		},
		{
			"type": "text",
			"version": 511,
			"versionNonce": 588563516,
			"isDeleted": false,
			"id": "y1iidkvo",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -1333.0104166666656,
			"y": -591.6484375,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 193.17708333333337,
			"height": 35,
			"seed": 286507268,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318515,
			"link": null,
			"fontSize": 28.025690846286707,
			"fontFamily": 1,
			"text": "Wordpress",
			"rawText": "Wordpress",
			"baseline": 25,
			"textAlign": "center",
			"verticalAlign": "middle",
			"containerId": "FYm8lzTbV1S6upPfMz01v",
			"originalText": "Wordpress"
		},
		{
			"type": "text",
			"version": 118,
			"versionNonce": 1911822596,
			"isDeleted": false,
			"id": "iEzZiaTA",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -2089.683593749999,
			"y": -1357.885416666667,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 85,
			"height": 35,
			"seed": 197640508,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318126,
			"link": null,
			"fontSize": 28,
			"fontFamily": 1,
			"text": "Editor",
			"rawText": "Editor",
			"baseline": 25,
			"textAlign": "left",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "Editor"
		},
		{
			"type": "text",
			"version": 241,
			"versionNonce": 1773726012,
			"isDeleted": false,
			"id": "PrJNIVv2",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -1534.0911458333326,
			"y": -1362.6184895833335,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 85,
			"height": 35,
			"seed": 1182597252,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318126,
			"link": null,
			"fontSize": 28,
			"fontFamily": 1,
			"text": "Editor",
			"rawText": "Editor",
			"baseline": 25,
			"textAlign": "left",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "Editor"
		},
		{
			"type": "arrow",
			"version": 335,
			"versionNonce": 712883076,
			"isDeleted": false,
			"id": "UcDDX77usf2e8tZGBy4vr",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": null,
			"y": null,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": null,
			"height": null,
			"seed": 741620156,
			"groupIds": [],
			"strokeSharpness": "round",
			"boundElements": [],
			"updated": 1649929335239,
			"link": null,
			"startBinding": null,
			"endBinding": null,
			"lastCommittedPoint": null,
			"startArrowhead": null,
			"endArrowhead": "arrow",
			"points": [
				[
					0,
					0
				],
				[
					null,
					null
				]
			]
		},
		{
			"type": "arrow",
			"version": 995,
			"versionNonce": 718975548,
			"isDeleted": false,
			"id": "ZuYTv5HWSj31rdyq1820d",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -1231.8820905711186,
			"y": -1225.0909366947817,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 3.2193002374576736,
			"height": 171.19457452919778,
			"seed": 194138116,
			"groupIds": [],
			"strokeSharpness": "round",
			"boundElements": [],
			"updated": 1649929346415,
			"link": null,
			"startBinding": {
				"elementId": "R9lmst_l4wCjLqfhI9g-_",
				"focus": 0.017587253412691607,
				"gap": 7.953150081135533
			},
			"endBinding": {
				"elementId": "zg4MeRxGQ2fbIYl6vGMRd",
				"focus": 0.03300435785695835,
				"gap": 10.278121855489005
			},
			"lastCommittedPoint": null,
			"startArrowhead": null,
			"endArrowhead": "arrow",
			"points": [
				[
					0,
					0
				],
				[
					-3.2193002374576736,
					171.19457452919778
				]
			]
		},
		{
			"type": "text",
			"version": 126,
			"versionNonce": 1111271428,
			"isDeleted": false,
			"id": "nQuMTHjV",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -2039.9505208333321,
			"y": -1152.8398437500002,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 198,
			"height": 35,
			"seed": 1769841212,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318126,
			"link": null,
			"fontSize": 28,
			"fontFamily": 1,
			"text": "copy & paste?",
			"rawText": "copy & paste?",
			"baseline": 25,
			"textAlign": "left",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "copy & paste?"
		},
		{
			"type": "text",
			"version": 577,
			"versionNonce": 189057596,
			"isDeleted": false,
			"id": "4HjMJdyV",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -1100.0677083333321,
			"y": -1002.5559895833335,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 195,
			"height": 75,
			"seed": 810659716,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318126,
			"link": null,
			"fontSize": 20,
			"fontFamily": 1,
			"text": "Sign-off flow\nDoes it have\nnice featured image",
			"rawText": "Sign-off flow\nDoes it have\nnice featured image",
			"baseline": 68,
			"textAlign": "left",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "Sign-off flow\nDoes it have\nnice featured image"
		},
		{
			"type": "arrow",
			"version": 565,
			"versionNonce": 767625916,
			"isDeleted": false,
			"id": "MRdB1mUhGIQl1HftBrhvh",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -1232.324730456462,
			"y": -1224.1089852228956,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 0.15178152989983573,
			"height": 171.53015376322764,
			"seed": 2055600828,
			"groupIds": [],
			"strokeSharpness": "round",
			"boundElements": [],
			"updated": 1649929346416,
			"link": null,
			"startBinding": {
				"elementId": "R9lmst_l4wCjLqfhI9g-_",
				"focus": 0.04125003999360515,
				"gap": 8.950788392468425
			},
			"endBinding": {
				"elementId": "zg4MeRxGQ2fbIYl6vGMRd",
				"focus": 0.07856959753908002,
				"gap": 9.122734646150903
			},
			"lastCommittedPoint": null,
			"startArrowhead": null,
			"endArrowhead": "arrow",
			"points": [
				[
					0,
					0
				],
				[
					-0.15178152989983573,
					171.53015376322764
				]
			]
		},
		{
			"type": "arrow",
			"version": 567,
			"versionNonce": 591942460,
			"isDeleted": false,
			"id": "T1TvIgS3vacA0aKRF56DN",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -1245.3390755297482,
			"y": -822.9077657617748,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 3.1799907154122593,
			"height": 138.30212688939616,
			"seed": 1425612548,
			"groupIds": [],
			"strokeSharpness": "round",
			"boundElements": [],
			"updated": 1649929346416,
			"link": null,
			"startBinding": {
				"elementId": "zg4MeRxGQ2fbIYl6vGMRd",
				"focus": 0.07405496775288628,
				"gap": 17.762334581935264
			},
			"endBinding": {
				"elementId": "FYm8lzTbV1S6upPfMz01v",
				"focus": -0.03146629069470833,
				"gap": 9.017556318353755
			},
			"lastCommittedPoint": null,
			"startArrowhead": null,
			"endArrowhead": "arrow",
			"points": [
				[
					0,
					0
				],
				[
					3.1799907154122593,
					138.30212688939616
				]
			]
		},
		{
			"type": "text",
			"version": 19,
			"versionNonce": 1376545596,
			"isDeleted": false,
			"id": "oeUVdh4X",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -1522.912760416667,
			"y": -1628.7773437500002,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 220,
			"height": 45,
			"seed": 1777287996,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318126,
			"link": null,
			"fontSize": 36,
			"fontFamily": 1,
			"text": "CMS Analogy",
			"rawText": "CMS Analogy",
			"baseline": 32,
			"textAlign": "left",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "CMS Analogy"
		},
		{
			"type": "text",
			"version": 57,
			"versionNonce": 1481876412,
			"isDeleted": false,
			"id": "uDWb6JS6",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -1804.891927083334,
			"y": -1501.6458333333337,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 30,
			"height": 45,
			"seed": 1644600964,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318126,
			"link": null,
			"fontSize": 36,
			"fontFamily": 1,
			"text": "v1",
			"rawText": "v1",
			"baseline": 32,
			"textAlign": "left",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "v1"
		},
		{
			"type": "text",
			"version": 142,
			"versionNonce": 1914686524,
			"isDeleted": false,
			"id": "C433DH6e",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -1236.8190104166679,
			"y": -1506.1966145833335,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 45,
			"height": 45,
			"seed": 505117628,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318126,
			"link": null,
			"fontSize": 36,
			"fontFamily": 1,
			"text": "v2",
			"rawText": "v2",
			"baseline": 32,
			"textAlign": "left",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "v2"
		},
		{
			"type": "text",
			"version": 99,
			"versionNonce": 1095951548,
			"isDeleted": false,
			"id": "hML2oJoQ",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -668.7135416666684,
			"y": -804.545572916667,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 390,
			"height": 35,
			"seed": 3681796,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318126,
			"link": null,
			"fontSize": 28,
			"fontFamily": 1,
			"text": "Example: Ministry of Culture",
			"rawText": "Example: Ministry of Culture",
			"baseline": 25,
			"textAlign": "left",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "Example: Ministry of Culture"
		},
		{
			"type": "text",
			"version": 1834,
			"versionNonce": 1564988676,
			"isDeleted": false,
			"id": "QKjSJoIU",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -667.8932291666684,
			"y": -723.8697916666672,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 830,
			"height": 1000,
			"seed": 1630315580,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318126,
			"link": null,
			"fontSize": 20,
			"fontFamily": 1,
			"text": "1. Original source: Internal databases and spreadsheets (source of truth)\n2. Obligation to open their data ... => new task force\n3. They decide what they want to open\n4. Publish excel/csv file on the OpenDataSoft portal\n\nSummary\n\n* They need a list of data to decide what to open\n* They need to build a flow to repeatedly release a dataset\n\nIn ministry of culture: they have an excel file which one person maintains\n\nThe internal data catalog is an excel file ... (87 lines)\n\n* some data that is \n* other data not yet open where they have title\n\nThen for a given published open dataset they\nneed to build a publishing workflow which is often manual\n\nProblems\n\n* internal catalog and now data portal so have 2 sources of truth\n=> classic pain point\n\nSolution:\n\n* Have one source of truth which is the \"core\" data catalog (internal one)\n* separate metadata and data for now\n* Automate process of pushing metadata from that to the main portal\n* ? what about the data flow? Ans: that is a separate flow we will address later\n\n=> need 3 things\n\n* storage/api layer for core catalog\n* UI layer for core catalog\n* automation for moving metadata from core catalog to portal\n\n\n",
			"rawText": "1. Original source: Internal databases and spreadsheets (source of truth)\n2. Obligation to open their data ... => new task force\n3. They decide what they want to open\n4. Publish excel/csv file on the OpenDataSoft portal\n\nSummary\n\n* They need a list of data to decide what to open\n* They need to build a flow to repeatedly release a dataset\n\nIn ministry of culture: they have an excel file which one person maintains\n\nThe internal data catalog is an excel file ... (87 lines)\n\n* some data that is \n* other data not yet open where they have title\n\nThen for a given published open dataset they\nneed to build a publishing workflow which is often manual\n\nProblems\n\n* internal catalog and now data portal so have 2 sources of truth\n=> classic pain point\n\nSolution:\n\n* Have one source of truth which is the \"core\" data catalog (internal one)\n* separate metadata and data for now\n* Automate process of pushing metadata from that to the main portal\n* ? what about the data flow? Ans: that is a separate flow we will address later\n\n=> need 3 things\n\n* storage/api layer for core catalog\n* UI layer for core catalog\n* automation for moving metadata from core catalog to portal\n\n\n",
			"baseline": 993,
			"textAlign": "left",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "1. Original source: Internal databases and spreadsheets (source of truth)\n2. Obligation to open their data ... => new task force\n3. They decide what they want to open\n4. Publish excel/csv file on the OpenDataSoft portal\n\nSummary\n\n* They need a list of data to decide what to open\n* They need to build a flow to repeatedly release a dataset\n\nIn ministry of culture: they have an excel file which one person maintains\n\nThe internal data catalog is an excel file ... (87 lines)\n\n* some data that is \n* other data not yet open where they have title\n\nThen for a given published open dataset they\nneed to build a publishing workflow which is often manual\n\nProblems\n\n* internal catalog and now data portal so have 2 sources of truth\n=> classic pain point\n\nSolution:\n\n* Have one source of truth which is the \"core\" data catalog (internal one)\n* separate metadata and data for now\n* Automate process of pushing metadata from that to the main portal\n* ? what about the data flow? Ans: that is a separate flow we will address later\n\n=> need 3 things\n\n* storage/api layer for core catalog\n* UI layer for core catalog\n* automation for moving metadata from core catalog to portal\n\n\n"
		},
		{
			"type": "ellipse",
			"version": 372,
			"versionNonce": 458037124,
			"isDeleted": false,
			"id": "Rs4fJOkayTaHc1XGOMN3j",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -712.5677083333354,
			"y": 1232.0950520833326,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 239,
			"height": 238.56770833333337,
			"seed": 277597572,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [
				{
					"id": "RQDcj76R",
					"type": "text"
				},
				{
					"id": "f1ID-Hs3i1v9uwN64PJLs",
					"type": "arrow"
				}
			],
			"updated": 1649929318128,
			"link": null
		},
		{
			"type": "ellipse",
			"version": 410,
			"versionNonce": 1565856444,
			"isDeleted": false,
			"id": "gLeBlaup1A7syKtusezhE",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -264.5208333333354,
			"y": 1230.5976562499995,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 239,
			"height": 238.56770833333337,
			"seed": 1761918140,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [
				{
					"id": "zV5tr0Rg",
					"type": "text"
				},
				{
					"id": "f1ID-Hs3i1v9uwN64PJLs",
					"type": "arrow"
				},
				{
					"id": "DRNWp13eCHaYNCr7Fe8fc",
					"type": "arrow"
				}
			],
			"updated": 1649929318128,
			"link": null
		},
		{
			"type": "ellipse",
			"version": 306,
			"versionNonce": 474449668,
			"isDeleted": false,
			"id": "Jd1Awk1Do0Vn52OIVIlZj",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -718.0885416666687,
			"y": 657.1861979166674,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 239,
			"height": 238.56770833333337,
			"seed": 608140548,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [
				{
					"id": "JJPUjpAm",
					"type": "text"
				},
				{
					"id": "AAZLYObnTl7EOkAIfQsj7",
					"type": "arrow"
				}
			],
			"updated": 1649929318128,
			"link": null
		},
		{
			"type": "ellipse",
			"version": 391,
			"versionNonce": 765377156,
			"isDeleted": false,
			"id": "LbNI4j7qvXjRaMcRWCpKN",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -717.6197916666687,
			"y": 388.8007812500007,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 239,
			"height": 238.56770833333337,
			"seed": 1598407996,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [
				{
					"id": "1xZATk6B",
					"type": "text"
				},
				{
					"id": "AAZLYObnTl7EOkAIfQsj7",
					"type": "arrow"
				},
				{
					"id": "qljWWhZUiK1882XP8jQfJ",
					"type": "arrow"
				}
			],
			"updated": 1649929318517,
			"link": null
		},
		{
			"type": "ellipse",
			"version": 365,
			"versionNonce": 55051908,
			"isDeleted": false,
			"id": "mk-XZWCFAV1Tp38vZtlvF",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -296.3177083333354,
			"y": 665.7604166666674,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 239,
			"height": 238.56770833333337,
			"seed": 1959869572,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [
				{
					"id": "TiYf5k7J",
					"type": "text"
				},
				{
					"id": "AAZLYObnTl7EOkAIfQsj7",
					"type": "arrow"
				},
				{
					"id": "4lTTnxXYj0-xT_2YiOqgQ",
					"type": "arrow"
				},
				{
					"id": "qljWWhZUiK1882XP8jQfJ",
					"type": "arrow"
				},
				{
					"id": "impQHQUELbAs2qZnFdA_b",
					"type": "arrow"
				}
			],
			"updated": 1649929318128,
			"link": null
		},
		{
			"type": "ellipse",
			"version": 628,
			"versionNonce": 973378492,
			"isDeleted": false,
			"id": "8t7jpT4suxsOe3R3EyN8j",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": 172.4778645833311,
			"y": 664.7122395833335,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 239,
			"height": 238.56770833333337,
			"seed": 1766964668,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [
				{
					"id": "4lTTnxXYj0-xT_2YiOqgQ",
					"type": "arrow"
				},
				{
					"id": "lLSPRcyi",
					"type": "text"
				},
				{
					"id": "DRNWp13eCHaYNCr7Fe8fc",
					"type": "arrow"
				}
			],
			"updated": 1649929318128,
			"link": null
		},
		{
			"type": "ellipse",
			"version": 758,
			"versionNonce": 1158452740,
			"isDeleted": false,
			"id": "KheKFx6S8i4vR9mX58Zh5",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -171.4023437500024,
			"y": 251.33333333333445,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 239,
			"height": 238.56770833333337,
			"seed": 1543441412,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [
				{
					"id": "4lTTnxXYj0-xT_2YiOqgQ",
					"type": "arrow"
				},
				{
					"id": "DRNWp13eCHaYNCr7Fe8fc",
					"type": "arrow"
				},
				{
					"id": "26Lf5Zee",
					"type": "text"
				},
				{
					"id": "impQHQUELbAs2qZnFdA_b",
					"type": "arrow"
				}
			],
			"updated": 1649929318128,
			"link": null
		},
		{
			"type": "rectangle",
			"version": 371,
			"versionNonce": 1345502268,
			"isDeleted": false,
			"id": "7he82C1JoyGM5oiJg-vgJ",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -45.73177083333451,
			"y": 545.9427083333335,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 198,
			"height": 124,
			"seed": 810198588,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [
				{
					"id": "6Imhr8Zb",
					"type": "text"
				},
				{
					"id": "_ts-zK3e_qNJmo-KsA0kh",
					"type": "arrow"
				}
			],
			"updated": 1649929318128,
			"link": null
		},
		{
			"type": "text",
			"version": 118,
			"versionNonce": 1441177276,
			"isDeleted": false,
			"id": "JJPUjpAm",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -713.0885416666687,
			"y": 758.9700520833342,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 229,
			"height": 35,
			"seed": 1271327620,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318517,
			"link": null,
			"fontSize": 28,
			"fontFamily": 1,
			"text": "Publish UI 2",
			"rawText": "Publish UI 2",
			"baseline": 25,
			"textAlign": "center",
			"verticalAlign": "middle",
			"containerId": "Jd1Awk1Do0Vn52OIVIlZj",
			"originalText": "Publish UI 2"
		},
		{
			"type": "text",
			"version": 199,
			"versionNonce": 212017084,
			"isDeleted": false,
			"id": "1xZATk6B",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -712.6197916666687,
			"y": 490.58463541666737,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 229,
			"height": 35,
			"seed": 1762819772,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318518,
			"link": null,
			"fontSize": 28,
			"fontFamily": 1,
			"text": "Publish UI 1",
			"rawText": "Publish UI 1",
			"baseline": 25,
			"textAlign": "center",
			"verticalAlign": "middle",
			"containerId": "LbNI4j7qvXjRaMcRWCpKN",
			"originalText": "Publish UI 1"
		},
		{
			"type": "text",
			"version": 45,
			"versionNonce": 1493542916,
			"isDeleted": false,
			"id": "TiYf5k7J",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -291.3177083333354,
			"y": 767.5442708333342,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 229,
			"height": 35,
			"seed": 1181145860,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318519,
			"link": null,
			"fontSize": 28,
			"fontFamily": 1,
			"text": "Storage",
			"rawText": "Storage",
			"baseline": 25,
			"textAlign": "center",
			"verticalAlign": "middle",
			"containerId": "mk-XZWCFAV1Tp38vZtlvF",
			"originalText": "Storage"
		},
		{
			"type": "text",
			"version": 66,
			"versionNonce": 124433340,
			"isDeleted": false,
			"id": "UfBYbTyT",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -1072.3515625000018,
			"y": 728.4622395833326,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 210,
			"height": 70,
			"seed": 1548437308,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318126,
			"link": null,
			"fontSize": 28,
			"fontFamily": 1,
			"text": "Metadata Flow\n(all datasets)",
			"rawText": "Metadata Flow\n(all datasets)",
			"baseline": 60,
			"textAlign": "center",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "Metadata Flow\n(all datasets)"
		},
		{
			"type": "text",
			"version": 174,
			"versionNonce": 9991684,
			"isDeleted": false,
			"id": "5XBvFybt",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -1106.5455729166688,
			"y": 1294.0937499999995,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 250,
			"height": 105,
			"seed": 1448925828,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318126,
			"link": null,
			"fontSize": 28,
			"fontFamily": 1,
			"text": "Data flow\n(only for approved\nopen datasets)",
			"rawText": "Data flow\n(only for approved\nopen datasets)",
			"baseline": 95,
			"textAlign": "center",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "Data flow\n(only for approved\nopen datasets)"
		},
		{
			"type": "text",
			"version": 212,
			"versionNonce": 1827064892,
			"isDeleted": false,
			"id": "6Imhr8Zb",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -40.73177083333451,
			"y": 590.4427083333335,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 188,
			"height": 35,
			"seed": 1851195324,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318521,
			"link": null,
			"fontSize": 28,
			"fontFamily": 1,
			"text": "Automation",
			"rawText": "Automation",
			"baseline": 25,
			"textAlign": "center",
			"verticalAlign": "middle",
			"containerId": "7he82C1JoyGM5oiJg-vgJ",
			"originalText": "Automation"
		},
		{
			"type": "arrow",
			"version": 337,
			"versionNonce": 1775406012,
			"isDeleted": false,
			"id": "AAZLYObnTl7EOkAIfQsj7",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -469.5906089250654,
			"y": 775.3186133516895,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 163.1895996621684,
			"height": 0.13376163966984222,
			"seed": 107407876,
			"groupIds": [],
			"strokeSharpness": "round",
			"boundElements": [],
			"updated": 1649929346416,
			"link": null,
			"startBinding": {
				"elementId": "Jd1Awk1Do0Vn52OIVIlZj",
				"focus": -0.010539348081268177,
				"gap": 9.503088786547735
			},
			"endBinding": {
				"elementId": "mk-XZWCFAV1Tp38vZtlvF",
				"focus": 0.0795218862569686,
				"gap": 10.438997905879972
			},
			"lastCommittedPoint": null,
			"startArrowhead": null,
			"endArrowhead": "arrow",
			"points": [
				[
					0,
					0
				],
				[
					163.1895996621684,
					0.13376163966984222
				]
			]
		},
		{
			"type": "arrow",
			"version": 382,
			"versionNonce": 1132573756,
			"isDeleted": false,
			"id": "4lTTnxXYj0-xT_2YiOqgQ",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -46.70182299804884,
			"y": 778.5273437499993,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 209.32962075694596,
			"height": 0,
			"seed": 660056124,
			"groupIds": [],
			"strokeSharpness": "round",
			"boundElements": [],
			"updated": 1649929346416,
			"link": null,
			"startBinding": {
				"elementId": "mk-XZWCFAV1Tp38vZtlvF",
				"focus": -0.054633773605514295,
				"gap": 10.779527250311588
			},
			"endBinding": {
				"elementId": "8t7jpT4suxsOe3R3EyN8j",
				"focus": 0.04584652330532363,
				"gap": 9.966007581171056
			},
			"lastCommittedPoint": null,
			"startArrowhead": null,
			"endArrowhead": "arrow",
			"points": [
				[
					0,
					0
				],
				[
					209.32962075694596,
					0
				]
			]
		},
		{
			"type": "text",
			"version": 129,
			"versionNonce": 796292868,
			"isDeleted": false,
			"id": "lLSPRcyi",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": 177.4778645833311,
			"y": 669.7122395833335,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 229,
			"height": 35,
			"seed": 1501759876,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318520,
			"link": null,
			"fontSize": 28,
			"fontFamily": 1,
			"text": "Data Portal",
			"rawText": "Data Portal",
			"baseline": 25,
			"textAlign": "center",
			"verticalAlign": "top",
			"containerId": "8t7jpT4suxsOe3R3EyN8j",
			"originalText": "Data Portal"
		},
		{
			"type": "arrow",
			"version": 206,
			"versionNonce": 1976548740,
			"isDeleted": false,
			"id": "_ts-zK3e_qNJmo-KsA0kh",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "dashed",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": 53.67388025137495,
			"y": 693.6770833333335,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 0.2102343319565989,
			"height": 68.07942708333303,
			"seed": 992952508,
			"groupIds": [],
			"strokeSharpness": "round",
			"boundElements": [],
			"updated": 1649929346416,
			"link": null,
			"startBinding": {
				"elementId": "7he82C1JoyGM5oiJg-vgJ",
				"focus": -0.0014204545454465944,
				"gap": 23.734375
			},
			"endBinding": null,
			"lastCommittedPoint": null,
			"startArrowhead": null,
			"endArrowhead": "arrow",
			"points": [
				[
					0,
					0
				],
				[
					0.2102343319565989,
					68.07942708333303
				]
			]
		},
		{
			"type": "text",
			"version": 265,
			"versionNonce": 204299524,
			"isDeleted": false,
			"id": "RQDcj76R",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "dashed",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -707.5677083333354,
			"y": 1333.8789062499993,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 229,
			"height": 35,
			"seed": 1122973956,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318515,
			"link": null,
			"fontSize": 28,
			"fontFamily": 1,
			"text": "Raw Source",
			"rawText": "Raw Source",
			"baseline": 25,
			"textAlign": "center",
			"verticalAlign": "middle",
			"containerId": "Rs4fJOkayTaHc1XGOMN3j",
			"originalText": "Raw Source"
		},
		{
			"type": "text",
			"version": 328,
			"versionNonce": 1240787972,
			"isDeleted": false,
			"id": "zV5tr0Rg",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "dashed",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -259.5208333333354,
			"y": 1297.3815104166663,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 229,
			"height": 105,
			"seed": 293587260,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318516,
			"link": null,
			"fontSize": 28,
			"fontFamily": 1,
			"text": "ETL\n(manual or \nautomated)",
			"rawText": "ETL\n(manual or \nautomated)",
			"baseline": 95,
			"textAlign": "center",
			"verticalAlign": "middle",
			"containerId": "gLeBlaup1A7syKtusezhE",
			"originalText": "ETL\n(manual or \nautomated)"
		},
		{
			"type": "arrow",
			"version": 864,
			"versionNonce": 461729028,
			"isDeleted": false,
			"id": "f1ID-Hs3i1v9uwN64PJLs",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -458.46606269393624,
			"y": 1343.4773413685712,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 183.6507987021156,
			"height": 0.5900150317165753,
			"seed": 506034308,
			"groupIds": [],
			"strokeSharpness": "round",
			"boundElements": [],
			"updated": 1649929346416,
			"link": null,
			"startBinding": {
				"elementId": "Rs4fJOkayTaHc1XGOMN3j",
				"focus": -0.06986659311618286,
				"gap": 15.334114266777377
			},
			"endBinding": {
				"elementId": "gLeBlaup1A7syKtusezhE",
				"focus": 0.04524615216680252,
				"gap": 10.425022090729001
			},
			"lastCommittedPoint": null,
			"startArrowhead": null,
			"endArrowhead": "arrow",
			"points": [
				[
					0,
					0
				],
				[
					183.6507987021156,
					0.5900150317165753
				]
			]
		},
		{
			"type": "text",
			"version": 544,
			"versionNonce": 2000682300,
			"isDeleted": false,
			"id": "MRgPSGLv",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -501.62630208333496,
			"y": 1028.9231770833335,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 293,
			"height": 25,
			"seed": 1303069116,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318127,
			"link": null,
			"fontSize": 20,
			"fontFamily": 1,
			"text": "Airtable or Excel covers both",
			"rawText": "Airtable or Excel covers both",
			"baseline": 18,
			"textAlign": "center",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "Airtable or Excel covers both"
		},
		{
			"type": "text",
			"version": 154,
			"versionNonce": 418476220,
			"isDeleted": false,
			"id": "gqIEENFW",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -274.06119791666845,
			"y": 937.2304687499995,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 203,
			"height": 75,
			"seed": 653248516,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318127,
			"link": null,
			"fontSize": 20,
			"fontFamily": 1,
			"text": "csv in git(lab/hub)\ntable in a database\nckan!",
			"rawText": "csv in git(lab/hub)\ntable in a database\nckan!",
			"baseline": 68,
			"textAlign": "center",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "csv in git(lab/hub)\ntable in a database\nckan!"
		},
		{
			"type": "arrow",
			"version": 402,
			"versionNonce": 1842949252,
			"isDeleted": false,
			"id": "DRNWp13eCHaYNCr7Fe8fc",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -12.906878652506236,
			"y": 1327.1244014594565,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 284.49932678282255,
			"height": 410.03586026307175,
			"seed": 1456712252,
			"groupIds": [],
			"strokeSharpness": "round",
			"boundElements": [],
			"updated": 1649929346416,
			"link": null,
			"startBinding": {
				"elementId": "gLeBlaup1A7syKtusezhE",
				"focus": 0.6814232657869439,
				"gap": 14.565867488023812
			},
			"endBinding": {
				"elementId": "8t7jpT4suxsOe3R3EyN8j",
				"focus": -0.305451140001593,
				"gap": 15.355789235393132
			},
			"lastCommittedPoint": null,
			"startArrowhead": null,
			"endArrowhead": "arrow",
			"points": [
				[
					0,
					0
				],
				[
					192.42250365250453,
					-207.36007854279046
				],
				[
					284.49932678282255,
					-410.03586026307175
				]
			]
		},
		{
			"type": "text",
			"version": 228,
			"versionNonce": 637228036,
			"isDeleted": false,
			"id": "iUblyisc",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -711.1640625000019,
			"y": 1072.1901041666665,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 692,
			"height": 75,
			"seed": 1900029828,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318127,
			"link": null,
			"fontSize": 20,
			"fontFamily": 1,
			"text": "Risk of airtable is lock-in for your storage to this proprietary vendor\n(including permissions etc)\nUltimately inflexible",
			"rawText": "Risk of airtable is lock-in for your storage to this proprietary vendor\n(including permissions etc)\nUltimately inflexible",
			"baseline": 68,
			"textAlign": "center",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "Risk of airtable is lock-in for your storage to this proprietary vendor\n(including permissions etc)\nUltimately inflexible"
		},
		{
			"type": "text",
			"version": 94,
			"versionNonce": 1226235452,
			"isDeleted": false,
			"id": "CTEjrbzC",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -696.3645833333352,
			"y": 937.5286458333335,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 188,
			"height": 50,
			"seed": 1608188604,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318127,
			"link": null,
			"fontSize": 20,
			"fontFamily": 1,
			"text": "custom UI ...\ngoogle spreadsheet",
			"rawText": "custom UI ...\ngoogle spreadsheet",
			"baseline": 43,
			"textAlign": "center",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "custom UI ...\ngoogle spreadsheet"
		},
		{
			"type": "arrow",
			"version": 151,
			"versionNonce": 1317600260,
			"isDeleted": false,
			"id": "qljWWhZUiK1882XP8jQfJ",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -464.08463715945095,
			"y": 547.4791652153342,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 185.54036960261107,
			"height": 154.51172292988383,
			"seed": 1633195780,
			"groupIds": [],
			"strokeSharpness": "round",
			"boundElements": [],
			"updated": 1649929346417,
			"link": null,
			"startBinding": {
				"elementId": "LbNI4j7qvXjRaMcRWCpKN",
				"focus": -0.4649362969437173,
				"gap": 20.22173700272272
			},
			"endBinding": {
				"elementId": "mk-XZWCFAV1Tp38vZtlvF",
				"focus": -0.010692628974880537,
				"gap": 11.91120005711177
			},
			"lastCommittedPoint": null,
			"startArrowhead": null,
			"endArrowhead": "arrow",
			"points": [
				[
					0,
					0
				],
				[
					185.54036960261107,
					154.51172292988383
				]
			]
		},
		{
			"type": "text",
			"version": 198,
			"versionNonce": 1434578748,
			"isDeleted": false,
			"id": "Q5V8LYvw",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -548.473958333334,
			"y": 616.9036458333317,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 204,
			"height": 50,
			"seed": 1868778300,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318127,
			"link": null,
			"fontSize": 20,
			"fontFamily": 1,
			"text": "2 ministries\nwith diff publish flow",
			"rawText": "2 ministries\nwith diff publish flow",
			"baseline": 43,
			"textAlign": "center",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "2 ministries\nwith diff publish flow"
		},
		{
			"type": "text",
			"version": 131,
			"versionNonce": 1610261436,
			"isDeleted": false,
			"id": "26Lf5Zee",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -166.4023437500024,
			"y": 353.11718750000114,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 229,
			"height": 35,
			"seed": 599201412,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318520,
			"link": null,
			"fontSize": 28,
			"fontFamily": 1,
			"text": "Catalog Viewer",
			"rawText": "Catalog Viewer",
			"baseline": 25,
			"textAlign": "center",
			"verticalAlign": "middle",
			"containerId": "KheKFx6S8i4vR9mX58Zh5",
			"originalText": "Catalog Viewer"
		},
		{
			"type": "arrow",
			"version": 304,
			"versionNonce": 932371332,
			"isDeleted": false,
			"id": "impQHQUELbAs2qZnFdA_b",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -150.33053744925888,
			"y": 651.603506924537,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 56.214189892506226,
			"height": 145.08025891998534,
			"seed": 1741587388,
			"groupIds": [],
			"strokeSharpness": "round",
			"boundElements": [],
			"updated": 1649929346417,
			"link": null,
			"startBinding": {
				"elementId": "urFXrvsb",
				"focus": 1.0044372761816918,
				"gap": 3.2905563007421392
			},
			"endBinding": {
				"elementId": "KheKFx6S8i4vR9mX58Zh5",
				"focus": -0.08152452753819309,
				"gap": 23.00837017763112
			},
			"lastCommittedPoint": null,
			"startArrowhead": null,
			"endArrowhead": "arrow",
			"points": [
				[
					0,
					0
				],
				[
					56.214189892506226,
					-145.08025891998534
				]
			]
		},
		{
			"type": "text",
			"version": 48,
			"versionNonce": 272308540,
			"isDeleted": false,
			"id": "InbEbQPC",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -354.000000000001,
			"y": 704.1835937499995,
			"strokeColor": "#c92a2a",
			"backgroundColor": "transparent",
			"width": 50,
			"height": 50,
			"seed": 622437892,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318127,
			"link": null,
			"fontSize": 20,
			"fontFamily": 1,
			"text": "Write\nAPI",
			"rawText": "Write\nAPI",
			"baseline": 43,
			"textAlign": "center",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "Write\nAPI"
		},
		{
			"type": "text",
			"version": 52,
			"versionNonce": 1504752572,
			"isDeleted": false,
			"id": "urFXrvsb",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": -202.62109375000102,
			"y": 609.7044270833326,
			"strokeColor": "#c92a2a",
			"backgroundColor": "transparent",
			"width": 49,
			"height": 50,
			"seed": 255765564,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [
				{
					"id": "impQHQUELbAs2qZnFdA_b",
					"type": "arrow"
				}
			],
			"updated": 1649929335251,
			"link": null,
			"fontSize": 20,
			"fontFamily": 1,
			"text": "Read\nAPI",
			"rawText": "Read\nAPI",
			"baseline": 43,
			"textAlign": "center",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "Read\nAPI"
		},
		{
			"type": "text",
			"version": 878,
			"versionNonce": 763411972,
			"isDeleted": false,
			"id": "kWIBVE1Y",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": 693.6835937499987,
			"y": 315.1093749999987,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 1357,
			"height": 1120,
			"seed": 176047492,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318127,
			"link": null,
			"fontSize": 28,
			"fontFamily": 1,
			"text": "Option 1\n\nA. Publish UI: if possible use something close to their existing setup\n\"don't move the cheese\"\n\ne.g. if they are using excel - can we live with that to start with?\n\n=> a place they upload their excel and you ingest it ...\n\n\nB. Storage: flat file data packages in *closed* gitlab/github\n\n(or whatever structure you want)\n\n\nC. Automation: use gitlab/github actions ...\n\n\"on every commit\" -> notify the catalog viewer to rebuild (if slow, just have catalog viewer query)\n\"update the data portal\"\n\n\nD. Catalog viewer: build something quickly using e.g. portal.js\n\n\nStep 2:\n\nReplace publish UI with e.g. google spreadsheets\n\n\nStep 3:\n\nReplace publish UI with custom UI with permissions and login.",
			"rawText": "Option 1\n\nA. Publish UI: if possible use something close to their existing setup\n\"don't move the cheese\"\n\ne.g. if they are using excel - can we live with that to start with?\n\n=> a place they upload their excel and you ingest it ...\n\n\nB. Storage: flat file data packages in *closed* gitlab/github\n\n(or whatever structure you want)\n\n\nC. Automation: use gitlab/github actions ...\n\n\"on every commit\" -> notify the catalog viewer to rebuild (if slow, just have catalog viewer query)\n\"update the data portal\"\n\n\nD. Catalog viewer: build something quickly using e.g. portal.js\n\n\nStep 2:\n\nReplace publish UI with e.g. google spreadsheets\n\n\nStep 3:\n\nReplace publish UI with custom UI with permissions and login.",
			"baseline": 1110,
			"textAlign": "left",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "Option 1\n\nA. Publish UI: if possible use something close to their existing setup\n\"don't move the cheese\"\n\ne.g. if they are using excel - can we live with that to start with?\n\n=> a place they upload their excel and you ingest it ...\n\n\nB. Storage: flat file data packages in *closed* gitlab/github\n\n(or whatever structure you want)\n\n\nC. Automation: use gitlab/github actions ...\n\n\"on every commit\" -> notify the catalog viewer to rebuild (if slow, just have catalog viewer query)\n\"update the data portal\"\n\n\nD. Catalog viewer: build something quickly using e.g. portal.js\n\n\nStep 2:\n\nReplace publish UI with e.g. google spreadsheets\n\n\nStep 3:\n\nReplace publish UI with custom UI with permissions and login."
		},
		{
			"type": "text",
			"version": 29,
			"versionNonce": 1446186044,
			"isDeleted": false,
			"id": "CLvV3V1M",
			"fillStyle": "hachure",
			"strokeWidth": 1,
			"strokeStyle": "solid",
			"roughness": 1,
			"opacity": 100,
			"angle": 0,
			"x": 1227.0872395833317,
			"y": -1183.7773437500036,
			"strokeColor": "#000000",
			"backgroundColor": "transparent",
			"width": 259,
			"height": 35,
			"seed": 395691196,
			"groupIds": [],
			"strokeSharpness": "sharp",
			"boundElements": [],
			"updated": 1649929318127,
			"link": null,
			"fontSize": 28,
			"fontFamily": 1,
			"text": "Decoupled model ...",
			"rawText": "Decoupled model ...",
			"baseline": 25,
			"textAlign": "left",
			"verticalAlign": "top",
			"containerId": null,
			"originalText": "Decoupled model ..."
		}
	],
	"appState": {
		"theme": "light",
		"viewBackgroundColor": "#ffffff",
		"currentItemStrokeColor": "#000000",
		"currentItemBackgroundColor": "transparent",
		"currentItemFillStyle": "hachure",
		"currentItemStrokeWidth": 1,
		"currentItemStrokeStyle": "solid",
		"currentItemRoughness": 1,
		"currentItemOpacity": 100,
		"currentItemFontFamily": 1,
		"currentItemFontSize": 20,
		"currentItemTextAlign": "left",
		"currentItemStrokeSharpness": "sharp",
		"currentItemStartArrowhead": null,
		"currentItemEndArrowhead": "arrow",
		"currentItemLinearStrokeSharpness": "round",
		"gridSize": null,
		"colorPalette": {}
	},
	"files": {}
}

%%

© 2024 All rights reservedBuilt with Find, Share and Publish Quality Data with Datahub

Built with Find, Share and Publish Quality Data with DatahubFind, Share and Publish Quality Data with Datahub