From 079b5f843c14c1cf2eed0280421f4e9019f06369 Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Tue, 22 Aug 2023 09:02:28 -0400 Subject: [PATCH 01/35] Scaffold MkDocs directory structure --- README.md | 45 ++++++++++++++ archive.md => docs/archive.md | 0 {archive => docs/archive}/jobs.md | 0 ...3-968faacf-c3c0-4b5f-a011-6335e0ebe922.png | Bin ...7-ff971ee7-fc09-4c65-aaf0-df8a73743998.png | Bin ...5-c6892e7c-91c5-43a3-a940-b1977ad38d84.png | Bin ...3-e41b54e2-ebd7-4e73-acb2-8337ec6bb2db.png | Bin ...7-3ab610ff-d0ca-4d70-b840-e760dd567edb.png | Bin ...fa60138-3acf-4b69-9c32-cc1468cdf965(1).png | Bin ...fa60138-3acf-4b69-9c32-cc1468cdf965(2).png | Bin ...6-4fa60138-3acf-4b69-9c32-cc1468cdf965.png | Bin ...1-71132b6e-c36d-4265-800a-02f6ae4d42c5.png | Bin ...6-91449400-5608-42a2-8f05-33506cb2532b.png | Bin ...8-c9129949-344a-4e41-a685-90700a816141.png | Bin ...3-1b222a0b-f77f-4a15-a9df-84ed874ce5f3.gif | Bin ...9-88273bdb-d4c8-4495-9aa8-c10816171059.png | Bin ...6-aba81b9e-a45a-4466-808a-6e4963a01038.png | Bin ...7-b942ecd3-6f3c-4cd4-8cc4-3080a041b2a4.png | Bin ...8-b3db8d3b-7301-4a19-bc38-cd777a4dde46.png | Bin ...3-ead6315e-3802-4345-9427-820c66094797.png | Bin ...5-9a906a91-28a4-4045-9300-732af811ed8d.png | Bin ...4-fb268bfc-77e2-45cf-9180-373cf950ca63.png | Bin ...9-a2d7bf2c-453b-4cae-84e8-94b645ce9271.png | Bin ...5-68ad8ef9-a854-4b5d-a4de-730131867d18.png | Bin {assets => docs/assets}/.unused/1FZ5Efd.png | Bin ...30238bb-309f-4183-889d-7cd672649c79(1).png | Bin ...9-930238bb-309f-4183-889d-7cd672649c79.png | Bin ...2123980-b89e-4f7e-ab43-b5b4f08d7649(1).png | Bin ...4-22123980-b89e-4f7e-ab43-b5b4f08d7649.png | Bin .../61093c3ba7a84a5a87c5576871b2bf17.png | 0 {assets => docs/assets}/.unused/Bk1x58Q9O.png | Bin {assets => docs/assets}/.unused/BkZ-kcZ6c.png | Bin {assets => docs/assets}/.unused/By4JP0CK_.png | Bin {assets => docs/assets}/.unused/ByYAYLmq_.png | Bin {assets => docs/assets}/.unused/ByfztC0tu.png | Bin {assets => docs/assets}/.unused/BysumDQqu.png | Bin {assets => docs/assets}/.unused/DH3XRuj.png | Bin {assets => docs/assets}/.unused/H1P5XPQcu.png | Bin {assets => docs/assets}/.unused/HJnhQP7cd.png | Bin {assets => docs/assets}/.unused/HJxJY0AY_.png | Bin {assets => docs/assets}/.unused/Hk02qLQc_.png | Bin {assets => docs/assets}/.unused/JMtTnDZ.png | Bin .../assets}/.unused/Query Setup.png | Bin {assets => docs/assets}/.unused/Rpz9ZhV.png | Bin {assets => docs/assets}/.unused/SJBTzvX9d.png | Bin .../assets}/.unused/Schema deletion(1).png | Bin .../assets}/.unused/Schema deletion.png | Bin .../Screen Shot 2022-01-20 at 4.21.05 PM.png | Bin .../Screen Shot 2022-01-20 at 4.23.21 PM.png | Bin .../assets}/.unused/View Column Menu.png | Bin .../.unused/View Setup_ Add Column.png | Bin {assets => docs/assets}/.unused/Z3ngzR9.png | Bin .../assets}/.unused/add_button_enabled.png | Bin .../assets}/.unused/buggy_rendering.png | Bin {assets => docs/assets}/.unused/chcPbaV.png | Bin .../assets}/.unused/data_types_dropdown.png | Bin {assets => docs/assets}/.unused/input_box.png | Bin .../.unused/issue-assignment-image.png | Bin .../assets}/.unused/list_info_box.png | Bin .../assets}/.unused/llenar_celda.png | Bin {assets => docs/assets}/.unused/logo@2x-2.png | Bin {assets => docs/assets}/.unused/logo@2x-3.png | Bin {assets => docs/assets}/.unused/logo@2x.png | Bin .../assets}/.unused/logo@2x_cropped.png | Bin .../assets}/.unused/mathesar_backup-1.png | Bin .../assets}/.unused/mathesar_backup-2.png | Bin .../assets}/.unused/mathesar_elephant.png | Bin .../.unused/mathesar_elephant_square.png | Bin .../.unused/mathesar_primary_hor_rgb.png | Bin .../mathesar_primary_shaded_hor_rgb.png | Bin .../mermaid-diagram-2023-07-14-171331.png | Bin .../mermaid-diagram-2023-07-14-171431.png | Bin .../mermaid-diagram-2023-07-14-171640.png | Bin .../assets}/.unused/movie_schema.png | Bin .../assets}/.unused/movie_schema_2.drawio.png | Bin .../assets}/.unused/movie_schema_3.drawio.png | Bin {assets => docs/assets}/.unused/nav1.png | Bin .../assets}/.unused/nested_arrays_pills.png | Bin .../assets}/.unused/query_setup.png | Bin {assets => docs/assets}/.unused/rJoUmDX5_.png | Bin {assets => docs/assets}/.unused/rkEwqImqd.png | Bin {assets => docs/assets}/.unused/rkavQwXc_.png | Bin .../screen_shot_2021-11-09_at_10.00.07.png | Bin .../screen_shot_2022-01-06_at_2.46.23_pm.png | Bin .../screen_shot_2022-01-20_at_4.21.05_pm.png | Bin .../screen_shot_2022-01-20_at_4.23.21_pm.png | Bin .../screen_shot_2022-12-08_at_9.53.42_pm.png | Bin .../screen_shot_2022-12-08_at_9.53.57_pm.png | Bin .../assets}/.unused/select_list_item_type.png | Bin ...e_648_\302\267_centerofci_mathesar(1).png" | Bin ...ssue_648_\302\267_centerofci_mathesar.png" | Bin ...pload_c59d472471972af4e4dfca4fac7d85f6.png | Bin ...pload_ebe944f590f61b67ea9a5646d45668a5.png | Bin .../assets}/.unused/view_builder_1.png | Bin .../assets}/.unused/view_builder_2.png | Bin .../assets}/.unused/view_builder_3.png | Bin .../assets}/.unused/view_builder_5.png | Bin .../assets}/.unused/view_column_menu(1).png | Bin .../assets}/.unused/view_column_menu(2).png | Bin .../assets}/.unused/view_column_menu.png | Bin .../.unused/view_setup__add_column.png | Bin .../assets}/.unused/visualizacion_columna.png | Bin {assets => docs/assets}/.unused/zU9Csfe.png | Bin .../assets}/current_install_flow_0.1.3.png | Bin .../data-management-skills/tauevzw.png | Bin .../screen_shot_2021-05-11_at_3.19.20_pm.png | Bin .../design/exploration/filters/filtersins.png | Bin .../inventory-data-exploration/9i3tkus.gif | Bin .../inventory-data-exploration/ibeojth.gif | Bin ...pload_0a739701669a8d3913b365ef516a7055.gif | Bin ...pload_24f01dd5f890ed625316f0f42e2e6c95.gif | Bin ...pload_314ee62b7fb18439e4860713da71af57.gif | Bin ...pload_c3499aaef0865fe3837e3308a6adadef.gif | Bin .../use-cases/inventory-use-case/2hf2gwr.png | Bin .../use-cases/inventory-use-case/ruskw7x.png | Bin ...pload_28569858daae81b7afb843e4130ba1e0.png | Bin ...pload_5869379d992529af6f5aab0e0119e269.png | Bin ...pload_630e59aab40df390011452a82adcf068.png | Bin ...pload_68ebe4f6119b50a70c85232046f2c2e0.png | Bin ...pload_8778c8ce139d732e86e8428b12f3b93a.png | Bin ...pload_97efbdbbb32ddccc2fc7f7e52ff5b27d.png | Bin ...pload_b512855b310bfae40346287502d79a67.png | Bin ...pload_bdd3d8b7374bfb87008a84fb2c7ea6fa.png | Bin ...pload_c59d472471972af4e4dfca4fac7d85f6.png | Bin ...pload_d4e8c65f14798f6c23994d7cc932013c.png | Bin ...pload_dc154ba62bd6f635d17b429f139ded44.png | Bin ...pload_fd74b5ef559d82b4e5086e08ff0565f4.png | Bin .../2ud3EckJJ5TeEX1SMR1D7Y.png | Bin .../4nmcRjLxr3mHpngZxFDZfx.png | Bin .../5si6jjAr1FPZ39bw968N5N.png | Bin .../bXgh99SMozaUyBNvQHa1g8.png | Bin .../dS6sAay4Re9f2R39zKDDj8.png | Bin .../iwXpHctgMSRNcYQjeY7MBe.png | Bin .../j2UsBsrGYshUtfTS6jcEQt.png | Bin .../nBHVJCNiZ2PgJMrn1wdGcL.png | Bin .../p3ta6G69SiMgL61XYZg24m.png | Bin .../sqqrcNeq3CVQaUtZiBG9ov.png | Bin .../svLZHynK3NqVkjofBmqgMj.png | Bin .../wnDL3cvcR9R3cgPwR3Co2.png | Bin .../add-update-delete-records/3LD4REZ.png | Bin .../add-update-delete-records/3RYqaUH.png | Bin .../add-update-delete-records/6EjAxO9.png | Bin .../add-update-delete-records/6KnTJfR.png | Bin .../add-update-delete-records/GXqOHol.png | Bin .../add-update-delete-records/GmtmLaj.png | Bin .../add-update-delete-records/IqIKvbi.png | Bin .../add-update-delete-records/PTp51fp.png | Bin .../add-update-delete-records/Tif1Pcx.png | Bin .../add-update-delete-records/UJE4o2J.png | Bin .../add-update-delete-records/WaEWViQ.png | Bin .../add-update-delete-records/XK61ZO6.png | Bin .../add-update-delete-records/ZC0uhJp.png | Bin .../add-update-delete-records/cwG5AQ7.png | Bin .../add-update-delete-records/i9t1LFe.png | Bin .../add-update-delete-records/kETg4x2.png | Bin .../add-update-delete-records/mDe3Vpr.png | Bin .../add-update-delete-records/sbz7eIR.png | Bin .../add-update-delete-records/vzJIXPL.png | Bin .../add-update-delete-records/wvKnuSQ.png | Bin .../7prBiuRUXhPYi6wZxwRcyV.png | Bin .../8p3u9NbBGBr6gqPx7VW9RZ.png | Bin .../99zmoTssPdnh2AYS5tDeWJ.png | Bin .../gzGpUGi1srtxQ2kwd2TruB.png | Bin .../6VPzH8Cd7USbhf6jZpzQvc.png | Bin .../fpnLR7JtkJJZXGybZoYL8d.png | Bin .../specs/database-switching/0vScHwP.png | Bin .../specs/database-switching/JGIqCOi.png | Bin .../specs/database-switching/mCwwg8S.png | Bin .../specs/database-switching/qMsmiZo.png | Bin .../specs/filter-sort-group/B1S_G4Rc_.png | Bin .../specs/filter-sort-group/Bk59qfRcu.png | Bin .../specs/filter-sort-group/BkaxwEC5O.png | Bin .../specs/filter-sort-group/ByO-PVR9_.png | Bin .../specs/filter-sort-group/HJKi4iR5O.png | Bin .../specs/filter-sort-group/Hk8Kt0Nsd.png | Bin .../specs/filter-sort-group/HkowXkBj_.png | Bin .../specs/filter-sort-group/HyTm5Q0qd.png | Bin .../specs/filter-sort-group/HyaqfcVod.png | Bin .../specs/filter-sort-group/Ra5lOmJ.png | Bin .../specs/filter-sort-group/S1U7zXRcu.png | Bin .../specs/filter-sort-group/S1s58409d.png | Bin .../specs/filter-sort-group/S1uJu5A5_.png | Bin .../specs/filter-sort-group/S1y7ZXC9O.png | Bin .../specs/filter-sort-group/SJiH-i0qu.png | Bin .../specs/filter-sort-group/SkSMQkrod.png | Bin .../specs/filter-sort-group/SkfardkoO.png | Bin .../specs/filter-sort-group/SknEcm09O.png | Bin .../specs/filter-sort-group/r1Q7VsCcd.png | Bin .../specs/filter-sort-group/rJYKrdyou.png | Bin .../specs/filter-sort-group/rJioPmRc_.png | Bin .../specs/filter-sort-group/rkY-Lnrou.png | Bin .../specs/filter-sort-group/rkeLEjRq_.png | Bin .../specs/filter-sort-group/tzQmsIT.png | Bin ...6-fe829bc5-9016-48e4-8633-647b365857ef.png | Bin ...0-1e0360d4-f286-4b99-ab8e-0b22e719ed76.png | Bin ...0-26a682a5-50b1-4bd0-a4f9-828bed43d0c0.png | Bin .../lookup-field-component/BJuBNu_su.png | Bin .../specs/lookup-field-component/Cr6i2pU.png | Bin .../specs/lookup-field-component/aP3hoGa.png | Bin .../specs/lookup-field-component/b92JFFc.png | Bin .../specs/lookup-field-component/dKPcSq3.png | Bin .../specs/lookup-field-component/eej36bN.png | Bin .../specs/lookup-field-component/hdL78gs.png | Bin .../specs/lookup-field-component/jRBFNUO.png | Bin .../lookup-field-component/rygEN__i_.png | Bin ...3-8e997029-6397-4b56-b4d6-8515668b6f3e.png | Bin ...1-7e98353c-544d-4681-bb04-0f0a3efb10d3.png | Bin ...7-ca7d0358-e3d9-4118-be8d-bbba95135b5c.png | Bin ...1-e7607eac-105b-4ee6-a0fe-68ee40bfff84.png | Bin ...6-3594fb03-21dd-4194-b812-e1f51975f796.png | Bin .../design/specs/pagination/1oghfOu.png | Bin .../design/specs/pagination/HyZR_lN9d.png | Bin .../design/specs/read-only-table/5AEnei2.png | Bin .../design/specs/read-only-table/9XbmVXw.png | Bin .../specs/read-only-table/BJJCkI5O_.png | Bin .../design/specs/read-only-table/CZ0cHvM.png | Bin .../design/specs/read-only-table/D2oJz5s.png | Bin .../design/specs/read-only-table/FVrZz22.png | Bin .../specs/read-only-table/S1ez3TSqdu.png | Bin .../design/specs/read-only-table/UM72eeI.png | Bin .../design/specs/read-only-table/WchoIDA.png | Bin .../specs/read-only-table/r1iJkI9_d.png | Bin .../design/specs/read-only-table/z7s80vm.png | Bin ...9-2723a75e-2dcb-443a-a3c5-97d5657f5882.png | Bin ...4-bbbd945a-0748-42b6-b510-b258c7aeb6a0.png | Bin ...8-e93987c8-9cda-4d8f-9de3-f37a6bf7cc1a.png | Bin ...2-eda451c1-046d-46f1-bfc0-6abdf4f2c085.png | Bin .../air-table-fk-cell-data-entry-example.png | Bin .../fk-cell-underlined-record-summary.png | Bin .../linked-record-data-entry-mockup-grid.png | Bin ...3-e41b54e2-ebd7-4e73-acb2-8337ec6bb2db.png | Bin ...7-3ab610ff-d0ca-4d70-b840-e760dd567edb.png | Bin ...3-cd6a7d4a-d8f9-4693-ad34-ff0fb0b8dc7e.png | Bin .../specs/table-creation-controls/ksN9Z6d.png | Bin .../table-import/6XqnBjSAk2FUAK8DyexoU5.png | Bin .../table-import/8WvP45gNpqAm3UYUM1r3m2.png | Bin .../table-import/9d1wf4y7cgBUawWbdcoThs.png | Bin .../table-import/agFL3gk3gc7pkgjc2GUcw3.png | Bin .../table-import/asGm1LMUCEvjCd1jBdcDEA.png | Bin .../table-import/g1YFz8wYRm71tQ5W6skCX7.png | Bin .../table-import/kLkhvgR9Uk1njGbmgh9msB.png | Bin .../table-import/r7fmqfwG2hmjTTbwvMRehr.png | Bin .../table-import/uC1C6dxPCze6oiHHTAkAvt.png | Bin .../table-import/uhmhbecvbb8cji2LVGFRWo.png | Bin .../table-import/vr3pvTp1cUsMJw7gb8xNKY.png | Bin ...6-91449400-5608-42a2-8f05-33506cb2532b.png | Bin ...8-c9129949-344a-4e41-a685-90700a816141.png | Bin ...3-1b222a0b-f77f-4a15-a9df-84ed874ce5f3.gif | Bin ...9-88273bdb-d4c8-4495-9aa8-c10816171059.png | Bin ...6-aba81b9e-a45a-4466-808a-6e4963a01038.png | Bin ...7-b942ecd3-6f3c-4cd4-8cc4-3080a041b2a4.png | Bin ...8-b3db8d3b-7301-4a19-bc38-cd777a4dde46.png | Bin ...3-ead6315e-3802-4345-9427-820c66094797.png | Bin ...5-9a906a91-28a4-4045-9300-732af811ed8d.png | Bin ...4-fb268bfc-77e2-45cf-9180-373cf950ca63.png | Bin ...9-a2d7bf2c-453b-4cae-84e8-94b645ce9271.png | Bin .../b7a53348-4811-42f6-a562-f6d31b955af6 | Bin .../specs/dependents-graph/schema_del1.png | Bin .../specs/dependents-graph/schema_del2.png | Bin ...9-2723a75e-2dcb-443a-a3c5-97d5657f5882.png | Bin ...4-bbbd945a-0748-42b6-b510-b258c7aeb6a0.png | Bin ...8-e93987c8-9cda-4d8f-9de3-f37a6bf7cc1a.png | Bin ...2-eda451c1-046d-46f1-bfc0-6abdf4f2c085.png | Bin .../assets}/expected-install-flow.svg | 0 ...r_installation_flow(2023-07-10).drawio.svg | 0 .../meeting-notes/2022-02/SkCTNfXeq.png | Bin .../meeting-notes/2022-08/B1jXFLtT5.png | Bin .../meeting-notes/2022-08/BkZ-kcZ6c.png | Bin .../meeting-notes/2022-08/rJh8rDKpc.png | Bin .../meeting-notes/may-2021/H1XXmRMFu.png | Bin .../meeting-notes/may-2021/SJYg_0zFO.png | Bin .../meeting-notes/may-2021/ry7ADAMFd.png | Bin .../meeting-notes/may-2021/ryhXWAGYu.png | Bin ...pload_f6576614be01e5b8aeaac90dbb9eaa5c.png | Bin .../screen_shot_2022-01-06_at_2.46.23_pm.png | Bin .../view_flowchart.drawio.png | Bin .../04-formulas/view_builder_4.png | Bin .../screen_shot_2022-01-20_at_4.21.05_pm.png | Bin .../screen_shot_2022-01-20_at_4.23.21_pm.png | Bin ...pload_ebe944f590f61b67ea9a5646d45668a5.png | Bin .../example-schema/movie_schema_2.drawio.png | Bin .../example-schema/movie_schema_3.drawio.png | Bin .../public_links_one_table_per_entity.png | Bin .../public_links_sparse_table.png | Bin .../public_links_sparse_table_metadata.png | Bin .../product/specs/users-permissions/rls.png | Bin .../specs/users-permissions/sharing.png | Bin .../specs/users-permissions/sign-in.png | Bin .../users-permissions/user-page-custom.png | Bin .../specs/users-permissions/user-page.png | Bin .../product/specs/users-permissions/users.png | Bin .../current_install_flow_0.1.3.png | Bin .../list-datatype/data_types_dropdown.png | Bin .../projects/list-datatype/input_box.png | Bin .../projects/list-datatype/llenar_celda.png | Bin .../list-datatype/visualizacion_columna.png | Bin .../screen_shot_2022-12-08_at_9.53.42_pm.png | Bin .../screen_shot_2022-12-08_at_9.53.57_pm.png | Bin community.md => docs/community.md | 0 {community => docs/community}/contributing.md | 0 {community => docs/community}/discord.md | 0 {community => docs/community}/events.md | 0 .../community}/events/2022-01-22.md | 0 .../events/2022-03-21-to-2022-03-25.md | 0 .../events/2022-03-28-to-2022-03-31.md | 0 .../events/2022-04-04-to-2022-04-08.md | 0 .../events/2022-04-12-to-2022-04-15.md | 0 .../events/2023-03-27-to-2023-03-29.md | 0 {community => docs/community}/github.md | 0 .../community}/mailing-lists.md | 0 {community => docs/community}/matrix.md | 0 {community => docs/community}/mentoring.md | 0 .../community}/mentoring/applicant-guide.md | 0 .../community}/mentoring/mentee-guide.md | 0 .../community}/mentoring/mentor-guide.md | 0 .../mentoring/project-idea-template.md | 0 .../community}/mentoring/project-ideas.md | 0 .../project-ideas/api-documentation.md | 0 .../mentoring/project-ideas/archive.md | 0 .../auto-suggest-normalization.md | 0 .../automatic-hint-reflection.md | 0 .../project-ideas/break-out-columns.md | 0 .../mentoring/project-ideas/data-export.md | 0 .../mentoring/project-ideas/db-views.md | 0 .../project-ideas/dependency-graph.md | 0 .../project-ideas/file-data-types.md | 0 .../import-data-into-existing-tables.md | 0 .../project-ideas/import-excel-json-files.md | 0 .../mentoring/project-ideas/json-data-type.md | 0 .../mentoring/project-ideas/json-editor.md | 0 .../mentoring/project-ideas/kanban-view.md | 0 .../mentoring/project-ideas/list-data-type.md | 0 .../project-ideas/location-data-type.md | 0 .../make-casting-functions-inlinable.md | 0 .../project-ideas/more-data-import-sources.md | 0 .../project-ideas/more-summarizations.md | 0 .../project-ideas/persist-ui-configuration.md | 0 .../project-ideas/phone-number-data-type.md | 0 .../project-ideas/postgis-data-types.md | 0 .../mentoring/project-ideas/sharable-forms.md | 0 .../project-ideas/single-select-data-type.md | 0 .../suggest-candidate-columns.md | 0 .../support-default-postgres-types.md | 0 .../ui-import-data-existing-table.md | 0 .../visualization-of-grouped-data.md | 0 .../mentoring/project-ideas/web-sql-editor.md | 0 .../mentoring/project-proposal-template.md | 0 .../community}/setup_in_windows.md | 0 .../cycle_2_user_flow.pdf | Bin ...pload_c59d472471972af4e4dfca4fac7d85f6.png | Bin design.md => docs/design.md | 0 {design => docs/design}/design-principles.md | 0 {design => docs/design}/exploration.md | 0 .../exploration/data-management-skills.md | 0 .../design}/exploration/data-types.md | 0 .../design}/exploration/filters.md | 0 .../exploration/inventory-data-exploration.md | 0 .../design}/exploration/use-cases.md | 0 .../use-cases/inventory-use-case.md | 0 {design => docs/design}/process.md | 0 .../design}/process/deliverables.md | 0 .../design}/process/design-system.md | 0 .../design}/process/review-guidelines.md | 0 {design => docs/design}/reports.md | 0 .../design}/reports/inventory-use-case.md | 0 .../design}/reports/tool-category.md | 0 {design => docs/design}/resources.md | 0 {design => docs/design}/specs.md | 0 {design => docs/design}/specs/Formulas.md | 0 .../design}/specs/add-formula-column.md | 0 .../specs/add-update-delete-records.md | 0 .../design}/specs/boolean-data-type.md | 0 .../design}/specs/clipboard-interactions.md | 0 .../design}/specs/column-extraction.md | 0 .../design}/specs/create-edit-delete-views.md | 0 .../design}/specs/data-type-duration.md | 0 .../design}/specs/data-type-options.md | 0 .../design}/specs/data-types-text.md | 0 .../design}/specs/database-switching.md | 0 .../design}/specs/date-time-data-type.md | 0 .../design}/specs/eding-view-records.md | 0 .../design}/specs/email-data-type.md | 0 .../design}/specs/filter-sort-group.md | 0 .../design}/specs/foreign-key-constraints.md | 0 .../specs/global-data-type-components.md | 0 .../design}/specs/import-status.md | 0 .../design}/specs/inline-save-edit.md | 0 .../design}/specs/listing-views.md | 0 .../design}/specs/lookup-field-component.md | 0 .../design}/specs/money-data-type.md | 0 .../design}/specs/multiple-records-spec.md | 0 .../design}/specs/navigation-updates.md | 0 {design => docs/design}/specs/navigation.md | 0 .../design}/specs/non-mathesar-data-types.md | 0 .../design}/specs/number-data-type.md | 0 {design => docs/design}/specs/pagination.md | 0 .../design}/specs/read-only-table.md | 0 {design => docs/design}/specs/record-page.md | 0 .../design}/specs/record-selector.md | 0 .../design}/specs/record-summary.md | 0 {design => docs/design}/specs/schemas.md | 0 .../design}/specs/sidebar-improvements.md | 0 .../design}/specs/specs-null-values.md | 0 .../design}/specs/table-creation-controls.md | 0 {design => docs/design}/specs/table-import.md | 0 .../design}/specs/table-inspector.md | 0 .../design}/specs/table-operations.md | 0 {design => docs/design}/specs/ui-styling.md | 0 .../design}/specs/url-data-type.md | 0 .../design}/specs/viewing-views-specs.md | 0 .../specs/views-one-to-many-relationships.md | 0 .../design}/specs/visual-query-builder.md | 0 .../design}/specs/working-with-columns.md | 0 {design => docs/design}/standards.md | 0 engineering.md => docs/engineering.md | 0 .../engineering}/architecture.md | 0 .../architecture/api-standards.md | 0 .../architecture/front-end-standards.md | 0 {engineering => docs/engineering}/archive.md | 0 .../engineering}/archive/decisions.md | 0 .../engineering}/code-review.md | 0 .../engineering}/code-review/backend.md | 0 .../engineering}/common-issues.md | 0 {engineering => docs/engineering}/glossary.md | 0 .../engineering}/glossary/filters.md | 0 .../engineering}/glossary/ui-types.md | 0 .../engineering}/release-process.md | 0 {engineering => docs/engineering}/reports.md | 0 .../reports/gsoc-2022-dependents-graph.md | 0 ...022-importing-data-into-existing-tables.md | 0 .../reports/gsoc-2022-json-type.md | 0 .../engineering}/reports/list-datatype.md | 0 {engineering => docs/engineering}/research.md | 0 .../engineering}/research/formulas.md | 0 .../engineering}/resources.md | 0 {engineering => docs/engineering}/setup.md | 0 .../engineering}/setup/common-issues.md | 0 {engineering => docs/engineering}/specs.md | 0 .../engineering}/specs/dateandtime.md | 0 .../engineering}/specs/ddl.md | 0 .../engineering}/specs/dependents-graph.md | 0 .../engineering}/specs/dml.md | 0 .../engineering}/specs/import-preview-api.md | 0 .../specs/internationalization.md | 0 .../engineering}/specs/numbers.md | 0 .../engineering}/specs/record-selector.md | 0 .../engineering}/specs/syncing.md | 0 .../engineering}/standards.md | 0 .../engineering}/standards/api.md | 0 .../engineering}/standards/frontend.md | 0 home.md => docs/home.md | 0 jobs.md => docs/jobs.md | 0 .../jobs}/2022-06-localization-engineer.md | 0 logo.png => docs/logo.png | Bin marketing.md => docs/marketing.md | 0 {marketing => docs/marketing}/copy.md | 0 {marketing => docs/marketing}/history.md | 0 {marketing => docs/marketing}/sites.md | 0 .../mathesar_elephant.png | Bin .../mathesar_primary_shaded_ver_rgb.png | Bin meeting-notes.md => docs/meeting-notes.md | 0 .../meeting-notes}/2021-11.md | 0 .../meeting-notes}/2021-12.md | 0 .../meeting-notes}/2022-01.md | 0 .../meeting-notes}/2022-02.md | 0 .../meeting-notes}/2022-03.md | 0 .../meeting-notes}/2022-04.md | 0 .../meeting-notes}/2022-05.md | 0 .../meeting-notes}/2022-06.md | 0 .../meeting-notes}/2022-07.md | 0 .../meeting-notes}/2022-08.md | 0 .../meeting-notes}/2022-09.md | 0 .../meeting-notes}/2022-10.md | 0 .../2022-10/2022-10-04-backend.md | 0 .../2022-10/2022-10-05-weekly.md | 0 .../2022-10/2022-10-12-weekly.md | 0 .../2022-10/2022-10-19-weekly.md | 0 .../2022-10/2022-10-26-weekly.md | 0 .../meeting-notes}/2022-11.md | 0 .../2022-11/2022-11-02-weekly.md | 0 .../2022-11/2022-11-09-weekly.md | 0 .../2022-11/2022-11-17-weekly.md | 0 .../2022-11/2022-11-28-planning.md | 0 .../meeting-notes}/2023-01.md | 0 .../2023-01/2023-01-05-planning.md | 0 .../2023-01/2023-01-18-fe-new-feature-rfc.md | 0 .../2023-01-20-partial-user-input-of-dates.md | 0 .../meeting-notes}/2023-02.md | 0 .../meeting-notes}/2023-02/2023-02-01-team.md | 0 .../2023-02/2023-02-08-launch-planning.md | 0 .../2023-02/2023-02-10-launch-check-in.md | 0 .../2023-02/2023-02-13-launch-check-in.md | 0 .../2023-02/2023-02-15-launch-check-in.md | 0 .../2023-02/2023-02-17-launch-check-in.md | 0 .../2023-02/2023-02-21-launch-check-in.md | 0 .../2023-02/2023-02-22-launch-check-in.md | 0 .../2023-02/2023-02-23-launch-check-in.md | 0 .../2023-02/2023-02-24-launch-update-email.md | 0 .../2023-02/2023-02-27-deployment-check-in.md | 0 .../meeting-notes}/2023-03.md | 0 .../2023-03/2023-03-02-launch-check-in.md | 0 .../2023-03-07-priorities-workflow-meeting.md | 0 .../2023-03-08-removing-sqlachemy-meeting.md | 0 ...03-17-installation-improvements-meeting.md | 0 .../2023-03-20-handling-regressions.md | 0 .../2023-03/2023-03-29-team-meeting.md | 0 .../2023-03/backend-meeting-2023-03-13.md | 0 .../2023-03/core-team-meeting-2023-03-15.md | 0 .../installation-improvements-in-0-1-2.md | 0 .../2023-03/release-plan-0_1_2.md | 0 ...nsibilities-projects-meeting-2023-03-15.md | 0 .../meeting-notes}/2023-04.md | 0 ...23-04-03-installation-plan-finalization.md | 0 .../meeting-notes}/2023-05.md | 0 .../2023-05/2023-05-03-team-meeting.md | 0 .../2023-05/2023-05-10-team-meeting.md | 0 .../2023-05-30-front-end-team-meeting.md | 0 .../meeting-notes}/2023-06.md | 0 .../2023-06/2023-06-07-team-meeting.md | 0 ...023-06-13-installation-planning-meeting.md | 0 .../2023-06/2023-06-27-team-meeting.md | 0 .../meeting-notes}/2023-07.md | 0 .../2023-07/2023-07-03-team-meeting.md | 0 .../2023-07-06-installation-meeting.md | 0 .../2023-07/2023-07-06-team-meeting.md | 0 .../2023-07-11-installation-meeting.md | 0 .../2023-07/2023-07-26-team-meeting.md | 0 .../2023-07-28-installation-meeting.md | 0 .../meeting-notes}/2023-08.md | 0 .../2023-08/2023-08-09-team-meeting.md | 0 .../2023-08/2023-08-10-team-meeting.md | 0 .../2023-08/2023-08-18-team-meeting.md | 0 .../2023-08/2023-08-23-team-meeting.md | 0 .../meeting-notes}/april-2021.md | 0 .../meeting-notes}/august-2021.md | 0 .../meeting-notes}/july-2021.md | 0 .../meeting-notes}/june-2021.md | 0 .../meeting-notes}/may-2021.md | 0 .../meeting-notes}/october-2021.md | 0 .../meeting-notes}/september-2021.md | 0 product.md => docs/product.md | 0 {product => docs/product}/about.md | 0 {product => docs/product}/concepts.md | 0 .../product}/concepts/data-types.md | 0 .../product}/concepts/databases.md | 0 {product => docs/product}/concepts/filters.md | 0 {product => docs/product}/concepts/schemas.md | 0 {product => docs/product}/concepts/tables.md | 0 {product => docs/product}/concepts/views.md | 0 {product => docs/product}/feature-ideas.md | 0 {product => docs/product}/feedback.md | 0 {product => docs/product}/feedback/2023-03.md | 0 .../ui_create_list_col.png | Bin {product => docs/product}/principles.md | 0 {product => docs/product}/related.md | 0 {product => docs/product}/resources.md | 0 {product => docs/product}/roadmap.md | 0 {product => docs/product}/specs.md | 0 .../product}/specs/2022-01-views.md | 0 .../specs/2022-01-views/01-assumptions.md | 0 .../2022-01-views/02-feature-requirements.md | 0 .../2022-01-views/03-the-query-builder.md | 0 .../specs/2022-01-views/04-formulas.md | 0 .../04-formulas/4a-record-aggregations.md | 0 .../04-formulas/4b-random-generators.md | 0 .../04-formulas/4c-text-formulas.md | 0 .../04-formulas/4d-number-formulas.md | 0 .../04-formulas/4e-boolean-formulas.md | 0 .../04-formulas/4f-datetime-formulas.md | 0 .../04-formulas/4g-list-formulas.md | 0 .../04-formulas/4h-cumulative-formulas.md | 0 .../04-formulas/4i-regex-formulas.md | 0 .../04-formulas/4j-custom-formulas.md | 0 .../specs/2022-01-views/05-view-structure.md | 0 .../specs/2022-01-views/06-view-columns.md | 0 .../07-breaking-down-db-queries.md | 0 .../specs/2022-01-views/08-appendix.md | 0 .../product}/specs/dynamic-defaults-proto.md | 0 .../product}/specs/example-schema.md | 0 .../specs/publicly-shareable-links.md | 0 .../specs/undo-quick-save-functionality.md | 0 .../product}/specs/users-permissions.md | 0 projects.md => docs/projects.md | 0 .../2023-04-usability-improvements.md | 0 .../projects}/2023-07-backend-fixes.md | 0 .../projects}/2023-07-frontend-fixes.md | 0 .../projects}/2023-07-product-strategy.md | 0 {projects => docs/projects}/column-moving.md | 0 {projects => docs/projects}/forms-research.md | 0 .../projects}/formulas-research.md | 0 .../projects}/frontend-tables-performance.md | 0 {projects => docs/projects}/funding.md | 0 .../projects}/gather-user-feedback.md | 0 ...installation-documentation-improvements.md | 0 .../installation-improvements-0_1_3.md | 0 .../installation-improvements-0_1_4.md | 0 .../installation-improvements-plan-0_1_4.md | 0 .../projects}/internationalization.md | 0 {projects => docs/projects}/list-datatype.md | 0 .../projects}/list-datatype/frontend-specs.md | 0 {projects => docs/projects}/niche-research.md | 0 .../projects}/preexisting-postgres.md | 0 .../projects}/public-links-research.md | 0 {projects => docs/projects}/release-0-1-2.md | 0 .../shareable-links-implementation.md | 0 .../projects}/sql-alchemy-remove.md | 0 .../projects}/sql-ddl-operations.md | 0 .../projects}/sql-dml-operations.md | 0 .../projects}/sql-dql-operations.md | 0 {projects => docs/projects}/t-shirts.md | 0 {projects => docs/projects}/template.md | 0 .../projects}/user-feedback-kickoff.md | 0 team.md => docs/team.md | 0 {team => docs/team}/archive/comms-assignee.md | 0 .../team}/archive/weekly-discussion.md | 0 {team => docs/team}/guide.md | 0 {team => docs/team}/guide/comm-tips.md | 0 {team => docs/team}/guide/events.md | 0 {team => docs/team}/guide/issue-assignment.md | 0 {team => docs/team}/guide/issue-triage.md | 0 {team => docs/team}/guide/meetings.md | 0 {team => docs/team}/guide/tools.md | 0 {team => docs/team}/guide/workflow.md | 0 {team => docs/team}/members.md | 0 {team => docs/team}/responsibilities.md | 0 .../team}/responsibilities/fundraising.md | 0 {team => docs/team}/responsibilities/gsoc.md | 0 .../responsibilities/installation-help.md | 0 .../team}/responsibilities/marketing.md | 0 .../responsibilities/release-management.md | 0 .../team}/responsibilities/repo-admin.md | 0 .../team}/responsibilities/team-management.md | 0 .../team}/responsibilities/user-feedback.md | 0 {team => docs/team}/worklogs.md | 0 {team => docs/team}/worklogs/anish.md | 0 {team => docs/team}/worklogs/anish/2023-07.md | 0 {team => docs/team}/worklogs/brent.md | 0 {team => docs/team}/worklogs/dom.md | 0 {team => docs/team}/worklogs/ghislaine.md | 0 .../team}/worklogs/ghislaine/2023-07.md | 0 {team => docs/team}/worklogs/kriti.md | 0 {team => docs/team}/worklogs/kriti/2023-07.md | 0 {team => docs/team}/worklogs/mukesh.md | 0 {team => docs/team}/worklogs/pavish.md | 0 .../team}/worklogs/pavish/2023-07.md | 0 {team => docs/team}/worklogs/rajat.md | 0 {team => docs/team}/worklogs/rajat/2023-07.md | 0 {team => docs/team}/worklogs/sean.md | 0 mkdocs.yml | 58 ++++++++++++++++++ requirements.txt | 5 ++ 650 files changed, 108 insertions(+) create mode 100644 README.md rename archive.md => docs/archive.md (100%) rename {archive => docs/archive}/jobs.md (100%) rename {assets => docs/assets}/.unused/179518163-968faacf-c3c0-4b5f-a011-6335e0ebe922.png (100%) rename {assets => docs/assets}/.unused/179518507-ff971ee7-fc09-4c65-aaf0-df8a73743998.png (100%) rename {assets => docs/assets}/.unused/179518645-c6892e7c-91c5-43a3-a940-b1977ad38d84.png (100%) rename {assets => docs/assets}/.unused/179570423-e41b54e2-ebd7-4e73-acb2-8337ec6bb2db.png (100%) rename {assets => docs/assets}/.unused/179571077-3ab610ff-d0ca-4d70-b840-e760dd567edb.png (100%) rename {assets => docs/assets}/.unused/179571476-4fa60138-3acf-4b69-9c32-cc1468cdf965(1).png (100%) rename {assets => docs/assets}/.unused/179571476-4fa60138-3acf-4b69-9c32-cc1468cdf965(2).png (100%) rename {assets => docs/assets}/.unused/179571476-4fa60138-3acf-4b69-9c32-cc1468cdf965.png (100%) rename {assets => docs/assets}/.unused/179816131-71132b6e-c36d-4265-800a-02f6ae4d42c5.png (100%) rename {assets => docs/assets}/.unused/182186186-91449400-5608-42a2-8f05-33506cb2532b.png (100%) rename {assets => docs/assets}/.unused/182355968-c9129949-344a-4e41-a685-90700a816141.png (100%) rename {assets => docs/assets}/.unused/182356613-1b222a0b-f77f-4a15-a9df-84ed874ce5f3.gif (100%) rename {assets => docs/assets}/.unused/182356749-88273bdb-d4c8-4495-9aa8-c10816171059.png (100%) rename {assets => docs/assets}/.unused/182357016-aba81b9e-a45a-4466-808a-6e4963a01038.png (100%) rename {assets => docs/assets}/.unused/183378847-b942ecd3-6f3c-4cd4-8cc4-3080a041b2a4.png (100%) rename {assets => docs/assets}/.unused/183380108-b3db8d3b-7301-4a19-bc38-cd777a4dde46.png (100%) rename {assets => docs/assets}/.unused/183432613-ead6315e-3802-4345-9427-820c66094797.png (100%) rename {assets => docs/assets}/.unused/183433425-9a906a91-28a4-4045-9300-732af811ed8d.png (100%) rename {assets => docs/assets}/.unused/183444464-fb268bfc-77e2-45cf-9180-373cf950ca63.png (100%) rename {assets => docs/assets}/.unused/183445209-a2d7bf2c-453b-4cae-84e8-94b645ce9271.png (100%) rename {assets => docs/assets}/.unused/195399035-68ad8ef9-a854-4b5d-a4de-730131867d18.png (100%) rename {assets => docs/assets}/.unused/1FZ5Efd.png (100%) rename {assets => docs/assets}/.unused/216636539-930238bb-309f-4183-889d-7cd672649c79(1).png (100%) rename {assets => docs/assets}/.unused/216636539-930238bb-309f-4183-889d-7cd672649c79.png (100%) rename {assets => docs/assets}/.unused/216637154-22123980-b89e-4f7e-ab43-b5b4f08d7649(1).png (100%) rename {assets => docs/assets}/.unused/216637154-22123980-b89e-4f7e-ab43-b5b4f08d7649.png (100%) rename {assets => docs/assets}/.unused/61093c3ba7a84a5a87c5576871b2bf17.png (100%) rename {assets => docs/assets}/.unused/Bk1x58Q9O.png (100%) rename {assets => docs/assets}/.unused/BkZ-kcZ6c.png (100%) rename {assets => docs/assets}/.unused/By4JP0CK_.png (100%) rename {assets => docs/assets}/.unused/ByYAYLmq_.png (100%) rename {assets => docs/assets}/.unused/ByfztC0tu.png (100%) rename {assets => docs/assets}/.unused/BysumDQqu.png (100%) rename {assets => docs/assets}/.unused/DH3XRuj.png (100%) rename {assets => docs/assets}/.unused/H1P5XPQcu.png (100%) rename {assets => docs/assets}/.unused/HJnhQP7cd.png (100%) rename {assets => docs/assets}/.unused/HJxJY0AY_.png (100%) rename {assets => docs/assets}/.unused/Hk02qLQc_.png (100%) rename {assets => docs/assets}/.unused/JMtTnDZ.png (100%) rename {assets => docs/assets}/.unused/Query Setup.png (100%) rename {assets => docs/assets}/.unused/Rpz9ZhV.png (100%) rename {assets => docs/assets}/.unused/SJBTzvX9d.png (100%) rename {assets => docs/assets}/.unused/Schema deletion(1).png (100%) rename {assets => docs/assets}/.unused/Schema deletion.png (100%) rename {assets => docs/assets}/.unused/Screen Shot 2022-01-20 at 4.21.05 PM.png (100%) rename {assets => docs/assets}/.unused/Screen Shot 2022-01-20 at 4.23.21 PM.png (100%) rename {assets => docs/assets}/.unused/View Column Menu.png (100%) rename {assets => docs/assets}/.unused/View Setup_ Add Column.png (100%) rename {assets => docs/assets}/.unused/Z3ngzR9.png (100%) rename {assets => docs/assets}/.unused/add_button_enabled.png (100%) rename {assets => docs/assets}/.unused/buggy_rendering.png (100%) rename {assets => docs/assets}/.unused/chcPbaV.png (100%) rename {assets => docs/assets}/.unused/data_types_dropdown.png (100%) rename {assets => docs/assets}/.unused/input_box.png (100%) rename {assets => docs/assets}/.unused/issue-assignment-image.png (100%) rename {assets => docs/assets}/.unused/list_info_box.png (100%) rename {assets => docs/assets}/.unused/llenar_celda.png (100%) rename {assets => docs/assets}/.unused/logo@2x-2.png (100%) rename {assets => docs/assets}/.unused/logo@2x-3.png (100%) rename {assets => docs/assets}/.unused/logo@2x.png (100%) rename {assets => docs/assets}/.unused/logo@2x_cropped.png (100%) rename {assets => docs/assets}/.unused/mathesar_backup-1.png (100%) rename {assets => docs/assets}/.unused/mathesar_backup-2.png (100%) rename {assets => docs/assets}/.unused/mathesar_elephant.png (100%) rename {assets => docs/assets}/.unused/mathesar_elephant_square.png (100%) rename {assets => docs/assets}/.unused/mathesar_primary_hor_rgb.png (100%) rename {assets => docs/assets}/.unused/mathesar_primary_shaded_hor_rgb.png (100%) rename {assets => docs/assets}/.unused/mermaid-diagram-2023-07-14-171331.png (100%) rename {assets => docs/assets}/.unused/mermaid-diagram-2023-07-14-171431.png (100%) rename {assets => docs/assets}/.unused/mermaid-diagram-2023-07-14-171640.png (100%) rename {assets => docs/assets}/.unused/movie_schema.png (100%) rename {assets => docs/assets}/.unused/movie_schema_2.drawio.png (100%) rename {assets => docs/assets}/.unused/movie_schema_3.drawio.png (100%) rename {assets => docs/assets}/.unused/nav1.png (100%) rename {assets => docs/assets}/.unused/nested_arrays_pills.png (100%) rename {assets => docs/assets}/.unused/query_setup.png (100%) rename {assets => docs/assets}/.unused/rJoUmDX5_.png (100%) rename {assets => docs/assets}/.unused/rkEwqImqd.png (100%) rename {assets => docs/assets}/.unused/rkavQwXc_.png (100%) rename {assets => docs/assets}/.unused/screen_shot_2021-11-09_at_10.00.07.png (100%) rename {assets => docs/assets}/.unused/screen_shot_2022-01-06_at_2.46.23_pm.png (100%) rename {assets => docs/assets}/.unused/screen_shot_2022-01-20_at_4.21.05_pm.png (100%) rename {assets => docs/assets}/.unused/screen_shot_2022-01-20_at_4.23.21_pm.png (100%) rename {assets => docs/assets}/.unused/screen_shot_2022-12-08_at_9.53.42_pm.png (100%) rename {assets => docs/assets}/.unused/screen_shot_2022-12-08_at_9.53.57_pm.png (100%) rename {assets => docs/assets}/.unused/select_list_item_type.png (100%) rename "assets/.unused/translate_`server_default`_values_\302\267_issue_648_\302\267_centerofci_mathesar(1).png" => "docs/assets/.unused/translate_`server_default`_values_\302\267_issue_648_\302\267_centerofci_mathesar(1).png" (100%) rename "assets/.unused/translate_`server_default`_values_\302\267_issue_648_\302\267_centerofci_mathesar.png" => "docs/assets/.unused/translate_`server_default`_values_\302\267_issue_648_\302\267_centerofci_mathesar.png" (100%) rename {assets => docs/assets}/.unused/upload_c59d472471972af4e4dfca4fac7d85f6.png (100%) rename {assets => docs/assets}/.unused/upload_ebe944f590f61b67ea9a5646d45668a5.png (100%) rename {assets => docs/assets}/.unused/view_builder_1.png (100%) rename {assets => docs/assets}/.unused/view_builder_2.png (100%) rename {assets => docs/assets}/.unused/view_builder_3.png (100%) rename {assets => docs/assets}/.unused/view_builder_5.png (100%) rename {assets => docs/assets}/.unused/view_column_menu(1).png (100%) rename {assets => docs/assets}/.unused/view_column_menu(2).png (100%) rename {assets => docs/assets}/.unused/view_column_menu.png (100%) rename {assets => docs/assets}/.unused/view_setup__add_column.png (100%) rename {assets => docs/assets}/.unused/visualizacion_columna.png (100%) rename {assets => docs/assets}/.unused/zU9Csfe.png (100%) rename {assets => docs/assets}/current_install_flow_0.1.3.png (100%) rename {assets => docs/assets}/design/exploration/data-management-skills/tauevzw.png (100%) rename {assets => docs/assets}/design/exploration/data-types/screen_shot_2021-05-11_at_3.19.20_pm.png (100%) rename {assets => docs/assets}/design/exploration/filters/filtersins.png (100%) rename {assets => docs/assets}/design/exploration/inventory-data-exploration/9i3tkus.gif (100%) rename {assets => docs/assets}/design/exploration/inventory-data-exploration/ibeojth.gif (100%) rename {assets => docs/assets}/design/exploration/inventory-data-exploration/upload_0a739701669a8d3913b365ef516a7055.gif (100%) rename {assets => docs/assets}/design/exploration/inventory-data-exploration/upload_24f01dd5f890ed625316f0f42e2e6c95.gif (100%) rename {assets => docs/assets}/design/exploration/inventory-data-exploration/upload_314ee62b7fb18439e4860713da71af57.gif (100%) rename {assets => docs/assets}/design/exploration/inventory-data-exploration/upload_c3499aaef0865fe3837e3308a6adadef.gif (100%) rename {assets => docs/assets}/design/exploration/use-cases/inventory-use-case/2hf2gwr.png (100%) rename {assets => docs/assets}/design/exploration/use-cases/inventory-use-case/ruskw7x.png (100%) rename {assets => docs/assets}/design/exploration/use-cases/inventory-use-case/upload_28569858daae81b7afb843e4130ba1e0.png (100%) rename {assets => docs/assets}/design/exploration/use-cases/inventory-use-case/upload_5869379d992529af6f5aab0e0119e269.png (100%) rename {assets => docs/assets}/design/exploration/use-cases/inventory-use-case/upload_630e59aab40df390011452a82adcf068.png (100%) rename {assets => docs/assets}/design/exploration/use-cases/inventory-use-case/upload_68ebe4f6119b50a70c85232046f2c2e0.png (100%) rename {assets => docs/assets}/design/exploration/use-cases/inventory-use-case/upload_8778c8ce139d732e86e8428b12f3b93a.png (100%) rename {assets => docs/assets}/design/exploration/use-cases/inventory-use-case/upload_97efbdbbb32ddccc2fc7f7e52ff5b27d.png (100%) rename {assets => docs/assets}/design/exploration/use-cases/inventory-use-case/upload_b512855b310bfae40346287502d79a67.png (100%) rename {assets => docs/assets}/design/exploration/use-cases/inventory-use-case/upload_bdd3d8b7374bfb87008a84fb2c7ea6fa.png (100%) rename {assets => docs/assets}/design/exploration/use-cases/inventory-use-case/upload_c59d472471972af4e4dfca4fac7d85f6.png (100%) rename {assets => docs/assets}/design/exploration/use-cases/inventory-use-case/upload_d4e8c65f14798f6c23994d7cc932013c.png (100%) rename {assets => docs/assets}/design/exploration/use-cases/inventory-use-case/upload_dc154ba62bd6f635d17b429f139ded44.png (100%) rename {assets => docs/assets}/design/exploration/use-cases/inventory-use-case/upload_fd74b5ef559d82b4e5086e08ff0565f4.png (100%) rename {assets => docs/assets}/design/specs/add-formula-column/2ud3EckJJ5TeEX1SMR1D7Y.png (100%) rename {assets => docs/assets}/design/specs/add-formula-column/4nmcRjLxr3mHpngZxFDZfx.png (100%) rename {assets => docs/assets}/design/specs/add-formula-column/5si6jjAr1FPZ39bw968N5N.png (100%) rename {assets => docs/assets}/design/specs/add-formula-column/bXgh99SMozaUyBNvQHa1g8.png (100%) rename {assets => docs/assets}/design/specs/add-formula-column/dS6sAay4Re9f2R39zKDDj8.png (100%) rename {assets => docs/assets}/design/specs/add-formula-column/iwXpHctgMSRNcYQjeY7MBe.png (100%) rename {assets => docs/assets}/design/specs/add-formula-column/j2UsBsrGYshUtfTS6jcEQt.png (100%) rename {assets => docs/assets}/design/specs/add-formula-column/nBHVJCNiZ2PgJMrn1wdGcL.png (100%) rename {assets => docs/assets}/design/specs/add-formula-column/p3ta6G69SiMgL61XYZg24m.png (100%) rename {assets => docs/assets}/design/specs/add-formula-column/sqqrcNeq3CVQaUtZiBG9ov.png (100%) rename {assets => docs/assets}/design/specs/add-formula-column/svLZHynK3NqVkjofBmqgMj.png (100%) rename {assets => docs/assets}/design/specs/add-formula-column/wnDL3cvcR9R3cgPwR3Co2.png (100%) rename {assets => docs/assets}/design/specs/add-update-delete-records/3LD4REZ.png (100%) rename {assets => docs/assets}/design/specs/add-update-delete-records/3RYqaUH.png (100%) rename {assets => docs/assets}/design/specs/add-update-delete-records/6EjAxO9.png (100%) rename {assets => docs/assets}/design/specs/add-update-delete-records/6KnTJfR.png (100%) rename {assets => docs/assets}/design/specs/add-update-delete-records/GXqOHol.png (100%) rename {assets => docs/assets}/design/specs/add-update-delete-records/GmtmLaj.png (100%) rename {assets => docs/assets}/design/specs/add-update-delete-records/IqIKvbi.png (100%) rename {assets => docs/assets}/design/specs/add-update-delete-records/PTp51fp.png (100%) rename {assets => docs/assets}/design/specs/add-update-delete-records/Tif1Pcx.png (100%) rename {assets => docs/assets}/design/specs/add-update-delete-records/UJE4o2J.png (100%) rename {assets => docs/assets}/design/specs/add-update-delete-records/WaEWViQ.png (100%) rename {assets => docs/assets}/design/specs/add-update-delete-records/XK61ZO6.png (100%) rename {assets => docs/assets}/design/specs/add-update-delete-records/ZC0uhJp.png (100%) rename {assets => docs/assets}/design/specs/add-update-delete-records/cwG5AQ7.png (100%) rename {assets => docs/assets}/design/specs/add-update-delete-records/i9t1LFe.png (100%) rename {assets => docs/assets}/design/specs/add-update-delete-records/kETg4x2.png (100%) rename {assets => docs/assets}/design/specs/add-update-delete-records/mDe3Vpr.png (100%) rename {assets => docs/assets}/design/specs/add-update-delete-records/sbz7eIR.png (100%) rename {assets => docs/assets}/design/specs/add-update-delete-records/vzJIXPL.png (100%) rename {assets => docs/assets}/design/specs/add-update-delete-records/wvKnuSQ.png (100%) rename {assets => docs/assets}/design/specs/column-extraction/7prBiuRUXhPYi6wZxwRcyV.png (100%) rename {assets => docs/assets}/design/specs/column-extraction/8p3u9NbBGBr6gqPx7VW9RZ.png (100%) rename {assets => docs/assets}/design/specs/column-extraction/99zmoTssPdnh2AYS5tDeWJ.png (100%) rename {assets => docs/assets}/design/specs/column-extraction/gzGpUGi1srtxQ2kwd2TruB.png (100%) rename {assets => docs/assets}/design/specs/data-type-options/6VPzH8Cd7USbhf6jZpzQvc.png (100%) rename {assets => docs/assets}/design/specs/data-type-options/fpnLR7JtkJJZXGybZoYL8d.png (100%) rename {assets => docs/assets}/design/specs/database-switching/0vScHwP.png (100%) rename {assets => docs/assets}/design/specs/database-switching/JGIqCOi.png (100%) rename {assets => docs/assets}/design/specs/database-switching/mCwwg8S.png (100%) rename {assets => docs/assets}/design/specs/database-switching/qMsmiZo.png (100%) rename {assets => docs/assets}/design/specs/filter-sort-group/B1S_G4Rc_.png (100%) rename {assets => docs/assets}/design/specs/filter-sort-group/Bk59qfRcu.png (100%) rename {assets => docs/assets}/design/specs/filter-sort-group/BkaxwEC5O.png (100%) rename {assets => docs/assets}/design/specs/filter-sort-group/ByO-PVR9_.png (100%) rename {assets => docs/assets}/design/specs/filter-sort-group/HJKi4iR5O.png (100%) rename {assets => docs/assets}/design/specs/filter-sort-group/Hk8Kt0Nsd.png (100%) rename {assets => docs/assets}/design/specs/filter-sort-group/HkowXkBj_.png (100%) rename {assets => docs/assets}/design/specs/filter-sort-group/HyTm5Q0qd.png (100%) rename {assets => docs/assets}/design/specs/filter-sort-group/HyaqfcVod.png (100%) rename {assets => docs/assets}/design/specs/filter-sort-group/Ra5lOmJ.png (100%) rename {assets => docs/assets}/design/specs/filter-sort-group/S1U7zXRcu.png (100%) rename {assets => docs/assets}/design/specs/filter-sort-group/S1s58409d.png (100%) rename {assets => docs/assets}/design/specs/filter-sort-group/S1uJu5A5_.png (100%) rename {assets => docs/assets}/design/specs/filter-sort-group/S1y7ZXC9O.png (100%) rename {assets => docs/assets}/design/specs/filter-sort-group/SJiH-i0qu.png (100%) rename {assets => docs/assets}/design/specs/filter-sort-group/SkSMQkrod.png (100%) rename {assets => docs/assets}/design/specs/filter-sort-group/SkfardkoO.png (100%) rename {assets => docs/assets}/design/specs/filter-sort-group/SknEcm09O.png (100%) rename {assets => docs/assets}/design/specs/filter-sort-group/r1Q7VsCcd.png (100%) rename {assets => docs/assets}/design/specs/filter-sort-group/rJYKrdyou.png (100%) rename {assets => docs/assets}/design/specs/filter-sort-group/rJioPmRc_.png (100%) rename {assets => docs/assets}/design/specs/filter-sort-group/rkY-Lnrou.png (100%) rename {assets => docs/assets}/design/specs/filter-sort-group/rkeLEjRq_.png (100%) rename {assets => docs/assets}/design/specs/filter-sort-group/tzQmsIT.png (100%) rename {assets => docs/assets}/design/specs/inline-save-edit/185621416-fe829bc5-9016-48e4-8633-647b365857ef.png (100%) rename {assets => docs/assets}/design/specs/inline-save-edit/185630760-1e0360d4-f286-4b99-ab8e-0b22e719ed76.png (100%) rename {assets => docs/assets}/design/specs/inline-save-edit/185633330-26a682a5-50b1-4bd0-a4f9-828bed43d0c0.png (100%) rename {assets => docs/assets}/design/specs/lookup-field-component/BJuBNu_su.png (100%) rename {assets => docs/assets}/design/specs/lookup-field-component/Cr6i2pU.png (100%) rename {assets => docs/assets}/design/specs/lookup-field-component/aP3hoGa.png (100%) rename {assets => docs/assets}/design/specs/lookup-field-component/b92JFFc.png (100%) rename {assets => docs/assets}/design/specs/lookup-field-component/dKPcSq3.png (100%) rename {assets => docs/assets}/design/specs/lookup-field-component/eej36bN.png (100%) rename {assets => docs/assets}/design/specs/lookup-field-component/hdL78gs.png (100%) rename {assets => docs/assets}/design/specs/lookup-field-component/jRBFNUO.png (100%) rename {assets => docs/assets}/design/specs/lookup-field-component/rygEN__i_.png (100%) rename {assets => docs/assets}/design/specs/navigation-updates/180155893-8e997029-6397-4b56-b4d6-8515668b6f3e.png (100%) rename {assets => docs/assets}/design/specs/navigation-updates/180157771-7e98353c-544d-4681-bb04-0f0a3efb10d3.png (100%) rename {assets => docs/assets}/design/specs/navigation-updates/180193437-ca7d0358-e3d9-4118-be8d-bbba95135b5c.png (100%) rename {assets => docs/assets}/design/specs/navigation-updates/180197191-e7607eac-105b-4ee6-a0fe-68ee40bfff84.png (100%) rename {assets => docs/assets}/design/specs/navigation-updates/180244256-3594fb03-21dd-4194-b812-e1f51975f796.png (100%) rename {assets => docs/assets}/design/specs/pagination/1oghfOu.png (100%) rename {assets => docs/assets}/design/specs/pagination/HyZR_lN9d.png (100%) rename {assets => docs/assets}/design/specs/read-only-table/5AEnei2.png (100%) rename {assets => docs/assets}/design/specs/read-only-table/9XbmVXw.png (100%) rename {assets => docs/assets}/design/specs/read-only-table/BJJCkI5O_.png (100%) rename {assets => docs/assets}/design/specs/read-only-table/CZ0cHvM.png (100%) rename {assets => docs/assets}/design/specs/read-only-table/D2oJz5s.png (100%) rename {assets => docs/assets}/design/specs/read-only-table/FVrZz22.png (100%) rename {assets => docs/assets}/design/specs/read-only-table/S1ez3TSqdu.png (100%) rename {assets => docs/assets}/design/specs/read-only-table/UM72eeI.png (100%) rename {assets => docs/assets}/design/specs/read-only-table/WchoIDA.png (100%) rename {assets => docs/assets}/design/specs/read-only-table/r1iJkI9_d.png (100%) rename {assets => docs/assets}/design/specs/read-only-table/z7s80vm.png (100%) rename {assets => docs/assets}/design/specs/record-selector/173131159-2723a75e-2dcb-443a-a3c5-97d5657f5882.png (100%) rename {assets => docs/assets}/design/specs/record-selector/173131894-bbbd945a-0748-42b6-b510-b258c7aeb6a0.png (100%) rename {assets => docs/assets}/design/specs/record-selector/173132518-e93987c8-9cda-4d8f-9de3-f37a6bf7cc1a.png (100%) rename {assets => docs/assets}/design/specs/record-selector/173816522-eda451c1-046d-46f1-bfc0-6abdf4f2c085.png (100%) rename {assets => docs/assets}/design/specs/record-selector/air-table-fk-cell-data-entry-example.png (100%) rename {assets => docs/assets}/design/specs/record-selector/fk-cell-underlined-record-summary.png (100%) rename {assets => docs/assets}/design/specs/record-selector/linked-record-data-entry-mockup-grid.png (100%) rename {assets => docs/assets}/design/specs/record-summary/179570423-e41b54e2-ebd7-4e73-acb2-8337ec6bb2db.png (100%) rename {assets => docs/assets}/design/specs/record-summary/179571077-3ab610ff-d0ca-4d70-b840-e760dd567edb.png (100%) rename {assets => docs/assets}/design/specs/record-summary/195416813-cd6a7d4a-d8f9-4693-ad34-ff0fb0b8dc7e.png (100%) rename {assets => docs/assets}/design/specs/table-creation-controls/ksN9Z6d.png (100%) rename {assets => docs/assets}/design/specs/table-import/6XqnBjSAk2FUAK8DyexoU5.png (100%) rename {assets => docs/assets}/design/specs/table-import/8WvP45gNpqAm3UYUM1r3m2.png (100%) rename {assets => docs/assets}/design/specs/table-import/9d1wf4y7cgBUawWbdcoThs.png (100%) rename {assets => docs/assets}/design/specs/table-import/agFL3gk3gc7pkgjc2GUcw3.png (100%) rename {assets => docs/assets}/design/specs/table-import/asGm1LMUCEvjCd1jBdcDEA.png (100%) rename {assets => docs/assets}/design/specs/table-import/g1YFz8wYRm71tQ5W6skCX7.png (100%) rename {assets => docs/assets}/design/specs/table-import/kLkhvgR9Uk1njGbmgh9msB.png (100%) rename {assets => docs/assets}/design/specs/table-import/r7fmqfwG2hmjTTbwvMRehr.png (100%) rename {assets => docs/assets}/design/specs/table-import/uC1C6dxPCze6oiHHTAkAvt.png (100%) rename {assets => docs/assets}/design/specs/table-import/uhmhbecvbb8cji2LVGFRWo.png (100%) rename {assets => docs/assets}/design/specs/table-import/vr3pvTp1cUsMJw7gb8xNKY.png (100%) rename {assets => docs/assets}/design/specs/table-inspector/182186186-91449400-5608-42a2-8f05-33506cb2532b.png (100%) rename {assets => docs/assets}/design/specs/table-inspector/182355968-c9129949-344a-4e41-a685-90700a816141.png (100%) rename {assets => docs/assets}/design/specs/table-inspector/182356613-1b222a0b-f77f-4a15-a9df-84ed874ce5f3.gif (100%) rename {assets => docs/assets}/design/specs/table-inspector/182356749-88273bdb-d4c8-4495-9aa8-c10816171059.png (100%) rename {assets => docs/assets}/design/specs/table-inspector/182357016-aba81b9e-a45a-4466-808a-6e4963a01038.png (100%) rename {assets => docs/assets}/design/specs/table-inspector/183378847-b942ecd3-6f3c-4cd4-8cc4-3080a041b2a4.png (100%) rename {assets => docs/assets}/design/specs/table-inspector/183380108-b3db8d3b-7301-4a19-bc38-cd777a4dde46.png (100%) rename {assets => docs/assets}/design/specs/table-inspector/183432613-ead6315e-3802-4345-9427-820c66094797.png (100%) rename {assets => docs/assets}/design/specs/table-inspector/183433425-9a906a91-28a4-4045-9300-732af811ed8d.png (100%) rename {assets => docs/assets}/design/specs/table-inspector/183444464-fb268bfc-77e2-45cf-9180-373cf950ca63.png (100%) rename {assets => docs/assets}/design/specs/table-inspector/183445209-a2d7bf2c-453b-4cae-84e8-94b645ce9271.png (100%) rename {assets => docs/assets}/engineering/research/formulas/b7a53348-4811-42f6-a562-f6d31b955af6 (100%) rename {assets => docs/assets}/engineering/specs/dependents-graph/schema_del1.png (100%) rename {assets => docs/assets}/engineering/specs/dependents-graph/schema_del2.png (100%) rename {assets => docs/assets}/engineering/specs/record-selector/173131159-2723a75e-2dcb-443a-a3c5-97d5657f5882.png (100%) rename {assets => docs/assets}/engineering/specs/record-selector/173131894-bbbd945a-0748-42b6-b510-b258c7aeb6a0.png (100%) rename {assets => docs/assets}/engineering/specs/record-selector/173132518-e93987c8-9cda-4d8f-9de3-f37a6bf7cc1a.png (100%) rename {assets => docs/assets}/engineering/specs/record-selector/173816522-eda451c1-046d-46f1-bfc0-6abdf4f2c085.png (100%) rename {assets => docs/assets}/expected-install-flow.svg (100%) rename {assets => docs/assets}/mathesar_installation_flow(2023-07-10).drawio.svg (100%) rename {assets => docs/assets}/meeting-notes/2022-02/SkCTNfXeq.png (100%) rename {assets => docs/assets}/meeting-notes/2022-08/B1jXFLtT5.png (100%) rename {assets => docs/assets}/meeting-notes/2022-08/BkZ-kcZ6c.png (100%) rename {assets => docs/assets}/meeting-notes/2022-08/rJh8rDKpc.png (100%) rename {assets => docs/assets}/meeting-notes/may-2021/H1XXmRMFu.png (100%) rename {assets => docs/assets}/meeting-notes/may-2021/SJYg_0zFO.png (100%) rename {assets => docs/assets}/meeting-notes/may-2021/ry7ADAMFd.png (100%) rename {assets => docs/assets}/meeting-notes/may-2021/ryhXWAGYu.png (100%) rename {assets => docs/assets}/meeting-notes/may-2021/upload_f6576614be01e5b8aeaac90dbb9eaa5c.png (100%) rename {assets => docs/assets}/product/concepts/data-types/screen_shot_2022-01-06_at_2.46.23_pm.png (100%) rename {assets => docs/assets}/product/specs/2022-01-views/03-the-query-builder/view_flowchart.drawio.png (100%) rename {assets => docs/assets}/product/specs/2022-01-views/04-formulas/view_builder_4.png (100%) rename {assets => docs/assets}/product/specs/2022-01-views/06-view-columns/screen_shot_2022-01-20_at_4.21.05_pm.png (100%) rename {assets => docs/assets}/product/specs/2022-01-views/06-view-columns/screen_shot_2022-01-20_at_4.23.21_pm.png (100%) rename {assets => docs/assets}/product/specs/dynamic-defaults-proto/upload_ebe944f590f61b67ea9a5646d45668a5.png (100%) rename {assets => docs/assets}/product/specs/example-schema/movie_schema_2.drawio.png (100%) rename {assets => docs/assets}/product/specs/example-schema/movie_schema_3.drawio.png (100%) rename {assets => docs/assets}/product/specs/publicly-shareable-links/public_links_one_table_per_entity.png (100%) rename {assets => docs/assets}/product/specs/publicly-shareable-links/public_links_sparse_table.png (100%) rename {assets => docs/assets}/product/specs/publicly-shareable-links/public_links_sparse_table_metadata.png (100%) rename {assets => docs/assets}/product/specs/users-permissions/rls.png (100%) rename {assets => docs/assets}/product/specs/users-permissions/sharing.png (100%) rename {assets => docs/assets}/product/specs/users-permissions/sign-in.png (100%) rename {assets => docs/assets}/product/specs/users-permissions/user-page-custom.png (100%) rename {assets => docs/assets}/product/specs/users-permissions/user-page.png (100%) rename {assets => docs/assets}/product/specs/users-permissions/users.png (100%) rename {assets => docs/assets}/projects/installation-improvements-0_1_3/current_install_flow_0.1.3.png (100%) rename {assets => docs/assets}/projects/list-datatype/data_types_dropdown.png (100%) rename {assets => docs/assets}/projects/list-datatype/input_box.png (100%) rename {assets => docs/assets}/projects/list-datatype/llenar_celda.png (100%) rename {assets => docs/assets}/projects/list-datatype/visualizacion_columna.png (100%) rename {assets => docs/assets}/team/guide/meetings/screen_shot_2022-12-08_at_9.53.42_pm.png (100%) rename {assets => docs/assets}/team/guide/meetings/screen_shot_2022-12-08_at_9.53.57_pm.png (100%) rename community.md => docs/community.md (100%) rename {community => docs/community}/contributing.md (100%) rename {community => docs/community}/discord.md (100%) rename {community => docs/community}/events.md (100%) rename {community => docs/community}/events/2022-01-22.md (100%) rename {community => docs/community}/events/2022-03-21-to-2022-03-25.md (100%) rename {community => docs/community}/events/2022-03-28-to-2022-03-31.md (100%) rename {community => docs/community}/events/2022-04-04-to-2022-04-08.md (100%) rename {community => docs/community}/events/2022-04-12-to-2022-04-15.md (100%) rename {community => docs/community}/events/2023-03-27-to-2023-03-29.md (100%) rename {community => docs/community}/github.md (100%) rename {community => docs/community}/mailing-lists.md (100%) rename {community => docs/community}/matrix.md (100%) rename {community => docs/community}/mentoring.md (100%) rename {community => docs/community}/mentoring/applicant-guide.md (100%) rename {community => docs/community}/mentoring/mentee-guide.md (100%) rename {community => docs/community}/mentoring/mentor-guide.md (100%) rename {community => docs/community}/mentoring/project-idea-template.md (100%) rename {community => docs/community}/mentoring/project-ideas.md (100%) rename {community => docs/community}/mentoring/project-ideas/api-documentation.md (100%) rename {community => docs/community}/mentoring/project-ideas/archive.md (100%) rename {community => docs/community}/mentoring/project-ideas/auto-suggest-normalization.md (100%) rename {community => docs/community}/mentoring/project-ideas/automatic-hint-reflection.md (100%) rename {community => docs/community}/mentoring/project-ideas/break-out-columns.md (100%) rename {community => docs/community}/mentoring/project-ideas/data-export.md (100%) rename {community => docs/community}/mentoring/project-ideas/db-views.md (100%) rename {community => docs/community}/mentoring/project-ideas/dependency-graph.md (100%) rename {community => docs/community}/mentoring/project-ideas/file-data-types.md (100%) rename {community => docs/community}/mentoring/project-ideas/import-data-into-existing-tables.md (100%) rename {community => docs/community}/mentoring/project-ideas/import-excel-json-files.md (100%) rename {community => docs/community}/mentoring/project-ideas/json-data-type.md (100%) rename {community => docs/community}/mentoring/project-ideas/json-editor.md (100%) rename {community => docs/community}/mentoring/project-ideas/kanban-view.md (100%) rename {community => docs/community}/mentoring/project-ideas/list-data-type.md (100%) rename {community => docs/community}/mentoring/project-ideas/location-data-type.md (100%) rename {community => docs/community}/mentoring/project-ideas/make-casting-functions-inlinable.md (100%) rename {community => docs/community}/mentoring/project-ideas/more-data-import-sources.md (100%) rename {community => docs/community}/mentoring/project-ideas/more-summarizations.md (100%) rename {community => docs/community}/mentoring/project-ideas/persist-ui-configuration.md (100%) rename {community => docs/community}/mentoring/project-ideas/phone-number-data-type.md (100%) rename {community => docs/community}/mentoring/project-ideas/postgis-data-types.md (100%) rename {community => docs/community}/mentoring/project-ideas/sharable-forms.md (100%) rename {community => docs/community}/mentoring/project-ideas/single-select-data-type.md (100%) rename {community => docs/community}/mentoring/project-ideas/suggest-candidate-columns.md (100%) rename {community => docs/community}/mentoring/project-ideas/support-default-postgres-types.md (100%) rename {community => docs/community}/mentoring/project-ideas/ui-import-data-existing-table.md (100%) rename {community => docs/community}/mentoring/project-ideas/visualization-of-grouped-data.md (100%) rename {community => docs/community}/mentoring/project-ideas/web-sql-editor.md (100%) rename {community => docs/community}/mentoring/project-proposal-template.md (100%) rename {community => docs/community}/setup_in_windows.md (100%) rename cycle_2_user_flow.pdf => docs/cycle_2_user_flow.pdf (100%) rename {design-assets => docs/design-assets}/upload_c59d472471972af4e4dfca4fac7d85f6.png (100%) rename design.md => docs/design.md (100%) rename {design => docs/design}/design-principles.md (100%) rename {design => docs/design}/exploration.md (100%) rename {design => docs/design}/exploration/data-management-skills.md (100%) rename {design => docs/design}/exploration/data-types.md (100%) rename {design => docs/design}/exploration/filters.md (100%) rename {design => docs/design}/exploration/inventory-data-exploration.md (100%) rename {design => docs/design}/exploration/use-cases.md (100%) rename {design => docs/design}/exploration/use-cases/inventory-use-case.md (100%) rename {design => docs/design}/process.md (100%) rename {design => docs/design}/process/deliverables.md (100%) rename {design => docs/design}/process/design-system.md (100%) rename {design => docs/design}/process/review-guidelines.md (100%) rename {design => docs/design}/reports.md (100%) rename {design => docs/design}/reports/inventory-use-case.md (100%) rename {design => docs/design}/reports/tool-category.md (100%) rename {design => docs/design}/resources.md (100%) rename {design => docs/design}/specs.md (100%) rename {design => docs/design}/specs/Formulas.md (100%) rename {design => docs/design}/specs/add-formula-column.md (100%) rename {design => docs/design}/specs/add-update-delete-records.md (100%) rename {design => docs/design}/specs/boolean-data-type.md (100%) rename {design => docs/design}/specs/clipboard-interactions.md (100%) rename {design => docs/design}/specs/column-extraction.md (100%) rename {design => docs/design}/specs/create-edit-delete-views.md (100%) rename {design => docs/design}/specs/data-type-duration.md (100%) rename {design => docs/design}/specs/data-type-options.md (100%) rename {design => docs/design}/specs/data-types-text.md (100%) rename {design => docs/design}/specs/database-switching.md (100%) rename {design => docs/design}/specs/date-time-data-type.md (100%) rename {design => docs/design}/specs/eding-view-records.md (100%) rename {design => docs/design}/specs/email-data-type.md (100%) rename {design => docs/design}/specs/filter-sort-group.md (100%) rename {design => docs/design}/specs/foreign-key-constraints.md (100%) rename {design => docs/design}/specs/global-data-type-components.md (100%) rename {design => docs/design}/specs/import-status.md (100%) rename {design => docs/design}/specs/inline-save-edit.md (100%) rename {design => docs/design}/specs/listing-views.md (100%) rename {design => docs/design}/specs/lookup-field-component.md (100%) rename {design => docs/design}/specs/money-data-type.md (100%) rename {design => docs/design}/specs/multiple-records-spec.md (100%) rename {design => docs/design}/specs/navigation-updates.md (100%) rename {design => docs/design}/specs/navigation.md (100%) rename {design => docs/design}/specs/non-mathesar-data-types.md (100%) rename {design => docs/design}/specs/number-data-type.md (100%) rename {design => docs/design}/specs/pagination.md (100%) rename {design => docs/design}/specs/read-only-table.md (100%) rename {design => docs/design}/specs/record-page.md (100%) rename {design => docs/design}/specs/record-selector.md (100%) rename {design => docs/design}/specs/record-summary.md (100%) rename {design => docs/design}/specs/schemas.md (100%) rename {design => docs/design}/specs/sidebar-improvements.md (100%) rename {design => docs/design}/specs/specs-null-values.md (100%) rename {design => docs/design}/specs/table-creation-controls.md (100%) rename {design => docs/design}/specs/table-import.md (100%) rename {design => docs/design}/specs/table-inspector.md (100%) rename {design => docs/design}/specs/table-operations.md (100%) rename {design => docs/design}/specs/ui-styling.md (100%) rename {design => docs/design}/specs/url-data-type.md (100%) rename {design => docs/design}/specs/viewing-views-specs.md (100%) rename {design => docs/design}/specs/views-one-to-many-relationships.md (100%) rename {design => docs/design}/specs/visual-query-builder.md (100%) rename {design => docs/design}/specs/working-with-columns.md (100%) rename {design => docs/design}/standards.md (100%) rename engineering.md => docs/engineering.md (100%) rename {engineering => docs/engineering}/architecture.md (100%) rename {engineering => docs/engineering}/architecture/api-standards.md (100%) rename {engineering => docs/engineering}/architecture/front-end-standards.md (100%) rename {engineering => docs/engineering}/archive.md (100%) rename {engineering => docs/engineering}/archive/decisions.md (100%) rename {engineering => docs/engineering}/code-review.md (100%) rename {engineering => docs/engineering}/code-review/backend.md (100%) rename {engineering => docs/engineering}/common-issues.md (100%) rename {engineering => docs/engineering}/glossary.md (100%) rename {engineering => docs/engineering}/glossary/filters.md (100%) rename {engineering => docs/engineering}/glossary/ui-types.md (100%) rename {engineering => docs/engineering}/release-process.md (100%) rename {engineering => docs/engineering}/reports.md (100%) rename {engineering => docs/engineering}/reports/gsoc-2022-dependents-graph.md (100%) rename {engineering => docs/engineering}/reports/gsoc-2022-importing-data-into-existing-tables.md (100%) rename {engineering => docs/engineering}/reports/gsoc-2022-json-type.md (100%) rename {engineering => docs/engineering}/reports/list-datatype.md (100%) rename {engineering => docs/engineering}/research.md (100%) rename {engineering => docs/engineering}/research/formulas.md (100%) rename {engineering => docs/engineering}/resources.md (100%) rename {engineering => docs/engineering}/setup.md (100%) rename {engineering => docs/engineering}/setup/common-issues.md (100%) rename {engineering => docs/engineering}/specs.md (100%) rename {engineering => docs/engineering}/specs/dateandtime.md (100%) rename {engineering => docs/engineering}/specs/ddl.md (100%) rename {engineering => docs/engineering}/specs/dependents-graph.md (100%) rename {engineering => docs/engineering}/specs/dml.md (100%) rename {engineering => docs/engineering}/specs/import-preview-api.md (100%) rename {engineering => docs/engineering}/specs/internationalization.md (100%) rename {engineering => docs/engineering}/specs/numbers.md (100%) rename {engineering => docs/engineering}/specs/record-selector.md (100%) rename {engineering => docs/engineering}/specs/syncing.md (100%) rename {engineering => docs/engineering}/standards.md (100%) rename {engineering => docs/engineering}/standards/api.md (100%) rename {engineering => docs/engineering}/standards/frontend.md (100%) rename home.md => docs/home.md (100%) rename jobs.md => docs/jobs.md (100%) rename {jobs => docs/jobs}/2022-06-localization-engineer.md (100%) rename logo.png => docs/logo.png (100%) rename marketing.md => docs/marketing.md (100%) rename {marketing => docs/marketing}/copy.md (100%) rename {marketing => docs/marketing}/history.md (100%) rename {marketing => docs/marketing}/sites.md (100%) rename mathesar_elephant.png => docs/mathesar_elephant.png (100%) rename mathesar_primary_shaded_ver_rgb.png => docs/mathesar_primary_shaded_ver_rgb.png (100%) rename meeting-notes.md => docs/meeting-notes.md (100%) rename {meeting-notes => docs/meeting-notes}/2021-11.md (100%) rename {meeting-notes => docs/meeting-notes}/2021-12.md (100%) rename {meeting-notes => docs/meeting-notes}/2022-01.md (100%) rename {meeting-notes => docs/meeting-notes}/2022-02.md (100%) rename {meeting-notes => docs/meeting-notes}/2022-03.md (100%) rename {meeting-notes => docs/meeting-notes}/2022-04.md (100%) rename {meeting-notes => docs/meeting-notes}/2022-05.md (100%) rename {meeting-notes => docs/meeting-notes}/2022-06.md (100%) rename {meeting-notes => docs/meeting-notes}/2022-07.md (100%) rename {meeting-notes => docs/meeting-notes}/2022-08.md (100%) rename {meeting-notes => docs/meeting-notes}/2022-09.md (100%) rename {meeting-notes => docs/meeting-notes}/2022-10.md (100%) rename {meeting-notes => docs/meeting-notes}/2022-10/2022-10-04-backend.md (100%) rename {meeting-notes => docs/meeting-notes}/2022-10/2022-10-05-weekly.md (100%) rename {meeting-notes => docs/meeting-notes}/2022-10/2022-10-12-weekly.md (100%) rename {meeting-notes => docs/meeting-notes}/2022-10/2022-10-19-weekly.md (100%) rename {meeting-notes => docs/meeting-notes}/2022-10/2022-10-26-weekly.md (100%) rename {meeting-notes => docs/meeting-notes}/2022-11.md (100%) rename {meeting-notes => docs/meeting-notes}/2022-11/2022-11-02-weekly.md (100%) rename {meeting-notes => docs/meeting-notes}/2022-11/2022-11-09-weekly.md (100%) rename {meeting-notes => docs/meeting-notes}/2022-11/2022-11-17-weekly.md (100%) rename {meeting-notes => docs/meeting-notes}/2022-11/2022-11-28-planning.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-01.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-01/2023-01-05-planning.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-01/2023-01-18-fe-new-feature-rfc.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-01/2023-01-20-partial-user-input-of-dates.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-02.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-02/2023-02-01-team.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-02/2023-02-08-launch-planning.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-02/2023-02-10-launch-check-in.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-02/2023-02-13-launch-check-in.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-02/2023-02-15-launch-check-in.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-02/2023-02-17-launch-check-in.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-02/2023-02-21-launch-check-in.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-02/2023-02-22-launch-check-in.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-02/2023-02-23-launch-check-in.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-02/2023-02-24-launch-update-email.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-02/2023-02-27-deployment-check-in.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-03.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-03/2023-03-02-launch-check-in.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-03/2023-03-07-priorities-workflow-meeting.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-03/2023-03-08-removing-sqlachemy-meeting.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-03/2023-03-17-installation-improvements-meeting.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-03/2023-03-20-handling-regressions.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-03/2023-03-29-team-meeting.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-03/backend-meeting-2023-03-13.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-03/core-team-meeting-2023-03-15.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-03/installation-improvements-in-0-1-2.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-03/release-plan-0_1_2.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-03/responsibilities-projects-meeting-2023-03-15.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-04.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-04/2023-04-03-installation-plan-finalization.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-05.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-05/2023-05-03-team-meeting.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-05/2023-05-10-team-meeting.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-05/2023-05-30-front-end-team-meeting.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-06.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-06/2023-06-07-team-meeting.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-06/2023-06-13-installation-planning-meeting.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-06/2023-06-27-team-meeting.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-07.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-07/2023-07-03-team-meeting.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-07/2023-07-06-installation-meeting.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-07/2023-07-06-team-meeting.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-07/2023-07-11-installation-meeting.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-07/2023-07-26-team-meeting.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-07/2023-07-28-installation-meeting.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-08.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-08/2023-08-09-team-meeting.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-08/2023-08-10-team-meeting.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-08/2023-08-18-team-meeting.md (100%) rename {meeting-notes => docs/meeting-notes}/2023-08/2023-08-23-team-meeting.md (100%) rename {meeting-notes => docs/meeting-notes}/april-2021.md (100%) rename {meeting-notes => docs/meeting-notes}/august-2021.md (100%) rename {meeting-notes => docs/meeting-notes}/july-2021.md (100%) rename {meeting-notes => docs/meeting-notes}/june-2021.md (100%) rename {meeting-notes => docs/meeting-notes}/may-2021.md (100%) rename {meeting-notes => docs/meeting-notes}/october-2021.md (100%) rename {meeting-notes => docs/meeting-notes}/september-2021.md (100%) rename product.md => docs/product.md (100%) rename {product => docs/product}/about.md (100%) rename {product => docs/product}/concepts.md (100%) rename {product => docs/product}/concepts/data-types.md (100%) rename {product => docs/product}/concepts/databases.md (100%) rename {product => docs/product}/concepts/filters.md (100%) rename {product => docs/product}/concepts/schemas.md (100%) rename {product => docs/product}/concepts/tables.md (100%) rename {product => docs/product}/concepts/views.md (100%) rename {product => docs/product}/feature-ideas.md (100%) rename {product => docs/product}/feedback.md (100%) rename {product => docs/product}/feedback/2023-03.md (100%) rename {product => docs/product}/list_datatype_project/ui_create_list_col.png (100%) rename {product => docs/product}/principles.md (100%) rename {product => docs/product}/related.md (100%) rename {product => docs/product}/resources.md (100%) rename {product => docs/product}/roadmap.md (100%) rename {product => docs/product}/specs.md (100%) rename {product => docs/product}/specs/2022-01-views.md (100%) rename {product => docs/product}/specs/2022-01-views/01-assumptions.md (100%) rename {product => docs/product}/specs/2022-01-views/02-feature-requirements.md (100%) rename {product => docs/product}/specs/2022-01-views/03-the-query-builder.md (100%) rename {product => docs/product}/specs/2022-01-views/04-formulas.md (100%) rename {product => docs/product}/specs/2022-01-views/04-formulas/4a-record-aggregations.md (100%) rename {product => docs/product}/specs/2022-01-views/04-formulas/4b-random-generators.md (100%) rename {product => docs/product}/specs/2022-01-views/04-formulas/4c-text-formulas.md (100%) rename {product => docs/product}/specs/2022-01-views/04-formulas/4d-number-formulas.md (100%) rename {product => docs/product}/specs/2022-01-views/04-formulas/4e-boolean-formulas.md (100%) rename {product => docs/product}/specs/2022-01-views/04-formulas/4f-datetime-formulas.md (100%) rename {product => docs/product}/specs/2022-01-views/04-formulas/4g-list-formulas.md (100%) rename {product => docs/product}/specs/2022-01-views/04-formulas/4h-cumulative-formulas.md (100%) rename {product => docs/product}/specs/2022-01-views/04-formulas/4i-regex-formulas.md (100%) rename {product => docs/product}/specs/2022-01-views/04-formulas/4j-custom-formulas.md (100%) rename {product => docs/product}/specs/2022-01-views/05-view-structure.md (100%) rename {product => docs/product}/specs/2022-01-views/06-view-columns.md (100%) rename {product => docs/product}/specs/2022-01-views/07-breaking-down-db-queries.md (100%) rename {product => docs/product}/specs/2022-01-views/08-appendix.md (100%) rename {product => docs/product}/specs/dynamic-defaults-proto.md (100%) rename {product => docs/product}/specs/example-schema.md (100%) rename {product => docs/product}/specs/publicly-shareable-links.md (100%) rename {product => docs/product}/specs/undo-quick-save-functionality.md (100%) rename {product => docs/product}/specs/users-permissions.md (100%) rename projects.md => docs/projects.md (100%) rename {projects => docs/projects}/2023-04-usability-improvements.md (100%) rename {projects => docs/projects}/2023-07-backend-fixes.md (100%) rename {projects => docs/projects}/2023-07-frontend-fixes.md (100%) rename {projects => docs/projects}/2023-07-product-strategy.md (100%) rename {projects => docs/projects}/column-moving.md (100%) rename {projects => docs/projects}/forms-research.md (100%) rename {projects => docs/projects}/formulas-research.md (100%) rename {projects => docs/projects}/frontend-tables-performance.md (100%) rename {projects => docs/projects}/funding.md (100%) rename {projects => docs/projects}/gather-user-feedback.md (100%) rename {projects => docs/projects}/installation-documentation-improvements.md (100%) rename {projects => docs/projects}/installation-improvements-0_1_3.md (100%) rename {projects => docs/projects}/installation-improvements-0_1_4.md (100%) rename {projects => docs/projects}/installation-improvements-plan-0_1_4.md (100%) rename {projects => docs/projects}/internationalization.md (100%) rename {projects => docs/projects}/list-datatype.md (100%) rename {projects => docs/projects}/list-datatype/frontend-specs.md (100%) rename {projects => docs/projects}/niche-research.md (100%) rename {projects => docs/projects}/preexisting-postgres.md (100%) rename {projects => docs/projects}/public-links-research.md (100%) rename {projects => docs/projects}/release-0-1-2.md (100%) rename {projects => docs/projects}/shareable-links-implementation.md (100%) rename {projects => docs/projects}/sql-alchemy-remove.md (100%) rename {projects => docs/projects}/sql-ddl-operations.md (100%) rename {projects => docs/projects}/sql-dml-operations.md (100%) rename {projects => docs/projects}/sql-dql-operations.md (100%) rename {projects => docs/projects}/t-shirts.md (100%) rename {projects => docs/projects}/template.md (100%) rename {projects => docs/projects}/user-feedback-kickoff.md (100%) rename team.md => docs/team.md (100%) rename {team => docs/team}/archive/comms-assignee.md (100%) rename {team => docs/team}/archive/weekly-discussion.md (100%) rename {team => docs/team}/guide.md (100%) rename {team => docs/team}/guide/comm-tips.md (100%) rename {team => docs/team}/guide/events.md (100%) rename {team => docs/team}/guide/issue-assignment.md (100%) rename {team => docs/team}/guide/issue-triage.md (100%) rename {team => docs/team}/guide/meetings.md (100%) rename {team => docs/team}/guide/tools.md (100%) rename {team => docs/team}/guide/workflow.md (100%) rename {team => docs/team}/members.md (100%) rename {team => docs/team}/responsibilities.md (100%) rename {team => docs/team}/responsibilities/fundraising.md (100%) rename {team => docs/team}/responsibilities/gsoc.md (100%) rename {team => docs/team}/responsibilities/installation-help.md (100%) rename {team => docs/team}/responsibilities/marketing.md (100%) rename {team => docs/team}/responsibilities/release-management.md (100%) rename {team => docs/team}/responsibilities/repo-admin.md (100%) rename {team => docs/team}/responsibilities/team-management.md (100%) rename {team => docs/team}/responsibilities/user-feedback.md (100%) rename {team => docs/team}/worklogs.md (100%) rename {team => docs/team}/worklogs/anish.md (100%) rename {team => docs/team}/worklogs/anish/2023-07.md (100%) rename {team => docs/team}/worklogs/brent.md (100%) rename {team => docs/team}/worklogs/dom.md (100%) rename {team => docs/team}/worklogs/ghislaine.md (100%) rename {team => docs/team}/worklogs/ghislaine/2023-07.md (100%) rename {team => docs/team}/worklogs/kriti.md (100%) rename {team => docs/team}/worklogs/kriti/2023-07.md (100%) rename {team => docs/team}/worklogs/mukesh.md (100%) rename {team => docs/team}/worklogs/pavish.md (100%) rename {team => docs/team}/worklogs/pavish/2023-07.md (100%) rename {team => docs/team}/worklogs/rajat.md (100%) rename {team => docs/team}/worklogs/rajat/2023-07.md (100%) rename {team => docs/team}/worklogs/sean.md (100%) create mode 100644 mkdocs.yml create mode 100644 requirements.txt diff --git a/README.md b/README.md new file mode 100644 index 000000000..a3cf7dfdd --- /dev/null +++ b/README.md @@ -0,0 +1,45 @@ +# Mathesar Wiki + +This repository holds the source content for Mathesar's wiki, as published to: + +https://wiki.mathesar.org/ + +## Preview your edits locally + +1. Install requirements + + ``` + pip install -r requirements.txt + ``` + +1. Start MkDocs + + ``` + mkdocs serve -a localhost:9000 + ``` + +1. Preview the docs at http://localhost:9000 + +1. Keep mkdocs running while you edit and your local preview will refresh automatically. + +## Contribution process + +- Core team members are encouraged to push small commits directly to `master`. + +- Community contributors may suggest changes by opening PRs. + +## Reference + +- Our docs run on a distribution of [`mkdocs`](https://www.mkdocs.org/) called [`mkdocs-material`](https://squidfunk.github.io/mkdocs-material/). For basics of doc writing, see the [Writing your docs](https://www.mkdocs.org/user-guide/writing-your-docs/) section of `mkdocs` user guide. + +- For some customization basics, see [Customization](https://squidfunk.github.io/mkdocs-material/customization/) section of `mkdocs-material`'s Getting started guide. To learn about some of `mkdocs-material`'s features (annotations, code blocks, content tabs, etc.), see its [Reference](https://squidfunk.github.io/mkdocs-material/reference/). + +- For page redirects, we use [`mkdocs-redirects`](https://github.com/mkdocs/mkdocs-redirects). + +## See also + +- The [source content for Mathesar's _documentation_](https://github.com/centerofci/mathesar/tree/develop/docs), which also utilizes MkDocs. + +- [Mathesar's homepage](https://mathesar.org/) + +- [Mathesar's main source code repository](https://github.com/centerofci/mathesar) diff --git a/archive.md b/docs/archive.md similarity index 100% rename from archive.md rename to docs/archive.md diff --git a/archive/jobs.md b/docs/archive/jobs.md similarity index 100% rename from archive/jobs.md rename to docs/archive/jobs.md diff --git a/assets/.unused/179518163-968faacf-c3c0-4b5f-a011-6335e0ebe922.png b/docs/assets/.unused/179518163-968faacf-c3c0-4b5f-a011-6335e0ebe922.png similarity index 100% rename from assets/.unused/179518163-968faacf-c3c0-4b5f-a011-6335e0ebe922.png rename to docs/assets/.unused/179518163-968faacf-c3c0-4b5f-a011-6335e0ebe922.png diff --git a/assets/.unused/179518507-ff971ee7-fc09-4c65-aaf0-df8a73743998.png b/docs/assets/.unused/179518507-ff971ee7-fc09-4c65-aaf0-df8a73743998.png similarity index 100% rename from assets/.unused/179518507-ff971ee7-fc09-4c65-aaf0-df8a73743998.png rename to docs/assets/.unused/179518507-ff971ee7-fc09-4c65-aaf0-df8a73743998.png diff --git a/assets/.unused/179518645-c6892e7c-91c5-43a3-a940-b1977ad38d84.png b/docs/assets/.unused/179518645-c6892e7c-91c5-43a3-a940-b1977ad38d84.png similarity index 100% rename from assets/.unused/179518645-c6892e7c-91c5-43a3-a940-b1977ad38d84.png rename to docs/assets/.unused/179518645-c6892e7c-91c5-43a3-a940-b1977ad38d84.png diff --git a/assets/.unused/179570423-e41b54e2-ebd7-4e73-acb2-8337ec6bb2db.png b/docs/assets/.unused/179570423-e41b54e2-ebd7-4e73-acb2-8337ec6bb2db.png similarity index 100% rename from assets/.unused/179570423-e41b54e2-ebd7-4e73-acb2-8337ec6bb2db.png rename to docs/assets/.unused/179570423-e41b54e2-ebd7-4e73-acb2-8337ec6bb2db.png diff --git a/assets/.unused/179571077-3ab610ff-d0ca-4d70-b840-e760dd567edb.png b/docs/assets/.unused/179571077-3ab610ff-d0ca-4d70-b840-e760dd567edb.png similarity index 100% rename from assets/.unused/179571077-3ab610ff-d0ca-4d70-b840-e760dd567edb.png rename to docs/assets/.unused/179571077-3ab610ff-d0ca-4d70-b840-e760dd567edb.png diff --git a/assets/.unused/179571476-4fa60138-3acf-4b69-9c32-cc1468cdf965(1).png b/docs/assets/.unused/179571476-4fa60138-3acf-4b69-9c32-cc1468cdf965(1).png similarity index 100% rename from assets/.unused/179571476-4fa60138-3acf-4b69-9c32-cc1468cdf965(1).png rename to docs/assets/.unused/179571476-4fa60138-3acf-4b69-9c32-cc1468cdf965(1).png diff --git a/assets/.unused/179571476-4fa60138-3acf-4b69-9c32-cc1468cdf965(2).png b/docs/assets/.unused/179571476-4fa60138-3acf-4b69-9c32-cc1468cdf965(2).png similarity index 100% rename from assets/.unused/179571476-4fa60138-3acf-4b69-9c32-cc1468cdf965(2).png rename to docs/assets/.unused/179571476-4fa60138-3acf-4b69-9c32-cc1468cdf965(2).png diff --git a/assets/.unused/179571476-4fa60138-3acf-4b69-9c32-cc1468cdf965.png b/docs/assets/.unused/179571476-4fa60138-3acf-4b69-9c32-cc1468cdf965.png similarity index 100% rename from assets/.unused/179571476-4fa60138-3acf-4b69-9c32-cc1468cdf965.png rename to docs/assets/.unused/179571476-4fa60138-3acf-4b69-9c32-cc1468cdf965.png diff --git a/assets/.unused/179816131-71132b6e-c36d-4265-800a-02f6ae4d42c5.png b/docs/assets/.unused/179816131-71132b6e-c36d-4265-800a-02f6ae4d42c5.png similarity index 100% rename from assets/.unused/179816131-71132b6e-c36d-4265-800a-02f6ae4d42c5.png rename to docs/assets/.unused/179816131-71132b6e-c36d-4265-800a-02f6ae4d42c5.png diff --git a/assets/.unused/182186186-91449400-5608-42a2-8f05-33506cb2532b.png b/docs/assets/.unused/182186186-91449400-5608-42a2-8f05-33506cb2532b.png similarity index 100% rename from assets/.unused/182186186-91449400-5608-42a2-8f05-33506cb2532b.png rename to docs/assets/.unused/182186186-91449400-5608-42a2-8f05-33506cb2532b.png diff --git a/assets/.unused/182355968-c9129949-344a-4e41-a685-90700a816141.png b/docs/assets/.unused/182355968-c9129949-344a-4e41-a685-90700a816141.png similarity index 100% rename from assets/.unused/182355968-c9129949-344a-4e41-a685-90700a816141.png rename to docs/assets/.unused/182355968-c9129949-344a-4e41-a685-90700a816141.png diff --git a/assets/.unused/182356613-1b222a0b-f77f-4a15-a9df-84ed874ce5f3.gif b/docs/assets/.unused/182356613-1b222a0b-f77f-4a15-a9df-84ed874ce5f3.gif similarity index 100% rename from assets/.unused/182356613-1b222a0b-f77f-4a15-a9df-84ed874ce5f3.gif rename to docs/assets/.unused/182356613-1b222a0b-f77f-4a15-a9df-84ed874ce5f3.gif diff --git a/assets/.unused/182356749-88273bdb-d4c8-4495-9aa8-c10816171059.png b/docs/assets/.unused/182356749-88273bdb-d4c8-4495-9aa8-c10816171059.png similarity index 100% rename from assets/.unused/182356749-88273bdb-d4c8-4495-9aa8-c10816171059.png rename to docs/assets/.unused/182356749-88273bdb-d4c8-4495-9aa8-c10816171059.png diff --git a/assets/.unused/182357016-aba81b9e-a45a-4466-808a-6e4963a01038.png b/docs/assets/.unused/182357016-aba81b9e-a45a-4466-808a-6e4963a01038.png similarity index 100% rename from assets/.unused/182357016-aba81b9e-a45a-4466-808a-6e4963a01038.png rename to docs/assets/.unused/182357016-aba81b9e-a45a-4466-808a-6e4963a01038.png diff --git a/assets/.unused/183378847-b942ecd3-6f3c-4cd4-8cc4-3080a041b2a4.png b/docs/assets/.unused/183378847-b942ecd3-6f3c-4cd4-8cc4-3080a041b2a4.png similarity index 100% rename from assets/.unused/183378847-b942ecd3-6f3c-4cd4-8cc4-3080a041b2a4.png rename to docs/assets/.unused/183378847-b942ecd3-6f3c-4cd4-8cc4-3080a041b2a4.png diff --git a/assets/.unused/183380108-b3db8d3b-7301-4a19-bc38-cd777a4dde46.png b/docs/assets/.unused/183380108-b3db8d3b-7301-4a19-bc38-cd777a4dde46.png similarity index 100% rename from assets/.unused/183380108-b3db8d3b-7301-4a19-bc38-cd777a4dde46.png rename to docs/assets/.unused/183380108-b3db8d3b-7301-4a19-bc38-cd777a4dde46.png diff --git a/assets/.unused/183432613-ead6315e-3802-4345-9427-820c66094797.png b/docs/assets/.unused/183432613-ead6315e-3802-4345-9427-820c66094797.png similarity index 100% rename from assets/.unused/183432613-ead6315e-3802-4345-9427-820c66094797.png rename to docs/assets/.unused/183432613-ead6315e-3802-4345-9427-820c66094797.png diff --git a/assets/.unused/183433425-9a906a91-28a4-4045-9300-732af811ed8d.png b/docs/assets/.unused/183433425-9a906a91-28a4-4045-9300-732af811ed8d.png similarity index 100% rename from assets/.unused/183433425-9a906a91-28a4-4045-9300-732af811ed8d.png rename to docs/assets/.unused/183433425-9a906a91-28a4-4045-9300-732af811ed8d.png diff --git a/assets/.unused/183444464-fb268bfc-77e2-45cf-9180-373cf950ca63.png b/docs/assets/.unused/183444464-fb268bfc-77e2-45cf-9180-373cf950ca63.png similarity index 100% rename from assets/.unused/183444464-fb268bfc-77e2-45cf-9180-373cf950ca63.png rename to docs/assets/.unused/183444464-fb268bfc-77e2-45cf-9180-373cf950ca63.png diff --git a/assets/.unused/183445209-a2d7bf2c-453b-4cae-84e8-94b645ce9271.png b/docs/assets/.unused/183445209-a2d7bf2c-453b-4cae-84e8-94b645ce9271.png similarity index 100% rename from assets/.unused/183445209-a2d7bf2c-453b-4cae-84e8-94b645ce9271.png rename to docs/assets/.unused/183445209-a2d7bf2c-453b-4cae-84e8-94b645ce9271.png diff --git a/assets/.unused/195399035-68ad8ef9-a854-4b5d-a4de-730131867d18.png b/docs/assets/.unused/195399035-68ad8ef9-a854-4b5d-a4de-730131867d18.png similarity index 100% rename from assets/.unused/195399035-68ad8ef9-a854-4b5d-a4de-730131867d18.png rename to docs/assets/.unused/195399035-68ad8ef9-a854-4b5d-a4de-730131867d18.png diff --git a/assets/.unused/1FZ5Efd.png b/docs/assets/.unused/1FZ5Efd.png similarity index 100% rename from assets/.unused/1FZ5Efd.png rename to docs/assets/.unused/1FZ5Efd.png diff --git a/assets/.unused/216636539-930238bb-309f-4183-889d-7cd672649c79(1).png b/docs/assets/.unused/216636539-930238bb-309f-4183-889d-7cd672649c79(1).png similarity index 100% rename from assets/.unused/216636539-930238bb-309f-4183-889d-7cd672649c79(1).png rename to docs/assets/.unused/216636539-930238bb-309f-4183-889d-7cd672649c79(1).png diff --git a/assets/.unused/216636539-930238bb-309f-4183-889d-7cd672649c79.png b/docs/assets/.unused/216636539-930238bb-309f-4183-889d-7cd672649c79.png similarity index 100% rename from assets/.unused/216636539-930238bb-309f-4183-889d-7cd672649c79.png rename to docs/assets/.unused/216636539-930238bb-309f-4183-889d-7cd672649c79.png diff --git a/assets/.unused/216637154-22123980-b89e-4f7e-ab43-b5b4f08d7649(1).png b/docs/assets/.unused/216637154-22123980-b89e-4f7e-ab43-b5b4f08d7649(1).png similarity index 100% rename from assets/.unused/216637154-22123980-b89e-4f7e-ab43-b5b4f08d7649(1).png rename to docs/assets/.unused/216637154-22123980-b89e-4f7e-ab43-b5b4f08d7649(1).png diff --git a/assets/.unused/216637154-22123980-b89e-4f7e-ab43-b5b4f08d7649.png b/docs/assets/.unused/216637154-22123980-b89e-4f7e-ab43-b5b4f08d7649.png similarity index 100% rename from assets/.unused/216637154-22123980-b89e-4f7e-ab43-b5b4f08d7649.png rename to docs/assets/.unused/216637154-22123980-b89e-4f7e-ab43-b5b4f08d7649.png diff --git a/assets/.unused/61093c3ba7a84a5a87c5576871b2bf17.png b/docs/assets/.unused/61093c3ba7a84a5a87c5576871b2bf17.png similarity index 100% rename from assets/.unused/61093c3ba7a84a5a87c5576871b2bf17.png rename to docs/assets/.unused/61093c3ba7a84a5a87c5576871b2bf17.png diff --git a/assets/.unused/Bk1x58Q9O.png b/docs/assets/.unused/Bk1x58Q9O.png similarity index 100% rename from assets/.unused/Bk1x58Q9O.png rename to docs/assets/.unused/Bk1x58Q9O.png diff --git a/assets/.unused/BkZ-kcZ6c.png b/docs/assets/.unused/BkZ-kcZ6c.png similarity index 100% rename from assets/.unused/BkZ-kcZ6c.png rename to docs/assets/.unused/BkZ-kcZ6c.png diff --git a/assets/.unused/By4JP0CK_.png b/docs/assets/.unused/By4JP0CK_.png similarity index 100% rename from assets/.unused/By4JP0CK_.png rename to docs/assets/.unused/By4JP0CK_.png diff --git a/assets/.unused/ByYAYLmq_.png b/docs/assets/.unused/ByYAYLmq_.png similarity index 100% rename from assets/.unused/ByYAYLmq_.png rename to docs/assets/.unused/ByYAYLmq_.png diff --git a/assets/.unused/ByfztC0tu.png b/docs/assets/.unused/ByfztC0tu.png similarity index 100% rename from assets/.unused/ByfztC0tu.png rename to docs/assets/.unused/ByfztC0tu.png diff --git a/assets/.unused/BysumDQqu.png b/docs/assets/.unused/BysumDQqu.png similarity index 100% rename from assets/.unused/BysumDQqu.png rename to docs/assets/.unused/BysumDQqu.png diff --git a/assets/.unused/DH3XRuj.png b/docs/assets/.unused/DH3XRuj.png similarity index 100% rename from assets/.unused/DH3XRuj.png rename to docs/assets/.unused/DH3XRuj.png diff --git a/assets/.unused/H1P5XPQcu.png b/docs/assets/.unused/H1P5XPQcu.png similarity index 100% rename from assets/.unused/H1P5XPQcu.png rename to docs/assets/.unused/H1P5XPQcu.png diff --git a/assets/.unused/HJnhQP7cd.png b/docs/assets/.unused/HJnhQP7cd.png similarity index 100% rename from assets/.unused/HJnhQP7cd.png rename to docs/assets/.unused/HJnhQP7cd.png diff --git a/assets/.unused/HJxJY0AY_.png b/docs/assets/.unused/HJxJY0AY_.png similarity index 100% rename from assets/.unused/HJxJY0AY_.png rename to docs/assets/.unused/HJxJY0AY_.png diff --git a/assets/.unused/Hk02qLQc_.png b/docs/assets/.unused/Hk02qLQc_.png similarity index 100% rename from assets/.unused/Hk02qLQc_.png rename to docs/assets/.unused/Hk02qLQc_.png diff --git a/assets/.unused/JMtTnDZ.png b/docs/assets/.unused/JMtTnDZ.png similarity index 100% rename from assets/.unused/JMtTnDZ.png rename to docs/assets/.unused/JMtTnDZ.png diff --git a/assets/.unused/Query Setup.png b/docs/assets/.unused/Query Setup.png similarity index 100% rename from assets/.unused/Query Setup.png rename to docs/assets/.unused/Query Setup.png diff --git a/assets/.unused/Rpz9ZhV.png b/docs/assets/.unused/Rpz9ZhV.png similarity index 100% rename from assets/.unused/Rpz9ZhV.png rename to docs/assets/.unused/Rpz9ZhV.png diff --git a/assets/.unused/SJBTzvX9d.png b/docs/assets/.unused/SJBTzvX9d.png similarity index 100% rename from assets/.unused/SJBTzvX9d.png rename to docs/assets/.unused/SJBTzvX9d.png diff --git a/assets/.unused/Schema deletion(1).png b/docs/assets/.unused/Schema deletion(1).png similarity index 100% rename from assets/.unused/Schema deletion(1).png rename to docs/assets/.unused/Schema deletion(1).png diff --git a/assets/.unused/Schema deletion.png b/docs/assets/.unused/Schema deletion.png similarity index 100% rename from assets/.unused/Schema deletion.png rename to docs/assets/.unused/Schema deletion.png diff --git a/assets/.unused/Screen Shot 2022-01-20 at 4.21.05 PM.png b/docs/assets/.unused/Screen Shot 2022-01-20 at 4.21.05 PM.png similarity index 100% rename from assets/.unused/Screen Shot 2022-01-20 at 4.21.05 PM.png rename to docs/assets/.unused/Screen Shot 2022-01-20 at 4.21.05 PM.png diff --git a/assets/.unused/Screen Shot 2022-01-20 at 4.23.21 PM.png b/docs/assets/.unused/Screen Shot 2022-01-20 at 4.23.21 PM.png similarity index 100% rename from assets/.unused/Screen Shot 2022-01-20 at 4.23.21 PM.png rename to docs/assets/.unused/Screen Shot 2022-01-20 at 4.23.21 PM.png diff --git a/assets/.unused/View Column Menu.png b/docs/assets/.unused/View Column Menu.png similarity index 100% rename from assets/.unused/View Column Menu.png rename to docs/assets/.unused/View Column Menu.png diff --git a/assets/.unused/View Setup_ Add Column.png b/docs/assets/.unused/View Setup_ Add Column.png similarity index 100% rename from assets/.unused/View Setup_ Add Column.png rename to docs/assets/.unused/View Setup_ Add Column.png diff --git a/assets/.unused/Z3ngzR9.png b/docs/assets/.unused/Z3ngzR9.png similarity index 100% rename from assets/.unused/Z3ngzR9.png rename to docs/assets/.unused/Z3ngzR9.png diff --git a/assets/.unused/add_button_enabled.png b/docs/assets/.unused/add_button_enabled.png similarity index 100% rename from assets/.unused/add_button_enabled.png rename to docs/assets/.unused/add_button_enabled.png diff --git a/assets/.unused/buggy_rendering.png b/docs/assets/.unused/buggy_rendering.png similarity index 100% rename from assets/.unused/buggy_rendering.png rename to docs/assets/.unused/buggy_rendering.png diff --git a/assets/.unused/chcPbaV.png b/docs/assets/.unused/chcPbaV.png similarity index 100% rename from assets/.unused/chcPbaV.png rename to docs/assets/.unused/chcPbaV.png diff --git a/assets/.unused/data_types_dropdown.png b/docs/assets/.unused/data_types_dropdown.png similarity index 100% rename from assets/.unused/data_types_dropdown.png rename to docs/assets/.unused/data_types_dropdown.png diff --git a/assets/.unused/input_box.png b/docs/assets/.unused/input_box.png similarity index 100% rename from assets/.unused/input_box.png rename to docs/assets/.unused/input_box.png diff --git a/assets/.unused/issue-assignment-image.png b/docs/assets/.unused/issue-assignment-image.png similarity index 100% rename from assets/.unused/issue-assignment-image.png rename to docs/assets/.unused/issue-assignment-image.png diff --git a/assets/.unused/list_info_box.png b/docs/assets/.unused/list_info_box.png similarity index 100% rename from assets/.unused/list_info_box.png rename to docs/assets/.unused/list_info_box.png diff --git a/assets/.unused/llenar_celda.png b/docs/assets/.unused/llenar_celda.png similarity index 100% rename from assets/.unused/llenar_celda.png rename to docs/assets/.unused/llenar_celda.png diff --git a/assets/.unused/logo@2x-2.png b/docs/assets/.unused/logo@2x-2.png similarity index 100% rename from assets/.unused/logo@2x-2.png rename to docs/assets/.unused/logo@2x-2.png diff --git a/assets/.unused/logo@2x-3.png b/docs/assets/.unused/logo@2x-3.png similarity index 100% rename from assets/.unused/logo@2x-3.png rename to docs/assets/.unused/logo@2x-3.png diff --git a/assets/.unused/logo@2x.png b/docs/assets/.unused/logo@2x.png similarity index 100% rename from assets/.unused/logo@2x.png rename to docs/assets/.unused/logo@2x.png diff --git a/assets/.unused/logo@2x_cropped.png b/docs/assets/.unused/logo@2x_cropped.png similarity index 100% rename from assets/.unused/logo@2x_cropped.png rename to docs/assets/.unused/logo@2x_cropped.png diff --git a/assets/.unused/mathesar_backup-1.png b/docs/assets/.unused/mathesar_backup-1.png similarity index 100% rename from assets/.unused/mathesar_backup-1.png rename to docs/assets/.unused/mathesar_backup-1.png diff --git a/assets/.unused/mathesar_backup-2.png b/docs/assets/.unused/mathesar_backup-2.png similarity index 100% rename from assets/.unused/mathesar_backup-2.png rename to docs/assets/.unused/mathesar_backup-2.png diff --git a/assets/.unused/mathesar_elephant.png b/docs/assets/.unused/mathesar_elephant.png similarity index 100% rename from assets/.unused/mathesar_elephant.png rename to docs/assets/.unused/mathesar_elephant.png diff --git a/assets/.unused/mathesar_elephant_square.png b/docs/assets/.unused/mathesar_elephant_square.png similarity index 100% rename from assets/.unused/mathesar_elephant_square.png rename to docs/assets/.unused/mathesar_elephant_square.png diff --git a/assets/.unused/mathesar_primary_hor_rgb.png b/docs/assets/.unused/mathesar_primary_hor_rgb.png similarity index 100% rename from assets/.unused/mathesar_primary_hor_rgb.png rename to docs/assets/.unused/mathesar_primary_hor_rgb.png diff --git a/assets/.unused/mathesar_primary_shaded_hor_rgb.png b/docs/assets/.unused/mathesar_primary_shaded_hor_rgb.png similarity index 100% rename from assets/.unused/mathesar_primary_shaded_hor_rgb.png rename to docs/assets/.unused/mathesar_primary_shaded_hor_rgb.png diff --git a/assets/.unused/mermaid-diagram-2023-07-14-171331.png b/docs/assets/.unused/mermaid-diagram-2023-07-14-171331.png similarity index 100% rename from assets/.unused/mermaid-diagram-2023-07-14-171331.png rename to docs/assets/.unused/mermaid-diagram-2023-07-14-171331.png diff --git a/assets/.unused/mermaid-diagram-2023-07-14-171431.png b/docs/assets/.unused/mermaid-diagram-2023-07-14-171431.png similarity index 100% rename from assets/.unused/mermaid-diagram-2023-07-14-171431.png rename to docs/assets/.unused/mermaid-diagram-2023-07-14-171431.png diff --git a/assets/.unused/mermaid-diagram-2023-07-14-171640.png b/docs/assets/.unused/mermaid-diagram-2023-07-14-171640.png similarity index 100% rename from assets/.unused/mermaid-diagram-2023-07-14-171640.png rename to docs/assets/.unused/mermaid-diagram-2023-07-14-171640.png diff --git a/assets/.unused/movie_schema.png b/docs/assets/.unused/movie_schema.png similarity index 100% rename from assets/.unused/movie_schema.png rename to docs/assets/.unused/movie_schema.png diff --git a/assets/.unused/movie_schema_2.drawio.png b/docs/assets/.unused/movie_schema_2.drawio.png similarity index 100% rename from assets/.unused/movie_schema_2.drawio.png rename to docs/assets/.unused/movie_schema_2.drawio.png diff --git a/assets/.unused/movie_schema_3.drawio.png b/docs/assets/.unused/movie_schema_3.drawio.png similarity index 100% rename from assets/.unused/movie_schema_3.drawio.png rename to docs/assets/.unused/movie_schema_3.drawio.png diff --git a/assets/.unused/nav1.png b/docs/assets/.unused/nav1.png similarity index 100% rename from assets/.unused/nav1.png rename to docs/assets/.unused/nav1.png diff --git a/assets/.unused/nested_arrays_pills.png b/docs/assets/.unused/nested_arrays_pills.png similarity index 100% rename from assets/.unused/nested_arrays_pills.png rename to docs/assets/.unused/nested_arrays_pills.png diff --git a/assets/.unused/query_setup.png b/docs/assets/.unused/query_setup.png similarity index 100% rename from assets/.unused/query_setup.png rename to docs/assets/.unused/query_setup.png diff --git a/assets/.unused/rJoUmDX5_.png b/docs/assets/.unused/rJoUmDX5_.png similarity index 100% rename from assets/.unused/rJoUmDX5_.png rename to docs/assets/.unused/rJoUmDX5_.png diff --git a/assets/.unused/rkEwqImqd.png b/docs/assets/.unused/rkEwqImqd.png similarity index 100% rename from assets/.unused/rkEwqImqd.png rename to docs/assets/.unused/rkEwqImqd.png diff --git a/assets/.unused/rkavQwXc_.png b/docs/assets/.unused/rkavQwXc_.png similarity index 100% rename from assets/.unused/rkavQwXc_.png rename to docs/assets/.unused/rkavQwXc_.png diff --git a/assets/.unused/screen_shot_2021-11-09_at_10.00.07.png b/docs/assets/.unused/screen_shot_2021-11-09_at_10.00.07.png similarity index 100% rename from assets/.unused/screen_shot_2021-11-09_at_10.00.07.png rename to docs/assets/.unused/screen_shot_2021-11-09_at_10.00.07.png diff --git a/assets/.unused/screen_shot_2022-01-06_at_2.46.23_pm.png b/docs/assets/.unused/screen_shot_2022-01-06_at_2.46.23_pm.png similarity index 100% rename from assets/.unused/screen_shot_2022-01-06_at_2.46.23_pm.png rename to docs/assets/.unused/screen_shot_2022-01-06_at_2.46.23_pm.png diff --git a/assets/.unused/screen_shot_2022-01-20_at_4.21.05_pm.png b/docs/assets/.unused/screen_shot_2022-01-20_at_4.21.05_pm.png similarity index 100% rename from assets/.unused/screen_shot_2022-01-20_at_4.21.05_pm.png rename to docs/assets/.unused/screen_shot_2022-01-20_at_4.21.05_pm.png diff --git a/assets/.unused/screen_shot_2022-01-20_at_4.23.21_pm.png b/docs/assets/.unused/screen_shot_2022-01-20_at_4.23.21_pm.png similarity index 100% rename from assets/.unused/screen_shot_2022-01-20_at_4.23.21_pm.png rename to docs/assets/.unused/screen_shot_2022-01-20_at_4.23.21_pm.png diff --git a/assets/.unused/screen_shot_2022-12-08_at_9.53.42_pm.png b/docs/assets/.unused/screen_shot_2022-12-08_at_9.53.42_pm.png similarity index 100% rename from assets/.unused/screen_shot_2022-12-08_at_9.53.42_pm.png rename to docs/assets/.unused/screen_shot_2022-12-08_at_9.53.42_pm.png diff --git a/assets/.unused/screen_shot_2022-12-08_at_9.53.57_pm.png b/docs/assets/.unused/screen_shot_2022-12-08_at_9.53.57_pm.png similarity index 100% rename from assets/.unused/screen_shot_2022-12-08_at_9.53.57_pm.png rename to docs/assets/.unused/screen_shot_2022-12-08_at_9.53.57_pm.png diff --git a/assets/.unused/select_list_item_type.png b/docs/assets/.unused/select_list_item_type.png similarity index 100% rename from assets/.unused/select_list_item_type.png rename to docs/assets/.unused/select_list_item_type.png diff --git "a/assets/.unused/translate_`server_default`_values_\302\267_issue_648_\302\267_centerofci_mathesar(1).png" "b/docs/assets/.unused/translate_`server_default`_values_\302\267_issue_648_\302\267_centerofci_mathesar(1).png" similarity index 100% rename from "assets/.unused/translate_`server_default`_values_\302\267_issue_648_\302\267_centerofci_mathesar(1).png" rename to "docs/assets/.unused/translate_`server_default`_values_\302\267_issue_648_\302\267_centerofci_mathesar(1).png" diff --git "a/assets/.unused/translate_`server_default`_values_\302\267_issue_648_\302\267_centerofci_mathesar.png" "b/docs/assets/.unused/translate_`server_default`_values_\302\267_issue_648_\302\267_centerofci_mathesar.png" similarity index 100% rename from "assets/.unused/translate_`server_default`_values_\302\267_issue_648_\302\267_centerofci_mathesar.png" rename to "docs/assets/.unused/translate_`server_default`_values_\302\267_issue_648_\302\267_centerofci_mathesar.png" diff --git a/assets/.unused/upload_c59d472471972af4e4dfca4fac7d85f6.png b/docs/assets/.unused/upload_c59d472471972af4e4dfca4fac7d85f6.png similarity index 100% rename from assets/.unused/upload_c59d472471972af4e4dfca4fac7d85f6.png rename to docs/assets/.unused/upload_c59d472471972af4e4dfca4fac7d85f6.png diff --git a/assets/.unused/upload_ebe944f590f61b67ea9a5646d45668a5.png b/docs/assets/.unused/upload_ebe944f590f61b67ea9a5646d45668a5.png similarity index 100% rename from assets/.unused/upload_ebe944f590f61b67ea9a5646d45668a5.png rename to docs/assets/.unused/upload_ebe944f590f61b67ea9a5646d45668a5.png diff --git a/assets/.unused/view_builder_1.png b/docs/assets/.unused/view_builder_1.png similarity index 100% rename from assets/.unused/view_builder_1.png rename to docs/assets/.unused/view_builder_1.png diff --git a/assets/.unused/view_builder_2.png b/docs/assets/.unused/view_builder_2.png similarity index 100% rename from assets/.unused/view_builder_2.png rename to docs/assets/.unused/view_builder_2.png diff --git a/assets/.unused/view_builder_3.png b/docs/assets/.unused/view_builder_3.png similarity index 100% rename from assets/.unused/view_builder_3.png rename to docs/assets/.unused/view_builder_3.png diff --git a/assets/.unused/view_builder_5.png b/docs/assets/.unused/view_builder_5.png similarity index 100% rename from assets/.unused/view_builder_5.png rename to docs/assets/.unused/view_builder_5.png diff --git a/assets/.unused/view_column_menu(1).png b/docs/assets/.unused/view_column_menu(1).png similarity index 100% rename from assets/.unused/view_column_menu(1).png rename to docs/assets/.unused/view_column_menu(1).png diff --git a/assets/.unused/view_column_menu(2).png b/docs/assets/.unused/view_column_menu(2).png similarity index 100% rename from assets/.unused/view_column_menu(2).png rename to docs/assets/.unused/view_column_menu(2).png diff --git a/assets/.unused/view_column_menu.png b/docs/assets/.unused/view_column_menu.png similarity index 100% rename from assets/.unused/view_column_menu.png rename to docs/assets/.unused/view_column_menu.png diff --git a/assets/.unused/view_setup__add_column.png b/docs/assets/.unused/view_setup__add_column.png similarity index 100% rename from assets/.unused/view_setup__add_column.png rename to docs/assets/.unused/view_setup__add_column.png diff --git a/assets/.unused/visualizacion_columna.png b/docs/assets/.unused/visualizacion_columna.png similarity index 100% rename from assets/.unused/visualizacion_columna.png rename to docs/assets/.unused/visualizacion_columna.png diff --git a/assets/.unused/zU9Csfe.png b/docs/assets/.unused/zU9Csfe.png similarity index 100% rename from assets/.unused/zU9Csfe.png rename to docs/assets/.unused/zU9Csfe.png diff --git a/assets/current_install_flow_0.1.3.png b/docs/assets/current_install_flow_0.1.3.png similarity index 100% rename from assets/current_install_flow_0.1.3.png rename to docs/assets/current_install_flow_0.1.3.png diff --git a/assets/design/exploration/data-management-skills/tauevzw.png b/docs/assets/design/exploration/data-management-skills/tauevzw.png similarity index 100% rename from assets/design/exploration/data-management-skills/tauevzw.png rename to docs/assets/design/exploration/data-management-skills/tauevzw.png diff --git a/assets/design/exploration/data-types/screen_shot_2021-05-11_at_3.19.20_pm.png b/docs/assets/design/exploration/data-types/screen_shot_2021-05-11_at_3.19.20_pm.png similarity index 100% rename from assets/design/exploration/data-types/screen_shot_2021-05-11_at_3.19.20_pm.png rename to docs/assets/design/exploration/data-types/screen_shot_2021-05-11_at_3.19.20_pm.png diff --git a/assets/design/exploration/filters/filtersins.png b/docs/assets/design/exploration/filters/filtersins.png similarity index 100% rename from assets/design/exploration/filters/filtersins.png rename to docs/assets/design/exploration/filters/filtersins.png diff --git a/assets/design/exploration/inventory-data-exploration/9i3tkus.gif b/docs/assets/design/exploration/inventory-data-exploration/9i3tkus.gif similarity index 100% rename from assets/design/exploration/inventory-data-exploration/9i3tkus.gif rename to docs/assets/design/exploration/inventory-data-exploration/9i3tkus.gif diff --git a/assets/design/exploration/inventory-data-exploration/ibeojth.gif b/docs/assets/design/exploration/inventory-data-exploration/ibeojth.gif similarity index 100% rename from assets/design/exploration/inventory-data-exploration/ibeojth.gif rename to docs/assets/design/exploration/inventory-data-exploration/ibeojth.gif diff --git a/assets/design/exploration/inventory-data-exploration/upload_0a739701669a8d3913b365ef516a7055.gif b/docs/assets/design/exploration/inventory-data-exploration/upload_0a739701669a8d3913b365ef516a7055.gif similarity index 100% rename from assets/design/exploration/inventory-data-exploration/upload_0a739701669a8d3913b365ef516a7055.gif rename to docs/assets/design/exploration/inventory-data-exploration/upload_0a739701669a8d3913b365ef516a7055.gif diff --git a/assets/design/exploration/inventory-data-exploration/upload_24f01dd5f890ed625316f0f42e2e6c95.gif b/docs/assets/design/exploration/inventory-data-exploration/upload_24f01dd5f890ed625316f0f42e2e6c95.gif similarity index 100% rename from assets/design/exploration/inventory-data-exploration/upload_24f01dd5f890ed625316f0f42e2e6c95.gif rename to docs/assets/design/exploration/inventory-data-exploration/upload_24f01dd5f890ed625316f0f42e2e6c95.gif diff --git a/assets/design/exploration/inventory-data-exploration/upload_314ee62b7fb18439e4860713da71af57.gif b/docs/assets/design/exploration/inventory-data-exploration/upload_314ee62b7fb18439e4860713da71af57.gif similarity index 100% rename from assets/design/exploration/inventory-data-exploration/upload_314ee62b7fb18439e4860713da71af57.gif rename to docs/assets/design/exploration/inventory-data-exploration/upload_314ee62b7fb18439e4860713da71af57.gif diff --git a/assets/design/exploration/inventory-data-exploration/upload_c3499aaef0865fe3837e3308a6adadef.gif b/docs/assets/design/exploration/inventory-data-exploration/upload_c3499aaef0865fe3837e3308a6adadef.gif similarity index 100% rename from assets/design/exploration/inventory-data-exploration/upload_c3499aaef0865fe3837e3308a6adadef.gif rename to docs/assets/design/exploration/inventory-data-exploration/upload_c3499aaef0865fe3837e3308a6adadef.gif diff --git a/assets/design/exploration/use-cases/inventory-use-case/2hf2gwr.png b/docs/assets/design/exploration/use-cases/inventory-use-case/2hf2gwr.png similarity index 100% rename from assets/design/exploration/use-cases/inventory-use-case/2hf2gwr.png rename to docs/assets/design/exploration/use-cases/inventory-use-case/2hf2gwr.png diff --git a/assets/design/exploration/use-cases/inventory-use-case/ruskw7x.png b/docs/assets/design/exploration/use-cases/inventory-use-case/ruskw7x.png similarity index 100% rename from assets/design/exploration/use-cases/inventory-use-case/ruskw7x.png rename to docs/assets/design/exploration/use-cases/inventory-use-case/ruskw7x.png diff --git a/assets/design/exploration/use-cases/inventory-use-case/upload_28569858daae81b7afb843e4130ba1e0.png b/docs/assets/design/exploration/use-cases/inventory-use-case/upload_28569858daae81b7afb843e4130ba1e0.png similarity index 100% rename from assets/design/exploration/use-cases/inventory-use-case/upload_28569858daae81b7afb843e4130ba1e0.png rename to docs/assets/design/exploration/use-cases/inventory-use-case/upload_28569858daae81b7afb843e4130ba1e0.png diff --git a/assets/design/exploration/use-cases/inventory-use-case/upload_5869379d992529af6f5aab0e0119e269.png b/docs/assets/design/exploration/use-cases/inventory-use-case/upload_5869379d992529af6f5aab0e0119e269.png similarity index 100% rename from assets/design/exploration/use-cases/inventory-use-case/upload_5869379d992529af6f5aab0e0119e269.png rename to docs/assets/design/exploration/use-cases/inventory-use-case/upload_5869379d992529af6f5aab0e0119e269.png diff --git a/assets/design/exploration/use-cases/inventory-use-case/upload_630e59aab40df390011452a82adcf068.png b/docs/assets/design/exploration/use-cases/inventory-use-case/upload_630e59aab40df390011452a82adcf068.png similarity index 100% rename from assets/design/exploration/use-cases/inventory-use-case/upload_630e59aab40df390011452a82adcf068.png rename to docs/assets/design/exploration/use-cases/inventory-use-case/upload_630e59aab40df390011452a82adcf068.png diff --git a/assets/design/exploration/use-cases/inventory-use-case/upload_68ebe4f6119b50a70c85232046f2c2e0.png b/docs/assets/design/exploration/use-cases/inventory-use-case/upload_68ebe4f6119b50a70c85232046f2c2e0.png similarity index 100% rename from assets/design/exploration/use-cases/inventory-use-case/upload_68ebe4f6119b50a70c85232046f2c2e0.png rename to docs/assets/design/exploration/use-cases/inventory-use-case/upload_68ebe4f6119b50a70c85232046f2c2e0.png diff --git a/assets/design/exploration/use-cases/inventory-use-case/upload_8778c8ce139d732e86e8428b12f3b93a.png b/docs/assets/design/exploration/use-cases/inventory-use-case/upload_8778c8ce139d732e86e8428b12f3b93a.png similarity index 100% rename from assets/design/exploration/use-cases/inventory-use-case/upload_8778c8ce139d732e86e8428b12f3b93a.png rename to docs/assets/design/exploration/use-cases/inventory-use-case/upload_8778c8ce139d732e86e8428b12f3b93a.png diff --git a/assets/design/exploration/use-cases/inventory-use-case/upload_97efbdbbb32ddccc2fc7f7e52ff5b27d.png b/docs/assets/design/exploration/use-cases/inventory-use-case/upload_97efbdbbb32ddccc2fc7f7e52ff5b27d.png similarity index 100% rename from assets/design/exploration/use-cases/inventory-use-case/upload_97efbdbbb32ddccc2fc7f7e52ff5b27d.png rename to docs/assets/design/exploration/use-cases/inventory-use-case/upload_97efbdbbb32ddccc2fc7f7e52ff5b27d.png diff --git a/assets/design/exploration/use-cases/inventory-use-case/upload_b512855b310bfae40346287502d79a67.png b/docs/assets/design/exploration/use-cases/inventory-use-case/upload_b512855b310bfae40346287502d79a67.png similarity index 100% rename from assets/design/exploration/use-cases/inventory-use-case/upload_b512855b310bfae40346287502d79a67.png rename to docs/assets/design/exploration/use-cases/inventory-use-case/upload_b512855b310bfae40346287502d79a67.png diff --git a/assets/design/exploration/use-cases/inventory-use-case/upload_bdd3d8b7374bfb87008a84fb2c7ea6fa.png b/docs/assets/design/exploration/use-cases/inventory-use-case/upload_bdd3d8b7374bfb87008a84fb2c7ea6fa.png similarity index 100% rename from assets/design/exploration/use-cases/inventory-use-case/upload_bdd3d8b7374bfb87008a84fb2c7ea6fa.png rename to docs/assets/design/exploration/use-cases/inventory-use-case/upload_bdd3d8b7374bfb87008a84fb2c7ea6fa.png diff --git a/assets/design/exploration/use-cases/inventory-use-case/upload_c59d472471972af4e4dfca4fac7d85f6.png b/docs/assets/design/exploration/use-cases/inventory-use-case/upload_c59d472471972af4e4dfca4fac7d85f6.png similarity index 100% rename from assets/design/exploration/use-cases/inventory-use-case/upload_c59d472471972af4e4dfca4fac7d85f6.png rename to docs/assets/design/exploration/use-cases/inventory-use-case/upload_c59d472471972af4e4dfca4fac7d85f6.png diff --git a/assets/design/exploration/use-cases/inventory-use-case/upload_d4e8c65f14798f6c23994d7cc932013c.png b/docs/assets/design/exploration/use-cases/inventory-use-case/upload_d4e8c65f14798f6c23994d7cc932013c.png similarity index 100% rename from assets/design/exploration/use-cases/inventory-use-case/upload_d4e8c65f14798f6c23994d7cc932013c.png rename to docs/assets/design/exploration/use-cases/inventory-use-case/upload_d4e8c65f14798f6c23994d7cc932013c.png diff --git a/assets/design/exploration/use-cases/inventory-use-case/upload_dc154ba62bd6f635d17b429f139ded44.png b/docs/assets/design/exploration/use-cases/inventory-use-case/upload_dc154ba62bd6f635d17b429f139ded44.png similarity index 100% rename from assets/design/exploration/use-cases/inventory-use-case/upload_dc154ba62bd6f635d17b429f139ded44.png rename to docs/assets/design/exploration/use-cases/inventory-use-case/upload_dc154ba62bd6f635d17b429f139ded44.png diff --git a/assets/design/exploration/use-cases/inventory-use-case/upload_fd74b5ef559d82b4e5086e08ff0565f4.png b/docs/assets/design/exploration/use-cases/inventory-use-case/upload_fd74b5ef559d82b4e5086e08ff0565f4.png similarity index 100% rename from assets/design/exploration/use-cases/inventory-use-case/upload_fd74b5ef559d82b4e5086e08ff0565f4.png rename to docs/assets/design/exploration/use-cases/inventory-use-case/upload_fd74b5ef559d82b4e5086e08ff0565f4.png diff --git a/assets/design/specs/add-formula-column/2ud3EckJJ5TeEX1SMR1D7Y.png b/docs/assets/design/specs/add-formula-column/2ud3EckJJ5TeEX1SMR1D7Y.png similarity index 100% rename from assets/design/specs/add-formula-column/2ud3EckJJ5TeEX1SMR1D7Y.png rename to docs/assets/design/specs/add-formula-column/2ud3EckJJ5TeEX1SMR1D7Y.png diff --git a/assets/design/specs/add-formula-column/4nmcRjLxr3mHpngZxFDZfx.png b/docs/assets/design/specs/add-formula-column/4nmcRjLxr3mHpngZxFDZfx.png similarity index 100% rename from assets/design/specs/add-formula-column/4nmcRjLxr3mHpngZxFDZfx.png rename to docs/assets/design/specs/add-formula-column/4nmcRjLxr3mHpngZxFDZfx.png diff --git a/assets/design/specs/add-formula-column/5si6jjAr1FPZ39bw968N5N.png b/docs/assets/design/specs/add-formula-column/5si6jjAr1FPZ39bw968N5N.png similarity index 100% rename from assets/design/specs/add-formula-column/5si6jjAr1FPZ39bw968N5N.png rename to docs/assets/design/specs/add-formula-column/5si6jjAr1FPZ39bw968N5N.png diff --git a/assets/design/specs/add-formula-column/bXgh99SMozaUyBNvQHa1g8.png b/docs/assets/design/specs/add-formula-column/bXgh99SMozaUyBNvQHa1g8.png similarity index 100% rename from assets/design/specs/add-formula-column/bXgh99SMozaUyBNvQHa1g8.png rename to docs/assets/design/specs/add-formula-column/bXgh99SMozaUyBNvQHa1g8.png diff --git a/assets/design/specs/add-formula-column/dS6sAay4Re9f2R39zKDDj8.png b/docs/assets/design/specs/add-formula-column/dS6sAay4Re9f2R39zKDDj8.png similarity index 100% rename from assets/design/specs/add-formula-column/dS6sAay4Re9f2R39zKDDj8.png rename to docs/assets/design/specs/add-formula-column/dS6sAay4Re9f2R39zKDDj8.png diff --git a/assets/design/specs/add-formula-column/iwXpHctgMSRNcYQjeY7MBe.png b/docs/assets/design/specs/add-formula-column/iwXpHctgMSRNcYQjeY7MBe.png similarity index 100% rename from assets/design/specs/add-formula-column/iwXpHctgMSRNcYQjeY7MBe.png rename to docs/assets/design/specs/add-formula-column/iwXpHctgMSRNcYQjeY7MBe.png diff --git a/assets/design/specs/add-formula-column/j2UsBsrGYshUtfTS6jcEQt.png b/docs/assets/design/specs/add-formula-column/j2UsBsrGYshUtfTS6jcEQt.png similarity index 100% rename from assets/design/specs/add-formula-column/j2UsBsrGYshUtfTS6jcEQt.png rename to docs/assets/design/specs/add-formula-column/j2UsBsrGYshUtfTS6jcEQt.png diff --git a/assets/design/specs/add-formula-column/nBHVJCNiZ2PgJMrn1wdGcL.png b/docs/assets/design/specs/add-formula-column/nBHVJCNiZ2PgJMrn1wdGcL.png similarity index 100% rename from assets/design/specs/add-formula-column/nBHVJCNiZ2PgJMrn1wdGcL.png rename to docs/assets/design/specs/add-formula-column/nBHVJCNiZ2PgJMrn1wdGcL.png diff --git a/assets/design/specs/add-formula-column/p3ta6G69SiMgL61XYZg24m.png b/docs/assets/design/specs/add-formula-column/p3ta6G69SiMgL61XYZg24m.png similarity index 100% rename from assets/design/specs/add-formula-column/p3ta6G69SiMgL61XYZg24m.png rename to docs/assets/design/specs/add-formula-column/p3ta6G69SiMgL61XYZg24m.png diff --git a/assets/design/specs/add-formula-column/sqqrcNeq3CVQaUtZiBG9ov.png b/docs/assets/design/specs/add-formula-column/sqqrcNeq3CVQaUtZiBG9ov.png similarity index 100% rename from assets/design/specs/add-formula-column/sqqrcNeq3CVQaUtZiBG9ov.png rename to docs/assets/design/specs/add-formula-column/sqqrcNeq3CVQaUtZiBG9ov.png diff --git a/assets/design/specs/add-formula-column/svLZHynK3NqVkjofBmqgMj.png b/docs/assets/design/specs/add-formula-column/svLZHynK3NqVkjofBmqgMj.png similarity index 100% rename from assets/design/specs/add-formula-column/svLZHynK3NqVkjofBmqgMj.png rename to docs/assets/design/specs/add-formula-column/svLZHynK3NqVkjofBmqgMj.png diff --git a/assets/design/specs/add-formula-column/wnDL3cvcR9R3cgPwR3Co2.png b/docs/assets/design/specs/add-formula-column/wnDL3cvcR9R3cgPwR3Co2.png similarity index 100% rename from assets/design/specs/add-formula-column/wnDL3cvcR9R3cgPwR3Co2.png rename to docs/assets/design/specs/add-formula-column/wnDL3cvcR9R3cgPwR3Co2.png diff --git a/assets/design/specs/add-update-delete-records/3LD4REZ.png b/docs/assets/design/specs/add-update-delete-records/3LD4REZ.png similarity index 100% rename from assets/design/specs/add-update-delete-records/3LD4REZ.png rename to docs/assets/design/specs/add-update-delete-records/3LD4REZ.png diff --git a/assets/design/specs/add-update-delete-records/3RYqaUH.png b/docs/assets/design/specs/add-update-delete-records/3RYqaUH.png similarity index 100% rename from assets/design/specs/add-update-delete-records/3RYqaUH.png rename to docs/assets/design/specs/add-update-delete-records/3RYqaUH.png diff --git a/assets/design/specs/add-update-delete-records/6EjAxO9.png b/docs/assets/design/specs/add-update-delete-records/6EjAxO9.png similarity index 100% rename from assets/design/specs/add-update-delete-records/6EjAxO9.png rename to docs/assets/design/specs/add-update-delete-records/6EjAxO9.png diff --git a/assets/design/specs/add-update-delete-records/6KnTJfR.png b/docs/assets/design/specs/add-update-delete-records/6KnTJfR.png similarity index 100% rename from assets/design/specs/add-update-delete-records/6KnTJfR.png rename to docs/assets/design/specs/add-update-delete-records/6KnTJfR.png diff --git a/assets/design/specs/add-update-delete-records/GXqOHol.png b/docs/assets/design/specs/add-update-delete-records/GXqOHol.png similarity index 100% rename from assets/design/specs/add-update-delete-records/GXqOHol.png rename to docs/assets/design/specs/add-update-delete-records/GXqOHol.png diff --git a/assets/design/specs/add-update-delete-records/GmtmLaj.png b/docs/assets/design/specs/add-update-delete-records/GmtmLaj.png similarity index 100% rename from assets/design/specs/add-update-delete-records/GmtmLaj.png rename to docs/assets/design/specs/add-update-delete-records/GmtmLaj.png diff --git a/assets/design/specs/add-update-delete-records/IqIKvbi.png b/docs/assets/design/specs/add-update-delete-records/IqIKvbi.png similarity index 100% rename from assets/design/specs/add-update-delete-records/IqIKvbi.png rename to docs/assets/design/specs/add-update-delete-records/IqIKvbi.png diff --git a/assets/design/specs/add-update-delete-records/PTp51fp.png b/docs/assets/design/specs/add-update-delete-records/PTp51fp.png similarity index 100% rename from assets/design/specs/add-update-delete-records/PTp51fp.png rename to docs/assets/design/specs/add-update-delete-records/PTp51fp.png diff --git a/assets/design/specs/add-update-delete-records/Tif1Pcx.png b/docs/assets/design/specs/add-update-delete-records/Tif1Pcx.png similarity index 100% rename from assets/design/specs/add-update-delete-records/Tif1Pcx.png rename to docs/assets/design/specs/add-update-delete-records/Tif1Pcx.png diff --git a/assets/design/specs/add-update-delete-records/UJE4o2J.png b/docs/assets/design/specs/add-update-delete-records/UJE4o2J.png similarity index 100% rename from assets/design/specs/add-update-delete-records/UJE4o2J.png rename to docs/assets/design/specs/add-update-delete-records/UJE4o2J.png diff --git a/assets/design/specs/add-update-delete-records/WaEWViQ.png b/docs/assets/design/specs/add-update-delete-records/WaEWViQ.png similarity index 100% rename from assets/design/specs/add-update-delete-records/WaEWViQ.png rename to docs/assets/design/specs/add-update-delete-records/WaEWViQ.png diff --git a/assets/design/specs/add-update-delete-records/XK61ZO6.png b/docs/assets/design/specs/add-update-delete-records/XK61ZO6.png similarity index 100% rename from assets/design/specs/add-update-delete-records/XK61ZO6.png rename to docs/assets/design/specs/add-update-delete-records/XK61ZO6.png diff --git a/assets/design/specs/add-update-delete-records/ZC0uhJp.png b/docs/assets/design/specs/add-update-delete-records/ZC0uhJp.png similarity index 100% rename from assets/design/specs/add-update-delete-records/ZC0uhJp.png rename to docs/assets/design/specs/add-update-delete-records/ZC0uhJp.png diff --git a/assets/design/specs/add-update-delete-records/cwG5AQ7.png b/docs/assets/design/specs/add-update-delete-records/cwG5AQ7.png similarity index 100% rename from assets/design/specs/add-update-delete-records/cwG5AQ7.png rename to docs/assets/design/specs/add-update-delete-records/cwG5AQ7.png diff --git a/assets/design/specs/add-update-delete-records/i9t1LFe.png b/docs/assets/design/specs/add-update-delete-records/i9t1LFe.png similarity index 100% rename from assets/design/specs/add-update-delete-records/i9t1LFe.png rename to docs/assets/design/specs/add-update-delete-records/i9t1LFe.png diff --git a/assets/design/specs/add-update-delete-records/kETg4x2.png b/docs/assets/design/specs/add-update-delete-records/kETg4x2.png similarity index 100% rename from assets/design/specs/add-update-delete-records/kETg4x2.png rename to docs/assets/design/specs/add-update-delete-records/kETg4x2.png diff --git a/assets/design/specs/add-update-delete-records/mDe3Vpr.png b/docs/assets/design/specs/add-update-delete-records/mDe3Vpr.png similarity index 100% rename from assets/design/specs/add-update-delete-records/mDe3Vpr.png rename to docs/assets/design/specs/add-update-delete-records/mDe3Vpr.png diff --git a/assets/design/specs/add-update-delete-records/sbz7eIR.png b/docs/assets/design/specs/add-update-delete-records/sbz7eIR.png similarity index 100% rename from assets/design/specs/add-update-delete-records/sbz7eIR.png rename to docs/assets/design/specs/add-update-delete-records/sbz7eIR.png diff --git a/assets/design/specs/add-update-delete-records/vzJIXPL.png b/docs/assets/design/specs/add-update-delete-records/vzJIXPL.png similarity index 100% rename from assets/design/specs/add-update-delete-records/vzJIXPL.png rename to docs/assets/design/specs/add-update-delete-records/vzJIXPL.png diff --git a/assets/design/specs/add-update-delete-records/wvKnuSQ.png b/docs/assets/design/specs/add-update-delete-records/wvKnuSQ.png similarity index 100% rename from assets/design/specs/add-update-delete-records/wvKnuSQ.png rename to docs/assets/design/specs/add-update-delete-records/wvKnuSQ.png diff --git a/assets/design/specs/column-extraction/7prBiuRUXhPYi6wZxwRcyV.png b/docs/assets/design/specs/column-extraction/7prBiuRUXhPYi6wZxwRcyV.png similarity index 100% rename from assets/design/specs/column-extraction/7prBiuRUXhPYi6wZxwRcyV.png rename to docs/assets/design/specs/column-extraction/7prBiuRUXhPYi6wZxwRcyV.png diff --git a/assets/design/specs/column-extraction/8p3u9NbBGBr6gqPx7VW9RZ.png b/docs/assets/design/specs/column-extraction/8p3u9NbBGBr6gqPx7VW9RZ.png similarity index 100% rename from assets/design/specs/column-extraction/8p3u9NbBGBr6gqPx7VW9RZ.png rename to docs/assets/design/specs/column-extraction/8p3u9NbBGBr6gqPx7VW9RZ.png diff --git a/assets/design/specs/column-extraction/99zmoTssPdnh2AYS5tDeWJ.png b/docs/assets/design/specs/column-extraction/99zmoTssPdnh2AYS5tDeWJ.png similarity index 100% rename from assets/design/specs/column-extraction/99zmoTssPdnh2AYS5tDeWJ.png rename to docs/assets/design/specs/column-extraction/99zmoTssPdnh2AYS5tDeWJ.png diff --git a/assets/design/specs/column-extraction/gzGpUGi1srtxQ2kwd2TruB.png b/docs/assets/design/specs/column-extraction/gzGpUGi1srtxQ2kwd2TruB.png similarity index 100% rename from assets/design/specs/column-extraction/gzGpUGi1srtxQ2kwd2TruB.png rename to docs/assets/design/specs/column-extraction/gzGpUGi1srtxQ2kwd2TruB.png diff --git a/assets/design/specs/data-type-options/6VPzH8Cd7USbhf6jZpzQvc.png b/docs/assets/design/specs/data-type-options/6VPzH8Cd7USbhf6jZpzQvc.png similarity index 100% rename from assets/design/specs/data-type-options/6VPzH8Cd7USbhf6jZpzQvc.png rename to docs/assets/design/specs/data-type-options/6VPzH8Cd7USbhf6jZpzQvc.png diff --git a/assets/design/specs/data-type-options/fpnLR7JtkJJZXGybZoYL8d.png b/docs/assets/design/specs/data-type-options/fpnLR7JtkJJZXGybZoYL8d.png similarity index 100% rename from assets/design/specs/data-type-options/fpnLR7JtkJJZXGybZoYL8d.png rename to docs/assets/design/specs/data-type-options/fpnLR7JtkJJZXGybZoYL8d.png diff --git a/assets/design/specs/database-switching/0vScHwP.png b/docs/assets/design/specs/database-switching/0vScHwP.png similarity index 100% rename from assets/design/specs/database-switching/0vScHwP.png rename to docs/assets/design/specs/database-switching/0vScHwP.png diff --git a/assets/design/specs/database-switching/JGIqCOi.png b/docs/assets/design/specs/database-switching/JGIqCOi.png similarity index 100% rename from assets/design/specs/database-switching/JGIqCOi.png rename to docs/assets/design/specs/database-switching/JGIqCOi.png diff --git a/assets/design/specs/database-switching/mCwwg8S.png b/docs/assets/design/specs/database-switching/mCwwg8S.png similarity index 100% rename from assets/design/specs/database-switching/mCwwg8S.png rename to docs/assets/design/specs/database-switching/mCwwg8S.png diff --git a/assets/design/specs/database-switching/qMsmiZo.png b/docs/assets/design/specs/database-switching/qMsmiZo.png similarity index 100% rename from assets/design/specs/database-switching/qMsmiZo.png rename to docs/assets/design/specs/database-switching/qMsmiZo.png diff --git a/assets/design/specs/filter-sort-group/B1S_G4Rc_.png b/docs/assets/design/specs/filter-sort-group/B1S_G4Rc_.png similarity index 100% rename from assets/design/specs/filter-sort-group/B1S_G4Rc_.png rename to docs/assets/design/specs/filter-sort-group/B1S_G4Rc_.png diff --git a/assets/design/specs/filter-sort-group/Bk59qfRcu.png b/docs/assets/design/specs/filter-sort-group/Bk59qfRcu.png similarity index 100% rename from assets/design/specs/filter-sort-group/Bk59qfRcu.png rename to docs/assets/design/specs/filter-sort-group/Bk59qfRcu.png diff --git a/assets/design/specs/filter-sort-group/BkaxwEC5O.png b/docs/assets/design/specs/filter-sort-group/BkaxwEC5O.png similarity index 100% rename from assets/design/specs/filter-sort-group/BkaxwEC5O.png rename to docs/assets/design/specs/filter-sort-group/BkaxwEC5O.png diff --git a/assets/design/specs/filter-sort-group/ByO-PVR9_.png b/docs/assets/design/specs/filter-sort-group/ByO-PVR9_.png similarity index 100% rename from assets/design/specs/filter-sort-group/ByO-PVR9_.png rename to docs/assets/design/specs/filter-sort-group/ByO-PVR9_.png diff --git a/assets/design/specs/filter-sort-group/HJKi4iR5O.png b/docs/assets/design/specs/filter-sort-group/HJKi4iR5O.png similarity index 100% rename from assets/design/specs/filter-sort-group/HJKi4iR5O.png rename to docs/assets/design/specs/filter-sort-group/HJKi4iR5O.png diff --git a/assets/design/specs/filter-sort-group/Hk8Kt0Nsd.png b/docs/assets/design/specs/filter-sort-group/Hk8Kt0Nsd.png similarity index 100% rename from assets/design/specs/filter-sort-group/Hk8Kt0Nsd.png rename to docs/assets/design/specs/filter-sort-group/Hk8Kt0Nsd.png diff --git a/assets/design/specs/filter-sort-group/HkowXkBj_.png b/docs/assets/design/specs/filter-sort-group/HkowXkBj_.png similarity index 100% rename from assets/design/specs/filter-sort-group/HkowXkBj_.png rename to docs/assets/design/specs/filter-sort-group/HkowXkBj_.png diff --git a/assets/design/specs/filter-sort-group/HyTm5Q0qd.png b/docs/assets/design/specs/filter-sort-group/HyTm5Q0qd.png similarity index 100% rename from assets/design/specs/filter-sort-group/HyTm5Q0qd.png rename to docs/assets/design/specs/filter-sort-group/HyTm5Q0qd.png diff --git a/assets/design/specs/filter-sort-group/HyaqfcVod.png b/docs/assets/design/specs/filter-sort-group/HyaqfcVod.png similarity index 100% rename from assets/design/specs/filter-sort-group/HyaqfcVod.png rename to docs/assets/design/specs/filter-sort-group/HyaqfcVod.png diff --git a/assets/design/specs/filter-sort-group/Ra5lOmJ.png b/docs/assets/design/specs/filter-sort-group/Ra5lOmJ.png similarity index 100% rename from assets/design/specs/filter-sort-group/Ra5lOmJ.png rename to docs/assets/design/specs/filter-sort-group/Ra5lOmJ.png diff --git a/assets/design/specs/filter-sort-group/S1U7zXRcu.png b/docs/assets/design/specs/filter-sort-group/S1U7zXRcu.png similarity index 100% rename from assets/design/specs/filter-sort-group/S1U7zXRcu.png rename to docs/assets/design/specs/filter-sort-group/S1U7zXRcu.png diff --git a/assets/design/specs/filter-sort-group/S1s58409d.png b/docs/assets/design/specs/filter-sort-group/S1s58409d.png similarity index 100% rename from assets/design/specs/filter-sort-group/S1s58409d.png rename to docs/assets/design/specs/filter-sort-group/S1s58409d.png diff --git a/assets/design/specs/filter-sort-group/S1uJu5A5_.png b/docs/assets/design/specs/filter-sort-group/S1uJu5A5_.png similarity index 100% rename from assets/design/specs/filter-sort-group/S1uJu5A5_.png rename to docs/assets/design/specs/filter-sort-group/S1uJu5A5_.png diff --git a/assets/design/specs/filter-sort-group/S1y7ZXC9O.png b/docs/assets/design/specs/filter-sort-group/S1y7ZXC9O.png similarity index 100% rename from assets/design/specs/filter-sort-group/S1y7ZXC9O.png rename to docs/assets/design/specs/filter-sort-group/S1y7ZXC9O.png diff --git a/assets/design/specs/filter-sort-group/SJiH-i0qu.png b/docs/assets/design/specs/filter-sort-group/SJiH-i0qu.png similarity index 100% rename from assets/design/specs/filter-sort-group/SJiH-i0qu.png rename to docs/assets/design/specs/filter-sort-group/SJiH-i0qu.png diff --git a/assets/design/specs/filter-sort-group/SkSMQkrod.png b/docs/assets/design/specs/filter-sort-group/SkSMQkrod.png similarity index 100% rename from assets/design/specs/filter-sort-group/SkSMQkrod.png rename to docs/assets/design/specs/filter-sort-group/SkSMQkrod.png diff --git a/assets/design/specs/filter-sort-group/SkfardkoO.png b/docs/assets/design/specs/filter-sort-group/SkfardkoO.png similarity index 100% rename from assets/design/specs/filter-sort-group/SkfardkoO.png rename to docs/assets/design/specs/filter-sort-group/SkfardkoO.png diff --git a/assets/design/specs/filter-sort-group/SknEcm09O.png b/docs/assets/design/specs/filter-sort-group/SknEcm09O.png similarity index 100% rename from assets/design/specs/filter-sort-group/SknEcm09O.png rename to docs/assets/design/specs/filter-sort-group/SknEcm09O.png diff --git a/assets/design/specs/filter-sort-group/r1Q7VsCcd.png b/docs/assets/design/specs/filter-sort-group/r1Q7VsCcd.png similarity index 100% rename from assets/design/specs/filter-sort-group/r1Q7VsCcd.png rename to docs/assets/design/specs/filter-sort-group/r1Q7VsCcd.png diff --git a/assets/design/specs/filter-sort-group/rJYKrdyou.png b/docs/assets/design/specs/filter-sort-group/rJYKrdyou.png similarity index 100% rename from assets/design/specs/filter-sort-group/rJYKrdyou.png rename to docs/assets/design/specs/filter-sort-group/rJYKrdyou.png diff --git a/assets/design/specs/filter-sort-group/rJioPmRc_.png b/docs/assets/design/specs/filter-sort-group/rJioPmRc_.png similarity index 100% rename from assets/design/specs/filter-sort-group/rJioPmRc_.png rename to docs/assets/design/specs/filter-sort-group/rJioPmRc_.png diff --git a/assets/design/specs/filter-sort-group/rkY-Lnrou.png b/docs/assets/design/specs/filter-sort-group/rkY-Lnrou.png similarity index 100% rename from assets/design/specs/filter-sort-group/rkY-Lnrou.png rename to docs/assets/design/specs/filter-sort-group/rkY-Lnrou.png diff --git a/assets/design/specs/filter-sort-group/rkeLEjRq_.png b/docs/assets/design/specs/filter-sort-group/rkeLEjRq_.png similarity index 100% rename from assets/design/specs/filter-sort-group/rkeLEjRq_.png rename to docs/assets/design/specs/filter-sort-group/rkeLEjRq_.png diff --git a/assets/design/specs/filter-sort-group/tzQmsIT.png b/docs/assets/design/specs/filter-sort-group/tzQmsIT.png similarity index 100% rename from assets/design/specs/filter-sort-group/tzQmsIT.png rename to docs/assets/design/specs/filter-sort-group/tzQmsIT.png diff --git a/assets/design/specs/inline-save-edit/185621416-fe829bc5-9016-48e4-8633-647b365857ef.png b/docs/assets/design/specs/inline-save-edit/185621416-fe829bc5-9016-48e4-8633-647b365857ef.png similarity index 100% rename from assets/design/specs/inline-save-edit/185621416-fe829bc5-9016-48e4-8633-647b365857ef.png rename to docs/assets/design/specs/inline-save-edit/185621416-fe829bc5-9016-48e4-8633-647b365857ef.png diff --git a/assets/design/specs/inline-save-edit/185630760-1e0360d4-f286-4b99-ab8e-0b22e719ed76.png b/docs/assets/design/specs/inline-save-edit/185630760-1e0360d4-f286-4b99-ab8e-0b22e719ed76.png similarity index 100% rename from assets/design/specs/inline-save-edit/185630760-1e0360d4-f286-4b99-ab8e-0b22e719ed76.png rename to docs/assets/design/specs/inline-save-edit/185630760-1e0360d4-f286-4b99-ab8e-0b22e719ed76.png diff --git a/assets/design/specs/inline-save-edit/185633330-26a682a5-50b1-4bd0-a4f9-828bed43d0c0.png b/docs/assets/design/specs/inline-save-edit/185633330-26a682a5-50b1-4bd0-a4f9-828bed43d0c0.png similarity index 100% rename from assets/design/specs/inline-save-edit/185633330-26a682a5-50b1-4bd0-a4f9-828bed43d0c0.png rename to docs/assets/design/specs/inline-save-edit/185633330-26a682a5-50b1-4bd0-a4f9-828bed43d0c0.png diff --git a/assets/design/specs/lookup-field-component/BJuBNu_su.png b/docs/assets/design/specs/lookup-field-component/BJuBNu_su.png similarity index 100% rename from assets/design/specs/lookup-field-component/BJuBNu_su.png rename to docs/assets/design/specs/lookup-field-component/BJuBNu_su.png diff --git a/assets/design/specs/lookup-field-component/Cr6i2pU.png b/docs/assets/design/specs/lookup-field-component/Cr6i2pU.png similarity index 100% rename from assets/design/specs/lookup-field-component/Cr6i2pU.png rename to docs/assets/design/specs/lookup-field-component/Cr6i2pU.png diff --git a/assets/design/specs/lookup-field-component/aP3hoGa.png b/docs/assets/design/specs/lookup-field-component/aP3hoGa.png similarity index 100% rename from assets/design/specs/lookup-field-component/aP3hoGa.png rename to docs/assets/design/specs/lookup-field-component/aP3hoGa.png diff --git a/assets/design/specs/lookup-field-component/b92JFFc.png b/docs/assets/design/specs/lookup-field-component/b92JFFc.png similarity index 100% rename from assets/design/specs/lookup-field-component/b92JFFc.png rename to docs/assets/design/specs/lookup-field-component/b92JFFc.png diff --git a/assets/design/specs/lookup-field-component/dKPcSq3.png b/docs/assets/design/specs/lookup-field-component/dKPcSq3.png similarity index 100% rename from assets/design/specs/lookup-field-component/dKPcSq3.png rename to docs/assets/design/specs/lookup-field-component/dKPcSq3.png diff --git a/assets/design/specs/lookup-field-component/eej36bN.png b/docs/assets/design/specs/lookup-field-component/eej36bN.png similarity index 100% rename from assets/design/specs/lookup-field-component/eej36bN.png rename to docs/assets/design/specs/lookup-field-component/eej36bN.png diff --git a/assets/design/specs/lookup-field-component/hdL78gs.png b/docs/assets/design/specs/lookup-field-component/hdL78gs.png similarity index 100% rename from assets/design/specs/lookup-field-component/hdL78gs.png rename to docs/assets/design/specs/lookup-field-component/hdL78gs.png diff --git a/assets/design/specs/lookup-field-component/jRBFNUO.png b/docs/assets/design/specs/lookup-field-component/jRBFNUO.png similarity index 100% rename from assets/design/specs/lookup-field-component/jRBFNUO.png rename to docs/assets/design/specs/lookup-field-component/jRBFNUO.png diff --git a/assets/design/specs/lookup-field-component/rygEN__i_.png b/docs/assets/design/specs/lookup-field-component/rygEN__i_.png similarity index 100% rename from assets/design/specs/lookup-field-component/rygEN__i_.png rename to docs/assets/design/specs/lookup-field-component/rygEN__i_.png diff --git a/assets/design/specs/navigation-updates/180155893-8e997029-6397-4b56-b4d6-8515668b6f3e.png b/docs/assets/design/specs/navigation-updates/180155893-8e997029-6397-4b56-b4d6-8515668b6f3e.png similarity index 100% rename from assets/design/specs/navigation-updates/180155893-8e997029-6397-4b56-b4d6-8515668b6f3e.png rename to docs/assets/design/specs/navigation-updates/180155893-8e997029-6397-4b56-b4d6-8515668b6f3e.png diff --git a/assets/design/specs/navigation-updates/180157771-7e98353c-544d-4681-bb04-0f0a3efb10d3.png b/docs/assets/design/specs/navigation-updates/180157771-7e98353c-544d-4681-bb04-0f0a3efb10d3.png similarity index 100% rename from assets/design/specs/navigation-updates/180157771-7e98353c-544d-4681-bb04-0f0a3efb10d3.png rename to docs/assets/design/specs/navigation-updates/180157771-7e98353c-544d-4681-bb04-0f0a3efb10d3.png diff --git a/assets/design/specs/navigation-updates/180193437-ca7d0358-e3d9-4118-be8d-bbba95135b5c.png b/docs/assets/design/specs/navigation-updates/180193437-ca7d0358-e3d9-4118-be8d-bbba95135b5c.png similarity index 100% rename from assets/design/specs/navigation-updates/180193437-ca7d0358-e3d9-4118-be8d-bbba95135b5c.png rename to docs/assets/design/specs/navigation-updates/180193437-ca7d0358-e3d9-4118-be8d-bbba95135b5c.png diff --git a/assets/design/specs/navigation-updates/180197191-e7607eac-105b-4ee6-a0fe-68ee40bfff84.png b/docs/assets/design/specs/navigation-updates/180197191-e7607eac-105b-4ee6-a0fe-68ee40bfff84.png similarity index 100% rename from assets/design/specs/navigation-updates/180197191-e7607eac-105b-4ee6-a0fe-68ee40bfff84.png rename to docs/assets/design/specs/navigation-updates/180197191-e7607eac-105b-4ee6-a0fe-68ee40bfff84.png diff --git a/assets/design/specs/navigation-updates/180244256-3594fb03-21dd-4194-b812-e1f51975f796.png b/docs/assets/design/specs/navigation-updates/180244256-3594fb03-21dd-4194-b812-e1f51975f796.png similarity index 100% rename from assets/design/specs/navigation-updates/180244256-3594fb03-21dd-4194-b812-e1f51975f796.png rename to docs/assets/design/specs/navigation-updates/180244256-3594fb03-21dd-4194-b812-e1f51975f796.png diff --git a/assets/design/specs/pagination/1oghfOu.png b/docs/assets/design/specs/pagination/1oghfOu.png similarity index 100% rename from assets/design/specs/pagination/1oghfOu.png rename to docs/assets/design/specs/pagination/1oghfOu.png diff --git a/assets/design/specs/pagination/HyZR_lN9d.png b/docs/assets/design/specs/pagination/HyZR_lN9d.png similarity index 100% rename from assets/design/specs/pagination/HyZR_lN9d.png rename to docs/assets/design/specs/pagination/HyZR_lN9d.png diff --git a/assets/design/specs/read-only-table/5AEnei2.png b/docs/assets/design/specs/read-only-table/5AEnei2.png similarity index 100% rename from assets/design/specs/read-only-table/5AEnei2.png rename to docs/assets/design/specs/read-only-table/5AEnei2.png diff --git a/assets/design/specs/read-only-table/9XbmVXw.png b/docs/assets/design/specs/read-only-table/9XbmVXw.png similarity index 100% rename from assets/design/specs/read-only-table/9XbmVXw.png rename to docs/assets/design/specs/read-only-table/9XbmVXw.png diff --git a/assets/design/specs/read-only-table/BJJCkI5O_.png b/docs/assets/design/specs/read-only-table/BJJCkI5O_.png similarity index 100% rename from assets/design/specs/read-only-table/BJJCkI5O_.png rename to docs/assets/design/specs/read-only-table/BJJCkI5O_.png diff --git a/assets/design/specs/read-only-table/CZ0cHvM.png b/docs/assets/design/specs/read-only-table/CZ0cHvM.png similarity index 100% rename from assets/design/specs/read-only-table/CZ0cHvM.png rename to docs/assets/design/specs/read-only-table/CZ0cHvM.png diff --git a/assets/design/specs/read-only-table/D2oJz5s.png b/docs/assets/design/specs/read-only-table/D2oJz5s.png similarity index 100% rename from assets/design/specs/read-only-table/D2oJz5s.png rename to docs/assets/design/specs/read-only-table/D2oJz5s.png diff --git a/assets/design/specs/read-only-table/FVrZz22.png b/docs/assets/design/specs/read-only-table/FVrZz22.png similarity index 100% rename from assets/design/specs/read-only-table/FVrZz22.png rename to docs/assets/design/specs/read-only-table/FVrZz22.png diff --git a/assets/design/specs/read-only-table/S1ez3TSqdu.png b/docs/assets/design/specs/read-only-table/S1ez3TSqdu.png similarity index 100% rename from assets/design/specs/read-only-table/S1ez3TSqdu.png rename to docs/assets/design/specs/read-only-table/S1ez3TSqdu.png diff --git a/assets/design/specs/read-only-table/UM72eeI.png b/docs/assets/design/specs/read-only-table/UM72eeI.png similarity index 100% rename from assets/design/specs/read-only-table/UM72eeI.png rename to docs/assets/design/specs/read-only-table/UM72eeI.png diff --git a/assets/design/specs/read-only-table/WchoIDA.png b/docs/assets/design/specs/read-only-table/WchoIDA.png similarity index 100% rename from assets/design/specs/read-only-table/WchoIDA.png rename to docs/assets/design/specs/read-only-table/WchoIDA.png diff --git a/assets/design/specs/read-only-table/r1iJkI9_d.png b/docs/assets/design/specs/read-only-table/r1iJkI9_d.png similarity index 100% rename from assets/design/specs/read-only-table/r1iJkI9_d.png rename to docs/assets/design/specs/read-only-table/r1iJkI9_d.png diff --git a/assets/design/specs/read-only-table/z7s80vm.png b/docs/assets/design/specs/read-only-table/z7s80vm.png similarity index 100% rename from assets/design/specs/read-only-table/z7s80vm.png rename to docs/assets/design/specs/read-only-table/z7s80vm.png diff --git a/assets/design/specs/record-selector/173131159-2723a75e-2dcb-443a-a3c5-97d5657f5882.png b/docs/assets/design/specs/record-selector/173131159-2723a75e-2dcb-443a-a3c5-97d5657f5882.png similarity index 100% rename from assets/design/specs/record-selector/173131159-2723a75e-2dcb-443a-a3c5-97d5657f5882.png rename to docs/assets/design/specs/record-selector/173131159-2723a75e-2dcb-443a-a3c5-97d5657f5882.png diff --git a/assets/design/specs/record-selector/173131894-bbbd945a-0748-42b6-b510-b258c7aeb6a0.png b/docs/assets/design/specs/record-selector/173131894-bbbd945a-0748-42b6-b510-b258c7aeb6a0.png similarity index 100% rename from assets/design/specs/record-selector/173131894-bbbd945a-0748-42b6-b510-b258c7aeb6a0.png rename to docs/assets/design/specs/record-selector/173131894-bbbd945a-0748-42b6-b510-b258c7aeb6a0.png diff --git a/assets/design/specs/record-selector/173132518-e93987c8-9cda-4d8f-9de3-f37a6bf7cc1a.png b/docs/assets/design/specs/record-selector/173132518-e93987c8-9cda-4d8f-9de3-f37a6bf7cc1a.png similarity index 100% rename from assets/design/specs/record-selector/173132518-e93987c8-9cda-4d8f-9de3-f37a6bf7cc1a.png rename to docs/assets/design/specs/record-selector/173132518-e93987c8-9cda-4d8f-9de3-f37a6bf7cc1a.png diff --git a/assets/design/specs/record-selector/173816522-eda451c1-046d-46f1-bfc0-6abdf4f2c085.png b/docs/assets/design/specs/record-selector/173816522-eda451c1-046d-46f1-bfc0-6abdf4f2c085.png similarity index 100% rename from assets/design/specs/record-selector/173816522-eda451c1-046d-46f1-bfc0-6abdf4f2c085.png rename to docs/assets/design/specs/record-selector/173816522-eda451c1-046d-46f1-bfc0-6abdf4f2c085.png diff --git a/assets/design/specs/record-selector/air-table-fk-cell-data-entry-example.png b/docs/assets/design/specs/record-selector/air-table-fk-cell-data-entry-example.png similarity index 100% rename from assets/design/specs/record-selector/air-table-fk-cell-data-entry-example.png rename to docs/assets/design/specs/record-selector/air-table-fk-cell-data-entry-example.png diff --git a/assets/design/specs/record-selector/fk-cell-underlined-record-summary.png b/docs/assets/design/specs/record-selector/fk-cell-underlined-record-summary.png similarity index 100% rename from assets/design/specs/record-selector/fk-cell-underlined-record-summary.png rename to docs/assets/design/specs/record-selector/fk-cell-underlined-record-summary.png diff --git a/assets/design/specs/record-selector/linked-record-data-entry-mockup-grid.png b/docs/assets/design/specs/record-selector/linked-record-data-entry-mockup-grid.png similarity index 100% rename from assets/design/specs/record-selector/linked-record-data-entry-mockup-grid.png rename to docs/assets/design/specs/record-selector/linked-record-data-entry-mockup-grid.png diff --git a/assets/design/specs/record-summary/179570423-e41b54e2-ebd7-4e73-acb2-8337ec6bb2db.png b/docs/assets/design/specs/record-summary/179570423-e41b54e2-ebd7-4e73-acb2-8337ec6bb2db.png similarity index 100% rename from assets/design/specs/record-summary/179570423-e41b54e2-ebd7-4e73-acb2-8337ec6bb2db.png rename to docs/assets/design/specs/record-summary/179570423-e41b54e2-ebd7-4e73-acb2-8337ec6bb2db.png diff --git a/assets/design/specs/record-summary/179571077-3ab610ff-d0ca-4d70-b840-e760dd567edb.png b/docs/assets/design/specs/record-summary/179571077-3ab610ff-d0ca-4d70-b840-e760dd567edb.png similarity index 100% rename from assets/design/specs/record-summary/179571077-3ab610ff-d0ca-4d70-b840-e760dd567edb.png rename to docs/assets/design/specs/record-summary/179571077-3ab610ff-d0ca-4d70-b840-e760dd567edb.png diff --git a/assets/design/specs/record-summary/195416813-cd6a7d4a-d8f9-4693-ad34-ff0fb0b8dc7e.png b/docs/assets/design/specs/record-summary/195416813-cd6a7d4a-d8f9-4693-ad34-ff0fb0b8dc7e.png similarity index 100% rename from assets/design/specs/record-summary/195416813-cd6a7d4a-d8f9-4693-ad34-ff0fb0b8dc7e.png rename to docs/assets/design/specs/record-summary/195416813-cd6a7d4a-d8f9-4693-ad34-ff0fb0b8dc7e.png diff --git a/assets/design/specs/table-creation-controls/ksN9Z6d.png b/docs/assets/design/specs/table-creation-controls/ksN9Z6d.png similarity index 100% rename from assets/design/specs/table-creation-controls/ksN9Z6d.png rename to docs/assets/design/specs/table-creation-controls/ksN9Z6d.png diff --git a/assets/design/specs/table-import/6XqnBjSAk2FUAK8DyexoU5.png b/docs/assets/design/specs/table-import/6XqnBjSAk2FUAK8DyexoU5.png similarity index 100% rename from assets/design/specs/table-import/6XqnBjSAk2FUAK8DyexoU5.png rename to docs/assets/design/specs/table-import/6XqnBjSAk2FUAK8DyexoU5.png diff --git a/assets/design/specs/table-import/8WvP45gNpqAm3UYUM1r3m2.png b/docs/assets/design/specs/table-import/8WvP45gNpqAm3UYUM1r3m2.png similarity index 100% rename from assets/design/specs/table-import/8WvP45gNpqAm3UYUM1r3m2.png rename to docs/assets/design/specs/table-import/8WvP45gNpqAm3UYUM1r3m2.png diff --git a/assets/design/specs/table-import/9d1wf4y7cgBUawWbdcoThs.png b/docs/assets/design/specs/table-import/9d1wf4y7cgBUawWbdcoThs.png similarity index 100% rename from assets/design/specs/table-import/9d1wf4y7cgBUawWbdcoThs.png rename to docs/assets/design/specs/table-import/9d1wf4y7cgBUawWbdcoThs.png diff --git a/assets/design/specs/table-import/agFL3gk3gc7pkgjc2GUcw3.png b/docs/assets/design/specs/table-import/agFL3gk3gc7pkgjc2GUcw3.png similarity index 100% rename from assets/design/specs/table-import/agFL3gk3gc7pkgjc2GUcw3.png rename to docs/assets/design/specs/table-import/agFL3gk3gc7pkgjc2GUcw3.png diff --git a/assets/design/specs/table-import/asGm1LMUCEvjCd1jBdcDEA.png b/docs/assets/design/specs/table-import/asGm1LMUCEvjCd1jBdcDEA.png similarity index 100% rename from assets/design/specs/table-import/asGm1LMUCEvjCd1jBdcDEA.png rename to docs/assets/design/specs/table-import/asGm1LMUCEvjCd1jBdcDEA.png diff --git a/assets/design/specs/table-import/g1YFz8wYRm71tQ5W6skCX7.png b/docs/assets/design/specs/table-import/g1YFz8wYRm71tQ5W6skCX7.png similarity index 100% rename from assets/design/specs/table-import/g1YFz8wYRm71tQ5W6skCX7.png rename to docs/assets/design/specs/table-import/g1YFz8wYRm71tQ5W6skCX7.png diff --git a/assets/design/specs/table-import/kLkhvgR9Uk1njGbmgh9msB.png b/docs/assets/design/specs/table-import/kLkhvgR9Uk1njGbmgh9msB.png similarity index 100% rename from assets/design/specs/table-import/kLkhvgR9Uk1njGbmgh9msB.png rename to docs/assets/design/specs/table-import/kLkhvgR9Uk1njGbmgh9msB.png diff --git a/assets/design/specs/table-import/r7fmqfwG2hmjTTbwvMRehr.png b/docs/assets/design/specs/table-import/r7fmqfwG2hmjTTbwvMRehr.png similarity index 100% rename from assets/design/specs/table-import/r7fmqfwG2hmjTTbwvMRehr.png rename to docs/assets/design/specs/table-import/r7fmqfwG2hmjTTbwvMRehr.png diff --git a/assets/design/specs/table-import/uC1C6dxPCze6oiHHTAkAvt.png b/docs/assets/design/specs/table-import/uC1C6dxPCze6oiHHTAkAvt.png similarity index 100% rename from assets/design/specs/table-import/uC1C6dxPCze6oiHHTAkAvt.png rename to docs/assets/design/specs/table-import/uC1C6dxPCze6oiHHTAkAvt.png diff --git a/assets/design/specs/table-import/uhmhbecvbb8cji2LVGFRWo.png b/docs/assets/design/specs/table-import/uhmhbecvbb8cji2LVGFRWo.png similarity index 100% rename from assets/design/specs/table-import/uhmhbecvbb8cji2LVGFRWo.png rename to docs/assets/design/specs/table-import/uhmhbecvbb8cji2LVGFRWo.png diff --git a/assets/design/specs/table-import/vr3pvTp1cUsMJw7gb8xNKY.png b/docs/assets/design/specs/table-import/vr3pvTp1cUsMJw7gb8xNKY.png similarity index 100% rename from assets/design/specs/table-import/vr3pvTp1cUsMJw7gb8xNKY.png rename to docs/assets/design/specs/table-import/vr3pvTp1cUsMJw7gb8xNKY.png diff --git a/assets/design/specs/table-inspector/182186186-91449400-5608-42a2-8f05-33506cb2532b.png b/docs/assets/design/specs/table-inspector/182186186-91449400-5608-42a2-8f05-33506cb2532b.png similarity index 100% rename from assets/design/specs/table-inspector/182186186-91449400-5608-42a2-8f05-33506cb2532b.png rename to docs/assets/design/specs/table-inspector/182186186-91449400-5608-42a2-8f05-33506cb2532b.png diff --git a/assets/design/specs/table-inspector/182355968-c9129949-344a-4e41-a685-90700a816141.png b/docs/assets/design/specs/table-inspector/182355968-c9129949-344a-4e41-a685-90700a816141.png similarity index 100% rename from assets/design/specs/table-inspector/182355968-c9129949-344a-4e41-a685-90700a816141.png rename to docs/assets/design/specs/table-inspector/182355968-c9129949-344a-4e41-a685-90700a816141.png diff --git a/assets/design/specs/table-inspector/182356613-1b222a0b-f77f-4a15-a9df-84ed874ce5f3.gif b/docs/assets/design/specs/table-inspector/182356613-1b222a0b-f77f-4a15-a9df-84ed874ce5f3.gif similarity index 100% rename from assets/design/specs/table-inspector/182356613-1b222a0b-f77f-4a15-a9df-84ed874ce5f3.gif rename to docs/assets/design/specs/table-inspector/182356613-1b222a0b-f77f-4a15-a9df-84ed874ce5f3.gif diff --git a/assets/design/specs/table-inspector/182356749-88273bdb-d4c8-4495-9aa8-c10816171059.png b/docs/assets/design/specs/table-inspector/182356749-88273bdb-d4c8-4495-9aa8-c10816171059.png similarity index 100% rename from assets/design/specs/table-inspector/182356749-88273bdb-d4c8-4495-9aa8-c10816171059.png rename to docs/assets/design/specs/table-inspector/182356749-88273bdb-d4c8-4495-9aa8-c10816171059.png diff --git a/assets/design/specs/table-inspector/182357016-aba81b9e-a45a-4466-808a-6e4963a01038.png b/docs/assets/design/specs/table-inspector/182357016-aba81b9e-a45a-4466-808a-6e4963a01038.png similarity index 100% rename from assets/design/specs/table-inspector/182357016-aba81b9e-a45a-4466-808a-6e4963a01038.png rename to docs/assets/design/specs/table-inspector/182357016-aba81b9e-a45a-4466-808a-6e4963a01038.png diff --git a/assets/design/specs/table-inspector/183378847-b942ecd3-6f3c-4cd4-8cc4-3080a041b2a4.png b/docs/assets/design/specs/table-inspector/183378847-b942ecd3-6f3c-4cd4-8cc4-3080a041b2a4.png similarity index 100% rename from assets/design/specs/table-inspector/183378847-b942ecd3-6f3c-4cd4-8cc4-3080a041b2a4.png rename to docs/assets/design/specs/table-inspector/183378847-b942ecd3-6f3c-4cd4-8cc4-3080a041b2a4.png diff --git a/assets/design/specs/table-inspector/183380108-b3db8d3b-7301-4a19-bc38-cd777a4dde46.png b/docs/assets/design/specs/table-inspector/183380108-b3db8d3b-7301-4a19-bc38-cd777a4dde46.png similarity index 100% rename from assets/design/specs/table-inspector/183380108-b3db8d3b-7301-4a19-bc38-cd777a4dde46.png rename to docs/assets/design/specs/table-inspector/183380108-b3db8d3b-7301-4a19-bc38-cd777a4dde46.png diff --git a/assets/design/specs/table-inspector/183432613-ead6315e-3802-4345-9427-820c66094797.png b/docs/assets/design/specs/table-inspector/183432613-ead6315e-3802-4345-9427-820c66094797.png similarity index 100% rename from assets/design/specs/table-inspector/183432613-ead6315e-3802-4345-9427-820c66094797.png rename to docs/assets/design/specs/table-inspector/183432613-ead6315e-3802-4345-9427-820c66094797.png diff --git a/assets/design/specs/table-inspector/183433425-9a906a91-28a4-4045-9300-732af811ed8d.png b/docs/assets/design/specs/table-inspector/183433425-9a906a91-28a4-4045-9300-732af811ed8d.png similarity index 100% rename from assets/design/specs/table-inspector/183433425-9a906a91-28a4-4045-9300-732af811ed8d.png rename to docs/assets/design/specs/table-inspector/183433425-9a906a91-28a4-4045-9300-732af811ed8d.png diff --git a/assets/design/specs/table-inspector/183444464-fb268bfc-77e2-45cf-9180-373cf950ca63.png b/docs/assets/design/specs/table-inspector/183444464-fb268bfc-77e2-45cf-9180-373cf950ca63.png similarity index 100% rename from assets/design/specs/table-inspector/183444464-fb268bfc-77e2-45cf-9180-373cf950ca63.png rename to docs/assets/design/specs/table-inspector/183444464-fb268bfc-77e2-45cf-9180-373cf950ca63.png diff --git a/assets/design/specs/table-inspector/183445209-a2d7bf2c-453b-4cae-84e8-94b645ce9271.png b/docs/assets/design/specs/table-inspector/183445209-a2d7bf2c-453b-4cae-84e8-94b645ce9271.png similarity index 100% rename from assets/design/specs/table-inspector/183445209-a2d7bf2c-453b-4cae-84e8-94b645ce9271.png rename to docs/assets/design/specs/table-inspector/183445209-a2d7bf2c-453b-4cae-84e8-94b645ce9271.png diff --git a/assets/engineering/research/formulas/b7a53348-4811-42f6-a562-f6d31b955af6 b/docs/assets/engineering/research/formulas/b7a53348-4811-42f6-a562-f6d31b955af6 similarity index 100% rename from assets/engineering/research/formulas/b7a53348-4811-42f6-a562-f6d31b955af6 rename to docs/assets/engineering/research/formulas/b7a53348-4811-42f6-a562-f6d31b955af6 diff --git a/assets/engineering/specs/dependents-graph/schema_del1.png b/docs/assets/engineering/specs/dependents-graph/schema_del1.png similarity index 100% rename from assets/engineering/specs/dependents-graph/schema_del1.png rename to docs/assets/engineering/specs/dependents-graph/schema_del1.png diff --git a/assets/engineering/specs/dependents-graph/schema_del2.png b/docs/assets/engineering/specs/dependents-graph/schema_del2.png similarity index 100% rename from assets/engineering/specs/dependents-graph/schema_del2.png rename to docs/assets/engineering/specs/dependents-graph/schema_del2.png diff --git a/assets/engineering/specs/record-selector/173131159-2723a75e-2dcb-443a-a3c5-97d5657f5882.png b/docs/assets/engineering/specs/record-selector/173131159-2723a75e-2dcb-443a-a3c5-97d5657f5882.png similarity index 100% rename from assets/engineering/specs/record-selector/173131159-2723a75e-2dcb-443a-a3c5-97d5657f5882.png rename to docs/assets/engineering/specs/record-selector/173131159-2723a75e-2dcb-443a-a3c5-97d5657f5882.png diff --git a/assets/engineering/specs/record-selector/173131894-bbbd945a-0748-42b6-b510-b258c7aeb6a0.png b/docs/assets/engineering/specs/record-selector/173131894-bbbd945a-0748-42b6-b510-b258c7aeb6a0.png similarity index 100% rename from assets/engineering/specs/record-selector/173131894-bbbd945a-0748-42b6-b510-b258c7aeb6a0.png rename to docs/assets/engineering/specs/record-selector/173131894-bbbd945a-0748-42b6-b510-b258c7aeb6a0.png diff --git a/assets/engineering/specs/record-selector/173132518-e93987c8-9cda-4d8f-9de3-f37a6bf7cc1a.png b/docs/assets/engineering/specs/record-selector/173132518-e93987c8-9cda-4d8f-9de3-f37a6bf7cc1a.png similarity index 100% rename from assets/engineering/specs/record-selector/173132518-e93987c8-9cda-4d8f-9de3-f37a6bf7cc1a.png rename to docs/assets/engineering/specs/record-selector/173132518-e93987c8-9cda-4d8f-9de3-f37a6bf7cc1a.png diff --git a/assets/engineering/specs/record-selector/173816522-eda451c1-046d-46f1-bfc0-6abdf4f2c085.png b/docs/assets/engineering/specs/record-selector/173816522-eda451c1-046d-46f1-bfc0-6abdf4f2c085.png similarity index 100% rename from assets/engineering/specs/record-selector/173816522-eda451c1-046d-46f1-bfc0-6abdf4f2c085.png rename to docs/assets/engineering/specs/record-selector/173816522-eda451c1-046d-46f1-bfc0-6abdf4f2c085.png diff --git a/assets/expected-install-flow.svg b/docs/assets/expected-install-flow.svg similarity index 100% rename from assets/expected-install-flow.svg rename to docs/assets/expected-install-flow.svg diff --git a/assets/mathesar_installation_flow(2023-07-10).drawio.svg b/docs/assets/mathesar_installation_flow(2023-07-10).drawio.svg similarity index 100% rename from assets/mathesar_installation_flow(2023-07-10).drawio.svg rename to docs/assets/mathesar_installation_flow(2023-07-10).drawio.svg diff --git a/assets/meeting-notes/2022-02/SkCTNfXeq.png b/docs/assets/meeting-notes/2022-02/SkCTNfXeq.png similarity index 100% rename from assets/meeting-notes/2022-02/SkCTNfXeq.png rename to docs/assets/meeting-notes/2022-02/SkCTNfXeq.png diff --git a/assets/meeting-notes/2022-08/B1jXFLtT5.png b/docs/assets/meeting-notes/2022-08/B1jXFLtT5.png similarity index 100% rename from assets/meeting-notes/2022-08/B1jXFLtT5.png rename to docs/assets/meeting-notes/2022-08/B1jXFLtT5.png diff --git a/assets/meeting-notes/2022-08/BkZ-kcZ6c.png b/docs/assets/meeting-notes/2022-08/BkZ-kcZ6c.png similarity index 100% rename from assets/meeting-notes/2022-08/BkZ-kcZ6c.png rename to docs/assets/meeting-notes/2022-08/BkZ-kcZ6c.png diff --git a/assets/meeting-notes/2022-08/rJh8rDKpc.png b/docs/assets/meeting-notes/2022-08/rJh8rDKpc.png similarity index 100% rename from assets/meeting-notes/2022-08/rJh8rDKpc.png rename to docs/assets/meeting-notes/2022-08/rJh8rDKpc.png diff --git a/assets/meeting-notes/may-2021/H1XXmRMFu.png b/docs/assets/meeting-notes/may-2021/H1XXmRMFu.png similarity index 100% rename from assets/meeting-notes/may-2021/H1XXmRMFu.png rename to docs/assets/meeting-notes/may-2021/H1XXmRMFu.png diff --git a/assets/meeting-notes/may-2021/SJYg_0zFO.png b/docs/assets/meeting-notes/may-2021/SJYg_0zFO.png similarity index 100% rename from assets/meeting-notes/may-2021/SJYg_0zFO.png rename to docs/assets/meeting-notes/may-2021/SJYg_0zFO.png diff --git a/assets/meeting-notes/may-2021/ry7ADAMFd.png b/docs/assets/meeting-notes/may-2021/ry7ADAMFd.png similarity index 100% rename from assets/meeting-notes/may-2021/ry7ADAMFd.png rename to docs/assets/meeting-notes/may-2021/ry7ADAMFd.png diff --git a/assets/meeting-notes/may-2021/ryhXWAGYu.png b/docs/assets/meeting-notes/may-2021/ryhXWAGYu.png similarity index 100% rename from assets/meeting-notes/may-2021/ryhXWAGYu.png rename to docs/assets/meeting-notes/may-2021/ryhXWAGYu.png diff --git a/assets/meeting-notes/may-2021/upload_f6576614be01e5b8aeaac90dbb9eaa5c.png b/docs/assets/meeting-notes/may-2021/upload_f6576614be01e5b8aeaac90dbb9eaa5c.png similarity index 100% rename from assets/meeting-notes/may-2021/upload_f6576614be01e5b8aeaac90dbb9eaa5c.png rename to docs/assets/meeting-notes/may-2021/upload_f6576614be01e5b8aeaac90dbb9eaa5c.png diff --git a/assets/product/concepts/data-types/screen_shot_2022-01-06_at_2.46.23_pm.png b/docs/assets/product/concepts/data-types/screen_shot_2022-01-06_at_2.46.23_pm.png similarity index 100% rename from assets/product/concepts/data-types/screen_shot_2022-01-06_at_2.46.23_pm.png rename to docs/assets/product/concepts/data-types/screen_shot_2022-01-06_at_2.46.23_pm.png diff --git a/assets/product/specs/2022-01-views/03-the-query-builder/view_flowchart.drawio.png b/docs/assets/product/specs/2022-01-views/03-the-query-builder/view_flowchart.drawio.png similarity index 100% rename from assets/product/specs/2022-01-views/03-the-query-builder/view_flowchart.drawio.png rename to docs/assets/product/specs/2022-01-views/03-the-query-builder/view_flowchart.drawio.png diff --git a/assets/product/specs/2022-01-views/04-formulas/view_builder_4.png b/docs/assets/product/specs/2022-01-views/04-formulas/view_builder_4.png similarity index 100% rename from assets/product/specs/2022-01-views/04-formulas/view_builder_4.png rename to docs/assets/product/specs/2022-01-views/04-formulas/view_builder_4.png diff --git a/assets/product/specs/2022-01-views/06-view-columns/screen_shot_2022-01-20_at_4.21.05_pm.png b/docs/assets/product/specs/2022-01-views/06-view-columns/screen_shot_2022-01-20_at_4.21.05_pm.png similarity index 100% rename from assets/product/specs/2022-01-views/06-view-columns/screen_shot_2022-01-20_at_4.21.05_pm.png rename to docs/assets/product/specs/2022-01-views/06-view-columns/screen_shot_2022-01-20_at_4.21.05_pm.png diff --git a/assets/product/specs/2022-01-views/06-view-columns/screen_shot_2022-01-20_at_4.23.21_pm.png b/docs/assets/product/specs/2022-01-views/06-view-columns/screen_shot_2022-01-20_at_4.23.21_pm.png similarity index 100% rename from assets/product/specs/2022-01-views/06-view-columns/screen_shot_2022-01-20_at_4.23.21_pm.png rename to docs/assets/product/specs/2022-01-views/06-view-columns/screen_shot_2022-01-20_at_4.23.21_pm.png diff --git a/assets/product/specs/dynamic-defaults-proto/upload_ebe944f590f61b67ea9a5646d45668a5.png b/docs/assets/product/specs/dynamic-defaults-proto/upload_ebe944f590f61b67ea9a5646d45668a5.png similarity index 100% rename from assets/product/specs/dynamic-defaults-proto/upload_ebe944f590f61b67ea9a5646d45668a5.png rename to docs/assets/product/specs/dynamic-defaults-proto/upload_ebe944f590f61b67ea9a5646d45668a5.png diff --git a/assets/product/specs/example-schema/movie_schema_2.drawio.png b/docs/assets/product/specs/example-schema/movie_schema_2.drawio.png similarity index 100% rename from assets/product/specs/example-schema/movie_schema_2.drawio.png rename to docs/assets/product/specs/example-schema/movie_schema_2.drawio.png diff --git a/assets/product/specs/example-schema/movie_schema_3.drawio.png b/docs/assets/product/specs/example-schema/movie_schema_3.drawio.png similarity index 100% rename from assets/product/specs/example-schema/movie_schema_3.drawio.png rename to docs/assets/product/specs/example-schema/movie_schema_3.drawio.png diff --git a/assets/product/specs/publicly-shareable-links/public_links_one_table_per_entity.png b/docs/assets/product/specs/publicly-shareable-links/public_links_one_table_per_entity.png similarity index 100% rename from assets/product/specs/publicly-shareable-links/public_links_one_table_per_entity.png rename to docs/assets/product/specs/publicly-shareable-links/public_links_one_table_per_entity.png diff --git a/assets/product/specs/publicly-shareable-links/public_links_sparse_table.png b/docs/assets/product/specs/publicly-shareable-links/public_links_sparse_table.png similarity index 100% rename from assets/product/specs/publicly-shareable-links/public_links_sparse_table.png rename to docs/assets/product/specs/publicly-shareable-links/public_links_sparse_table.png diff --git a/assets/product/specs/publicly-shareable-links/public_links_sparse_table_metadata.png b/docs/assets/product/specs/publicly-shareable-links/public_links_sparse_table_metadata.png similarity index 100% rename from assets/product/specs/publicly-shareable-links/public_links_sparse_table_metadata.png rename to docs/assets/product/specs/publicly-shareable-links/public_links_sparse_table_metadata.png diff --git a/assets/product/specs/users-permissions/rls.png b/docs/assets/product/specs/users-permissions/rls.png similarity index 100% rename from assets/product/specs/users-permissions/rls.png rename to docs/assets/product/specs/users-permissions/rls.png diff --git a/assets/product/specs/users-permissions/sharing.png b/docs/assets/product/specs/users-permissions/sharing.png similarity index 100% rename from assets/product/specs/users-permissions/sharing.png rename to docs/assets/product/specs/users-permissions/sharing.png diff --git a/assets/product/specs/users-permissions/sign-in.png b/docs/assets/product/specs/users-permissions/sign-in.png similarity index 100% rename from assets/product/specs/users-permissions/sign-in.png rename to docs/assets/product/specs/users-permissions/sign-in.png diff --git a/assets/product/specs/users-permissions/user-page-custom.png b/docs/assets/product/specs/users-permissions/user-page-custom.png similarity index 100% rename from assets/product/specs/users-permissions/user-page-custom.png rename to docs/assets/product/specs/users-permissions/user-page-custom.png diff --git a/assets/product/specs/users-permissions/user-page.png b/docs/assets/product/specs/users-permissions/user-page.png similarity index 100% rename from assets/product/specs/users-permissions/user-page.png rename to docs/assets/product/specs/users-permissions/user-page.png diff --git a/assets/product/specs/users-permissions/users.png b/docs/assets/product/specs/users-permissions/users.png similarity index 100% rename from assets/product/specs/users-permissions/users.png rename to docs/assets/product/specs/users-permissions/users.png diff --git a/assets/projects/installation-improvements-0_1_3/current_install_flow_0.1.3.png b/docs/assets/projects/installation-improvements-0_1_3/current_install_flow_0.1.3.png similarity index 100% rename from assets/projects/installation-improvements-0_1_3/current_install_flow_0.1.3.png rename to docs/assets/projects/installation-improvements-0_1_3/current_install_flow_0.1.3.png diff --git a/assets/projects/list-datatype/data_types_dropdown.png b/docs/assets/projects/list-datatype/data_types_dropdown.png similarity index 100% rename from assets/projects/list-datatype/data_types_dropdown.png rename to docs/assets/projects/list-datatype/data_types_dropdown.png diff --git a/assets/projects/list-datatype/input_box.png b/docs/assets/projects/list-datatype/input_box.png similarity index 100% rename from assets/projects/list-datatype/input_box.png rename to docs/assets/projects/list-datatype/input_box.png diff --git a/assets/projects/list-datatype/llenar_celda.png b/docs/assets/projects/list-datatype/llenar_celda.png similarity index 100% rename from assets/projects/list-datatype/llenar_celda.png rename to docs/assets/projects/list-datatype/llenar_celda.png diff --git a/assets/projects/list-datatype/visualizacion_columna.png b/docs/assets/projects/list-datatype/visualizacion_columna.png similarity index 100% rename from assets/projects/list-datatype/visualizacion_columna.png rename to docs/assets/projects/list-datatype/visualizacion_columna.png diff --git a/assets/team/guide/meetings/screen_shot_2022-12-08_at_9.53.42_pm.png b/docs/assets/team/guide/meetings/screen_shot_2022-12-08_at_9.53.42_pm.png similarity index 100% rename from assets/team/guide/meetings/screen_shot_2022-12-08_at_9.53.42_pm.png rename to docs/assets/team/guide/meetings/screen_shot_2022-12-08_at_9.53.42_pm.png diff --git a/assets/team/guide/meetings/screen_shot_2022-12-08_at_9.53.57_pm.png b/docs/assets/team/guide/meetings/screen_shot_2022-12-08_at_9.53.57_pm.png similarity index 100% rename from assets/team/guide/meetings/screen_shot_2022-12-08_at_9.53.57_pm.png rename to docs/assets/team/guide/meetings/screen_shot_2022-12-08_at_9.53.57_pm.png diff --git a/community.md b/docs/community.md similarity index 100% rename from community.md rename to docs/community.md diff --git a/community/contributing.md b/docs/community/contributing.md similarity index 100% rename from community/contributing.md rename to docs/community/contributing.md diff --git a/community/discord.md b/docs/community/discord.md similarity index 100% rename from community/discord.md rename to docs/community/discord.md diff --git a/community/events.md b/docs/community/events.md similarity index 100% rename from community/events.md rename to docs/community/events.md diff --git a/community/events/2022-01-22.md b/docs/community/events/2022-01-22.md similarity index 100% rename from community/events/2022-01-22.md rename to docs/community/events/2022-01-22.md diff --git a/community/events/2022-03-21-to-2022-03-25.md b/docs/community/events/2022-03-21-to-2022-03-25.md similarity index 100% rename from community/events/2022-03-21-to-2022-03-25.md rename to docs/community/events/2022-03-21-to-2022-03-25.md diff --git a/community/events/2022-03-28-to-2022-03-31.md b/docs/community/events/2022-03-28-to-2022-03-31.md similarity index 100% rename from community/events/2022-03-28-to-2022-03-31.md rename to docs/community/events/2022-03-28-to-2022-03-31.md diff --git a/community/events/2022-04-04-to-2022-04-08.md b/docs/community/events/2022-04-04-to-2022-04-08.md similarity index 100% rename from community/events/2022-04-04-to-2022-04-08.md rename to docs/community/events/2022-04-04-to-2022-04-08.md diff --git a/community/events/2022-04-12-to-2022-04-15.md b/docs/community/events/2022-04-12-to-2022-04-15.md similarity index 100% rename from community/events/2022-04-12-to-2022-04-15.md rename to docs/community/events/2022-04-12-to-2022-04-15.md diff --git a/community/events/2023-03-27-to-2023-03-29.md b/docs/community/events/2023-03-27-to-2023-03-29.md similarity index 100% rename from community/events/2023-03-27-to-2023-03-29.md rename to docs/community/events/2023-03-27-to-2023-03-29.md diff --git a/community/github.md b/docs/community/github.md similarity index 100% rename from community/github.md rename to docs/community/github.md diff --git a/community/mailing-lists.md b/docs/community/mailing-lists.md similarity index 100% rename from community/mailing-lists.md rename to docs/community/mailing-lists.md diff --git a/community/matrix.md b/docs/community/matrix.md similarity index 100% rename from community/matrix.md rename to docs/community/matrix.md diff --git a/community/mentoring.md b/docs/community/mentoring.md similarity index 100% rename from community/mentoring.md rename to docs/community/mentoring.md diff --git a/community/mentoring/applicant-guide.md b/docs/community/mentoring/applicant-guide.md similarity index 100% rename from community/mentoring/applicant-guide.md rename to docs/community/mentoring/applicant-guide.md diff --git a/community/mentoring/mentee-guide.md b/docs/community/mentoring/mentee-guide.md similarity index 100% rename from community/mentoring/mentee-guide.md rename to docs/community/mentoring/mentee-guide.md diff --git a/community/mentoring/mentor-guide.md b/docs/community/mentoring/mentor-guide.md similarity index 100% rename from community/mentoring/mentor-guide.md rename to docs/community/mentoring/mentor-guide.md diff --git a/community/mentoring/project-idea-template.md b/docs/community/mentoring/project-idea-template.md similarity index 100% rename from community/mentoring/project-idea-template.md rename to docs/community/mentoring/project-idea-template.md diff --git a/community/mentoring/project-ideas.md b/docs/community/mentoring/project-ideas.md similarity index 100% rename from community/mentoring/project-ideas.md rename to docs/community/mentoring/project-ideas.md diff --git a/community/mentoring/project-ideas/api-documentation.md b/docs/community/mentoring/project-ideas/api-documentation.md similarity index 100% rename from community/mentoring/project-ideas/api-documentation.md rename to docs/community/mentoring/project-ideas/api-documentation.md diff --git a/community/mentoring/project-ideas/archive.md b/docs/community/mentoring/project-ideas/archive.md similarity index 100% rename from community/mentoring/project-ideas/archive.md rename to docs/community/mentoring/project-ideas/archive.md diff --git a/community/mentoring/project-ideas/auto-suggest-normalization.md b/docs/community/mentoring/project-ideas/auto-suggest-normalization.md similarity index 100% rename from community/mentoring/project-ideas/auto-suggest-normalization.md rename to docs/community/mentoring/project-ideas/auto-suggest-normalization.md diff --git a/community/mentoring/project-ideas/automatic-hint-reflection.md b/docs/community/mentoring/project-ideas/automatic-hint-reflection.md similarity index 100% rename from community/mentoring/project-ideas/automatic-hint-reflection.md rename to docs/community/mentoring/project-ideas/automatic-hint-reflection.md diff --git a/community/mentoring/project-ideas/break-out-columns.md b/docs/community/mentoring/project-ideas/break-out-columns.md similarity index 100% rename from community/mentoring/project-ideas/break-out-columns.md rename to docs/community/mentoring/project-ideas/break-out-columns.md diff --git a/community/mentoring/project-ideas/data-export.md b/docs/community/mentoring/project-ideas/data-export.md similarity index 100% rename from community/mentoring/project-ideas/data-export.md rename to docs/community/mentoring/project-ideas/data-export.md diff --git a/community/mentoring/project-ideas/db-views.md b/docs/community/mentoring/project-ideas/db-views.md similarity index 100% rename from community/mentoring/project-ideas/db-views.md rename to docs/community/mentoring/project-ideas/db-views.md diff --git a/community/mentoring/project-ideas/dependency-graph.md b/docs/community/mentoring/project-ideas/dependency-graph.md similarity index 100% rename from community/mentoring/project-ideas/dependency-graph.md rename to docs/community/mentoring/project-ideas/dependency-graph.md diff --git a/community/mentoring/project-ideas/file-data-types.md b/docs/community/mentoring/project-ideas/file-data-types.md similarity index 100% rename from community/mentoring/project-ideas/file-data-types.md rename to docs/community/mentoring/project-ideas/file-data-types.md diff --git a/community/mentoring/project-ideas/import-data-into-existing-tables.md b/docs/community/mentoring/project-ideas/import-data-into-existing-tables.md similarity index 100% rename from community/mentoring/project-ideas/import-data-into-existing-tables.md rename to docs/community/mentoring/project-ideas/import-data-into-existing-tables.md diff --git a/community/mentoring/project-ideas/import-excel-json-files.md b/docs/community/mentoring/project-ideas/import-excel-json-files.md similarity index 100% rename from community/mentoring/project-ideas/import-excel-json-files.md rename to docs/community/mentoring/project-ideas/import-excel-json-files.md diff --git a/community/mentoring/project-ideas/json-data-type.md b/docs/community/mentoring/project-ideas/json-data-type.md similarity index 100% rename from community/mentoring/project-ideas/json-data-type.md rename to docs/community/mentoring/project-ideas/json-data-type.md diff --git a/community/mentoring/project-ideas/json-editor.md b/docs/community/mentoring/project-ideas/json-editor.md similarity index 100% rename from community/mentoring/project-ideas/json-editor.md rename to docs/community/mentoring/project-ideas/json-editor.md diff --git a/community/mentoring/project-ideas/kanban-view.md b/docs/community/mentoring/project-ideas/kanban-view.md similarity index 100% rename from community/mentoring/project-ideas/kanban-view.md rename to docs/community/mentoring/project-ideas/kanban-view.md diff --git a/community/mentoring/project-ideas/list-data-type.md b/docs/community/mentoring/project-ideas/list-data-type.md similarity index 100% rename from community/mentoring/project-ideas/list-data-type.md rename to docs/community/mentoring/project-ideas/list-data-type.md diff --git a/community/mentoring/project-ideas/location-data-type.md b/docs/community/mentoring/project-ideas/location-data-type.md similarity index 100% rename from community/mentoring/project-ideas/location-data-type.md rename to docs/community/mentoring/project-ideas/location-data-type.md diff --git a/community/mentoring/project-ideas/make-casting-functions-inlinable.md b/docs/community/mentoring/project-ideas/make-casting-functions-inlinable.md similarity index 100% rename from community/mentoring/project-ideas/make-casting-functions-inlinable.md rename to docs/community/mentoring/project-ideas/make-casting-functions-inlinable.md diff --git a/community/mentoring/project-ideas/more-data-import-sources.md b/docs/community/mentoring/project-ideas/more-data-import-sources.md similarity index 100% rename from community/mentoring/project-ideas/more-data-import-sources.md rename to docs/community/mentoring/project-ideas/more-data-import-sources.md diff --git a/community/mentoring/project-ideas/more-summarizations.md b/docs/community/mentoring/project-ideas/more-summarizations.md similarity index 100% rename from community/mentoring/project-ideas/more-summarizations.md rename to docs/community/mentoring/project-ideas/more-summarizations.md diff --git a/community/mentoring/project-ideas/persist-ui-configuration.md b/docs/community/mentoring/project-ideas/persist-ui-configuration.md similarity index 100% rename from community/mentoring/project-ideas/persist-ui-configuration.md rename to docs/community/mentoring/project-ideas/persist-ui-configuration.md diff --git a/community/mentoring/project-ideas/phone-number-data-type.md b/docs/community/mentoring/project-ideas/phone-number-data-type.md similarity index 100% rename from community/mentoring/project-ideas/phone-number-data-type.md rename to docs/community/mentoring/project-ideas/phone-number-data-type.md diff --git a/community/mentoring/project-ideas/postgis-data-types.md b/docs/community/mentoring/project-ideas/postgis-data-types.md similarity index 100% rename from community/mentoring/project-ideas/postgis-data-types.md rename to docs/community/mentoring/project-ideas/postgis-data-types.md diff --git a/community/mentoring/project-ideas/sharable-forms.md b/docs/community/mentoring/project-ideas/sharable-forms.md similarity index 100% rename from community/mentoring/project-ideas/sharable-forms.md rename to docs/community/mentoring/project-ideas/sharable-forms.md diff --git a/community/mentoring/project-ideas/single-select-data-type.md b/docs/community/mentoring/project-ideas/single-select-data-type.md similarity index 100% rename from community/mentoring/project-ideas/single-select-data-type.md rename to docs/community/mentoring/project-ideas/single-select-data-type.md diff --git a/community/mentoring/project-ideas/suggest-candidate-columns.md b/docs/community/mentoring/project-ideas/suggest-candidate-columns.md similarity index 100% rename from community/mentoring/project-ideas/suggest-candidate-columns.md rename to docs/community/mentoring/project-ideas/suggest-candidate-columns.md diff --git a/community/mentoring/project-ideas/support-default-postgres-types.md b/docs/community/mentoring/project-ideas/support-default-postgres-types.md similarity index 100% rename from community/mentoring/project-ideas/support-default-postgres-types.md rename to docs/community/mentoring/project-ideas/support-default-postgres-types.md diff --git a/community/mentoring/project-ideas/ui-import-data-existing-table.md b/docs/community/mentoring/project-ideas/ui-import-data-existing-table.md similarity index 100% rename from community/mentoring/project-ideas/ui-import-data-existing-table.md rename to docs/community/mentoring/project-ideas/ui-import-data-existing-table.md diff --git a/community/mentoring/project-ideas/visualization-of-grouped-data.md b/docs/community/mentoring/project-ideas/visualization-of-grouped-data.md similarity index 100% rename from community/mentoring/project-ideas/visualization-of-grouped-data.md rename to docs/community/mentoring/project-ideas/visualization-of-grouped-data.md diff --git a/community/mentoring/project-ideas/web-sql-editor.md b/docs/community/mentoring/project-ideas/web-sql-editor.md similarity index 100% rename from community/mentoring/project-ideas/web-sql-editor.md rename to docs/community/mentoring/project-ideas/web-sql-editor.md diff --git a/community/mentoring/project-proposal-template.md b/docs/community/mentoring/project-proposal-template.md similarity index 100% rename from community/mentoring/project-proposal-template.md rename to docs/community/mentoring/project-proposal-template.md diff --git a/community/setup_in_windows.md b/docs/community/setup_in_windows.md similarity index 100% rename from community/setup_in_windows.md rename to docs/community/setup_in_windows.md diff --git a/cycle_2_user_flow.pdf b/docs/cycle_2_user_flow.pdf similarity index 100% rename from cycle_2_user_flow.pdf rename to docs/cycle_2_user_flow.pdf diff --git a/design-assets/upload_c59d472471972af4e4dfca4fac7d85f6.png b/docs/design-assets/upload_c59d472471972af4e4dfca4fac7d85f6.png similarity index 100% rename from design-assets/upload_c59d472471972af4e4dfca4fac7d85f6.png rename to docs/design-assets/upload_c59d472471972af4e4dfca4fac7d85f6.png diff --git a/design.md b/docs/design.md similarity index 100% rename from design.md rename to docs/design.md diff --git a/design/design-principles.md b/docs/design/design-principles.md similarity index 100% rename from design/design-principles.md rename to docs/design/design-principles.md diff --git a/design/exploration.md b/docs/design/exploration.md similarity index 100% rename from design/exploration.md rename to docs/design/exploration.md diff --git a/design/exploration/data-management-skills.md b/docs/design/exploration/data-management-skills.md similarity index 100% rename from design/exploration/data-management-skills.md rename to docs/design/exploration/data-management-skills.md diff --git a/design/exploration/data-types.md b/docs/design/exploration/data-types.md similarity index 100% rename from design/exploration/data-types.md rename to docs/design/exploration/data-types.md diff --git a/design/exploration/filters.md b/docs/design/exploration/filters.md similarity index 100% rename from design/exploration/filters.md rename to docs/design/exploration/filters.md diff --git a/design/exploration/inventory-data-exploration.md b/docs/design/exploration/inventory-data-exploration.md similarity index 100% rename from design/exploration/inventory-data-exploration.md rename to docs/design/exploration/inventory-data-exploration.md diff --git a/design/exploration/use-cases.md b/docs/design/exploration/use-cases.md similarity index 100% rename from design/exploration/use-cases.md rename to docs/design/exploration/use-cases.md diff --git a/design/exploration/use-cases/inventory-use-case.md b/docs/design/exploration/use-cases/inventory-use-case.md similarity index 100% rename from design/exploration/use-cases/inventory-use-case.md rename to docs/design/exploration/use-cases/inventory-use-case.md diff --git a/design/process.md b/docs/design/process.md similarity index 100% rename from design/process.md rename to docs/design/process.md diff --git a/design/process/deliverables.md b/docs/design/process/deliverables.md similarity index 100% rename from design/process/deliverables.md rename to docs/design/process/deliverables.md diff --git a/design/process/design-system.md b/docs/design/process/design-system.md similarity index 100% rename from design/process/design-system.md rename to docs/design/process/design-system.md diff --git a/design/process/review-guidelines.md b/docs/design/process/review-guidelines.md similarity index 100% rename from design/process/review-guidelines.md rename to docs/design/process/review-guidelines.md diff --git a/design/reports.md b/docs/design/reports.md similarity index 100% rename from design/reports.md rename to docs/design/reports.md diff --git a/design/reports/inventory-use-case.md b/docs/design/reports/inventory-use-case.md similarity index 100% rename from design/reports/inventory-use-case.md rename to docs/design/reports/inventory-use-case.md diff --git a/design/reports/tool-category.md b/docs/design/reports/tool-category.md similarity index 100% rename from design/reports/tool-category.md rename to docs/design/reports/tool-category.md diff --git a/design/resources.md b/docs/design/resources.md similarity index 100% rename from design/resources.md rename to docs/design/resources.md diff --git a/design/specs.md b/docs/design/specs.md similarity index 100% rename from design/specs.md rename to docs/design/specs.md diff --git a/design/specs/Formulas.md b/docs/design/specs/Formulas.md similarity index 100% rename from design/specs/Formulas.md rename to docs/design/specs/Formulas.md diff --git a/design/specs/add-formula-column.md b/docs/design/specs/add-formula-column.md similarity index 100% rename from design/specs/add-formula-column.md rename to docs/design/specs/add-formula-column.md diff --git a/design/specs/add-update-delete-records.md b/docs/design/specs/add-update-delete-records.md similarity index 100% rename from design/specs/add-update-delete-records.md rename to docs/design/specs/add-update-delete-records.md diff --git a/design/specs/boolean-data-type.md b/docs/design/specs/boolean-data-type.md similarity index 100% rename from design/specs/boolean-data-type.md rename to docs/design/specs/boolean-data-type.md diff --git a/design/specs/clipboard-interactions.md b/docs/design/specs/clipboard-interactions.md similarity index 100% rename from design/specs/clipboard-interactions.md rename to docs/design/specs/clipboard-interactions.md diff --git a/design/specs/column-extraction.md b/docs/design/specs/column-extraction.md similarity index 100% rename from design/specs/column-extraction.md rename to docs/design/specs/column-extraction.md diff --git a/design/specs/create-edit-delete-views.md b/docs/design/specs/create-edit-delete-views.md similarity index 100% rename from design/specs/create-edit-delete-views.md rename to docs/design/specs/create-edit-delete-views.md diff --git a/design/specs/data-type-duration.md b/docs/design/specs/data-type-duration.md similarity index 100% rename from design/specs/data-type-duration.md rename to docs/design/specs/data-type-duration.md diff --git a/design/specs/data-type-options.md b/docs/design/specs/data-type-options.md similarity index 100% rename from design/specs/data-type-options.md rename to docs/design/specs/data-type-options.md diff --git a/design/specs/data-types-text.md b/docs/design/specs/data-types-text.md similarity index 100% rename from design/specs/data-types-text.md rename to docs/design/specs/data-types-text.md diff --git a/design/specs/database-switching.md b/docs/design/specs/database-switching.md similarity index 100% rename from design/specs/database-switching.md rename to docs/design/specs/database-switching.md diff --git a/design/specs/date-time-data-type.md b/docs/design/specs/date-time-data-type.md similarity index 100% rename from design/specs/date-time-data-type.md rename to docs/design/specs/date-time-data-type.md diff --git a/design/specs/eding-view-records.md b/docs/design/specs/eding-view-records.md similarity index 100% rename from design/specs/eding-view-records.md rename to docs/design/specs/eding-view-records.md diff --git a/design/specs/email-data-type.md b/docs/design/specs/email-data-type.md similarity index 100% rename from design/specs/email-data-type.md rename to docs/design/specs/email-data-type.md diff --git a/design/specs/filter-sort-group.md b/docs/design/specs/filter-sort-group.md similarity index 100% rename from design/specs/filter-sort-group.md rename to docs/design/specs/filter-sort-group.md diff --git a/design/specs/foreign-key-constraints.md b/docs/design/specs/foreign-key-constraints.md similarity index 100% rename from design/specs/foreign-key-constraints.md rename to docs/design/specs/foreign-key-constraints.md diff --git a/design/specs/global-data-type-components.md b/docs/design/specs/global-data-type-components.md similarity index 100% rename from design/specs/global-data-type-components.md rename to docs/design/specs/global-data-type-components.md diff --git a/design/specs/import-status.md b/docs/design/specs/import-status.md similarity index 100% rename from design/specs/import-status.md rename to docs/design/specs/import-status.md diff --git a/design/specs/inline-save-edit.md b/docs/design/specs/inline-save-edit.md similarity index 100% rename from design/specs/inline-save-edit.md rename to docs/design/specs/inline-save-edit.md diff --git a/design/specs/listing-views.md b/docs/design/specs/listing-views.md similarity index 100% rename from design/specs/listing-views.md rename to docs/design/specs/listing-views.md diff --git a/design/specs/lookup-field-component.md b/docs/design/specs/lookup-field-component.md similarity index 100% rename from design/specs/lookup-field-component.md rename to docs/design/specs/lookup-field-component.md diff --git a/design/specs/money-data-type.md b/docs/design/specs/money-data-type.md similarity index 100% rename from design/specs/money-data-type.md rename to docs/design/specs/money-data-type.md diff --git a/design/specs/multiple-records-spec.md b/docs/design/specs/multiple-records-spec.md similarity index 100% rename from design/specs/multiple-records-spec.md rename to docs/design/specs/multiple-records-spec.md diff --git a/design/specs/navigation-updates.md b/docs/design/specs/navigation-updates.md similarity index 100% rename from design/specs/navigation-updates.md rename to docs/design/specs/navigation-updates.md diff --git a/design/specs/navigation.md b/docs/design/specs/navigation.md similarity index 100% rename from design/specs/navigation.md rename to docs/design/specs/navigation.md diff --git a/design/specs/non-mathesar-data-types.md b/docs/design/specs/non-mathesar-data-types.md similarity index 100% rename from design/specs/non-mathesar-data-types.md rename to docs/design/specs/non-mathesar-data-types.md diff --git a/design/specs/number-data-type.md b/docs/design/specs/number-data-type.md similarity index 100% rename from design/specs/number-data-type.md rename to docs/design/specs/number-data-type.md diff --git a/design/specs/pagination.md b/docs/design/specs/pagination.md similarity index 100% rename from design/specs/pagination.md rename to docs/design/specs/pagination.md diff --git a/design/specs/read-only-table.md b/docs/design/specs/read-only-table.md similarity index 100% rename from design/specs/read-only-table.md rename to docs/design/specs/read-only-table.md diff --git a/design/specs/record-page.md b/docs/design/specs/record-page.md similarity index 100% rename from design/specs/record-page.md rename to docs/design/specs/record-page.md diff --git a/design/specs/record-selector.md b/docs/design/specs/record-selector.md similarity index 100% rename from design/specs/record-selector.md rename to docs/design/specs/record-selector.md diff --git a/design/specs/record-summary.md b/docs/design/specs/record-summary.md similarity index 100% rename from design/specs/record-summary.md rename to docs/design/specs/record-summary.md diff --git a/design/specs/schemas.md b/docs/design/specs/schemas.md similarity index 100% rename from design/specs/schemas.md rename to docs/design/specs/schemas.md diff --git a/design/specs/sidebar-improvements.md b/docs/design/specs/sidebar-improvements.md similarity index 100% rename from design/specs/sidebar-improvements.md rename to docs/design/specs/sidebar-improvements.md diff --git a/design/specs/specs-null-values.md b/docs/design/specs/specs-null-values.md similarity index 100% rename from design/specs/specs-null-values.md rename to docs/design/specs/specs-null-values.md diff --git a/design/specs/table-creation-controls.md b/docs/design/specs/table-creation-controls.md similarity index 100% rename from design/specs/table-creation-controls.md rename to docs/design/specs/table-creation-controls.md diff --git a/design/specs/table-import.md b/docs/design/specs/table-import.md similarity index 100% rename from design/specs/table-import.md rename to docs/design/specs/table-import.md diff --git a/design/specs/table-inspector.md b/docs/design/specs/table-inspector.md similarity index 100% rename from design/specs/table-inspector.md rename to docs/design/specs/table-inspector.md diff --git a/design/specs/table-operations.md b/docs/design/specs/table-operations.md similarity index 100% rename from design/specs/table-operations.md rename to docs/design/specs/table-operations.md diff --git a/design/specs/ui-styling.md b/docs/design/specs/ui-styling.md similarity index 100% rename from design/specs/ui-styling.md rename to docs/design/specs/ui-styling.md diff --git a/design/specs/url-data-type.md b/docs/design/specs/url-data-type.md similarity index 100% rename from design/specs/url-data-type.md rename to docs/design/specs/url-data-type.md diff --git a/design/specs/viewing-views-specs.md b/docs/design/specs/viewing-views-specs.md similarity index 100% rename from design/specs/viewing-views-specs.md rename to docs/design/specs/viewing-views-specs.md diff --git a/design/specs/views-one-to-many-relationships.md b/docs/design/specs/views-one-to-many-relationships.md similarity index 100% rename from design/specs/views-one-to-many-relationships.md rename to docs/design/specs/views-one-to-many-relationships.md diff --git a/design/specs/visual-query-builder.md b/docs/design/specs/visual-query-builder.md similarity index 100% rename from design/specs/visual-query-builder.md rename to docs/design/specs/visual-query-builder.md diff --git a/design/specs/working-with-columns.md b/docs/design/specs/working-with-columns.md similarity index 100% rename from design/specs/working-with-columns.md rename to docs/design/specs/working-with-columns.md diff --git a/design/standards.md b/docs/design/standards.md similarity index 100% rename from design/standards.md rename to docs/design/standards.md diff --git a/engineering.md b/docs/engineering.md similarity index 100% rename from engineering.md rename to docs/engineering.md diff --git a/engineering/architecture.md b/docs/engineering/architecture.md similarity index 100% rename from engineering/architecture.md rename to docs/engineering/architecture.md diff --git a/engineering/architecture/api-standards.md b/docs/engineering/architecture/api-standards.md similarity index 100% rename from engineering/architecture/api-standards.md rename to docs/engineering/architecture/api-standards.md diff --git a/engineering/architecture/front-end-standards.md b/docs/engineering/architecture/front-end-standards.md similarity index 100% rename from engineering/architecture/front-end-standards.md rename to docs/engineering/architecture/front-end-standards.md diff --git a/engineering/archive.md b/docs/engineering/archive.md similarity index 100% rename from engineering/archive.md rename to docs/engineering/archive.md diff --git a/engineering/archive/decisions.md b/docs/engineering/archive/decisions.md similarity index 100% rename from engineering/archive/decisions.md rename to docs/engineering/archive/decisions.md diff --git a/engineering/code-review.md b/docs/engineering/code-review.md similarity index 100% rename from engineering/code-review.md rename to docs/engineering/code-review.md diff --git a/engineering/code-review/backend.md b/docs/engineering/code-review/backend.md similarity index 100% rename from engineering/code-review/backend.md rename to docs/engineering/code-review/backend.md diff --git a/engineering/common-issues.md b/docs/engineering/common-issues.md similarity index 100% rename from engineering/common-issues.md rename to docs/engineering/common-issues.md diff --git a/engineering/glossary.md b/docs/engineering/glossary.md similarity index 100% rename from engineering/glossary.md rename to docs/engineering/glossary.md diff --git a/engineering/glossary/filters.md b/docs/engineering/glossary/filters.md similarity index 100% rename from engineering/glossary/filters.md rename to docs/engineering/glossary/filters.md diff --git a/engineering/glossary/ui-types.md b/docs/engineering/glossary/ui-types.md similarity index 100% rename from engineering/glossary/ui-types.md rename to docs/engineering/glossary/ui-types.md diff --git a/engineering/release-process.md b/docs/engineering/release-process.md similarity index 100% rename from engineering/release-process.md rename to docs/engineering/release-process.md diff --git a/engineering/reports.md b/docs/engineering/reports.md similarity index 100% rename from engineering/reports.md rename to docs/engineering/reports.md diff --git a/engineering/reports/gsoc-2022-dependents-graph.md b/docs/engineering/reports/gsoc-2022-dependents-graph.md similarity index 100% rename from engineering/reports/gsoc-2022-dependents-graph.md rename to docs/engineering/reports/gsoc-2022-dependents-graph.md diff --git a/engineering/reports/gsoc-2022-importing-data-into-existing-tables.md b/docs/engineering/reports/gsoc-2022-importing-data-into-existing-tables.md similarity index 100% rename from engineering/reports/gsoc-2022-importing-data-into-existing-tables.md rename to docs/engineering/reports/gsoc-2022-importing-data-into-existing-tables.md diff --git a/engineering/reports/gsoc-2022-json-type.md b/docs/engineering/reports/gsoc-2022-json-type.md similarity index 100% rename from engineering/reports/gsoc-2022-json-type.md rename to docs/engineering/reports/gsoc-2022-json-type.md diff --git a/engineering/reports/list-datatype.md b/docs/engineering/reports/list-datatype.md similarity index 100% rename from engineering/reports/list-datatype.md rename to docs/engineering/reports/list-datatype.md diff --git a/engineering/research.md b/docs/engineering/research.md similarity index 100% rename from engineering/research.md rename to docs/engineering/research.md diff --git a/engineering/research/formulas.md b/docs/engineering/research/formulas.md similarity index 100% rename from engineering/research/formulas.md rename to docs/engineering/research/formulas.md diff --git a/engineering/resources.md b/docs/engineering/resources.md similarity index 100% rename from engineering/resources.md rename to docs/engineering/resources.md diff --git a/engineering/setup.md b/docs/engineering/setup.md similarity index 100% rename from engineering/setup.md rename to docs/engineering/setup.md diff --git a/engineering/setup/common-issues.md b/docs/engineering/setup/common-issues.md similarity index 100% rename from engineering/setup/common-issues.md rename to docs/engineering/setup/common-issues.md diff --git a/engineering/specs.md b/docs/engineering/specs.md similarity index 100% rename from engineering/specs.md rename to docs/engineering/specs.md diff --git a/engineering/specs/dateandtime.md b/docs/engineering/specs/dateandtime.md similarity index 100% rename from engineering/specs/dateandtime.md rename to docs/engineering/specs/dateandtime.md diff --git a/engineering/specs/ddl.md b/docs/engineering/specs/ddl.md similarity index 100% rename from engineering/specs/ddl.md rename to docs/engineering/specs/ddl.md diff --git a/engineering/specs/dependents-graph.md b/docs/engineering/specs/dependents-graph.md similarity index 100% rename from engineering/specs/dependents-graph.md rename to docs/engineering/specs/dependents-graph.md diff --git a/engineering/specs/dml.md b/docs/engineering/specs/dml.md similarity index 100% rename from engineering/specs/dml.md rename to docs/engineering/specs/dml.md diff --git a/engineering/specs/import-preview-api.md b/docs/engineering/specs/import-preview-api.md similarity index 100% rename from engineering/specs/import-preview-api.md rename to docs/engineering/specs/import-preview-api.md diff --git a/engineering/specs/internationalization.md b/docs/engineering/specs/internationalization.md similarity index 100% rename from engineering/specs/internationalization.md rename to docs/engineering/specs/internationalization.md diff --git a/engineering/specs/numbers.md b/docs/engineering/specs/numbers.md similarity index 100% rename from engineering/specs/numbers.md rename to docs/engineering/specs/numbers.md diff --git a/engineering/specs/record-selector.md b/docs/engineering/specs/record-selector.md similarity index 100% rename from engineering/specs/record-selector.md rename to docs/engineering/specs/record-selector.md diff --git a/engineering/specs/syncing.md b/docs/engineering/specs/syncing.md similarity index 100% rename from engineering/specs/syncing.md rename to docs/engineering/specs/syncing.md diff --git a/engineering/standards.md b/docs/engineering/standards.md similarity index 100% rename from engineering/standards.md rename to docs/engineering/standards.md diff --git a/engineering/standards/api.md b/docs/engineering/standards/api.md similarity index 100% rename from engineering/standards/api.md rename to docs/engineering/standards/api.md diff --git a/engineering/standards/frontend.md b/docs/engineering/standards/frontend.md similarity index 100% rename from engineering/standards/frontend.md rename to docs/engineering/standards/frontend.md diff --git a/home.md b/docs/home.md similarity index 100% rename from home.md rename to docs/home.md diff --git a/jobs.md b/docs/jobs.md similarity index 100% rename from jobs.md rename to docs/jobs.md diff --git a/jobs/2022-06-localization-engineer.md b/docs/jobs/2022-06-localization-engineer.md similarity index 100% rename from jobs/2022-06-localization-engineer.md rename to docs/jobs/2022-06-localization-engineer.md diff --git a/logo.png b/docs/logo.png similarity index 100% rename from logo.png rename to docs/logo.png diff --git a/marketing.md b/docs/marketing.md similarity index 100% rename from marketing.md rename to docs/marketing.md diff --git a/marketing/copy.md b/docs/marketing/copy.md similarity index 100% rename from marketing/copy.md rename to docs/marketing/copy.md diff --git a/marketing/history.md b/docs/marketing/history.md similarity index 100% rename from marketing/history.md rename to docs/marketing/history.md diff --git a/marketing/sites.md b/docs/marketing/sites.md similarity index 100% rename from marketing/sites.md rename to docs/marketing/sites.md diff --git a/mathesar_elephant.png b/docs/mathesar_elephant.png similarity index 100% rename from mathesar_elephant.png rename to docs/mathesar_elephant.png diff --git a/mathesar_primary_shaded_ver_rgb.png b/docs/mathesar_primary_shaded_ver_rgb.png similarity index 100% rename from mathesar_primary_shaded_ver_rgb.png rename to docs/mathesar_primary_shaded_ver_rgb.png diff --git a/meeting-notes.md b/docs/meeting-notes.md similarity index 100% rename from meeting-notes.md rename to docs/meeting-notes.md diff --git a/meeting-notes/2021-11.md b/docs/meeting-notes/2021-11.md similarity index 100% rename from meeting-notes/2021-11.md rename to docs/meeting-notes/2021-11.md diff --git a/meeting-notes/2021-12.md b/docs/meeting-notes/2021-12.md similarity index 100% rename from meeting-notes/2021-12.md rename to docs/meeting-notes/2021-12.md diff --git a/meeting-notes/2022-01.md b/docs/meeting-notes/2022-01.md similarity index 100% rename from meeting-notes/2022-01.md rename to docs/meeting-notes/2022-01.md diff --git a/meeting-notes/2022-02.md b/docs/meeting-notes/2022-02.md similarity index 100% rename from meeting-notes/2022-02.md rename to docs/meeting-notes/2022-02.md diff --git a/meeting-notes/2022-03.md b/docs/meeting-notes/2022-03.md similarity index 100% rename from meeting-notes/2022-03.md rename to docs/meeting-notes/2022-03.md diff --git a/meeting-notes/2022-04.md b/docs/meeting-notes/2022-04.md similarity index 100% rename from meeting-notes/2022-04.md rename to docs/meeting-notes/2022-04.md diff --git a/meeting-notes/2022-05.md b/docs/meeting-notes/2022-05.md similarity index 100% rename from meeting-notes/2022-05.md rename to docs/meeting-notes/2022-05.md diff --git a/meeting-notes/2022-06.md b/docs/meeting-notes/2022-06.md similarity index 100% rename from meeting-notes/2022-06.md rename to docs/meeting-notes/2022-06.md diff --git a/meeting-notes/2022-07.md b/docs/meeting-notes/2022-07.md similarity index 100% rename from meeting-notes/2022-07.md rename to docs/meeting-notes/2022-07.md diff --git a/meeting-notes/2022-08.md b/docs/meeting-notes/2022-08.md similarity index 100% rename from meeting-notes/2022-08.md rename to docs/meeting-notes/2022-08.md diff --git a/meeting-notes/2022-09.md b/docs/meeting-notes/2022-09.md similarity index 100% rename from meeting-notes/2022-09.md rename to docs/meeting-notes/2022-09.md diff --git a/meeting-notes/2022-10.md b/docs/meeting-notes/2022-10.md similarity index 100% rename from meeting-notes/2022-10.md rename to docs/meeting-notes/2022-10.md diff --git a/meeting-notes/2022-10/2022-10-04-backend.md b/docs/meeting-notes/2022-10/2022-10-04-backend.md similarity index 100% rename from meeting-notes/2022-10/2022-10-04-backend.md rename to docs/meeting-notes/2022-10/2022-10-04-backend.md diff --git a/meeting-notes/2022-10/2022-10-05-weekly.md b/docs/meeting-notes/2022-10/2022-10-05-weekly.md similarity index 100% rename from meeting-notes/2022-10/2022-10-05-weekly.md rename to docs/meeting-notes/2022-10/2022-10-05-weekly.md diff --git a/meeting-notes/2022-10/2022-10-12-weekly.md b/docs/meeting-notes/2022-10/2022-10-12-weekly.md similarity index 100% rename from meeting-notes/2022-10/2022-10-12-weekly.md rename to docs/meeting-notes/2022-10/2022-10-12-weekly.md diff --git a/meeting-notes/2022-10/2022-10-19-weekly.md b/docs/meeting-notes/2022-10/2022-10-19-weekly.md similarity index 100% rename from meeting-notes/2022-10/2022-10-19-weekly.md rename to docs/meeting-notes/2022-10/2022-10-19-weekly.md diff --git a/meeting-notes/2022-10/2022-10-26-weekly.md b/docs/meeting-notes/2022-10/2022-10-26-weekly.md similarity index 100% rename from meeting-notes/2022-10/2022-10-26-weekly.md rename to docs/meeting-notes/2022-10/2022-10-26-weekly.md diff --git a/meeting-notes/2022-11.md b/docs/meeting-notes/2022-11.md similarity index 100% rename from meeting-notes/2022-11.md rename to docs/meeting-notes/2022-11.md diff --git a/meeting-notes/2022-11/2022-11-02-weekly.md b/docs/meeting-notes/2022-11/2022-11-02-weekly.md similarity index 100% rename from meeting-notes/2022-11/2022-11-02-weekly.md rename to docs/meeting-notes/2022-11/2022-11-02-weekly.md diff --git a/meeting-notes/2022-11/2022-11-09-weekly.md b/docs/meeting-notes/2022-11/2022-11-09-weekly.md similarity index 100% rename from meeting-notes/2022-11/2022-11-09-weekly.md rename to docs/meeting-notes/2022-11/2022-11-09-weekly.md diff --git a/meeting-notes/2022-11/2022-11-17-weekly.md b/docs/meeting-notes/2022-11/2022-11-17-weekly.md similarity index 100% rename from meeting-notes/2022-11/2022-11-17-weekly.md rename to docs/meeting-notes/2022-11/2022-11-17-weekly.md diff --git a/meeting-notes/2022-11/2022-11-28-planning.md b/docs/meeting-notes/2022-11/2022-11-28-planning.md similarity index 100% rename from meeting-notes/2022-11/2022-11-28-planning.md rename to docs/meeting-notes/2022-11/2022-11-28-planning.md diff --git a/meeting-notes/2023-01.md b/docs/meeting-notes/2023-01.md similarity index 100% rename from meeting-notes/2023-01.md rename to docs/meeting-notes/2023-01.md diff --git a/meeting-notes/2023-01/2023-01-05-planning.md b/docs/meeting-notes/2023-01/2023-01-05-planning.md similarity index 100% rename from meeting-notes/2023-01/2023-01-05-planning.md rename to docs/meeting-notes/2023-01/2023-01-05-planning.md diff --git a/meeting-notes/2023-01/2023-01-18-fe-new-feature-rfc.md b/docs/meeting-notes/2023-01/2023-01-18-fe-new-feature-rfc.md similarity index 100% rename from meeting-notes/2023-01/2023-01-18-fe-new-feature-rfc.md rename to docs/meeting-notes/2023-01/2023-01-18-fe-new-feature-rfc.md diff --git a/meeting-notes/2023-01/2023-01-20-partial-user-input-of-dates.md b/docs/meeting-notes/2023-01/2023-01-20-partial-user-input-of-dates.md similarity index 100% rename from meeting-notes/2023-01/2023-01-20-partial-user-input-of-dates.md rename to docs/meeting-notes/2023-01/2023-01-20-partial-user-input-of-dates.md diff --git a/meeting-notes/2023-02.md b/docs/meeting-notes/2023-02.md similarity index 100% rename from meeting-notes/2023-02.md rename to docs/meeting-notes/2023-02.md diff --git a/meeting-notes/2023-02/2023-02-01-team.md b/docs/meeting-notes/2023-02/2023-02-01-team.md similarity index 100% rename from meeting-notes/2023-02/2023-02-01-team.md rename to docs/meeting-notes/2023-02/2023-02-01-team.md diff --git a/meeting-notes/2023-02/2023-02-08-launch-planning.md b/docs/meeting-notes/2023-02/2023-02-08-launch-planning.md similarity index 100% rename from meeting-notes/2023-02/2023-02-08-launch-planning.md rename to docs/meeting-notes/2023-02/2023-02-08-launch-planning.md diff --git a/meeting-notes/2023-02/2023-02-10-launch-check-in.md b/docs/meeting-notes/2023-02/2023-02-10-launch-check-in.md similarity index 100% rename from meeting-notes/2023-02/2023-02-10-launch-check-in.md rename to docs/meeting-notes/2023-02/2023-02-10-launch-check-in.md diff --git a/meeting-notes/2023-02/2023-02-13-launch-check-in.md b/docs/meeting-notes/2023-02/2023-02-13-launch-check-in.md similarity index 100% rename from meeting-notes/2023-02/2023-02-13-launch-check-in.md rename to docs/meeting-notes/2023-02/2023-02-13-launch-check-in.md diff --git a/meeting-notes/2023-02/2023-02-15-launch-check-in.md b/docs/meeting-notes/2023-02/2023-02-15-launch-check-in.md similarity index 100% rename from meeting-notes/2023-02/2023-02-15-launch-check-in.md rename to docs/meeting-notes/2023-02/2023-02-15-launch-check-in.md diff --git a/meeting-notes/2023-02/2023-02-17-launch-check-in.md b/docs/meeting-notes/2023-02/2023-02-17-launch-check-in.md similarity index 100% rename from meeting-notes/2023-02/2023-02-17-launch-check-in.md rename to docs/meeting-notes/2023-02/2023-02-17-launch-check-in.md diff --git a/meeting-notes/2023-02/2023-02-21-launch-check-in.md b/docs/meeting-notes/2023-02/2023-02-21-launch-check-in.md similarity index 100% rename from meeting-notes/2023-02/2023-02-21-launch-check-in.md rename to docs/meeting-notes/2023-02/2023-02-21-launch-check-in.md diff --git a/meeting-notes/2023-02/2023-02-22-launch-check-in.md b/docs/meeting-notes/2023-02/2023-02-22-launch-check-in.md similarity index 100% rename from meeting-notes/2023-02/2023-02-22-launch-check-in.md rename to docs/meeting-notes/2023-02/2023-02-22-launch-check-in.md diff --git a/meeting-notes/2023-02/2023-02-23-launch-check-in.md b/docs/meeting-notes/2023-02/2023-02-23-launch-check-in.md similarity index 100% rename from meeting-notes/2023-02/2023-02-23-launch-check-in.md rename to docs/meeting-notes/2023-02/2023-02-23-launch-check-in.md diff --git a/meeting-notes/2023-02/2023-02-24-launch-update-email.md b/docs/meeting-notes/2023-02/2023-02-24-launch-update-email.md similarity index 100% rename from meeting-notes/2023-02/2023-02-24-launch-update-email.md rename to docs/meeting-notes/2023-02/2023-02-24-launch-update-email.md diff --git a/meeting-notes/2023-02/2023-02-27-deployment-check-in.md b/docs/meeting-notes/2023-02/2023-02-27-deployment-check-in.md similarity index 100% rename from meeting-notes/2023-02/2023-02-27-deployment-check-in.md rename to docs/meeting-notes/2023-02/2023-02-27-deployment-check-in.md diff --git a/meeting-notes/2023-03.md b/docs/meeting-notes/2023-03.md similarity index 100% rename from meeting-notes/2023-03.md rename to docs/meeting-notes/2023-03.md diff --git a/meeting-notes/2023-03/2023-03-02-launch-check-in.md b/docs/meeting-notes/2023-03/2023-03-02-launch-check-in.md similarity index 100% rename from meeting-notes/2023-03/2023-03-02-launch-check-in.md rename to docs/meeting-notes/2023-03/2023-03-02-launch-check-in.md diff --git a/meeting-notes/2023-03/2023-03-07-priorities-workflow-meeting.md b/docs/meeting-notes/2023-03/2023-03-07-priorities-workflow-meeting.md similarity index 100% rename from meeting-notes/2023-03/2023-03-07-priorities-workflow-meeting.md rename to docs/meeting-notes/2023-03/2023-03-07-priorities-workflow-meeting.md diff --git a/meeting-notes/2023-03/2023-03-08-removing-sqlachemy-meeting.md b/docs/meeting-notes/2023-03/2023-03-08-removing-sqlachemy-meeting.md similarity index 100% rename from meeting-notes/2023-03/2023-03-08-removing-sqlachemy-meeting.md rename to docs/meeting-notes/2023-03/2023-03-08-removing-sqlachemy-meeting.md diff --git a/meeting-notes/2023-03/2023-03-17-installation-improvements-meeting.md b/docs/meeting-notes/2023-03/2023-03-17-installation-improvements-meeting.md similarity index 100% rename from meeting-notes/2023-03/2023-03-17-installation-improvements-meeting.md rename to docs/meeting-notes/2023-03/2023-03-17-installation-improvements-meeting.md diff --git a/meeting-notes/2023-03/2023-03-20-handling-regressions.md b/docs/meeting-notes/2023-03/2023-03-20-handling-regressions.md similarity index 100% rename from meeting-notes/2023-03/2023-03-20-handling-regressions.md rename to docs/meeting-notes/2023-03/2023-03-20-handling-regressions.md diff --git a/meeting-notes/2023-03/2023-03-29-team-meeting.md b/docs/meeting-notes/2023-03/2023-03-29-team-meeting.md similarity index 100% rename from meeting-notes/2023-03/2023-03-29-team-meeting.md rename to docs/meeting-notes/2023-03/2023-03-29-team-meeting.md diff --git a/meeting-notes/2023-03/backend-meeting-2023-03-13.md b/docs/meeting-notes/2023-03/backend-meeting-2023-03-13.md similarity index 100% rename from meeting-notes/2023-03/backend-meeting-2023-03-13.md rename to docs/meeting-notes/2023-03/backend-meeting-2023-03-13.md diff --git a/meeting-notes/2023-03/core-team-meeting-2023-03-15.md b/docs/meeting-notes/2023-03/core-team-meeting-2023-03-15.md similarity index 100% rename from meeting-notes/2023-03/core-team-meeting-2023-03-15.md rename to docs/meeting-notes/2023-03/core-team-meeting-2023-03-15.md diff --git a/meeting-notes/2023-03/installation-improvements-in-0-1-2.md b/docs/meeting-notes/2023-03/installation-improvements-in-0-1-2.md similarity index 100% rename from meeting-notes/2023-03/installation-improvements-in-0-1-2.md rename to docs/meeting-notes/2023-03/installation-improvements-in-0-1-2.md diff --git a/meeting-notes/2023-03/release-plan-0_1_2.md b/docs/meeting-notes/2023-03/release-plan-0_1_2.md similarity index 100% rename from meeting-notes/2023-03/release-plan-0_1_2.md rename to docs/meeting-notes/2023-03/release-plan-0_1_2.md diff --git a/meeting-notes/2023-03/responsibilities-projects-meeting-2023-03-15.md b/docs/meeting-notes/2023-03/responsibilities-projects-meeting-2023-03-15.md similarity index 100% rename from meeting-notes/2023-03/responsibilities-projects-meeting-2023-03-15.md rename to docs/meeting-notes/2023-03/responsibilities-projects-meeting-2023-03-15.md diff --git a/meeting-notes/2023-04.md b/docs/meeting-notes/2023-04.md similarity index 100% rename from meeting-notes/2023-04.md rename to docs/meeting-notes/2023-04.md diff --git a/meeting-notes/2023-04/2023-04-03-installation-plan-finalization.md b/docs/meeting-notes/2023-04/2023-04-03-installation-plan-finalization.md similarity index 100% rename from meeting-notes/2023-04/2023-04-03-installation-plan-finalization.md rename to docs/meeting-notes/2023-04/2023-04-03-installation-plan-finalization.md diff --git a/meeting-notes/2023-05.md b/docs/meeting-notes/2023-05.md similarity index 100% rename from meeting-notes/2023-05.md rename to docs/meeting-notes/2023-05.md diff --git a/meeting-notes/2023-05/2023-05-03-team-meeting.md b/docs/meeting-notes/2023-05/2023-05-03-team-meeting.md similarity index 100% rename from meeting-notes/2023-05/2023-05-03-team-meeting.md rename to docs/meeting-notes/2023-05/2023-05-03-team-meeting.md diff --git a/meeting-notes/2023-05/2023-05-10-team-meeting.md b/docs/meeting-notes/2023-05/2023-05-10-team-meeting.md similarity index 100% rename from meeting-notes/2023-05/2023-05-10-team-meeting.md rename to docs/meeting-notes/2023-05/2023-05-10-team-meeting.md diff --git a/meeting-notes/2023-05/2023-05-30-front-end-team-meeting.md b/docs/meeting-notes/2023-05/2023-05-30-front-end-team-meeting.md similarity index 100% rename from meeting-notes/2023-05/2023-05-30-front-end-team-meeting.md rename to docs/meeting-notes/2023-05/2023-05-30-front-end-team-meeting.md diff --git a/meeting-notes/2023-06.md b/docs/meeting-notes/2023-06.md similarity index 100% rename from meeting-notes/2023-06.md rename to docs/meeting-notes/2023-06.md diff --git a/meeting-notes/2023-06/2023-06-07-team-meeting.md b/docs/meeting-notes/2023-06/2023-06-07-team-meeting.md similarity index 100% rename from meeting-notes/2023-06/2023-06-07-team-meeting.md rename to docs/meeting-notes/2023-06/2023-06-07-team-meeting.md diff --git a/meeting-notes/2023-06/2023-06-13-installation-planning-meeting.md b/docs/meeting-notes/2023-06/2023-06-13-installation-planning-meeting.md similarity index 100% rename from meeting-notes/2023-06/2023-06-13-installation-planning-meeting.md rename to docs/meeting-notes/2023-06/2023-06-13-installation-planning-meeting.md diff --git a/meeting-notes/2023-06/2023-06-27-team-meeting.md b/docs/meeting-notes/2023-06/2023-06-27-team-meeting.md similarity index 100% rename from meeting-notes/2023-06/2023-06-27-team-meeting.md rename to docs/meeting-notes/2023-06/2023-06-27-team-meeting.md diff --git a/meeting-notes/2023-07.md b/docs/meeting-notes/2023-07.md similarity index 100% rename from meeting-notes/2023-07.md rename to docs/meeting-notes/2023-07.md diff --git a/meeting-notes/2023-07/2023-07-03-team-meeting.md b/docs/meeting-notes/2023-07/2023-07-03-team-meeting.md similarity index 100% rename from meeting-notes/2023-07/2023-07-03-team-meeting.md rename to docs/meeting-notes/2023-07/2023-07-03-team-meeting.md diff --git a/meeting-notes/2023-07/2023-07-06-installation-meeting.md b/docs/meeting-notes/2023-07/2023-07-06-installation-meeting.md similarity index 100% rename from meeting-notes/2023-07/2023-07-06-installation-meeting.md rename to docs/meeting-notes/2023-07/2023-07-06-installation-meeting.md diff --git a/meeting-notes/2023-07/2023-07-06-team-meeting.md b/docs/meeting-notes/2023-07/2023-07-06-team-meeting.md similarity index 100% rename from meeting-notes/2023-07/2023-07-06-team-meeting.md rename to docs/meeting-notes/2023-07/2023-07-06-team-meeting.md diff --git a/meeting-notes/2023-07/2023-07-11-installation-meeting.md b/docs/meeting-notes/2023-07/2023-07-11-installation-meeting.md similarity index 100% rename from meeting-notes/2023-07/2023-07-11-installation-meeting.md rename to docs/meeting-notes/2023-07/2023-07-11-installation-meeting.md diff --git a/meeting-notes/2023-07/2023-07-26-team-meeting.md b/docs/meeting-notes/2023-07/2023-07-26-team-meeting.md similarity index 100% rename from meeting-notes/2023-07/2023-07-26-team-meeting.md rename to docs/meeting-notes/2023-07/2023-07-26-team-meeting.md diff --git a/meeting-notes/2023-07/2023-07-28-installation-meeting.md b/docs/meeting-notes/2023-07/2023-07-28-installation-meeting.md similarity index 100% rename from meeting-notes/2023-07/2023-07-28-installation-meeting.md rename to docs/meeting-notes/2023-07/2023-07-28-installation-meeting.md diff --git a/meeting-notes/2023-08.md b/docs/meeting-notes/2023-08.md similarity index 100% rename from meeting-notes/2023-08.md rename to docs/meeting-notes/2023-08.md diff --git a/meeting-notes/2023-08/2023-08-09-team-meeting.md b/docs/meeting-notes/2023-08/2023-08-09-team-meeting.md similarity index 100% rename from meeting-notes/2023-08/2023-08-09-team-meeting.md rename to docs/meeting-notes/2023-08/2023-08-09-team-meeting.md diff --git a/meeting-notes/2023-08/2023-08-10-team-meeting.md b/docs/meeting-notes/2023-08/2023-08-10-team-meeting.md similarity index 100% rename from meeting-notes/2023-08/2023-08-10-team-meeting.md rename to docs/meeting-notes/2023-08/2023-08-10-team-meeting.md diff --git a/meeting-notes/2023-08/2023-08-18-team-meeting.md b/docs/meeting-notes/2023-08/2023-08-18-team-meeting.md similarity index 100% rename from meeting-notes/2023-08/2023-08-18-team-meeting.md rename to docs/meeting-notes/2023-08/2023-08-18-team-meeting.md diff --git a/meeting-notes/2023-08/2023-08-23-team-meeting.md b/docs/meeting-notes/2023-08/2023-08-23-team-meeting.md similarity index 100% rename from meeting-notes/2023-08/2023-08-23-team-meeting.md rename to docs/meeting-notes/2023-08/2023-08-23-team-meeting.md diff --git a/meeting-notes/april-2021.md b/docs/meeting-notes/april-2021.md similarity index 100% rename from meeting-notes/april-2021.md rename to docs/meeting-notes/april-2021.md diff --git a/meeting-notes/august-2021.md b/docs/meeting-notes/august-2021.md similarity index 100% rename from meeting-notes/august-2021.md rename to docs/meeting-notes/august-2021.md diff --git a/meeting-notes/july-2021.md b/docs/meeting-notes/july-2021.md similarity index 100% rename from meeting-notes/july-2021.md rename to docs/meeting-notes/july-2021.md diff --git a/meeting-notes/june-2021.md b/docs/meeting-notes/june-2021.md similarity index 100% rename from meeting-notes/june-2021.md rename to docs/meeting-notes/june-2021.md diff --git a/meeting-notes/may-2021.md b/docs/meeting-notes/may-2021.md similarity index 100% rename from meeting-notes/may-2021.md rename to docs/meeting-notes/may-2021.md diff --git a/meeting-notes/october-2021.md b/docs/meeting-notes/october-2021.md similarity index 100% rename from meeting-notes/october-2021.md rename to docs/meeting-notes/october-2021.md diff --git a/meeting-notes/september-2021.md b/docs/meeting-notes/september-2021.md similarity index 100% rename from meeting-notes/september-2021.md rename to docs/meeting-notes/september-2021.md diff --git a/product.md b/docs/product.md similarity index 100% rename from product.md rename to docs/product.md diff --git a/product/about.md b/docs/product/about.md similarity index 100% rename from product/about.md rename to docs/product/about.md diff --git a/product/concepts.md b/docs/product/concepts.md similarity index 100% rename from product/concepts.md rename to docs/product/concepts.md diff --git a/product/concepts/data-types.md b/docs/product/concepts/data-types.md similarity index 100% rename from product/concepts/data-types.md rename to docs/product/concepts/data-types.md diff --git a/product/concepts/databases.md b/docs/product/concepts/databases.md similarity index 100% rename from product/concepts/databases.md rename to docs/product/concepts/databases.md diff --git a/product/concepts/filters.md b/docs/product/concepts/filters.md similarity index 100% rename from product/concepts/filters.md rename to docs/product/concepts/filters.md diff --git a/product/concepts/schemas.md b/docs/product/concepts/schemas.md similarity index 100% rename from product/concepts/schemas.md rename to docs/product/concepts/schemas.md diff --git a/product/concepts/tables.md b/docs/product/concepts/tables.md similarity index 100% rename from product/concepts/tables.md rename to docs/product/concepts/tables.md diff --git a/product/concepts/views.md b/docs/product/concepts/views.md similarity index 100% rename from product/concepts/views.md rename to docs/product/concepts/views.md diff --git a/product/feature-ideas.md b/docs/product/feature-ideas.md similarity index 100% rename from product/feature-ideas.md rename to docs/product/feature-ideas.md diff --git a/product/feedback.md b/docs/product/feedback.md similarity index 100% rename from product/feedback.md rename to docs/product/feedback.md diff --git a/product/feedback/2023-03.md b/docs/product/feedback/2023-03.md similarity index 100% rename from product/feedback/2023-03.md rename to docs/product/feedback/2023-03.md diff --git a/product/list_datatype_project/ui_create_list_col.png b/docs/product/list_datatype_project/ui_create_list_col.png similarity index 100% rename from product/list_datatype_project/ui_create_list_col.png rename to docs/product/list_datatype_project/ui_create_list_col.png diff --git a/product/principles.md b/docs/product/principles.md similarity index 100% rename from product/principles.md rename to docs/product/principles.md diff --git a/product/related.md b/docs/product/related.md similarity index 100% rename from product/related.md rename to docs/product/related.md diff --git a/product/resources.md b/docs/product/resources.md similarity index 100% rename from product/resources.md rename to docs/product/resources.md diff --git a/product/roadmap.md b/docs/product/roadmap.md similarity index 100% rename from product/roadmap.md rename to docs/product/roadmap.md diff --git a/product/specs.md b/docs/product/specs.md similarity index 100% rename from product/specs.md rename to docs/product/specs.md diff --git a/product/specs/2022-01-views.md b/docs/product/specs/2022-01-views.md similarity index 100% rename from product/specs/2022-01-views.md rename to docs/product/specs/2022-01-views.md diff --git a/product/specs/2022-01-views/01-assumptions.md b/docs/product/specs/2022-01-views/01-assumptions.md similarity index 100% rename from product/specs/2022-01-views/01-assumptions.md rename to docs/product/specs/2022-01-views/01-assumptions.md diff --git a/product/specs/2022-01-views/02-feature-requirements.md b/docs/product/specs/2022-01-views/02-feature-requirements.md similarity index 100% rename from product/specs/2022-01-views/02-feature-requirements.md rename to docs/product/specs/2022-01-views/02-feature-requirements.md diff --git a/product/specs/2022-01-views/03-the-query-builder.md b/docs/product/specs/2022-01-views/03-the-query-builder.md similarity index 100% rename from product/specs/2022-01-views/03-the-query-builder.md rename to docs/product/specs/2022-01-views/03-the-query-builder.md diff --git a/product/specs/2022-01-views/04-formulas.md b/docs/product/specs/2022-01-views/04-formulas.md similarity index 100% rename from product/specs/2022-01-views/04-formulas.md rename to docs/product/specs/2022-01-views/04-formulas.md diff --git a/product/specs/2022-01-views/04-formulas/4a-record-aggregations.md b/docs/product/specs/2022-01-views/04-formulas/4a-record-aggregations.md similarity index 100% rename from product/specs/2022-01-views/04-formulas/4a-record-aggregations.md rename to docs/product/specs/2022-01-views/04-formulas/4a-record-aggregations.md diff --git a/product/specs/2022-01-views/04-formulas/4b-random-generators.md b/docs/product/specs/2022-01-views/04-formulas/4b-random-generators.md similarity index 100% rename from product/specs/2022-01-views/04-formulas/4b-random-generators.md rename to docs/product/specs/2022-01-views/04-formulas/4b-random-generators.md diff --git a/product/specs/2022-01-views/04-formulas/4c-text-formulas.md b/docs/product/specs/2022-01-views/04-formulas/4c-text-formulas.md similarity index 100% rename from product/specs/2022-01-views/04-formulas/4c-text-formulas.md rename to docs/product/specs/2022-01-views/04-formulas/4c-text-formulas.md diff --git a/product/specs/2022-01-views/04-formulas/4d-number-formulas.md b/docs/product/specs/2022-01-views/04-formulas/4d-number-formulas.md similarity index 100% rename from product/specs/2022-01-views/04-formulas/4d-number-formulas.md rename to docs/product/specs/2022-01-views/04-formulas/4d-number-formulas.md diff --git a/product/specs/2022-01-views/04-formulas/4e-boolean-formulas.md b/docs/product/specs/2022-01-views/04-formulas/4e-boolean-formulas.md similarity index 100% rename from product/specs/2022-01-views/04-formulas/4e-boolean-formulas.md rename to docs/product/specs/2022-01-views/04-formulas/4e-boolean-formulas.md diff --git a/product/specs/2022-01-views/04-formulas/4f-datetime-formulas.md b/docs/product/specs/2022-01-views/04-formulas/4f-datetime-formulas.md similarity index 100% rename from product/specs/2022-01-views/04-formulas/4f-datetime-formulas.md rename to docs/product/specs/2022-01-views/04-formulas/4f-datetime-formulas.md diff --git a/product/specs/2022-01-views/04-formulas/4g-list-formulas.md b/docs/product/specs/2022-01-views/04-formulas/4g-list-formulas.md similarity index 100% rename from product/specs/2022-01-views/04-formulas/4g-list-formulas.md rename to docs/product/specs/2022-01-views/04-formulas/4g-list-formulas.md diff --git a/product/specs/2022-01-views/04-formulas/4h-cumulative-formulas.md b/docs/product/specs/2022-01-views/04-formulas/4h-cumulative-formulas.md similarity index 100% rename from product/specs/2022-01-views/04-formulas/4h-cumulative-formulas.md rename to docs/product/specs/2022-01-views/04-formulas/4h-cumulative-formulas.md diff --git a/product/specs/2022-01-views/04-formulas/4i-regex-formulas.md b/docs/product/specs/2022-01-views/04-formulas/4i-regex-formulas.md similarity index 100% rename from product/specs/2022-01-views/04-formulas/4i-regex-formulas.md rename to docs/product/specs/2022-01-views/04-formulas/4i-regex-formulas.md diff --git a/product/specs/2022-01-views/04-formulas/4j-custom-formulas.md b/docs/product/specs/2022-01-views/04-formulas/4j-custom-formulas.md similarity index 100% rename from product/specs/2022-01-views/04-formulas/4j-custom-formulas.md rename to docs/product/specs/2022-01-views/04-formulas/4j-custom-formulas.md diff --git a/product/specs/2022-01-views/05-view-structure.md b/docs/product/specs/2022-01-views/05-view-structure.md similarity index 100% rename from product/specs/2022-01-views/05-view-structure.md rename to docs/product/specs/2022-01-views/05-view-structure.md diff --git a/product/specs/2022-01-views/06-view-columns.md b/docs/product/specs/2022-01-views/06-view-columns.md similarity index 100% rename from product/specs/2022-01-views/06-view-columns.md rename to docs/product/specs/2022-01-views/06-view-columns.md diff --git a/product/specs/2022-01-views/07-breaking-down-db-queries.md b/docs/product/specs/2022-01-views/07-breaking-down-db-queries.md similarity index 100% rename from product/specs/2022-01-views/07-breaking-down-db-queries.md rename to docs/product/specs/2022-01-views/07-breaking-down-db-queries.md diff --git a/product/specs/2022-01-views/08-appendix.md b/docs/product/specs/2022-01-views/08-appendix.md similarity index 100% rename from product/specs/2022-01-views/08-appendix.md rename to docs/product/specs/2022-01-views/08-appendix.md diff --git a/product/specs/dynamic-defaults-proto.md b/docs/product/specs/dynamic-defaults-proto.md similarity index 100% rename from product/specs/dynamic-defaults-proto.md rename to docs/product/specs/dynamic-defaults-proto.md diff --git a/product/specs/example-schema.md b/docs/product/specs/example-schema.md similarity index 100% rename from product/specs/example-schema.md rename to docs/product/specs/example-schema.md diff --git a/product/specs/publicly-shareable-links.md b/docs/product/specs/publicly-shareable-links.md similarity index 100% rename from product/specs/publicly-shareable-links.md rename to docs/product/specs/publicly-shareable-links.md diff --git a/product/specs/undo-quick-save-functionality.md b/docs/product/specs/undo-quick-save-functionality.md similarity index 100% rename from product/specs/undo-quick-save-functionality.md rename to docs/product/specs/undo-quick-save-functionality.md diff --git a/product/specs/users-permissions.md b/docs/product/specs/users-permissions.md similarity index 100% rename from product/specs/users-permissions.md rename to docs/product/specs/users-permissions.md diff --git a/projects.md b/docs/projects.md similarity index 100% rename from projects.md rename to docs/projects.md diff --git a/projects/2023-04-usability-improvements.md b/docs/projects/2023-04-usability-improvements.md similarity index 100% rename from projects/2023-04-usability-improvements.md rename to docs/projects/2023-04-usability-improvements.md diff --git a/projects/2023-07-backend-fixes.md b/docs/projects/2023-07-backend-fixes.md similarity index 100% rename from projects/2023-07-backend-fixes.md rename to docs/projects/2023-07-backend-fixes.md diff --git a/projects/2023-07-frontend-fixes.md b/docs/projects/2023-07-frontend-fixes.md similarity index 100% rename from projects/2023-07-frontend-fixes.md rename to docs/projects/2023-07-frontend-fixes.md diff --git a/projects/2023-07-product-strategy.md b/docs/projects/2023-07-product-strategy.md similarity index 100% rename from projects/2023-07-product-strategy.md rename to docs/projects/2023-07-product-strategy.md diff --git a/projects/column-moving.md b/docs/projects/column-moving.md similarity index 100% rename from projects/column-moving.md rename to docs/projects/column-moving.md diff --git a/projects/forms-research.md b/docs/projects/forms-research.md similarity index 100% rename from projects/forms-research.md rename to docs/projects/forms-research.md diff --git a/projects/formulas-research.md b/docs/projects/formulas-research.md similarity index 100% rename from projects/formulas-research.md rename to docs/projects/formulas-research.md diff --git a/projects/frontend-tables-performance.md b/docs/projects/frontend-tables-performance.md similarity index 100% rename from projects/frontend-tables-performance.md rename to docs/projects/frontend-tables-performance.md diff --git a/projects/funding.md b/docs/projects/funding.md similarity index 100% rename from projects/funding.md rename to docs/projects/funding.md diff --git a/projects/gather-user-feedback.md b/docs/projects/gather-user-feedback.md similarity index 100% rename from projects/gather-user-feedback.md rename to docs/projects/gather-user-feedback.md diff --git a/projects/installation-documentation-improvements.md b/docs/projects/installation-documentation-improvements.md similarity index 100% rename from projects/installation-documentation-improvements.md rename to docs/projects/installation-documentation-improvements.md diff --git a/projects/installation-improvements-0_1_3.md b/docs/projects/installation-improvements-0_1_3.md similarity index 100% rename from projects/installation-improvements-0_1_3.md rename to docs/projects/installation-improvements-0_1_3.md diff --git a/projects/installation-improvements-0_1_4.md b/docs/projects/installation-improvements-0_1_4.md similarity index 100% rename from projects/installation-improvements-0_1_4.md rename to docs/projects/installation-improvements-0_1_4.md diff --git a/projects/installation-improvements-plan-0_1_4.md b/docs/projects/installation-improvements-plan-0_1_4.md similarity index 100% rename from projects/installation-improvements-plan-0_1_4.md rename to docs/projects/installation-improvements-plan-0_1_4.md diff --git a/projects/internationalization.md b/docs/projects/internationalization.md similarity index 100% rename from projects/internationalization.md rename to docs/projects/internationalization.md diff --git a/projects/list-datatype.md b/docs/projects/list-datatype.md similarity index 100% rename from projects/list-datatype.md rename to docs/projects/list-datatype.md diff --git a/projects/list-datatype/frontend-specs.md b/docs/projects/list-datatype/frontend-specs.md similarity index 100% rename from projects/list-datatype/frontend-specs.md rename to docs/projects/list-datatype/frontend-specs.md diff --git a/projects/niche-research.md b/docs/projects/niche-research.md similarity index 100% rename from projects/niche-research.md rename to docs/projects/niche-research.md diff --git a/projects/preexisting-postgres.md b/docs/projects/preexisting-postgres.md similarity index 100% rename from projects/preexisting-postgres.md rename to docs/projects/preexisting-postgres.md diff --git a/projects/public-links-research.md b/docs/projects/public-links-research.md similarity index 100% rename from projects/public-links-research.md rename to docs/projects/public-links-research.md diff --git a/projects/release-0-1-2.md b/docs/projects/release-0-1-2.md similarity index 100% rename from projects/release-0-1-2.md rename to docs/projects/release-0-1-2.md diff --git a/projects/shareable-links-implementation.md b/docs/projects/shareable-links-implementation.md similarity index 100% rename from projects/shareable-links-implementation.md rename to docs/projects/shareable-links-implementation.md diff --git a/projects/sql-alchemy-remove.md b/docs/projects/sql-alchemy-remove.md similarity index 100% rename from projects/sql-alchemy-remove.md rename to docs/projects/sql-alchemy-remove.md diff --git a/projects/sql-ddl-operations.md b/docs/projects/sql-ddl-operations.md similarity index 100% rename from projects/sql-ddl-operations.md rename to docs/projects/sql-ddl-operations.md diff --git a/projects/sql-dml-operations.md b/docs/projects/sql-dml-operations.md similarity index 100% rename from projects/sql-dml-operations.md rename to docs/projects/sql-dml-operations.md diff --git a/projects/sql-dql-operations.md b/docs/projects/sql-dql-operations.md similarity index 100% rename from projects/sql-dql-operations.md rename to docs/projects/sql-dql-operations.md diff --git a/projects/t-shirts.md b/docs/projects/t-shirts.md similarity index 100% rename from projects/t-shirts.md rename to docs/projects/t-shirts.md diff --git a/projects/template.md b/docs/projects/template.md similarity index 100% rename from projects/template.md rename to docs/projects/template.md diff --git a/projects/user-feedback-kickoff.md b/docs/projects/user-feedback-kickoff.md similarity index 100% rename from projects/user-feedback-kickoff.md rename to docs/projects/user-feedback-kickoff.md diff --git a/team.md b/docs/team.md similarity index 100% rename from team.md rename to docs/team.md diff --git a/team/archive/comms-assignee.md b/docs/team/archive/comms-assignee.md similarity index 100% rename from team/archive/comms-assignee.md rename to docs/team/archive/comms-assignee.md diff --git a/team/archive/weekly-discussion.md b/docs/team/archive/weekly-discussion.md similarity index 100% rename from team/archive/weekly-discussion.md rename to docs/team/archive/weekly-discussion.md diff --git a/team/guide.md b/docs/team/guide.md similarity index 100% rename from team/guide.md rename to docs/team/guide.md diff --git a/team/guide/comm-tips.md b/docs/team/guide/comm-tips.md similarity index 100% rename from team/guide/comm-tips.md rename to docs/team/guide/comm-tips.md diff --git a/team/guide/events.md b/docs/team/guide/events.md similarity index 100% rename from team/guide/events.md rename to docs/team/guide/events.md diff --git a/team/guide/issue-assignment.md b/docs/team/guide/issue-assignment.md similarity index 100% rename from team/guide/issue-assignment.md rename to docs/team/guide/issue-assignment.md diff --git a/team/guide/issue-triage.md b/docs/team/guide/issue-triage.md similarity index 100% rename from team/guide/issue-triage.md rename to docs/team/guide/issue-triage.md diff --git a/team/guide/meetings.md b/docs/team/guide/meetings.md similarity index 100% rename from team/guide/meetings.md rename to docs/team/guide/meetings.md diff --git a/team/guide/tools.md b/docs/team/guide/tools.md similarity index 100% rename from team/guide/tools.md rename to docs/team/guide/tools.md diff --git a/team/guide/workflow.md b/docs/team/guide/workflow.md similarity index 100% rename from team/guide/workflow.md rename to docs/team/guide/workflow.md diff --git a/team/members.md b/docs/team/members.md similarity index 100% rename from team/members.md rename to docs/team/members.md diff --git a/team/responsibilities.md b/docs/team/responsibilities.md similarity index 100% rename from team/responsibilities.md rename to docs/team/responsibilities.md diff --git a/team/responsibilities/fundraising.md b/docs/team/responsibilities/fundraising.md similarity index 100% rename from team/responsibilities/fundraising.md rename to docs/team/responsibilities/fundraising.md diff --git a/team/responsibilities/gsoc.md b/docs/team/responsibilities/gsoc.md similarity index 100% rename from team/responsibilities/gsoc.md rename to docs/team/responsibilities/gsoc.md diff --git a/team/responsibilities/installation-help.md b/docs/team/responsibilities/installation-help.md similarity index 100% rename from team/responsibilities/installation-help.md rename to docs/team/responsibilities/installation-help.md diff --git a/team/responsibilities/marketing.md b/docs/team/responsibilities/marketing.md similarity index 100% rename from team/responsibilities/marketing.md rename to docs/team/responsibilities/marketing.md diff --git a/team/responsibilities/release-management.md b/docs/team/responsibilities/release-management.md similarity index 100% rename from team/responsibilities/release-management.md rename to docs/team/responsibilities/release-management.md diff --git a/team/responsibilities/repo-admin.md b/docs/team/responsibilities/repo-admin.md similarity index 100% rename from team/responsibilities/repo-admin.md rename to docs/team/responsibilities/repo-admin.md diff --git a/team/responsibilities/team-management.md b/docs/team/responsibilities/team-management.md similarity index 100% rename from team/responsibilities/team-management.md rename to docs/team/responsibilities/team-management.md diff --git a/team/responsibilities/user-feedback.md b/docs/team/responsibilities/user-feedback.md similarity index 100% rename from team/responsibilities/user-feedback.md rename to docs/team/responsibilities/user-feedback.md diff --git a/team/worklogs.md b/docs/team/worklogs.md similarity index 100% rename from team/worklogs.md rename to docs/team/worklogs.md diff --git a/team/worklogs/anish.md b/docs/team/worklogs/anish.md similarity index 100% rename from team/worklogs/anish.md rename to docs/team/worklogs/anish.md diff --git a/team/worklogs/anish/2023-07.md b/docs/team/worklogs/anish/2023-07.md similarity index 100% rename from team/worklogs/anish/2023-07.md rename to docs/team/worklogs/anish/2023-07.md diff --git a/team/worklogs/brent.md b/docs/team/worklogs/brent.md similarity index 100% rename from team/worklogs/brent.md rename to docs/team/worklogs/brent.md diff --git a/team/worklogs/dom.md b/docs/team/worklogs/dom.md similarity index 100% rename from team/worklogs/dom.md rename to docs/team/worklogs/dom.md diff --git a/team/worklogs/ghislaine.md b/docs/team/worklogs/ghislaine.md similarity index 100% rename from team/worklogs/ghislaine.md rename to docs/team/worklogs/ghislaine.md diff --git a/team/worklogs/ghislaine/2023-07.md b/docs/team/worklogs/ghislaine/2023-07.md similarity index 100% rename from team/worklogs/ghislaine/2023-07.md rename to docs/team/worklogs/ghislaine/2023-07.md diff --git a/team/worklogs/kriti.md b/docs/team/worklogs/kriti.md similarity index 100% rename from team/worklogs/kriti.md rename to docs/team/worklogs/kriti.md diff --git a/team/worklogs/kriti/2023-07.md b/docs/team/worklogs/kriti/2023-07.md similarity index 100% rename from team/worklogs/kriti/2023-07.md rename to docs/team/worklogs/kriti/2023-07.md diff --git a/team/worklogs/mukesh.md b/docs/team/worklogs/mukesh.md similarity index 100% rename from team/worklogs/mukesh.md rename to docs/team/worklogs/mukesh.md diff --git a/team/worklogs/pavish.md b/docs/team/worklogs/pavish.md similarity index 100% rename from team/worklogs/pavish.md rename to docs/team/worklogs/pavish.md diff --git a/team/worklogs/pavish/2023-07.md b/docs/team/worklogs/pavish/2023-07.md similarity index 100% rename from team/worklogs/pavish/2023-07.md rename to docs/team/worklogs/pavish/2023-07.md diff --git a/team/worklogs/rajat.md b/docs/team/worklogs/rajat.md similarity index 100% rename from team/worklogs/rajat.md rename to docs/team/worklogs/rajat.md diff --git a/team/worklogs/rajat/2023-07.md b/docs/team/worklogs/rajat/2023-07.md similarity index 100% rename from team/worklogs/rajat/2023-07.md rename to docs/team/worklogs/rajat/2023-07.md diff --git a/team/worklogs/sean.md b/docs/team/worklogs/sean.md similarity index 100% rename from team/worklogs/sean.md rename to docs/team/worklogs/sean.md diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 000000000..b93f9213b --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,58 @@ +site_name: Mathesar Wiki +site_url: https://wiki.mathesar.org/ +repo_url: https://github.com/centerofci/mathesar-wiki/ +repo_name: centerofci/mathesar-wiki + + +plugins: + - search: + lang: en + - awesome-pages + - section-index + +theme: + name: material + logo: assets/images/logo.svg + favicon: assets/images/favicon.ico + features: + - content.code.copy + font: + text: Nunito Sans + code: Fira Code + icon: + repo: fontawesome/brands/github + palette: + # Palette toggle for light mode + - scheme: default + toggle: + icon: material/brightness-7 + name: Switch to dark mode + # Palette toggle for dark mode + - scheme: slate + toggle: + icon: material/brightness-4 + name: Switch to light mode + +extra_css: + - stylesheets/extra.css + +markdown_extensions: + - admonition + - attr_list + - def_list + - codehilite + - pymdownx.highlight: + anchor_linenums: true + line_spans: __span + pygments_lang_class: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences + - pymdownx.details + - pymdownx.tabbed: + alternate_style: true + - smarty + - tables + - toc: + title: On this page + permalink: true diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 000000000..145dca70e --- /dev/null +++ b/requirements.txt @@ -0,0 +1,5 @@ +mkdocs==1.4.2 +mkdocs-material==8.5.11 +mkdocs-redirects==1.2.0 +mkdocs-awesome-pages-plugin==2.9.1 +mkdocs-section-index==0.3.5 From ff00f19613e3ea76d539d9c8c00f39279685442f Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Tue, 22 Aug 2023 11:57:15 -0400 Subject: [PATCH 02/35] Re-organize some index pages --- README.md | 2 + docs/archive.md | 12 ----- docs/{community.md => community/index.md} | 0 .../{mentoring.md => mentoring/index.md} | 0 docs/{design.md => design/overview.md} | 0 docs/engineering.md | 31 ------------- docs/{home.md => index.md} | 0 docs/jobs.md | 22 --------- docs/marketing.md | 13 ------ docs/meeting-notes.md | 46 ------------------- docs/product.md | 27 ----------- docs/product/concepts.md | 19 -------- docs/product/feedback.md | 13 ------ docs/product/{about.md => index.md} | 0 docs/product/specs.md | 21 --------- .../index.md} | 0 docs/{projects.md => projects/index.md} | 0 docs/team/{guide.md => guide/index.md} | 0 docs/{team.md => team/index.md} | 7 --- .../index.md} | 0 docs/team/worklogs.md | 21 --------- mkdocs.yml | 2 +- requirements.txt | 1 - 23 files changed, 3 insertions(+), 234 deletions(-) delete mode 100644 docs/archive.md rename docs/{community.md => community/index.md} (100%) rename docs/community/{mentoring.md => mentoring/index.md} (100%) rename docs/{design.md => design/overview.md} (100%) delete mode 100644 docs/engineering.md rename docs/{home.md => index.md} (100%) delete mode 100644 docs/jobs.md delete mode 100644 docs/marketing.md delete mode 100644 docs/meeting-notes.md delete mode 100644 docs/product.md delete mode 100644 docs/product/concepts.md delete mode 100644 docs/product/feedback.md rename docs/product/{about.md => index.md} (100%) delete mode 100644 docs/product/specs.md rename docs/product/specs/{2022-01-views.md => 2022-01-views/index.md} (100%) rename docs/{projects.md => projects/index.md} (100%) rename docs/team/{guide.md => guide/index.md} (100%) rename docs/{team.md => team/index.md} (52%) rename docs/team/{responsibilities.md => responsibilities/index.md} (100%) delete mode 100644 docs/team/worklogs.md diff --git a/README.md b/README.md index a3cf7dfdd..a40c936be 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,8 @@ https://wiki.mathesar.org/ - For page redirects, we use [`mkdocs-redirects`](https://github.com/mkdocs/mkdocs-redirects). +- We use the [awesome-pages plugin](https://github.com/lukasgeiter/mkdocs-awesome-pages-plugin) for some additional control over the navigation system. + ## See also - The [source content for Mathesar's _documentation_](https://github.com/centerofci/mathesar/tree/develop/docs), which also utilizes MkDocs. diff --git a/docs/archive.md b/docs/archive.md deleted file mode 100644 index fede3d198..000000000 --- a/docs/archive.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Archive -description: Pages preserved for historical purposes -published: true -date: 2023-07-19T22:59:44.450Z -tags: -editor: markdown -dateCreated: 2021-05-06T18:14:41.495Z ---- - -- [:briefcase: Jobs *Job descriptions for previous Mathesar hires*](/archive/jobs) -{.links-list} \ No newline at end of file diff --git a/docs/community.md b/docs/community/index.md similarity index 100% rename from docs/community.md rename to docs/community/index.md diff --git a/docs/community/mentoring.md b/docs/community/mentoring/index.md similarity index 100% rename from docs/community/mentoring.md rename to docs/community/mentoring/index.md diff --git a/docs/design.md b/docs/design/overview.md similarity index 100% rename from docs/design.md rename to docs/design/overview.md diff --git a/docs/engineering.md b/docs/engineering.md deleted file mode 100644 index f34a89d0e..000000000 --- a/docs/engineering.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: Engineering -description: Resources and notes for Mathesar developers -published: true -date: 2023-07-19T22:59:58.128Z -tags: -editor: markdown -dateCreated: 2021-04-20T16:15:59.765Z ---- - -## Processes -- [:white_check_mark: Code Review *Code review guidelines*](/engineering/code-review) -- [:rocket: Release Process *Steps we follow when creating a release of Mathesar*](/engineering/release-process) -{.links-list} - -## Documentation -- [:blue_book: Glossary *Definitions of various terms used in the codebase*](/en/engineering/glossary) -- [:balance_scale: Standards *Rules to follow for Mathesar code and APIs*](/en/engineering/standards) -- [:classical_building: Technical Design Documents *Specs for implementing complex features*](/en/engineering/specs) -- [:scroll: Project reports *Reports published after completion of community projects.*](/engineering/reports) -{.links-list} - -## Other -- [Research](./engineering/research.md) -- [:books: Resources *Links to potentially interesting resources.*](/engineering/resources) -- [:card_file_box: Archive *Inactive pages preserved for historical interest*](/en/engineering/archive) -{.links-list} - -## See also - -- [Contributor Guide](https://github.com/centerofci/mathesar/blob/develop/CONTRIBUTING.md) to get started making code changes. diff --git a/docs/home.md b/docs/index.md similarity index 100% rename from docs/home.md rename to docs/index.md diff --git a/docs/jobs.md b/docs/jobs.md deleted file mode 100644 index 0e264fe71..000000000 --- a/docs/jobs.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Jobs -description: Opportunities to join the Mathesar team -published: true -date: 2023-07-19T23:00:06.748Z -tags: -editor: markdown -dateCreated: 2021-07-16T16:41:39.528Z ---- - -These are job descriptions for open jobs to work on Mathesar. - -> *No open jobs at this time.* -{.is-info} - - -# Closed Jobs - -- [Full Stack Software Engineer](/en/jobs/2022-06-localization-engineer) -{.links-list} - -Job descriptions for earlier filled positions are in the [Archive > Jobs](/archive/jobs) page. diff --git a/docs/marketing.md b/docs/marketing.md deleted file mode 100644 index 43f8266dd..000000000 --- a/docs/marketing.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Marketing -description: Resources and notes for Mathesar developers -published: true -date: 2023-07-19T23:00:10.912Z -tags: -editor: markdown -dateCreated: 2023-03-10T17:03:23.576Z ---- - -- [Marketing Copy](./marketing/copy.md) -- [Marketing Sites](./marketing/sites.md) -- [Marketing History](./marketing/history.md) \ No newline at end of file diff --git a/docs/meeting-notes.md b/docs/meeting-notes.md deleted file mode 100644 index a6156b79b..000000000 --- a/docs/meeting-notes.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -title: Meeting Notes -description: -published: true -date: 2023-07-19T23:00:15.193Z -tags: -editor: markdown -dateCreated: 2021-04-23T10:53:59.841Z ---- - -These are the Mathesar core team's meeting notes. - -## 2023 -- [August 2023](./meeting-notes/2023-08.md) -- [July 2023](./meeting-notes/2023-07.md) -- [June 2023](./meeting-notes/2023-06.md) -- [May 2023](./meeting-notes/2023-05.md) -- [April 2023](/en/meeting-notes/2023-04) -- [March 2023](/en/meeting-notes/2023-03) -- [February 2023](/en/meeting-notes/2023-02) -- [January 2023](/en/meeting-notes/2023-01) - -## 2022 -- *No meeting notes in December; we primarily used email* -- [November 2022](/en/meeting-notes/2022-11) -- [October 2022](/en/meeting-notes/2022-10) -- [September 2022](/meeting-notes/2022-09) -- [August 2022](/meeting-notes/2022-08) -- [July 2022](/meeting-notes/2022-07) -- [June 2022](/meeting-notes/2022-06) -- [May 2022](/meeting-notes/2022-05) -- [April 2022](/meeting-notes/2022-04) -- [March 2022](/meeting-notes/2022-03) -- [February 2022](/meeting-notes/2022-02) -- [January 2022](/meeting-notes/2022-01) - -## 2021 -- [December 2021](/meeting-notes/2021-12) -- [November 2021](/meeting-notes/2021-11) -- [October 2021](/meeting-notes/october-2021) -- [September 2021](/meeting-notes/september-2021) -- [August 2021](/meeting-notes/august-2021) -- [July 2021](/meeting-notes/july-2021) -- [June 2021](/meeting-notes/june-2021) -- [May 2021](/meeting-notes/may-2021) -- [April 2021](/meeting-notes/april-2021) \ No newline at end of file diff --git a/docs/product.md b/docs/product.md deleted file mode 100644 index 2a7fd97ac..000000000 --- a/docs/product.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: Product -description: Pages related to the Mathesar product -published: true -date: 2023-07-19T23:00:19.529Z -tags: -editor: markdown -dateCreated: 2021-05-06T18:21:40.836Z ---- - -## About -- [:question: What is Mathesar? *About Mathesar*](/product/about) -- [:blue_book: Concepts *Glossary of Mathesar concepts*](/product/concepts) -- [:construction: Roadmap *Features that we plan to build soon*](/product/roadmap) -{.links-list} - -## For Contributors -- [:crystal_ball: Specs *Specs for new features*](/product/specs) -- [:ballot_box_with_check: Product Principles *Principles to follow while building Mathesar*](/product/principles) -- [:loudspeaker: Feedback *Collection of user feedback*](/product/feedback) -{.links-list} - -## Reference -- [:bulb: Feature ideas *Long and disorganized list of ideas for the product*](/product/feature-ideas) -- [:link: Related Products *Products related to Mathesar*](/product/related) -- [:books: Resources *Links to potentially interesting resources.*](/product/resources) -{.links-list} \ No newline at end of file diff --git a/docs/product/concepts.md b/docs/product/concepts.md deleted file mode 100644 index 6d73514c4..000000000 --- a/docs/product/concepts.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Concepts -description: Glossary of Mathesar terms -published: true -date: 2023-07-19T23:09:23.920Z -tags: -editor: markdown -dateCreated: 2021-05-07T15:21:44.337Z ---- - -This page is a reference for concepts related to Mathesar. It is intended to be the primary source of information for how the product is supposed to work. - -- [Databases](/product/concepts/databases) -- [Schemas](/product/concepts/schemas) -- [Tables](/product/concepts/tables) -- [Views](/product/concepts/views) -- [Data Types](/product/concepts/data-types) -- [Filters](/product/concepts/filters) -{.links-list} diff --git a/docs/product/feedback.md b/docs/product/feedback.md deleted file mode 100644 index 46df5bdf3..000000000 --- a/docs/product/feedback.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Product Feedback -description: -published: true -date: 2023-07-19T23:09:42.497Z -tags: -editor: markdown -dateCreated: 2023-03-10T20:51:12.948Z ---- - -A place to store product feedback. - -- [March 2023](/product/feedback/2023-03) \ No newline at end of file diff --git a/docs/product/about.md b/docs/product/index.md similarity index 100% rename from docs/product/about.md rename to docs/product/index.md diff --git a/docs/product/specs.md b/docs/product/specs.md deleted file mode 100644 index 6682ce0f6..000000000 --- a/docs/product/specs.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: Product Specs -description: List of product specs -published: true -date: 2023-07-19T23:10:26.929Z -tags: -editor: markdown -dateCreated: 2022-01-24T22:35:01.056Z ---- - -This is a list of product specs for new features in Mathesar. - -## Specs -- [Publicly shareable links](/product/specs/publicly-shareable-links) -- [Users & Permissions](/product/specs/users-permissions) -- [Dynamic Defaults](/en/product/specs/dynamic-defaults-proto) -- [Views (now Data Explorer)](/product/specs/2022-01-views) -{.links-list} - -## Resources -- [Example Schema](/en/product/specs/example-schema): A set of example tables to be referenced in specs. \ No newline at end of file diff --git a/docs/product/specs/2022-01-views.md b/docs/product/specs/2022-01-views/index.md similarity index 100% rename from docs/product/specs/2022-01-views.md rename to docs/product/specs/2022-01-views/index.md diff --git a/docs/projects.md b/docs/projects/index.md similarity index 100% rename from docs/projects.md rename to docs/projects/index.md diff --git a/docs/team/guide.md b/docs/team/guide/index.md similarity index 100% rename from docs/team/guide.md rename to docs/team/guide/index.md diff --git a/docs/team.md b/docs/team/index.md similarity index 52% rename from docs/team.md rename to docs/team/index.md index 1b52a5a01..1ed145b00 100644 --- a/docs/team.md +++ b/docs/team/index.md @@ -10,11 +10,4 @@ dateCreated: 2021-05-28T12:40:44.943Z Mathesar team members belong either to the **core team** or the **community team**. The core team maintains the project on a day-to-day basis. The community team contributes to Mathesar's design and development fairly regularly and has write access to the `mathesar` repository and wiki. -- [:busts_in_silhouette: Team Members *List of Mathesar core and community team members*](/team/members) -- [:business_suit_levitating: Team responsibilities *Who is doing what*](/team/responsibilities.md) -- [:scroll: Work logs *Work logs for team members*](/team/worklogs) -- [:book: Team Guide *Handbook for team members*](/team/guide) -{.links-list} - -## Joining the Team For now, joining the team is invite-only. \ No newline at end of file diff --git a/docs/team/responsibilities.md b/docs/team/responsibilities/index.md similarity index 100% rename from docs/team/responsibilities.md rename to docs/team/responsibilities/index.md diff --git a/docs/team/worklogs.md b/docs/team/worklogs.md deleted file mode 100644 index aaae2b885..000000000 --- a/docs/team/worklogs.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: Work Logs -description: -published: true -date: 2023-07-19T23:14:47.443Z -tags: -editor: markdown -dateCreated: 2023-07-06T19:00:08.762Z ---- - -The Mathesar team's daily work logs: - -- [Anish](./worklogs/anish.md) -- [Brent](./worklogs/brent.md) -- [Dom](./worklogs/dom.md) -- [Ghislaine](./worklogs/ghislaine.md) -- [Kriti](./worklogs/kriti.md) -- [Mukesh](./worklogs/mukesh.md) -- [Pavish](./worklogs/pavish.md) -- [Rajat](./worklogs/rajat.md) -- [Sean](./worklogs/sean.md) diff --git a/mkdocs.yml b/mkdocs.yml index b93f9213b..1d9d0bff9 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -8,7 +8,6 @@ plugins: - search: lang: en - awesome-pages - - section-index theme: name: material @@ -16,6 +15,7 @@ theme: favicon: assets/images/favicon.ico features: - content.code.copy + - navigation.indexes font: text: Nunito Sans code: Fira Code diff --git a/requirements.txt b/requirements.txt index 145dca70e..56379888d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,4 +2,3 @@ mkdocs==1.4.2 mkdocs-material==8.5.11 mkdocs-redirects==1.2.0 mkdocs-awesome-pages-plugin==2.9.1 -mkdocs-section-index==0.3.5 From 0584a65467b79dc055301ce426f723f5ecef64b8 Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Tue, 22 Aug 2023 12:04:28 -0400 Subject: [PATCH 03/35] Remove GitHub TOC workflow --- .github/workflows/toc.yml | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 .github/workflows/toc.yml diff --git a/.github/workflows/toc.yml b/.github/workflows/toc.yml deleted file mode 100644 index 39bf55c10..000000000 --- a/.github/workflows/toc.yml +++ /dev/null @@ -1,11 +0,0 @@ -on: - push: - paths: - - '**.md' -name: README ToC Generator -jobs: - generateTOC: - name: ToC Generator - runs-on: ubuntu-latest - steps: - - uses: technote-space/toc-generator@v4 From 59440d3cb83a4fb6a5427283aaf59fa66ee48fb6 Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Tue, 22 Aug 2023 12:22:59 -0400 Subject: [PATCH 04/35] Reorganize jobs content --- docs/archive/jobs.md | 298 ------------------ docs/jobs/index.md | 3 + docs/jobs/past/2021-04-designer.md | 40 +++ docs/jobs/past/2021-04-frontend.md | 41 +++ docs/jobs/past/2021-09-frontend.md | 63 ++++ docs/jobs/past/2021-10-backend.md | 64 ++++ docs/jobs/past/2022-05-frontend.md | 73 +++++ .../2022-06-localizationmd} | 15 +- 8 files changed, 287 insertions(+), 310 deletions(-) delete mode 100644 docs/archive/jobs.md create mode 100644 docs/jobs/index.md create mode 100644 docs/jobs/past/2021-04-designer.md create mode 100644 docs/jobs/past/2021-04-frontend.md create mode 100644 docs/jobs/past/2021-09-frontend.md create mode 100644 docs/jobs/past/2021-10-backend.md create mode 100644 docs/jobs/past/2022-05-frontend.md rename docs/jobs/{2022-06-localization-engineer.md => past/2022-06-localizationmd} (94%) diff --git a/docs/archive/jobs.md b/docs/archive/jobs.md deleted file mode 100644 index 13b853b24..000000000 --- a/docs/archive/jobs.md +++ /dev/null @@ -1,298 +0,0 @@ ---- -title: Job Descriptions -description: Job descriptions for Mathesar -published: true -date: 2023-07-19T23:00:33.302Z -tags: -editor: markdown -dateCreated: 2021-04-20T19:00:06.658Z ---- - -# Frontend Engineer #3 -> We decided not to fill this position in 2022-05. -{.is-danger} - -## About us -Mathesar is an open source tool that provides an intuitive interface to databases. Our goal is to make it easy for non-technical users to create, organize, and analyze data collaboratively, without any prior knowledge of database concepts. We started prototyping the project in March 2021 and are working towards our first (alpha) release in mid-2022. - -You'll be joining our small, globally distributed team at the Center of Complex Interventions (CCI), a U.S. nonprofit. We work asynchronously and value work/life balance. Our work is public - look through [our code](https://github.com/centerofci/mathesar), read [our project and team wiki](https://wiki.mathesar.org/en/home), and join [our communication channels](https://wiki.mathesar.org/en/community). - -## What you will do -You'll be our third frontend engineer. Your day-to-day work will involve: -- Primarily, writing code using Svelte and TypeScript -- Collaborating with other team members, including: - - providing written feedback on product and design specs for new features - - figuring out technical architecture - - getting clarification on your work if you need it - - reviewing pull requests -- Helping with open source community work, including: - - creating issues - - writing documentation - - helping new contributors who are stuck - - participating in mentoring programs like Google Summer of Code -- Occasionally attending video calls between 12:00-18:00 UTC for: - - meetings focused on a specific agenda - - team events - -## About you -- You have strong JavaScript development skills, including - - Understanding of the latest standards - - Proficiency in modern JS frameworks -- You have significant experience with the work involved in maintaining a large production codebase -- You proactively identify and resolve requirements that are not well-defined -- You aim for an exceptional user experience when you build products, including thinking about - - small design details and interactions - - accessibility - - performance and load times - - usability -- You have a solid grasp of database and SQL concepts -- You're an excellent communicator in English, - - you can explain ideas quickly, clearly, and comprehensively in writing - - you are verbally fluent -- You're interested in actively participating in an open source community -- You're curious and enjoy learning new things - -## What to expect from the hiring process -- First, you'll fill out an application form with a few project-specific questions -- We'll review applications on a rolling basis and either: - - contact you to schedule an introductory interview, or - - let you know we will not be interviewing you -- If the introductory interview goes well, we will schedule a technical interview -- If the technical interview goes well, we will ask you to solve an issue with the Mathesar codebase asynchronously. **This will involve a few hours of your time.** -- If the coding task goes well, we will schedule one more interview where you'll meet our designer and a member of our backend team -- We'll make our final decision and let you know the outcome - -## Salary and benefits -We offer competitive compensation for the nonprofit sector. - -If you're in the U.S., you will be hired as a salaried employee. Employees have the following benefits: -- Medical, dental, and vision insurance coverage - - **Medical**: CCI covers 80% of employee costs and 70% of dependent costs - - **Dental and Vision:** CCI covers 50% of employee costs for dental and vision insurance -- 401(k), including matching -- Life insurance coverage - -If you're outside the U.S., you will be an independent contractor. - -Both contractors and employees will be reimbursed for job-related learning materials (books, courses, etc.) and conferences. - -## How to Apply -~~Please fill out this application form.~~ - -## Equal Employment Opportunity Policy -The Center of Complex Interventions, Inc. (CCI) is an equal opportunity employer. CCI complies with and adheres to all United States state and federal anti-discrimination laws with respect to its employment practices. CCI does not discriminate against any employee or applicant for employment on the basis of race, color, religion, gender, sexual orientation, gender identity and expression, national origin or ancestry, age, or disability or any other category protected under state or federal law. This policy extends to recruiting, hiring, compensation, benefits, assignment, working conditions, termination, re-employment, employee treatment, and all other terms, conditions and privileges of employment. All employment-related decisions are made on a nondiscriminatory basis so as to further the principle of equal employment opportunity. - -# Senior Backend Engineer - -> This job was closed to new applicants in 2021-10 -{.is-danger} - -We're looking for a backend engineer to work on [Mathesar](http://mathesar.org/), a new open source project aimed at making databases more accessible to non-technical users. Our goal is to enable users of all skill levels to store, visualize, and collaborate with others on data. - -We're currently working hard on our alpha version, which we are aiming to ship by the end of 2021. Our team is based out of the nonprofit [Center of Complex Interventions](https://www.centerofci.org/) (CCI) and we are advised by Joi Ito and Reid Hoffman. - -## The Position -We're working on simplifying and automating database operations and data migrations to make them easy to work with for non-technical users without sacrificing flexibility for advanced users. You'll be collaborating closely with the rest of [the Mathesar team](https://wiki.mathesar.org/team) to build the backend for the project using PostgreSQL, Python, SQLAlchemy, and Django. - -We're still working on the first version of the product (you can find [our roadmap on GitHub](https://github.com/centerofci/mathesar/milestones?direction=asc&sort=due_date&state=open)) and there's ample opportunity to provide input into the direction of the project from both the technical and usability perspectives. You'll also have opportunities to contribute to frontend and infrastructure work if you desire -- we are an informal team. - -This position also involves ownership in building an active community around the project, including participating in conversations with both contributors and users, mentoring new contributors and interns, maintaining documentation and tutorials, reviewing pull requests, and so on. - -We are a fully distributed team and work mostly asynchronously via [Matrix](https://wiki.mathesar.org/en/community) and [GitHub Discussions](https://github.com/centerofci/mathesar/discussions). You can be located anywhere in the world, as long as you can make time between 2 PM and 8 PM UTC for occasional video calls and team events. - -## Qualifications -Requirements: - -- Expertise in Python. -- Strong grasp of SQL and database performance (PostgreSQL preferred). -- Experience with architecting and maintaining Python web applications (Django and/or SQLAlchemy preferred). -- Experience designing REST APIs. -- Professional experience collaborating on a product within a 4-5 member engineering team. -- Excellent verbal communication skills in English. -- Comfort with explaining your ideas quickly, clearly, and comprehensively in writing. -- Ability to work independently, build good working relationships remotely, and communicate proactively. -- Interest in building an open source community and helping others contribute to the project. -- Comfort with working without defined specifications and identifying and resolving ambiguity quickly. -- Curiosity and enjoyment of learning new things. - -Nice to have: -- Experience with build/infrastructure tools like Docker and Ansible. -- Experience maintaining Linux servers. -- Experience with building self-hosted products. -- Open source contribution or community building. -- Remote (especially asynchronous) work. -- Experience with working on complex data-driven frontend applications using a modern JavaScript framework. - -## Interview Process -The interview process will consist of four rounds: -- Round 1: Interview with our project lead -- Round 2: We'll ask you to contribute a feature to Mathesar to simulate what it would be like to work together day to day. -- Round 3: Interview with our backend engineer -- Round 4: Interview with our frontend engineer and designer - -## Salary and Benefits -You will be a salaried employee if you're in the US and an independent contractor otherwise. We offer a competitive salary in the nonprofit sector. We also have a budget for learning material (books, courses, etc.) and conferences. - -US employees have the following benefits: -- Medical, dental, and vision insurance coverage (CCI covers 80% of employee costs and 70% of dependent costs for medical insurance and 50% of employee costs for dental and vision insurance). -- Life insurance coverage -- 401(k) - -## How to Apply - -~~Please fill out this application form.~~ - -You are also welcome to [join our community](https://wiki.mathesar.org/community) and ask any questions you might have or [contribute to the project](https://wiki.mathesar.org/community/contributing). - -## Equal Employment Opportunity Policy - -The Center of Complex Interventions, Inc. (CCI) is an equal opportunity employer. CCI complies with and adheres to all United States state and federal anti-discrimination laws with respect to its employment practices. CCI does not discriminate against any employee or applicant for employment on the basis of race, color, religion, gender, sexual orientation, gender identity and expression, national origin or ancestry, age, or disability or any other category protected under state or federal law. This policy extends to recruiting, hiring, compensation, benefits, assignment, working conditions, termination, re-employment, employee treatment, and all other terms, conditions and privileges of employment. All employment-related decisions are made on a nondiscriminatory basis so as to further the principle of equal employment opportunity. - -# Frontend Engineer #2 - -> This job was closed to new applicants on 2021-09-10 -{.is-danger} - -We're looking for a frontend engineer to work on [Mathesar](http://mathesar.org/), a brand new open source project that will enable users of all skill levels to store, visualize, and collaborate with others on data. We're currently working hard on our alpha version, which we are aiming to ship by November 2021. We're based out of the nonprofit [Center of Complex Interventions](https://www.centerofci.org/) (CCI) and are advised by Joi Ito and Reid Hoffman. - -## The Position -You'll be collaborating closely with everyone on the existing [Mathesar team](https://wiki.mathesar.org/team) to build out the frontend for the project. Our frontend stack is Svelte and TypeScript, and our initial roadmap for the MVP is [on GitHub](https://github.com/centerofci/mathesar/milestones?direction=asc&sort=due_date&state=open). - -We're working on interesting problems related to simplifying and automating database operations to make them easy to work with for non-technical users without sacrificing flexibility for advanced users. We're still working on the first version of the product, so there's ample opportunity to provide input into the direction of the project from both the technical and usability perspectives. You'll also have opportunities to contribute to backend and infrastructure work if you desire – we are an informal team. - -This position also involves ownership in building an active community around the product, including participating in conversations with both contributors and users, mentoring for programs like Google Summer of Code, and maintaining documentation, reviewing pull requests, and so on. - -We are a fully distributed team and work mostly asynchronously via [Matrix](https://wiki.mathesar.org/en/community) and [GitHub Discussions](https://github.com/centerofci/mathesar/discussions). You can be located anywhere in the world, as long as you are can make time between 2 PM and 8 PM UTC for occasional video calls and team events. - -## Qualifications -We expect you to: - -- have had production experience with architecting, building, and deploying complex data-driven frontend applications using a modern JavaScript framework such as Svelte, Vue, or React. -- have had experience with ensuring frontend accessibility, scalability, and performance. -- have experience working professionally within an engineering team. -- have excellent verbal communication skills in English. -- enjoy explaining your ideas quickly, clearly, and comprehensively in writing. -- work indpendently, build good working relationships remotely, and communicate proactively. -- be an advocate for an exceptional user experience. -- be interested in building an open source community and helping others contribute to the project. -- be curious and enjoy learning new things. - -You get bonus points if you have experience with any of the following: - -- Svelte and TypeScript. -- Python (especially Django or SQL Alchemy). -- Relational databases and SQL. -- Open source contribution or community building. -- Remote (especially asynchronous) work. -- Collaborating with designers. -- Usability testing. - -## Interview Process -The interview process will consist of four rounds: - -* **Round 1**: 1 hour technical interview with our frontend engineer. -* **Round 2**: We'll assign you an open issue on the Mathesar repository and ask you to complete it. This is aimed at giving everyone involved a look at what it would be like to work together day to day. -* **Round 3**: 1 hour interview with our designer and backend engineer. -* **Round 4**: 45 min interview with our project lead. - -The final candidate will also have a conversation with CCI's Executive Director to learn more about the organization. - -## Salary and Benefits -You will be a salaried employee if you're in the US and an independent contractor otherwise. We offer a competitive salary in the nonprofit sector. We also have a budget for learning material (books, courses, etc.) and conferences. - -US employees have the following benefits: -- Medical, dental, and vision insurance coverage (CCI covers 80% of employee costs and 70% of dependent costs for medical insurance and 50% of employee costs for dental and vision insurance). -- Life insurance coverage -- 401(k) - -## How to Apply -~~Please fill out this application form.~~ - -You are also welcome to [join our community](https://wiki.mathesar.org/community) and ask any questions you might have or [contribute to the project](https://wiki.mathesar.org/community/contributing). - -## Equal Employment Opportunity Policy -The Center of Complex Interventions, Inc. (CCI) is an equal opportunity employer. CCI complies with and adheres to all United States state and federal anti-discrimination laws with respect to its employment practices. CCI does not discriminate against any employee or applicant for employment on the basis of race, color, religion, gender, sexual orientation, gender identity and expression, national origin or ancestry, age, or disability or any other category protected under state or federal law. This policy extends to recruiting, hiring, compensation, benefits, assignment, working conditions, termination, re-employment, employee treatment, and all other terms, conditions and privileges of employment. All employment-related decisions are made on a nondiscriminatory basis so as to further the principle of equal employment opportunity. - -# Frontend Engineer #1 -> This job was filled in April 2021. -{.is-danger} - -## The Project -We're looking for a frontend engineer to help build a brand new open source product that helps users of all skill levels use, extend, and visualize their data. We are heavily inspired by [Dabble DB](https://www.youtube.com/watch?v=MCVj5RZOqwY). - -The current team is two engineers, we're alumni of Creative Commons and have experience working on open source projects and building community. We're aiming for an initial team size of four, including this position and a product designer. We're based out of the nonprofit [Center of Complex Interventions](https://www.centerofci.org/) and are advised by Joi Ito and Reid Hoffman. - -## The Position -We haven't started writing code for this project yet and you'll be our first frontend engineer. We expect that you'll have full ownership of the front end, including picking the stack, writing modular, scalable, and well-documented code, and ensuring accessibility, near-instantaneous performance, and a great user experience. You'll also help with ideation and design of the MVP and new features, collaborating closely with our product designer. - -This position also involves ownership in building an active community around the product, including participating in conversations with both contributors and users, mentoring for programs like Google Summer of Code, and maintaining documentation, reviewing pull requests, and so on. - -We are a fully distributed team, and you can be located anywhere in the world, as long as you are can make time between 2 PM and 8 PM UTC for meetings as needed. - -## Qualifications -We're looking for an experienced engineer that has architected, built, and deployed complex frontend applications that deal with large amounts of data. Ensuring scalability, accessibility, and performance are critical, and ideally, you have strong opinions on how to make that happen. We also expect you to be an advocate for creating an exceptional user experience. - -Excellent communication skills in English (both written and verbal) are essential, since this position is fully remote. You should be able to work indpendently, build good working relationships remotely, and be a proactive communicator. You should also enjoy writing documentation, helping others, and building a community. You're probably also curious and enjoy learning new things. - -Some nice-to-haves: -- solid understanding of SQL and databases -- experience as a contributor or maintainer of open source software -- experience with usability testing -- familiarity with Python -- remote work experience - -## Salary and Benefits -You will be a salaried employee if you're in the US and an independent contractor otherwise. We offer a competitive salary in the nonprofit sector. We also have a budget for learning material (books, courses, etc.) and conferences. - -US employees have the following benefits: -- Medical, dental, and vision insurance coverage (CCI covers 80% of employee costs and 70% of dependent costs for medical insurance and 50% of employee costs for dental and vision insurance). -- Life insurance coverage -- 401(k) forthcoming - -## How to Apply -~~Please fill out this form.~~ - -## Equal Employment Opportunity Policy -The Center of Complex Interventions, Inc. (CCI) is an equal opportunity employer. CCI complies with and adheres to all United States state and federal anti-discrimination laws with respect to its employment practices. CCI does not discriminate against any employee or applicant for employment on the basis of race, color, religion, gender, sexual orientation, gender identity and expression, national origin or ancestry, age, or disability or any other category protected under state or federal law. This policy extends to recruiting, hiring, compensation, benefits, assignment, working conditions, termination, re-employment, employee treatment, and all other terms, conditions and privileges of employment. All employment-related decisions are made on a nondiscriminatory basis so as to further the principle of equal employment opportunity. - - -# Product Designer -> This job was filled in April 2021. -{.is-danger} - -## The Project -We're looking for a product designer to help build a brand new open source product that helps users of all skill levels use, extend, and visualize their data. We are heavily inspired by [Dabble DB](https://www.youtube.com/watch?v=MCVj5RZOqwY). - -The current team is two engineers, we're alumni of Creative Commons and have experience working on open source projects and building community. We're aiming for an initial team size of four, including this position and a frontend engineer. We're based out of the nonprofit [Center of Complex Interventions](https://www.centerofci.org/) and are advised by Joi Ito and Reid Hoffman. - -## The Position -We haven't started writing code for this project yet and your first task will be to help us design and ship the MVP. You'll have full ownership of the product design process, including user interviews, taking ideas from initial conception to high-fidelity designs, and regular usability testing. You'll translate complex data manipulation concepts into a simple and intuitive user interface for non-technical users. You'll collaborate closely with the front end engineer to ship your designs. - -This position also involves ownership in building an active community around the product, including participating in conversations with both contributors and users, mentoring for programs like Google Summer of Code, and maintaining documentation, reviewing pull requests, and so on. - -We are a fully distributed team, and you can be located anywhere in the world, as long as you are can make time between 2 PM and 8 PM UTC for meetings as needed. - -## Qualifications -We're looking for a designer that has extensive experience with translating complex concepts into intuitive web interfaces for non-technical users and working with engineering teams to ship them. You should be an expert in design best practices, especially in accessibility and mobile-friendliness. You should also have experience conducting effective user interviews and usability testing, and generally be an advocate for creating an exceptional user experience. - -Excellent communication skills in English (both written and verbal) are essential, since this position is fully remote. You should be able to work indpendently, build good working relationships remotely, and be a proactive communicator. You should also enjoy writing documentation, helping others, and building a community. You're probably also curious and enjoy learning new things. - -Some nice-to-haves: -- understanding of SQL and databases -- design experience with spreadsheet, tables, or large datasets -- experience as a contributor or maintainer of open source software -- familiarity with HTML/CSS - -## Salary and Benefits -You will be a salaried employee if you're in the US and an independent contractor otherwise. We offer a competitive salary in the nonprofit sector. We also have a budget for learning material (books, courses, etc.) and conferences. - -US employees have the following benefits: -- Medical, dental, and vision insurance coverage (CCI covers 80% of employee costs and 70% of dependent costs for medical insurance and 50% of employee costs for dental and vision insurance). -- Life insurance coverage -- 401(k) forthcoming - -## How to Apply -~~Please fill out this form.~~ - -## Equal Employment Opportunity Policy -The Center of Complex Interventions, Inc. (CCI) is an equal opportunity employer. CCI complies with and adheres to all United States state and federal anti-discrimination laws with respect to its employment practices. CCI does not discriminate against any employee or applicant for employment on the basis of race, color, religion, gender, sexual orientation, gender identity and expression, national origin or ancestry, age, or disability or any other category protected under state or federal law. This policy extends to recruiting, hiring, compensation, benefits, assignment, working conditions, termination, re-employment, employee treatment, and all other terms, conditions and privileges of employment. All employment-related decisions are made on a nondiscriminatory basis so as to further the principle of equal employment opportunity. diff --git a/docs/jobs/index.md b/docs/jobs/index.md new file mode 100644 index 000000000..0b89ef766 --- /dev/null +++ b/docs/jobs/index.md @@ -0,0 +1,3 @@ +# Jobs at Mathesar + +There are no open positions at this time. diff --git a/docs/jobs/past/2021-04-designer.md b/docs/jobs/past/2021-04-designer.md new file mode 100644 index 000000000..d95a3d0a7 --- /dev/null +++ b/docs/jobs/past/2021-04-designer.md @@ -0,0 +1,40 @@ +# 2021-04 - Product Designer + +**This job was filled in April 2021.** + +## The Project +We're looking for a product designer to help build a brand new open source product that helps users of all skill levels use, extend, and visualize their data. We are heavily inspired by [Dabble DB](https://www.youtube.com/watch?v=MCVj5RZOqwY). + +The current team is two engineers, we're alumni of Creative Commons and have experience working on open source projects and building community. We're aiming for an initial team size of four, including this position and a frontend engineer. We're based out of the nonprofit [Center of Complex Interventions](https://www.centerofci.org/) and are advised by Joi Ito and Reid Hoffman. + +## The Position +We haven't started writing code for this project yet and your first task will be to help us design and ship the MVP. You'll have full ownership of the product design process, including user interviews, taking ideas from initial conception to high-fidelity designs, and regular usability testing. You'll translate complex data manipulation concepts into a simple and intuitive user interface for non-technical users. You'll collaborate closely with the front end engineer to ship your designs. + +This position also involves ownership in building an active community around the product, including participating in conversations with both contributors and users, mentoring for programs like Google Summer of Code, and maintaining documentation, reviewing pull requests, and so on. + +We are a fully distributed team, and you can be located anywhere in the world, as long as you are can make time between 2 PM and 8 PM UTC for meetings as needed. + +## Qualifications +We're looking for a designer that has extensive experience with translating complex concepts into intuitive web interfaces for non-technical users and working with engineering teams to ship them. You should be an expert in design best practices, especially in accessibility and mobile-friendliness. You should also have experience conducting effective user interviews and usability testing, and generally be an advocate for creating an exceptional user experience. + +Excellent communication skills in English (both written and verbal) are essential, since this position is fully remote. You should be able to work indpendently, build good working relationships remotely, and be a proactive communicator. You should also enjoy writing documentation, helping others, and building a community. You're probably also curious and enjoy learning new things. + +Some nice-to-haves: +- understanding of SQL and databases +- design experience with spreadsheet, tables, or large datasets +- experience as a contributor or maintainer of open source software +- familiarity with HTML/CSS + +## Salary and Benefits +You will be a salaried employee if you're in the US and an independent contractor otherwise. We offer a competitive salary in the nonprofit sector. We also have a budget for learning material (books, courses, etc.) and conferences. + +US employees have the following benefits: +- Medical, dental, and vision insurance coverage (CCI covers 80% of employee costs and 70% of dependent costs for medical insurance and 50% of employee costs for dental and vision insurance). +- Life insurance coverage +- 401(k) forthcoming + +## How to Apply +~~Please fill out this form.~~ + +## Equal Employment Opportunity Policy +The Center of Complex Interventions, Inc. (CCI) is an equal opportunity employer. CCI complies with and adheres to all United States state and federal anti-discrimination laws with respect to its employment practices. CCI does not discriminate against any employee or applicant for employment on the basis of race, color, religion, gender, sexual orientation, gender identity and expression, national origin or ancestry, age, or disability or any other category protected under state or federal law. This policy extends to recruiting, hiring, compensation, benefits, assignment, working conditions, termination, re-employment, employee treatment, and all other terms, conditions and privileges of employment. All employment-related decisions are made on a nondiscriminatory basis so as to further the principle of equal employment opportunity. diff --git a/docs/jobs/past/2021-04-frontend.md b/docs/jobs/past/2021-04-frontend.md new file mode 100644 index 000000000..d59c8b8f9 --- /dev/null +++ b/docs/jobs/past/2021-04-frontend.md @@ -0,0 +1,41 @@ +# 2021-04 - Frontend Engineer #1 + +**This job was filled in April 2021.** + +## The Project +We're looking for a frontend engineer to help build a brand new open source product that helps users of all skill levels use, extend, and visualize their data. We are heavily inspired by [Dabble DB](https://www.youtube.com/watch?v=MCVj5RZOqwY). + +The current team is two engineers, we're alumni of Creative Commons and have experience working on open source projects and building community. We're aiming for an initial team size of four, including this position and a product designer. We're based out of the nonprofit [Center of Complex Interventions](https://www.centerofci.org/) and are advised by Joi Ito and Reid Hoffman. + +## The Position +We haven't started writing code for this project yet and you'll be our first frontend engineer. We expect that you'll have full ownership of the front end, including picking the stack, writing modular, scalable, and well-documented code, and ensuring accessibility, near-instantaneous performance, and a great user experience. You'll also help with ideation and design of the MVP and new features, collaborating closely with our product designer. + +This position also involves ownership in building an active community around the product, including participating in conversations with both contributors and users, mentoring for programs like Google Summer of Code, and maintaining documentation, reviewing pull requests, and so on. + +We are a fully distributed team, and you can be located anywhere in the world, as long as you are can make time between 2 PM and 8 PM UTC for meetings as needed. + +## Qualifications +We're looking for an experienced engineer that has architected, built, and deployed complex frontend applications that deal with large amounts of data. Ensuring scalability, accessibility, and performance are critical, and ideally, you have strong opinions on how to make that happen. We also expect you to be an advocate for creating an exceptional user experience. + +Excellent communication skills in English (both written and verbal) are essential, since this position is fully remote. You should be able to work indpendently, build good working relationships remotely, and be a proactive communicator. You should also enjoy writing documentation, helping others, and building a community. You're probably also curious and enjoy learning new things. + +Some nice-to-haves: +- solid understanding of SQL and databases +- experience as a contributor or maintainer of open source software +- experience with usability testing +- familiarity with Python +- remote work experience + +## Salary and Benefits +You will be a salaried employee if you're in the US and an independent contractor otherwise. We offer a competitive salary in the nonprofit sector. We also have a budget for learning material (books, courses, etc.) and conferences. + +US employees have the following benefits: +- Medical, dental, and vision insurance coverage (CCI covers 80% of employee costs and 70% of dependent costs for medical insurance and 50% of employee costs for dental and vision insurance). +- Life insurance coverage +- 401(k) forthcoming + +## How to Apply +~~Please fill out this form.~~ + +## Equal Employment Opportunity Policy +The Center of Complex Interventions, Inc. (CCI) is an equal opportunity employer. CCI complies with and adheres to all United States state and federal anti-discrimination laws with respect to its employment practices. CCI does not discriminate against any employee or applicant for employment on the basis of race, color, religion, gender, sexual orientation, gender identity and expression, national origin or ancestry, age, or disability or any other category protected under state or federal law. This policy extends to recruiting, hiring, compensation, benefits, assignment, working conditions, termination, re-employment, employee treatment, and all other terms, conditions and privileges of employment. All employment-related decisions are made on a nondiscriminatory basis so as to further the principle of equal employment opportunity. diff --git a/docs/jobs/past/2021-09-frontend.md b/docs/jobs/past/2021-09-frontend.md new file mode 100644 index 000000000..77726daae --- /dev/null +++ b/docs/jobs/past/2021-09-frontend.md @@ -0,0 +1,63 @@ +# 2021-09 - Frontend Engineer #2 + +**This job was closed to new applicants on 2021-09-10** + +We're looking for a frontend engineer to work on [Mathesar](http://mathesar.org/), a brand new open source project that will enable users of all skill levels to store, visualize, and collaborate with others on data. We're currently working hard on our alpha version, which we are aiming to ship by November 2021. We're based out of the nonprofit [Center of Complex Interventions](https://www.centerofci.org/) (CCI) and are advised by Joi Ito and Reid Hoffman. + +## The Position +You'll be collaborating closely with everyone on the existing [Mathesar team](https://wiki.mathesar.org/team) to build out the frontend for the project. Our frontend stack is Svelte and TypeScript, and our initial roadmap for the MVP is [on GitHub](https://github.com/centerofci/mathesar/milestones?direction=asc&sort=due_date&state=open). + +We're working on interesting problems related to simplifying and automating database operations to make them easy to work with for non-technical users without sacrificing flexibility for advanced users. We're still working on the first version of the product, so there's ample opportunity to provide input into the direction of the project from both the technical and usability perspectives. You'll also have opportunities to contribute to backend and infrastructure work if you desire – we are an informal team. + +This position also involves ownership in building an active community around the product, including participating in conversations with both contributors and users, mentoring for programs like Google Summer of Code, and maintaining documentation, reviewing pull requests, and so on. + +We are a fully distributed team and work mostly asynchronously via [Matrix](https://wiki.mathesar.org/en/community) and [GitHub Discussions](https://github.com/centerofci/mathesar/discussions). You can be located anywhere in the world, as long as you are can make time between 2 PM and 8 PM UTC for occasional video calls and team events. + +## Qualifications +We expect you to: + +- have had production experience with architecting, building, and deploying complex data-driven frontend applications using a modern JavaScript framework such as Svelte, Vue, or React. +- have had experience with ensuring frontend accessibility, scalability, and performance. +- have experience working professionally within an engineering team. +- have excellent verbal communication skills in English. +- enjoy explaining your ideas quickly, clearly, and comprehensively in writing. +- work indpendently, build good working relationships remotely, and communicate proactively. +- be an advocate for an exceptional user experience. +- be interested in building an open source community and helping others contribute to the project. +- be curious and enjoy learning new things. + +You get bonus points if you have experience with any of the following: + +- Svelte and TypeScript. +- Python (especially Django or SQL Alchemy). +- Relational databases and SQL. +- Open source contribution or community building. +- Remote (especially asynchronous) work. +- Collaborating with designers. +- Usability testing. + +## Interview Process +The interview process will consist of four rounds: + +* **Round 1**: 1 hour technical interview with our frontend engineer. +* **Round 2**: We'll assign you an open issue on the Mathesar repository and ask you to complete it. This is aimed at giving everyone involved a look at what it would be like to work together day to day. +* **Round 3**: 1 hour interview with our designer and backend engineer. +* **Round 4**: 45 min interview with our project lead. + +The final candidate will also have a conversation with CCI's Executive Director to learn more about the organization. + +## Salary and Benefits +You will be a salaried employee if you're in the US and an independent contractor otherwise. We offer a competitive salary in the nonprofit sector. We also have a budget for learning material (books, courses, etc.) and conferences. + +US employees have the following benefits: +- Medical, dental, and vision insurance coverage (CCI covers 80% of employee costs and 70% of dependent costs for medical insurance and 50% of employee costs for dental and vision insurance). +- Life insurance coverage +- 401(k) + +## How to Apply +~~Please fill out this application form.~~ + +You are also welcome to [join our community](https://wiki.mathesar.org/community) and ask any questions you might have or [contribute to the project](https://wiki.mathesar.org/community/contributing). + +## Equal Employment Opportunity Policy +The Center of Complex Interventions, Inc. (CCI) is an equal opportunity employer. CCI complies with and adheres to all United States state and federal anti-discrimination laws with respect to its employment practices. CCI does not discriminate against any employee or applicant for employment on the basis of race, color, religion, gender, sexual orientation, gender identity and expression, national origin or ancestry, age, or disability or any other category protected under state or federal law. This policy extends to recruiting, hiring, compensation, benefits, assignment, working conditions, termination, re-employment, employee treatment, and all other terms, conditions and privileges of employment. All employment-related decisions are made on a nondiscriminatory basis so as to further the principle of equal employment opportunity. diff --git a/docs/jobs/past/2021-10-backend.md b/docs/jobs/past/2021-10-backend.md new file mode 100644 index 000000000..7677f577b --- /dev/null +++ b/docs/jobs/past/2021-10-backend.md @@ -0,0 +1,64 @@ +# 2021-10 - Senior Backend Engineer + +**This job was closed to new applicants in 2021-10** + +We're looking for a backend engineer to work on [Mathesar](http://mathesar.org/), a new open source project aimed at making databases more accessible to non-technical users. Our goal is to enable users of all skill levels to store, visualize, and collaborate with others on data. + +We're currently working hard on our alpha version, which we are aiming to ship by the end of 2021. Our team is based out of the nonprofit [Center of Complex Interventions](https://www.centerofci.org/) (CCI) and we are advised by Joi Ito and Reid Hoffman. + +## The Position +We're working on simplifying and automating database operations and data migrations to make them easy to work with for non-technical users without sacrificing flexibility for advanced users. You'll be collaborating closely with the rest of [the Mathesar team](https://wiki.mathesar.org/team) to build the backend for the project using PostgreSQL, Python, SQLAlchemy, and Django. + +We're still working on the first version of the product (you can find [our roadmap on GitHub](https://github.com/centerofci/mathesar/milestones?direction=asc&sort=due_date&state=open)) and there's ample opportunity to provide input into the direction of the project from both the technical and usability perspectives. You'll also have opportunities to contribute to frontend and infrastructure work if you desire -- we are an informal team. + +This position also involves ownership in building an active community around the project, including participating in conversations with both contributors and users, mentoring new contributors and interns, maintaining documentation and tutorials, reviewing pull requests, and so on. + +We are a fully distributed team and work mostly asynchronously via [Matrix](https://wiki.mathesar.org/en/community) and [GitHub Discussions](https://github.com/centerofci/mathesar/discussions). You can be located anywhere in the world, as long as you can make time between 2 PM and 8 PM UTC for occasional video calls and team events. + +## Qualifications +Requirements: + +- Expertise in Python. +- Strong grasp of SQL and database performance (PostgreSQL preferred). +- Experience with architecting and maintaining Python web applications (Django and/or SQLAlchemy preferred). +- Experience designing REST APIs. +- Professional experience collaborating on a product within a 4-5 member engineering team. +- Excellent verbal communication skills in English. +- Comfort with explaining your ideas quickly, clearly, and comprehensively in writing. +- Ability to work independently, build good working relationships remotely, and communicate proactively. +- Interest in building an open source community and helping others contribute to the project. +- Comfort with working without defined specifications and identifying and resolving ambiguity quickly. +- Curiosity and enjoyment of learning new things. + +Nice to have: +- Experience with build/infrastructure tools like Docker and Ansible. +- Experience maintaining Linux servers. +- Experience with building self-hosted products. +- Open source contribution or community building. +- Remote (especially asynchronous) work. +- Experience with working on complex data-driven frontend applications using a modern JavaScript framework. + +## Interview Process +The interview process will consist of four rounds: +- Round 1: Interview with our project lead +- Round 2: We'll ask you to contribute a feature to Mathesar to simulate what it would be like to work together day to day. +- Round 3: Interview with our backend engineer +- Round 4: Interview with our frontend engineer and designer + +## Salary and Benefits +You will be a salaried employee if you're in the US and an independent contractor otherwise. We offer a competitive salary in the nonprofit sector. We also have a budget for learning material (books, courses, etc.) and conferences. + +US employees have the following benefits: +- Medical, dental, and vision insurance coverage (CCI covers 80% of employee costs and 70% of dependent costs for medical insurance and 50% of employee costs for dental and vision insurance). +- Life insurance coverage +- 401(k) + +## How to Apply + +~~Please fill out this application form.~~ + +You are also welcome to [join our community](https://wiki.mathesar.org/community) and ask any questions you might have or [contribute to the project](https://wiki.mathesar.org/community/contributing). + +## Equal Employment Opportunity Policy + +The Center of Complex Interventions, Inc. (CCI) is an equal opportunity employer. CCI complies with and adheres to all United States state and federal anti-discrimination laws with respect to its employment practices. CCI does not discriminate against any employee or applicant for employment on the basis of race, color, religion, gender, sexual orientation, gender identity and expression, national origin or ancestry, age, or disability or any other category protected under state or federal law. This policy extends to recruiting, hiring, compensation, benefits, assignment, working conditions, termination, re-employment, employee treatment, and all other terms, conditions and privileges of employment. All employment-related decisions are made on a nondiscriminatory basis so as to further the principle of equal employment opportunity. diff --git a/docs/jobs/past/2022-05-frontend.md b/docs/jobs/past/2022-05-frontend.md new file mode 100644 index 000000000..14b73413d --- /dev/null +++ b/docs/jobs/past/2022-05-frontend.md @@ -0,0 +1,73 @@ +# 2022-05 - Frontend Engineer #3 + +**We decided not to fill this position in 2022-05.** + +## About us +Mathesar is an open source tool that provides an intuitive interface to databases. Our goal is to make it easy for non-technical users to create, organize, and analyze data collaboratively, without any prior knowledge of database concepts. We started prototyping the project in March 2021 and are working towards our first (alpha) release in mid-2022. + +You'll be joining our small, globally distributed team at the Center of Complex Interventions (CCI), a U.S. nonprofit. We work asynchronously and value work/life balance. Our work is public - look through [our code](https://github.com/centerofci/mathesar), read [our project and team wiki](https://wiki.mathesar.org/en/home), and join [our communication channels](https://wiki.mathesar.org/en/community). + +## What you will do +You'll be our third frontend engineer. Your day-to-day work will involve: +- Primarily, writing code using Svelte and TypeScript +- Collaborating with other team members, including: + - providing written feedback on product and design specs for new features + - figuring out technical architecture + - getting clarification on your work if you need it + - reviewing pull requests +- Helping with open source community work, including: + - creating issues + - writing documentation + - helping new contributors who are stuck + - participating in mentoring programs like Google Summer of Code +- Occasionally attending video calls between 12:00-18:00 UTC for: + - meetings focused on a specific agenda + - team events + +## About you +- You have strong JavaScript development skills, including + - Understanding of the latest standards + - Proficiency in modern JS frameworks +- You have significant experience with the work involved in maintaining a large production codebase +- You proactively identify and resolve requirements that are not well-defined +- You aim for an exceptional user experience when you build products, including thinking about + - small design details and interactions + - accessibility + - performance and load times + - usability +- You have a solid grasp of database and SQL concepts +- You're an excellent communicator in English, + - you can explain ideas quickly, clearly, and comprehensively in writing + - you are verbally fluent +- You're interested in actively participating in an open source community +- You're curious and enjoy learning new things + +## What to expect from the hiring process +- First, you'll fill out an application form with a few project-specific questions +- We'll review applications on a rolling basis and either: + - contact you to schedule an introductory interview, or + - let you know we will not be interviewing you +- If the introductory interview goes well, we will schedule a technical interview +- If the technical interview goes well, we will ask you to solve an issue with the Mathesar codebase asynchronously. **This will involve a few hours of your time.** +- If the coding task goes well, we will schedule one more interview where you'll meet our designer and a member of our backend team +- We'll make our final decision and let you know the outcome + +## Salary and benefits +We offer competitive compensation for the nonprofit sector. + +If you're in the U.S., you will be hired as a salaried employee. Employees have the following benefits: +- Medical, dental, and vision insurance coverage + - **Medical**: CCI covers 80% of employee costs and 70% of dependent costs + - **Dental and Vision:** CCI covers 50% of employee costs for dental and vision insurance +- 401(k), including matching +- Life insurance coverage + +If you're outside the U.S., you will be an independent contractor. + +Both contractors and employees will be reimbursed for job-related learning materials (books, courses, etc.) and conferences. + +## How to Apply +~~Please fill out this application form.~~ + +## Equal Employment Opportunity Policy +The Center of Complex Interventions, Inc. (CCI) is an equal opportunity employer. CCI complies with and adheres to all United States state and federal anti-discrimination laws with respect to its employment practices. CCI does not discriminate against any employee or applicant for employment on the basis of race, color, religion, gender, sexual orientation, gender identity and expression, national origin or ancestry, age, or disability or any other category protected under state or federal law. This policy extends to recruiting, hiring, compensation, benefits, assignment, working conditions, termination, re-employment, employee treatment, and all other terms, conditions and privileges of employment. All employment-related decisions are made on a nondiscriminatory basis so as to further the principle of equal employment opportunity. diff --git a/docs/jobs/2022-06-localization-engineer.md b/docs/jobs/past/2022-06-localizationmd similarity index 94% rename from docs/jobs/2022-06-localization-engineer.md rename to docs/jobs/past/2022-06-localizationmd index 28e9f5891..e4f7ae81a 100644 --- a/docs/jobs/2022-06-localization-engineer.md +++ b/docs/jobs/past/2022-06-localizationmd @@ -1,15 +1,6 @@ ---- -title: Full Stack Software Engineer -description: -published: true -date: 2023-07-19T23:04:14.757Z -tags: -editor: markdown -dateCreated: 2022-06-01T15:21:07.383Z ---- - -> This position is closed. -{.is-danger} +# 2023-06 - Full Stack Software Engineer + +**This position is closed.** ## About us From 09a852cf41fe4bf6958f5b0255656d3f5e64ab4b Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Tue, 22 Aug 2023 12:39:30 -0400 Subject: [PATCH 05/35] Handle redirects via HTTP instead of content --- docs/community/contributing.md | 13 ------------- docs/community/setup_in_windows.md | 15 --------------- docs/engineering/architecture/api-standards.md | 12 ------------ .../architecture/front-end-standards.md | 12 ------------ docs/engineering/common-issues.md | 12 ------------ docs/engineering/setup.md | 13 ------------- docs/engineering/setup/common-issues.md | 13 ------------- docs/engineering/standards/api.md | 13 ------------- docs/engineering/standards/frontend.md | 13 ------------- mkdocs.yml | 11 +++++++++++ 10 files changed, 11 insertions(+), 116 deletions(-) delete mode 100644 docs/community/contributing.md delete mode 100644 docs/community/setup_in_windows.md delete mode 100644 docs/engineering/architecture/api-standards.md delete mode 100644 docs/engineering/architecture/front-end-standards.md delete mode 100644 docs/engineering/common-issues.md delete mode 100644 docs/engineering/setup.md delete mode 100644 docs/engineering/setup/common-issues.md delete mode 100644 docs/engineering/standards/api.md delete mode 100644 docs/engineering/standards/frontend.md diff --git a/docs/community/contributing.md b/docs/community/contributing.md deleted file mode 100644 index 4e8740010..000000000 --- a/docs/community/contributing.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Contributing to Mathesar -description: -published: true -date: 2023-07-19T23:00:40.226Z -tags: -editor: markdown -dateCreated: 2021-06-03T13:18:27.111Z ---- - -> [This page has been moved](https://github.com/centerofci/mathesar/blob/develop/CONTRIBUTING.md). -{.is-info} - diff --git a/docs/community/setup_in_windows.md b/docs/community/setup_in_windows.md deleted file mode 100644 index f825d5ec9..000000000 --- a/docs/community/setup_in_windows.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: setup_in_windows -description: -published: true -date: 2023-07-19T23:01:15.010Z -tags: -editor: markdown -dateCreated: 2022-06-03T06:58:30.342Z ---- - -# Project Set-Up In Windows Environment - -> [This page has been moved](https://github.com/centerofci/mathesar/blob/develop/DEVELOPER_GUIDE.md). -{.is-info} - diff --git a/docs/engineering/architecture/api-standards.md b/docs/engineering/architecture/api-standards.md deleted file mode 100644 index 1b60ba323..000000000 --- a/docs/engineering/architecture/api-standards.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: API Standards -description: Principles to follow while building our API -published: true -date: 2023-07-19T23:25:25.256Z -tags: -editor: markdown -dateCreated: 2021-05-26T23:46:24.489Z ---- - -> [This page has been moved](https://github.com/centerofci/mathesar/blob/develop/mathesar/api/STANDARDS.md). -{.is-info} diff --git a/docs/engineering/architecture/front-end-standards.md b/docs/engineering/architecture/front-end-standards.md deleted file mode 100644 index ae4c46c6c..000000000 --- a/docs/engineering/architecture/front-end-standards.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Front end code standards -description: -published: true -date: 2023-07-19T23:25:33.731Z -tags: -editor: markdown -dateCreated: 2022-01-14T19:02:19.924Z ---- - -> [This page has been moved](https://github.com/centerofci/mathesar/blob/develop/mathesar_ui/STANDARDS.md). -{.is-info} diff --git a/docs/engineering/common-issues.md b/docs/engineering/common-issues.md deleted file mode 100644 index fa4795aab..000000000 --- a/docs/engineering/common-issues.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: Common Issues -description: -published: true -date: 2023-07-19T23:02:53.422Z -tags: -editor: markdown -dateCreated: 2022-03-18T22:19:14.458Z ---- - -> [This page has been moved](https://github.com/centerofci/mathesar/blob/develop/DEVELOPER_GUIDE.md). -{.is-info} diff --git a/docs/engineering/setup.md b/docs/engineering/setup.md deleted file mode 100644 index dfd155189..000000000 --- a/docs/engineering/setup.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Getting Started -description: -published: true -date: 2023-07-19T23:03:48.164Z -tags: -editor: markdown -dateCreated: 2022-03-18T22:17:20.411Z ---- - -> [This page has been moved](https://github.com/centerofci/mathesar/blob/develop/DEVELOPER_GUIDE.md). -{.is-info} - diff --git a/docs/engineering/setup/common-issues.md b/docs/engineering/setup/common-issues.md deleted file mode 100644 index 5e93c997f..000000000 --- a/docs/engineering/setup/common-issues.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Common Issues -description: How to fix common issues with the code -published: true -date: 2023-07-19T23:27:02.932Z -tags: -editor: markdown -dateCreated: 2021-08-31T11:34:49.699Z ---- - -> [This page has been moved](https://github.com/centerofci/mathesar/blob/develop/DEVELOPER_GUIDE.md). -{.is-info} - diff --git a/docs/engineering/standards/api.md b/docs/engineering/standards/api.md deleted file mode 100644 index 5ae541894..000000000 --- a/docs/engineering/standards/api.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: API Standards -description: Principles to follow while building our API -published: true -date: 2023-07-19T23:28:34.915Z -tags: -editor: markdown -dateCreated: 2022-03-18T22:22:15.033Z ---- - -> [This page has been moved](https://github.com/centerofci/mathesar/blob/develop/mathesar/api/STANDARDS.md). -{.is-info} - diff --git a/docs/engineering/standards/frontend.md b/docs/engineering/standards/frontend.md deleted file mode 100644 index 494358cb8..000000000 --- a/docs/engineering/standards/frontend.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Front end code standards -description: -published: true -date: 2023-07-19T23:28:43.438Z -tags: -editor: markdown -dateCreated: 2022-03-18T22:22:43.557Z ---- - -> [This page has been moved](https://github.com/centerofci/mathesar/blob/develop/mathesar_ui/STANDARDS.md). -{.is-info} - diff --git a/mkdocs.yml b/mkdocs.yml index 1d9d0bff9..ede1ae1ce 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -8,6 +8,17 @@ plugins: - search: lang: en - awesome-pages + - redirects: + redirect_maps: + 'community/setup_in_windows.md': 'https://github.com/centerofci/mathesar/blob/develop/DEVELOPER_GUIDE.md' + 'community/contributing.md': 'https://github.com/centerofci/mathesar/blob/develop/CONTRIBUTING.md' + 'engineering/common-issues.md': 'https://github.com/centerofci/mathesar/blob/develop/DEVELOPER_GUIDE.md' + 'engineering/setup.md': 'https://github.com/centerofci/mathesar/blob/develop/DEVELOPER_GUIDE.md' + 'engineering/architecture/api-standards.md': 'https://github.com/centerofci/mathesar/blob/develop/mathesar/api/STANDARDS.md' + 'engineering/architecture/front-end-standards.md': 'https://github.com/centerofci/mathesar/blob/develop/mathesar_ui/STANDARDS.md' + 'engineering/setup/common-issues.md': 'https://github.com/centerofci/mathesar/blob/develop/DEVELOPER_GUIDE.md' + 'engineering/standards/api.md': 'https://github.com/centerofci/mathesar/blob/develop/mathesar/api/STANDARDS.md' + 'engineering/standards/frontend.md': 'https://github.com/centerofci/mathesar/blob/develop/mathesar_ui/STANDARDS.md' theme: name: material From 2c982e161713225b82a5b6a41528f9dac41a5bc5 Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Tue, 22 Aug 2023 12:51:22 -0400 Subject: [PATCH 06/35] Remove icons Replaced `:[a-z_]+:\s+` with `` --- docs/community/events/2022-01-22.md | 6 ++--- docs/community/index.md | 12 +++++----- docs/community/mentoring/index.md | 20 ++++++++-------- .../mentoring/project-proposal-template.md | 4 ++-- docs/design/overview.md | 20 ++++++++-------- docs/design/reports.md | 4 ++-- docs/design/specs/table-inspector.md | 24 +++++++++---------- docs/engineering/glossary/filters.md | 10 ++++---- docs/index.md | 16 ++++++------- docs/team/guide/index.md | 18 +++++++------- 10 files changed, 67 insertions(+), 67 deletions(-) diff --git a/docs/community/events/2022-01-22.md b/docs/community/events/2022-01-22.md index b38165104..f2fe3613e 100644 --- a/docs/community/events/2022-01-22.md +++ b/docs/community/events/2022-01-22.md @@ -32,9 +32,9 @@ Most of the event involved. discussions with other groups and a number of intere - Granular permissioning ### Action Items -- :white_check_mark: Set up a bridge between the new `#proj-mathesar` channel in the Code for Japan Slack and our Matrix server. -- :white_check_mark: Set up a section in our wiki for notes on events -- :white_check_mark: Set up a team email address for people to contact us +- Set up a bridge between the new `#proj-mathesar` channel in the Code for Japan Slack and our Matrix server. +- Set up a section in our wiki for notes on events +- Set up a team email address for people to contact us ### Other Notes - People found Mathesar really hard to pronounce diff --git a/docs/community/index.md b/docs/community/index.md index ed61339aa..7ac91222e 100644 --- a/docs/community/index.md +++ b/docs/community/index.md @@ -16,15 +16,15 @@ Welcome to the Mathesar community! We'd love to have you involved in our project # Community Forums The Mathesar team does most of our work in public communication channels, which also serve as the place we interact with our community. We also sometimes attend events. -- [:speech_balloon: Matrix *Primary real-time chat*](/en/community/matrix) -- [:speech_balloon: Discord *Alternate chat (limited rooms)*](/en/community/discord) -- [:computer: GitHub *Code, issue tracking, and asynchronous discussions*](/en/community/github) -- [:envelope: Mailing Lists *Email lists for users and developers*](/en/community/mailing-lists) -- [:beers: Events *Events attended by the Mathesar team*](/en/community/events) +- [Matrix *Primary real-time chat*](/en/community/matrix) +- [Discord *Alternate chat (limited rooms)*](/en/community/discord) +- [GitHub *Code, issue tracking, and asynchronous discussions*](/en/community/github) +- [Mailing Lists *Email lists for users and developers*](/en/community/mailing-lists) +- [Events *Events attended by the Mathesar team*](/en/community/events) {.links-list} # Mentoring -- [:woman_teacher: Mentoring *Information about mentoring programs like GSoC*](/en/community/mentoring) +- [Mentoring *Information about mentoring programs like GSoC*](/en/community/mentoring) {.links-list} # Future Plans diff --git a/docs/community/mentoring/index.md b/docs/community/mentoring/index.md index 06c63b938..cc63a6135 100644 --- a/docs/community/mentoring/index.md +++ b/docs/community/mentoring/index.md @@ -15,25 +15,25 @@ We're participating in **Google Summer of Code (GSoC)** in 2023. # For Applicants ## GSoC Information -- [:bulb: Project Ideas *Current list of project ideas for our mentorship programs.*](/community/mentoring/project-ideas) -- [:blue_book: Applicant Guide *Guide for anyone applying to a mentorship program.*](/en/community/mentoring/applicant-guide) -- [:notebook: Project Proposal Template *Template to use for program applications.*](/en/community/mentoring/project-proposal-template) +- [Project Ideas *Current list of project ideas for our mentorship programs.*](/community/mentoring/project-ideas) +- [Applicant Guide *Guide for anyone applying to a mentorship program.*](/en/community/mentoring/applicant-guide) +- [Project Proposal Template *Template to use for program applications.*](/en/community/mentoring/project-proposal-template) {.links-list} ## General Information -- [:question: About Mathesar *Main website*](https://mathesar.org/) -- [:speech_balloon: Community *How to join the Mathesar community*](/en/community) -- [:computer: Contribution Guide *How to contribute to Mathesar code*](https://github.com/centerofci/mathesar/blob/develop/CONTRIBUTING.md) -- [:busts_in_silhouette: Mathesar Team Members *More information about mentors*](/en/team/members) +- [About Mathesar *Main website*](https://mathesar.org/) +- [Community *How to join the Mathesar community*](/en/community) +- [Contribution Guide *How to contribute to Mathesar code*](https://github.com/centerofci/mathesar/blob/develop/CONTRIBUTING.md) +- [Mathesar Team Members *More information about mentors*](/en/team/members) {.links-list} # For Mentees -- [:green_book: Mentee Guide *Guide for accepted mentees.*](/en/community/mentoring/mentee-guide) +- [Mentee Guide *Guide for accepted mentees.*](/en/community/mentoring/mentee-guide) {.links-list} ## For Mentors -- [:closed_book: Mentor Guide *Instructions for mentors*](/en/community/mentoring/mentor-guide) -- [:notebook: Project Idea Template *Template to use when writing up project ideas*](/en/community/mentoring/project-idea-template) +- [Mentor Guide *Instructions for mentors*](/en/community/mentoring/mentor-guide) +- [Project Idea Template *Template to use when writing up project ideas*](/en/community/mentoring/project-idea-template) {.links-list} # History diff --git a/docs/community/mentoring/project-proposal-template.md b/docs/community/mentoring/project-proposal-template.md index e4b2a9622..27817fa19 100644 --- a/docs/community/mentoring/project-proposal-template.md +++ b/docs/community/mentoring/project-proposal-template.md @@ -42,8 +42,8 @@ We recommend creating a Google Doc that follows this structure and sharing it wi *Include a timeline of the deliverables you aim to accomplish each week. Add one row per 1-2 weeks. We use this section to determine whether you can plan your project out properly, so please choose your deliverables well.* *Deliverables should be **measurable** and as specific as possible.* -- :white_check_mark: *“Complete API for cancelling orders” is a good deliverable. It's easy to tell whether it's been completed.* -- :x: *“Work on APIs” is a bad deliverable. It's not measurable.* +- *“Complete API for cancelling orders” is a good deliverable. It's easy to tell whether it's been completed.* +- *“Work on APIs” is a bad deliverable. It's not measurable.* *[The GSoC timeline](https://developers.google.com/open-source/gsoc/timeline) should be helpful in determining dates.* diff --git a/docs/design/overview.md b/docs/design/overview.md index 7e7f93c15..4416c170e 100644 --- a/docs/design/overview.md +++ b/docs/design/overview.md @@ -13,9 +13,9 @@ This is the homepage for Mathesar design work, closely related to [Product](/pro # Documents Outputs of our design process. -- [:page_facing_up: Specs *List of design specs*](/design/specs) -- [:sailboat: Exploration *Rough notes for initial research and discovery*](/design/exploration) -- [:spiral_notepad: Reports *Conclusions drawn after research*](/design/reports) +- [Specs *List of design specs*](/design/specs) +- [Exploration *Rough notes for initial research and discovery*](/design/exploration) +- [Reports *Conclusions drawn after research*](/design/reports) {.links-list} # Workflow @@ -25,9 +25,9 @@ We aim to complete design work for a milestone at least 2-3 weeks before the dea More information: -- [:white_check_mark: Spec Guidelines *Guidelines for creating and reviewing design specs.*](/design/process/review-guidelines) -- [:gear: Design System *Description of Mathesar's design system*](/design/process/design-system) -- [:straight_ruler: Design Standards *Rules to follow for Mathesar's UI*](/design/standards) +- [Spec Guidelines *Guidelines for creating and reviewing design specs.*](/design/process/review-guidelines) +- [Design System *Description of Mathesar's design system*](/design/process/design-system) +- [Design Standards *Rules to follow for Mathesar's UI*](/design/standards) {.links-list} ## Contributing @@ -36,8 +36,8 @@ You must be a member of our [design team](/team) to contribute to design tasks. # Philosophy High-level information about the philosophy behind our design. -- [:balance_scale: Design Principles *Principles that guide our design*.](/design/design-principles) -- [:memo: Design Process *High-level overview of our approach to solving design problems.*](/design/process) -- [:package: Deliverables *Format of deliverables from the design process.*](/design/process/deliverables) -- [:books: Resources *Reading and external resources*](/design/resources) +- [Design Principles *Principles that guide our design*.](/design/design-principles) +- [Design Process *High-level overview of our approach to solving design problems.*](/design/process) +- [Deliverables *Format of deliverables from the design process.*](/design/process/deliverables) +- [Resources *Reading and external resources*](/design/resources) {.links-list} \ No newline at end of file diff --git a/docs/design/reports.md b/docs/design/reports.md index c61c70c17..bbb3aacfd 100644 --- a/docs/design/reports.md +++ b/docs/design/reports.md @@ -10,6 +10,6 @@ dateCreated: 2021-05-04T18:53:20.824Z # May 2021 -- [:clipboard: Inventory Use Case](/design/reports/inventory-use-case) -- [:hammer: Tool Category Exploration](/design/reports/tool-category) +- [Inventory Use Case](/design/reports/inventory-use-case) +- [Tool Category Exploration](/design/reports/tool-category) {.links-list} diff --git a/docs/design/specs/table-inspector.md b/docs/design/specs/table-inspector.md index 76781a007..f40adf766 100644 --- a/docs/design/specs/table-inspector.md +++ b/docs/design/specs/table-inspector.md @@ -10,15 +10,15 @@ dateCreated: 2022-08-29T20:35:31.512Z ## Legends -:fire: - An important note +- An important note -:full_moon: - Not part of Cycle 3 +- Not part of Cycle 3 ## Context Users can access information and setting options for each table component using the table inspector, including columns, rows, and cells. -> :fire: This is not a replacement for the cells' context menu, it will remain as-is. +> This is not a replacement for the cells' context menu, it will remain as-is. ### Design Goals @@ -67,9 +67,9 @@ The tabs are listed in the following order: The table inspector can be in exactly one of the following modes, available as tabs on the UI: -> :full_moon: The mockups in the following sections has an "Edit Selection" button. This button will not be a part of the Cycle 3. +> The mockups in the following sections has an "Edit Selection" button. This button will not be a part of the Cycle 3. -> :fire: The mockups in the following sections contains a "Delete \_\_" button. This button will not be fixed at the bottom rather will a part of the normal flow inside the "Actions" section +> The mockups in the following sections contains a "Delete \_\_" button. This button will not be fixed at the bottom rather will a part of the normal flow inside the "Actions" section ### Table Mode @@ -78,13 +78,13 @@ Shown when inspector mode is set to `Table`. Properties: - Table Name -- :full_moon: Table Descriptions -- :full_moon: Record Summary +- Table Descriptions +- Record Summary - Constraints Actions: -- :full_moon: Remove Duplicates +- Remove Duplicates - Link Table - Explore Data - Delete Table @@ -126,11 +126,11 @@ Shown when inspector mode is set to `Record`. Actions: - Delete Record -- :full_moon: Duplicate Record +- Duplicate Record ![image](/assets/design/specs/table-inspector/183444464-fb268bfc-77e2-45cf-9180-373cf950ca63.png) -### :full_moon: Cell Mode +### Cell Mode Shown when inspector mode is set to `Cell`. @@ -196,7 +196,7 @@ Multi-page record selection in the current state is only used for deleting non-c Deselect all selected items by clicking on a currently selected item, or on an empty space. -#### :full_moon: Extending a Selection +#### Extending a Selection We may consider including a "Selection" area in the inspector so that users can change the selection they're currently working with. @@ -206,7 +206,7 @@ This section could contain options such as: - Select all - Select all columns with the same data type -## :full_moon: Keyboard Controls and Touch Devices Considerations +## Keyboard Controls and Touch Devices Considerations Users would be better served if the software could support keyboard controls. We'll look at how the inspector options are accessed and updated using the keyboard in a separate issue. We'll also look at how multi-object selection works on touch devices. diff --git a/docs/engineering/glossary/filters.md b/docs/engineering/glossary/filters.md index a03bc9aee..6aa366e40 100644 --- a/docs/engineering/glossary/filters.md +++ b/docs/engineering/glossary/filters.md @@ -30,11 +30,11 @@ As an example, here's a table: | 5 | The Karate Kid | 1984 | TRUE | Here are some examples of correct and wrong filters. The emoji indicates whether they are correct. -- :white_check_mark: `"Year" > 1990` -- :white_check_mark: `"ID" = 5` -- :white_check_mark: `"Favorite" is TRUE` -- :x: "Title" is a duplicate -- :x: Latest "Year" +- `"Year" > 1990` +- `"ID" = 5` +- `"Favorite" is TRUE` +- "Title" is a duplicate +- Latest "Year" ## Reasoning You might be wondering why filter scope is limited to a single row. This is to allow filters to be applied in any order (to ensure filters are commutative). Otherwise, we will need to introduce users to the concept of a pipeline of operations and that seems more complicated to design. We plan to have a separate user-facing concept for operations that will have different results depending on the ordering. diff --git a/docs/index.md b/docs/index.md index 0e228ae1d..b904f63fb 100644 --- a/docs/index.md +++ b/docs/index.md @@ -32,12 +32,12 @@ Anyone can propose edits to this wiki by making a PR against the [wiki repositor ## Quick Links -- [:busts_in_silhouette: Join our Community *How to participate in our community forums*](./community.md) -- [:computer: Mathesar on GitHub *Mathesar's source code*](https://github.com/centerofci/mathesar) -- [:trophy: Projects *What the Mathesar team is currently working on*](./projects.md) -- [:bulb: Product *Documentation about the high level ideas behind Mathesar*](./product.md) -- [:art: Design *Documentation about Mathesar's visual design and UI*](./design.md) -- [:desktop_computer: Engineering *Documentation about Mathesar's code*](./engineering.md) -- [:loudspeaker: Marketing *Material for promoting Mathesar*](./marketing.md) -- [:memo: Meeting Notes *Mathesar team meeting notes*](./meeting-notes.md) +- [Join our Community *How to participate in our community forums*](./community.md) +- [Mathesar on GitHub *Mathesar's source code*](https://github.com/centerofci/mathesar) +- [Projects *What the Mathesar team is currently working on*](./projects.md) +- [Product *Documentation about the high level ideas behind Mathesar*](./product.md) +- [Design *Documentation about Mathesar's visual design and UI*](./design.md) +- [Engineering *Documentation about Mathesar's code*](./engineering.md) +- [Marketing *Material for promoting Mathesar*](./marketing.md) +- [Meeting Notes *Mathesar team meeting notes*](./meeting-notes.md) {.links-list} \ No newline at end of file diff --git a/docs/team/guide/index.md b/docs/team/guide/index.md index 00d48ad87..b948f2a81 100644 --- a/docs/team/guide/index.md +++ b/docs/team/guide/index.md @@ -14,25 +14,25 @@ A guide for Mathesar core and community team members. These pages relate to Mathesar's development. -- [:chains: Workflow *How the workflow of the team is organized*.](/team/guide/workflow) -- [:handshake: Meetings *How we should approach meetings*](/team/guide/meetings) -- [:art: Design Review *Guidelines for reviewing new designs*](/design/process/review-guidelines) -- [:desktop_computer: Code Review *Guidelines for reviewing new code*](/engineering/code-review) +- [Workflow *How the workflow of the team is organized*.](/team/guide/workflow) +- [Meetings *How we should approach meetings*](/team/guide/meetings) +- [Design Review *Guidelines for reviewing new designs*](/design/process/review-guidelines) +- [Code Review *Guidelines for reviewing new code*](/engineering/code-review) {.links-list} ## Community Management These pages relate to managing the community of contributors around the project, but are also applicable to the product development workflow. -- [:balance_scale: Issue Triage *How to triage incoming issues, including ones you make yourself*](/team/guide/issue-triage) -- [:man_in_tuxedo: Issue Assignment *How to assign issues to interested contributors or yourself*](/team/guide/issue-assignment) +- [Issue Triage *How to triage incoming issues, including ones you make yourself*](/team/guide/issue-triage) +- [Issue Assignment *How to assign issues to interested contributors or yourself*](/team/guide/issue-assignment) {.links-list} ## Other Other pages that don't fit into the above two categories. -- [:hammer: Tools *Collaboration tools used by the Mathesar team*](/team/guide/tools) -- [:tada: Team Events *About Mathesar core team events*](/team/guide/events) -- [:busts_in_silhouette: Communication Tips *Communication tips for Mathesar team members*](/team/guide/comm-tips) +- [Tools *Collaboration tools used by the Mathesar team*](/team/guide/tools) +- [Team Events *About Mathesar core team events*](/team/guide/events) +- [Communication Tips *Communication tips for Mathesar team members*](/team/guide/comm-tips) {.links-list} \ No newline at end of file From 91f870fd89f73072e8ad5d68b9bea8b30ffcecd6 Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Tue, 22 Aug 2023 13:10:22 -0400 Subject: [PATCH 07/35] Some cleanup in community content --- docs/community/.pages | 6 +++++ docs/community/discord.md | 12 ++-------- docs/community/events.md | 31 ------------------------ docs/community/github.md | 12 +++------- docs/community/index.md | 40 +++++++++++++------------------ docs/community/mailing-lists.md | 17 ++++--------- docs/community/mentoring/index.md | 36 ++++++++++++---------------- 7 files changed, 48 insertions(+), 106 deletions(-) create mode 100644 docs/community/.pages delete mode 100644 docs/community/events.md diff --git a/docs/community/.pages b/docs/community/.pages new file mode 100644 index 000000000..024154103 --- /dev/null +++ b/docs/community/.pages @@ -0,0 +1,6 @@ +nav: + - GitHub: github.md + - Mailing lists: mailing-lists.md + - Matrix: matrix.md + - Discord: discord.md + - ... \ No newline at end of file diff --git a/docs/community/discord.md b/docs/community/discord.md index cfea6dbc3..9b70802d1 100644 --- a/docs/community/discord.md +++ b/docs/community/discord.md @@ -1,13 +1,5 @@ ---- -title: Mathesar on Discord -description: -published: true -date: 2023-07-19T23:00:44.478Z -tags: -editor: markdown -dateCreated: 2023-03-03T21:51:22.236Z ---- +# Mathesar on Discord We primarily use [Matrix](/en/community/matrix) for real-time chat. However, we've set up a Discord server that bridges Matrix to Discord to make our community more accessible for those with Discord accounts. -[Join our Discord server here](https://discord.gg/enaKqGn5xx). \ No newline at end of file +[Join our Discord server here](https://discord.gg/enaKqGn5xx). diff --git a/docs/community/events.md b/docs/community/events.md deleted file mode 100644 index 73159e762..000000000 --- a/docs/community/events.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: Community Events -description: Notes about community events -published: true -date: 2023-07-19T23:00:48.640Z -tags: -editor: markdown -dateCreated: 2022-01-25T21:41:39.097Z ---- - -A list of events that the Mathesar community has participated in or plans to participate in. Notes from the team about past events are also listed on the event page. - -## Upcoming Events - -### March 2023 -- [Office Hours (2023-03-27 to 2023-03-29)](/en/community/events/2023-03-27-to-2023-03-29) - -## Past Events -### April 2022 -- [Office Hours (2022-04-12 to 2022-04-15)](/en/community/events/2022-04-12-to-2022-04-15) -- [Office Hours (2022-04-04 to 2022-04-08)](/en/community/events/2022-04-04-to-2022-04-08) - -### March 2022 -- [Office Hours (2022-03-28 to 2022-03-31)](/en/community/events/2022-03-28-to-2022-03-31) -- [Office Hours (2022-03-21 to 2022-03-25)](/en/community/events/2022-03-21-to-2022-03-25) - -### January 2022 -- [2022-01-22 Code for Japan Social Hack Day](/en/community/events/2022-01-22) - - - diff --git a/docs/community/github.md b/docs/community/github.md index 81f9cf8b3..31cec2994 100644 --- a/docs/community/github.md +++ b/docs/community/github.md @@ -1,16 +1,9 @@ ---- -title: Mathesar on GitHub -description: About Mathesar's GitHub usage -published: true -date: 2023-07-19T23:00:52.877Z -tags: -editor: markdown -dateCreated: 2022-01-26T00:52:58.069Z ---- +# Mathesar on GitHub The Mathesar team uses GitHub for code, issue tracking, and long form (asynchronous) discussions. We also have our roadmap here. ## Repositories + - The [Mathesar code](https://github.com/centerofci/mathesar) is our main repository. - The [Mathesar wiki repository](https://github.com/centerofci/mathesar-wiki) is the content for this wiki. Content can either be edited directly in the repository or through the wiki's web interface. - The [Mathesar website repository](https://github.com/centerofci/mathesar-website) is the repository for `mathesar.org`. It uses Jekyll and is deployed on GitHub Pages. @@ -19,6 +12,7 @@ The Mathesar team uses GitHub for code, issue tracking, and long form (asynchron - We have forked [sqlalchemy-filters](https://github.com/centerofci/sqlalchemy-filters) to add some functionality. ## Issue Tracking & Roadmap + - [Mathesar repo milestones](https://github.com/centerofci/mathesar/milestones?direction=asc&sort=due_date&state=open): we track our roadmap using GitHub milestones - We use GitHub issues across all our repositories to track work. Most of our issues are located [on our main repo](https://github.com/centerofci/mathesar/issues). diff --git a/docs/community/index.md b/docs/community/index.md index 7ac91222e..61126262c 100644 --- a/docs/community/index.md +++ b/docs/community/index.md @@ -1,37 +1,31 @@ ---- -title: Community -description: Introduction to the Mathesar community -published: true -date: 2023-07-19T22:59:48.693Z -tags: -editor: markdown -dateCreated: 2021-04-20T18:46:48.688Z ---- +# Mathesar Community Welcome to the Mathesar community! We'd love to have you involved in our project, as a contributor, a user or both! Please join our community forums and talk to us there. -> If you're interesting in contributing, see [Contributing](https://github.com/centerofci/mathesar/blob/develop/CONTRIBUTING.md) -{.is-info} +If you're interesting in contributing, see [Contributing](https://github.com/centerofci/mathesar/blob/develop/CONTRIBUTING.md). + +## Community Channels -# Community Forums The Mathesar team does most of our work in public communication channels, which also serve as the place we interact with our community. We also sometimes attend events. -- [Matrix *Primary real-time chat*](/en/community/matrix) -- [Discord *Alternate chat (limited rooms)*](/en/community/discord) -- [GitHub *Code, issue tracking, and asynchronous discussions*](/en/community/github) -- [Mailing Lists *Email lists for users and developers*](/en/community/mailing-lists) -- [Events *Events attended by the Mathesar team*](/en/community/events) -{.links-list} +| Channel | Purpose | +| -- | -- | +| [GitHub](./github.md) | Code, issue tracking, and asynchronous discussions | +| [Mailing Lists](./mailing-lists.md) | Email lists for users and developers | +| [Matrix](./matrix.md) | Primary real-time chat | +| [Discord](./discord.md) | Alternate chat (limited rooms) | + +## Mentoring -# Mentoring -- [Mentoring *Information about mentoring programs like GSoC*](/en/community/mentoring) -{.links-list} +See [Mentoring](./mentoring/) for information about mentoring programs like GSoC. + +## Future Plans -# Future Plans Some ideas we're considering in the future to grow the community: + - Setting up events, such as office hours, pair programming sessions, or even livestreaming our work. - An end-user focused Matrix channel -- A way for users to vote on [Roadmap](/product/roadmap) items. +- A way for users to vote on [Roadmap](../product/roadmap.md) items. Let us know if you have more ideas! diff --git a/docs/community/mailing-lists.md b/docs/community/mailing-lists.md index 7938b0f50..eeeb61911 100644 --- a/docs/community/mailing-lists.md +++ b/docs/community/mailing-lists.md @@ -1,19 +1,12 @@ ---- -title: Mailing Lists -description: Mathesar community mailing lists -published: true -date: 2023-07-19T23:00:57.085Z -tags: -editor: markdown -dateCreated: 2022-01-26T01:34:16.386Z ---- +# Mathesar's mailing Lists ## Discussion + We have two official Mathesar mailing lists. Anyone is welcome to join! -- [Mathesar Developers *For Mathesar contributors. Conversations about current work happen here.*](https://groups.google.com/a/mathesar.org/g/mathesar-developers/) -- [Mathesar Users *For anyone using or wanting to use Mathesar*](https://groups.google.com/a/mathesar.org/g/mathesar-users/) -{.links-list} +- [Mathesar Developers](https://groups.google.com/a/mathesar.org/g/mathesar-developers/) - *For Mathesar contributors. Conversations about current work happen here.* +- [Mathesar Users](https://groups.google.com/a/mathesar.org/g/mathesar-users/) - *For anyone using or wanting to use Mathesar* ## Announcements + We have an announcements mailing list for occasional updates about the project. You can [join it here](https://mathesar.org/mailing-list.html). \ No newline at end of file diff --git a/docs/community/mentoring/index.md b/docs/community/mentoring/index.md index cc63a6135..66e23e0f1 100644 --- a/docs/community/mentoring/index.md +++ b/docs/community/mentoring/index.md @@ -1,41 +1,35 @@ ---- -title: Mentoring -description: Mentoring opportunities at Mathesar -published: true -date: 2023-07-19T23:01:06.717Z -tags: -editor: markdown -dateCreated: 2022-01-18T19:23:06.554Z ---- +# Mentoring Welcome and thanks for your interest in contributing to Mathesar! We're participating in **Google Summer of Code (GSoC)** in 2023. -# For Applicants +## For Applicants + +### GSoC Information -## GSoC Information - [Project Ideas *Current list of project ideas for our mentorship programs.*](/community/mentoring/project-ideas) - [Applicant Guide *Guide for anyone applying to a mentorship program.*](/en/community/mentoring/applicant-guide) - [Project Proposal Template *Template to use for program applications.*](/en/community/mentoring/project-proposal-template) -{.links-list} -## General Information +### General Information + - [About Mathesar *Main website*](https://mathesar.org/) - [Community *How to join the Mathesar community*](/en/community) - [Contribution Guide *How to contribute to Mathesar code*](https://github.com/centerofci/mathesar/blob/develop/CONTRIBUTING.md) - [Mathesar Team Members *More information about mentors*](/en/team/members) -{.links-list} -# For Mentees +## For Mentees + - [Mentee Guide *Guide for accepted mentees.*](/en/community/mentoring/mentee-guide) -{.links-list} -## For Mentors +### For Mentors + - [Mentor Guide *Instructions for mentors*](/en/community/mentoring/mentor-guide) - [Project Idea Template *Template to use when writing up project ideas*](/en/community/mentoring/project-idea-template) -{.links-list} -# History -## GSoC 2022 -For outcomes from GSoC 2022, please see the [Project Reports](/en/engineering/reports) page. \ No newline at end of file +## History + +### GSoC 2022 + +For outcomes from GSoC 2022, please see the [Project Reports](/en/engineering/reports) page. From b98838f60dcf281d0f1ba1dad6c776faa5fe1e8d Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Tue, 22 Aug 2023 13:19:59 -0400 Subject: [PATCH 08/35] Improve home page and top-level nav ordering --- docs/.pages | 12 ++++++++++++ docs/index.md | 39 ++++----------------------------------- 2 files changed, 16 insertions(+), 35 deletions(-) create mode 100644 docs/.pages diff --git a/docs/.pages b/docs/.pages new file mode 100644 index 000000000..c6ab41295 --- /dev/null +++ b/docs/.pages @@ -0,0 +1,12 @@ +nav: + - Home: index.md + - community + - team + - projects + - meeting-notes + - product + - design + - engineering + - marketing + - jobs + - ... \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index b904f63fb..90cd1241c 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,43 +1,12 @@ ---- -title: Home -description: -published: true -date: 2023-07-20T19:14:12.779Z -tags: -editor: markdown -dateCreated: 2021-04-16T14:07:42.267Z ---- +# Mathesar Wiki -![logo.png](/logo.png) +This wiki is a knowledge base for **people who are helping build [Mathesar](https://mathesar.org)**, a straightforward open source tool that provides a spreadsheet-like interface to a PostgreSQL database. -Mathesar is a straightforward open source tool that provides a **spreadsheet-like interface** to a PostgreSQL **database**. Our web-based interface helps you and your collaborators work with data more independently and comfortably – **no technical skills needed**. +We use the wiki to document technical specs, designs, meeting notes, roles, responsibilities, and other workflow-related information. -You can use Mathesar to build **data models**, **enter data**, and even **build reports**. You host your own Mathesar installation, which gives you ownership, privacy, and control of your data. - -See https://mathesar.org for more information about the product. - -## Current status -Mathesar's is in public alpha as of March 2023. We are actively looking for users to [install Mathesar](https://docs.mathesar.org/install/) and [open issues](https://github.com/centerofci/mathesar/issues/new/choose) to help us improve the product. - -## About this wiki - -The Mathesar wiki is a knowledge base for **people who are helping build Mathesar**. We use it to document technical specs, designs, meeting notes, roles, responsibilities, and other workflow-related information. - -Anyone can propose edits to this wiki by making a PR against the [wiki repository](https://github.com/centerofci/mathesar-wiki/). If you're making frequent edits, you can ask the [team](./team.md) for access to edits via this web interface. +Anyone can propose edits to this wiki by making a PR against the [wiki repository](https://github.com/centerofci/mathesar-wiki/). ## See also - [Contributor guide](https://github.com/centerofci/mathesar/blob/develop/CONTRIBUTING.md) with information to get started making code changes - [User and administrator documentation](https://docs.mathesar.org/) - - -## Quick Links -- [Join our Community *How to participate in our community forums*](./community.md) -- [Mathesar on GitHub *Mathesar's source code*](https://github.com/centerofci/mathesar) -- [Projects *What the Mathesar team is currently working on*](./projects.md) -- [Product *Documentation about the high level ideas behind Mathesar*](./product.md) -- [Design *Documentation about Mathesar's visual design and UI*](./design.md) -- [Engineering *Documentation about Mathesar's code*](./engineering.md) -- [Marketing *Material for promoting Mathesar*](./marketing.md) -- [Meeting Notes *Mathesar team meeting notes*](./meeting-notes.md) -{.links-list} \ No newline at end of file From 6b392ab21c2307a27179880d8463fc6e9312ab90 Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Tue, 22 Aug 2023 14:08:49 -0400 Subject: [PATCH 09/35] Replace frontmatter with h1 title Replace `^---\ntitle: ([^\n]+)\n((?!\n---)[\s\S])+\n---` with `# $1` --- docs/community/events/2022-01-22.md | 10 +----- .../events/2022-03-21-to-2022-03-25.md | 10 +----- .../events/2022-03-28-to-2022-03-31.md | 10 +----- .../events/2022-04-04-to-2022-04-08.md | 10 +----- .../events/2022-04-12-to-2022-04-15.md | 10 +----- .../events/2023-03-27-to-2023-03-29.md | 10 +----- docs/community/matrix.md | 10 +----- docs/community/mentoring/applicant-guide.md | 10 +----- docs/community/mentoring/mentee-guide.md | 10 +----- docs/community/mentoring/mentor-guide.md | 10 +----- .../mentoring/project-idea-template.md | 10 +----- docs/community/mentoring/project-ideas.md | 10 +----- .../project-ideas/api-documentation.md | 10 +----- .../mentoring/project-ideas/archive.md | 10 +----- .../auto-suggest-normalization.md | 10 +----- .../automatic-hint-reflection.md | 10 +----- .../project-ideas/break-out-columns.md | 10 +----- .../mentoring/project-ideas/data-export.md | 10 +----- .../mentoring/project-ideas/db-views.md | 10 +----- .../project-ideas/dependency-graph.md | 10 +----- .../project-ideas/file-data-types.md | 10 +----- .../import-data-into-existing-tables.md | 10 +----- .../project-ideas/import-excel-json-files.md | 10 +----- .../mentoring/project-ideas/json-data-type.md | 10 +----- .../mentoring/project-ideas/json-editor.md | 10 +----- .../mentoring/project-ideas/kanban-view.md | 10 +----- .../mentoring/project-ideas/list-data-type.md | 10 +----- .../project-ideas/location-data-type.md | 10 +----- .../make-casting-functions-inlinable.md | 10 +----- .../project-ideas/more-data-import-sources.md | 10 +----- .../project-ideas/more-summarizations.md | 10 +----- .../project-ideas/persist-ui-configuration.md | 10 +----- .../project-ideas/phone-number-data-type.md | 10 +----- .../project-ideas/postgis-data-types.md | 10 +----- .../mentoring/project-ideas/sharable-forms.md | 10 +----- .../project-ideas/single-select-data-type.md | 10 +----- .../suggest-candidate-columns.md | 10 +----- .../support-default-postgres-types.md | 10 +----- .../ui-import-data-existing-table.md | 10 +----- .../visualization-of-grouped-data.md | 10 +----- .../mentoring/project-ideas/web-sql-editor.md | 10 +----- .../mentoring/project-proposal-template.md | 10 +----- docs/design/design-principles.md | 10 +----- docs/design/exploration.md | 10 +----- .../exploration/data-management-skills.md | 10 +----- docs/design/exploration/data-types.md | 10 +----- docs/design/exploration/filters.md | 10 +----- .../exploration/inventory-data-exploration.md | 34 +++---------------- docs/design/exploration/use-cases.md | 10 +----- .../use-cases/inventory-use-case.md | 10 +----- docs/design/overview.md | 10 +----- docs/design/process.md | 10 +----- docs/design/process/deliverables.md | 10 +----- docs/design/process/design-system.md | 10 +----- docs/design/process/review-guidelines.md | 10 +----- docs/design/reports.md | 10 +----- docs/design/reports/inventory-use-case.md | 10 +----- docs/design/reports/tool-category.md | 10 +----- docs/design/resources.md | 10 +----- docs/design/specs.md | 10 +----- docs/design/specs/Formulas.md | 10 +----- docs/design/specs/add-formula-column.md | 10 +----- .../design/specs/add-update-delete-records.md | 10 +----- docs/design/specs/boolean-data-type.md | 10 +----- docs/design/specs/clipboard-interactions.md | 10 +----- docs/design/specs/column-extraction.md | 10 +----- docs/design/specs/create-edit-delete-views.md | 10 +----- docs/design/specs/data-type-duration.md | 10 +----- docs/design/specs/data-type-options.md | 10 +----- docs/design/specs/data-types-text.md | 10 +----- docs/design/specs/database-switching.md | 10 +----- docs/design/specs/date-time-data-type.md | 10 +----- docs/design/specs/eding-view-records.md | 10 +----- docs/design/specs/email-data-type.md | 10 +----- docs/design/specs/filter-sort-group.md | 10 +----- docs/design/specs/foreign-key-constraints.md | 10 +----- .../specs/global-data-type-components.md | 10 +----- docs/design/specs/import-status.md | 10 +----- docs/design/specs/inline-save-edit.md | 10 +----- docs/design/specs/listing-views.md | 10 +----- docs/design/specs/lookup-field-component.md | 10 +----- docs/design/specs/money-data-type.md | 10 +----- docs/design/specs/multiple-records-spec.md | 10 +----- docs/design/specs/navigation-updates.md | 10 +----- docs/design/specs/navigation.md | 10 +----- docs/design/specs/non-mathesar-data-types.md | 10 +----- docs/design/specs/number-data-type.md | 10 +----- docs/design/specs/pagination.md | 10 +----- docs/design/specs/read-only-table.md | 10 +----- docs/design/specs/record-page.md | 10 +----- docs/design/specs/record-selector.md | 10 +----- docs/design/specs/record-summary.md | 10 +----- docs/design/specs/schemas.md | 10 +----- docs/design/specs/sidebar-improvements.md | 10 +----- docs/design/specs/specs-null-values.md | 10 +----- docs/design/specs/table-creation-controls.md | 10 +----- docs/design/specs/table-import.md | 10 +----- docs/design/specs/table-inspector.md | 10 +----- docs/design/specs/table-operations.md | 10 +----- docs/design/specs/ui-styling.md | 10 +----- docs/design/specs/url-data-type.md | 10 +----- docs/design/specs/viewing-views-specs.md | 10 +----- .../specs/views-one-to-many-relationships.md | 10 +----- docs/design/specs/visual-query-builder.md | 10 +----- docs/design/specs/working-with-columns.md | 10 +----- docs/design/standards.md | 10 +----- docs/engineering/architecture.md | 10 +----- docs/engineering/archive.md | 10 +----- docs/engineering/archive/decisions.md | 10 +----- docs/engineering/code-review.md | 10 +----- docs/engineering/code-review/backend.md | 10 +----- docs/engineering/glossary.md | 10 +----- docs/engineering/glossary/filters.md | 10 +----- docs/engineering/glossary/ui-types.md | 10 +----- docs/engineering/release-process.md | 10 +----- docs/engineering/reports.md | 10 +----- .../reports/gsoc-2022-dependents-graph.md | 22 ++---------- ...022-importing-data-into-existing-tables.md | 22 ++---------- .../reports/gsoc-2022-json-type.md | 20 ++--------- docs/engineering/reports/list-datatype.md | 10 +----- docs/engineering/research.md | 10 +----- docs/engineering/research/formulas.md | 10 +----- docs/engineering/resources.md | 10 +----- docs/engineering/specs.md | 10 +----- docs/engineering/specs/dateandtime.md | 10 +----- docs/engineering/specs/ddl.md | 10 +----- docs/engineering/specs/dependents-graph.md | 10 +----- docs/engineering/specs/dml.md | 10 +----- docs/engineering/specs/import-preview-api.md | 10 +----- .../engineering/specs/internationalization.md | 10 +----- docs/engineering/specs/numbers.md | 10 +----- docs/engineering/specs/record-selector.md | 10 +----- docs/engineering/specs/syncing.md | 10 +----- docs/engineering/standards.md | 10 +----- docs/marketing/copy.md | 10 +----- docs/marketing/history.md | 10 +----- docs/marketing/sites.md | 10 +----- docs/meeting-notes/2021-11.md | 10 +----- docs/meeting-notes/2021-12.md | 10 +----- docs/meeting-notes/2022-01.md | 10 +----- docs/meeting-notes/2022-02.md | 10 +----- docs/meeting-notes/2022-03.md | 10 +----- docs/meeting-notes/2022-04.md | 10 +----- docs/meeting-notes/2022-05.md | 10 +----- docs/meeting-notes/2022-06.md | 10 +----- docs/meeting-notes/2022-07.md | 10 +----- docs/meeting-notes/2022-08.md | 10 +----- docs/meeting-notes/2022-09.md | 10 +----- docs/meeting-notes/2022-10.md | 10 +----- .../2022-10/2022-10-04-backend.md | 10 +----- .../2022-10/2022-10-05-weekly.md | 10 +----- .../2022-10/2022-10-12-weekly.md | 10 +----- .../2022-10/2022-10-19-weekly.md | 10 +----- .../2022-10/2022-10-26-weekly.md | 10 +----- docs/meeting-notes/2022-11.md | 10 +----- .../2022-11/2022-11-02-weekly.md | 10 +----- .../2022-11/2022-11-09-weekly.md | 10 +----- .../2022-11/2022-11-17-weekly.md | 10 +----- .../2022-11/2022-11-28-planning.md | 10 +----- docs/meeting-notes/2023-01.md | 10 +----- .../2023-01/2023-01-05-planning.md | 10 +----- .../2023-01/2023-01-18-fe-new-feature-rfc.md | 10 +----- .../2023-01-20-partial-user-input-of-dates.md | 10 +----- docs/meeting-notes/2023-02.md | 10 +----- docs/meeting-notes/2023-02/2023-02-01-team.md | 10 +----- .../2023-02/2023-02-08-launch-planning.md | 10 +----- .../2023-02/2023-02-10-launch-check-in.md | 10 +----- .../2023-02/2023-02-13-launch-check-in.md | 10 +----- .../2023-02/2023-02-15-launch-check-in.md | 10 +----- .../2023-02/2023-02-17-launch-check-in.md | 10 +----- .../2023-02/2023-02-21-launch-check-in.md | 10 +----- .../2023-02/2023-02-22-launch-check-in.md | 10 +----- .../2023-02/2023-02-23-launch-check-in.md | 10 +----- .../2023-02/2023-02-24-launch-update-email.md | 10 +----- .../2023-02/2023-02-27-deployment-check-in.md | 10 +----- docs/meeting-notes/2023-03.md | 10 +----- .../2023-03/2023-03-02-launch-check-in.md | 10 +----- .../2023-03-07-priorities-workflow-meeting.md | 10 +----- .../2023-03-08-removing-sqlachemy-meeting.md | 10 +----- ...03-17-installation-improvements-meeting.md | 10 +----- .../2023-03-20-handling-regressions.md | 10 +----- .../2023-03/2023-03-29-team-meeting.md | 10 +----- .../2023-03/backend-meeting-2023-03-13.md | 10 +----- .../2023-03/core-team-meeting-2023-03-15.md | 10 +----- .../installation-improvements-in-0-1-2.md | 10 +----- .../2023-03/release-plan-0_1_2.md | 10 +----- ...nsibilities-projects-meeting-2023-03-15.md | 10 +----- docs/meeting-notes/2023-04.md | 10 +----- ...23-04-03-installation-plan-finalization.md | 10 +----- docs/meeting-notes/2023-05.md | 10 +----- .../2023-05/2023-05-03-team-meeting.md | 10 +----- .../2023-05/2023-05-10-team-meeting.md | 10 +----- .../2023-05-30-front-end-team-meeting.md | 10 +----- docs/meeting-notes/2023-06.md | 10 +----- .../2023-06/2023-06-07-team-meeting.md | 10 +----- ...023-06-13-installation-planning-meeting.md | 10 +----- .../2023-06/2023-06-27-team-meeting.md | 10 +----- docs/meeting-notes/2023-07.md | 10 +----- .../2023-07/2023-07-03-team-meeting.md | 10 +----- .../2023-07-06-installation-meeting.md | 10 +----- .../2023-07/2023-07-06-team-meeting.md | 10 +----- .../2023-07-11-installation-meeting.md | 10 +----- .../2023-07/2023-07-26-team-meeting.md | 10 +----- .../2023-07-28-installation-meeting.md | 10 +----- docs/meeting-notes/2023-08.md | 10 +----- .../2023-08/2023-08-09-team-meeting.md | 10 +----- .../2023-08/2023-08-10-team-meeting.md | 10 +----- docs/meeting-notes/april-2021.md | 10 +----- docs/meeting-notes/august-2021.md | 10 +----- docs/meeting-notes/july-2021.md | 10 +----- docs/meeting-notes/june-2021.md | 10 +----- docs/meeting-notes/may-2021.md | 10 +----- docs/meeting-notes/october-2021.md | 10 +----- docs/meeting-notes/september-2021.md | 10 +----- docs/product/concepts/data-types.md | 10 +----- docs/product/concepts/databases.md | 10 +----- docs/product/concepts/filters.md | 10 +----- docs/product/concepts/schemas.md | 10 +----- docs/product/concepts/tables.md | 10 +----- docs/product/concepts/views.md | 10 +----- docs/product/feature-ideas.md | 10 +----- docs/product/feedback/2023-03.md | 10 +----- docs/product/index.md | 10 +----- docs/product/principles.md | 10 +----- docs/product/related.md | 10 +----- docs/product/resources.md | 10 +----- docs/product/roadmap.md | 10 +----- .../specs/2022-01-views/01-assumptions.md | 10 +----- .../2022-01-views/02-feature-requirements.md | 10 +----- .../2022-01-views/03-the-query-builder.md | 10 +----- .../specs/2022-01-views/04-formulas.md | 10 +----- .../04-formulas/4a-record-aggregations.md | 10 +----- .../04-formulas/4b-random-generators.md | 10 +----- .../04-formulas/4c-text-formulas.md | 10 +----- .../04-formulas/4d-number-formulas.md | 10 +----- .../04-formulas/4e-boolean-formulas.md | 10 +----- .../04-formulas/4f-datetime-formulas.md | 10 +----- .../04-formulas/4g-list-formulas.md | 10 +----- .../04-formulas/4h-cumulative-formulas.md | 10 +----- .../04-formulas/4i-regex-formulas.md | 10 +----- .../04-formulas/4j-custom-formulas.md | 10 +----- .../specs/2022-01-views/05-view-structure.md | 10 +----- .../specs/2022-01-views/06-view-columns.md | 10 +----- .../07-breaking-down-db-queries.md | 10 +----- .../specs/2022-01-views/08-appendix.md | 10 +----- docs/product/specs/2022-01-views/index.md | 10 +----- docs/product/specs/dynamic-defaults-proto.md | 10 +----- docs/product/specs/example-schema.md | 10 +----- .../product/specs/publicly-shareable-links.md | 10 +----- .../specs/undo-quick-save-functionality.md | 10 +----- docs/product/specs/users-permissions.md | 10 +----- .../2023-04-usability-improvements.md | 10 +----- docs/projects/2023-07-backend-fixes.md | 10 +----- docs/projects/2023-07-frontend-fixes.md | 10 +----- docs/projects/2023-07-product-strategy.md | 10 +----- docs/projects/column-moving.md | 10 +----- docs/projects/forms-research.md | 10 +----- docs/projects/formulas-research.md | 10 +----- docs/projects/frontend-tables-performance.md | 10 +----- docs/projects/funding.md | 10 +----- docs/projects/gather-user-feedback.md | 10 +----- docs/projects/index.md | 10 +----- ...installation-documentation-improvements.md | 10 +----- .../installation-improvements-0_1_3.md | 10 +----- .../installation-improvements-0_1_4.md | 10 +----- .../installation-improvements-plan-0_1_4.md | 10 +----- docs/projects/internationalization.md | 10 +----- docs/projects/list-datatype.md | 10 +----- docs/projects/list-datatype/frontend-specs.md | 10 +----- docs/projects/preexisting-postgres.md | 10 +----- docs/projects/public-links-research.md | 20 ++--------- docs/projects/release-0-1-2.md | 10 +----- .../shareable-links-implementation.md | 10 +----- docs/projects/sql-alchemy-remove.md | 10 +----- docs/projects/sql-ddl-operations.md | 10 +----- docs/projects/sql-dml-operations.md | 10 +----- docs/projects/sql-dql-operations.md | 10 +----- docs/projects/t-shirts.md | 10 +----- docs/projects/template.md | 10 +----- docs/projects/user-feedback-kickoff.md | 10 +----- docs/team/archive/comms-assignee.md | 10 +----- docs/team/archive/weekly-discussion.md | 10 +----- docs/team/guide/comm-tips.md | 10 +----- docs/team/guide/events.md | 10 +----- docs/team/guide/index.md | 10 +----- docs/team/guide/issue-assignment.md | 10 +----- docs/team/guide/issue-triage.md | 10 +----- docs/team/guide/meetings.md | 10 +----- docs/team/guide/tools.md | 10 +----- docs/team/guide/workflow.md | 10 +----- docs/team/index.md | 10 +----- docs/team/members.md | 10 +----- docs/team/responsibilities/fundraising.md | 10 +----- docs/team/responsibilities/gsoc.md | 10 +----- docs/team/responsibilities/index.md | 10 +----- .../responsibilities/installation-help.md | 10 +----- docs/team/responsibilities/marketing.md | 10 +----- .../responsibilities/release-management.md | 10 +----- docs/team/responsibilities/repo-admin.md | 10 +----- docs/team/responsibilities/team-management.md | 10 +----- docs/team/responsibilities/user-feedback.md | 10 +----- docs/team/worklogs/anish.md | 10 +----- docs/team/worklogs/anish/2023-07.md | 10 +----- docs/team/worklogs/brent.md | 10 +----- docs/team/worklogs/ghislaine.md | 10 +----- docs/team/worklogs/kriti.md | 10 +----- docs/team/worklogs/kriti/2023-07.md | 10 +----- docs/team/worklogs/mukesh.md | 10 +----- docs/team/worklogs/pavish.md | 10 +----- docs/team/worklogs/pavish/2023-07.md | 10 +----- docs/team/worklogs/rajat.md | 10 +----- docs/team/worklogs/rajat/2023-07.md | 10 +----- docs/team/worklogs/sean.md | 10 +----- 313 files changed, 323 insertions(+), 2875 deletions(-) diff --git a/docs/community/events/2022-01-22.md b/docs/community/events/2022-01-22.md index f2fe3613e..c69e0e913 100644 --- a/docs/community/events/2022-01-22.md +++ b/docs/community/events/2022-01-22.md @@ -1,12 +1,4 @@ ---- -title: 2022-01-02 Code for Japan Social Hack Day -description: -published: true -date: 2023-07-19T23:15:01.504Z -tags: -editor: markdown -dateCreated: 2022-01-26T00:44:15.454Z ---- +# 2022-01-02 Code for Japan Social Hack Day # About diff --git a/docs/community/events/2022-03-21-to-2022-03-25.md b/docs/community/events/2022-03-21-to-2022-03-25.md index ab0ac3597..687ec0cc1 100644 --- a/docs/community/events/2022-03-21-to-2022-03-25.md +++ b/docs/community/events/2022-03-21-to-2022-03-25.md @@ -1,12 +1,4 @@ ---- -title: Office Hours (2022-03-21 to 2022-03-25) -description: -published: true -date: 2023-07-19T23:15:10.721Z -tags: -editor: markdown -dateCreated: 2022-03-17T20:25:59.489Z ---- +# Office Hours (2022-03-21 to 2022-03-25) ## About diff --git a/docs/community/events/2022-03-28-to-2022-03-31.md b/docs/community/events/2022-03-28-to-2022-03-31.md index ddb22b3e5..bee9cdb42 100644 --- a/docs/community/events/2022-03-28-to-2022-03-31.md +++ b/docs/community/events/2022-03-28-to-2022-03-31.md @@ -1,12 +1,4 @@ ---- -title: Office Hours (2022-03-28 to 2022-03-31) -description: -published: true -date: 2023-07-19T23:15:19.717Z -tags: -editor: markdown -dateCreated: 2022-03-25T21:53:08.876Z ---- +# Office Hours (2022-03-28 to 2022-03-31) ## About diff --git a/docs/community/events/2022-04-04-to-2022-04-08.md b/docs/community/events/2022-04-04-to-2022-04-08.md index df0e01fa4..123f638b9 100644 --- a/docs/community/events/2022-04-04-to-2022-04-08.md +++ b/docs/community/events/2022-04-04-to-2022-04-08.md @@ -1,12 +1,4 @@ ---- -title: Office Hours (2022-04-04 to 2022-04-08) -description: -published: true -date: 2023-07-19T23:15:28.481Z -tags: -editor: markdown -dateCreated: 2022-04-04T10:38:54.397Z ---- +# Office Hours (2022-04-04 to 2022-04-08) ## About diff --git a/docs/community/events/2022-04-12-to-2022-04-15.md b/docs/community/events/2022-04-12-to-2022-04-15.md index f0bd3053f..0cb318881 100644 --- a/docs/community/events/2022-04-12-to-2022-04-15.md +++ b/docs/community/events/2022-04-12-to-2022-04-15.md @@ -1,12 +1,4 @@ ---- -title: Office Hours (2022-04-12 to 2022-04-15) -description: -published: true -date: 2023-07-19T23:15:37.434Z -tags: -editor: markdown -dateCreated: 2022-04-13T05:52:34.778Z ---- +# Office Hours (2022-04-12 to 2022-04-15) ## About diff --git a/docs/community/events/2023-03-27-to-2023-03-29.md b/docs/community/events/2023-03-27-to-2023-03-29.md index 233047418..a331c6197 100644 --- a/docs/community/events/2023-03-27-to-2023-03-29.md +++ b/docs/community/events/2023-03-27-to-2023-03-29.md @@ -1,12 +1,4 @@ ---- -title: Office Hours (2023-03-27 to 2023-03-29) -description: -published: true -date: 2023-07-19T23:15:46.707Z -tags: -editor: markdown -dateCreated: 2023-03-29T09:33:05.890Z ---- +# Office Hours (2023-03-27 to 2023-03-29) ## About diff --git a/docs/community/matrix.md b/docs/community/matrix.md index fde42c1a4..893963bfe 100644 --- a/docs/community/matrix.md +++ b/docs/community/matrix.md @@ -1,12 +1,4 @@ ---- -title: Mathesar on Matrix -description: About the Mathesar Matrix Community -published: true -date: 2023-07-19T23:01:01.992Z -tags: -editor: markdown -dateCreated: 2022-01-26T00:49:51.001Z ---- +# Mathesar on Matrix For realtime chat, we use [Matrix](https://matrix.org/) *(similar to Slack, Discord, Mattermost, Zulip, etc)*. diff --git a/docs/community/mentoring/applicant-guide.md b/docs/community/mentoring/applicant-guide.md index de0bb5ace..c6f5b5937 100644 --- a/docs/community/mentoring/applicant-guide.md +++ b/docs/community/mentoring/applicant-guide.md @@ -1,12 +1,4 @@ ---- -title: Applicant Guide -description: -published: true -date: 2023-07-19T23:15:57.194Z -tags: -editor: markdown -dateCreated: 2022-02-09T22:26:57.584Z ---- +# Applicant Guide # Getting Started diff --git a/docs/community/mentoring/mentee-guide.md b/docs/community/mentoring/mentee-guide.md index 6e5547b51..14084f794 100644 --- a/docs/community/mentoring/mentee-guide.md +++ b/docs/community/mentoring/mentee-guide.md @@ -1,12 +1,4 @@ ---- -title: Mentee Guide -description: -published: true -date: 2023-07-19T23:16:06.158Z -tags: -editor: markdown -dateCreated: 2022-02-09T22:28:21.224Z ---- +# Mentee Guide This guide is for accepted mentees. If you are an applicant, read our [Applicant Guide](/en/community/mentoring/applicant-guide). diff --git a/docs/community/mentoring/mentor-guide.md b/docs/community/mentoring/mentor-guide.md index 6a6349a51..c2f2f0aef 100644 --- a/docs/community/mentoring/mentor-guide.md +++ b/docs/community/mentoring/mentor-guide.md @@ -1,12 +1,4 @@ ---- -title: Mentor Guide -description: -published: true -date: 2023-07-19T23:16:16.265Z -tags: -editor: markdown -dateCreated: 2022-02-09T22:27:25.246Z ---- +# Mentor Guide This guide only covers Mathesar-specific processes and guidelines. For a more general overview of what mentorship entails, please read [the Google Summer of Code Mentor Guide](https://google.github.io/gsocguides/mentor/). diff --git a/docs/community/mentoring/project-idea-template.md b/docs/community/mentoring/project-idea-template.md index b95956ddb..44943c781 100644 --- a/docs/community/mentoring/project-idea-template.md +++ b/docs/community/mentoring/project-idea-template.md @@ -1,12 +1,4 @@ ---- -title: Project Idea Template -description: -published: true -date: 2023-07-19T23:16:26.185Z -tags: -editor: markdown -dateCreated: 2022-02-09T00:08:16.937Z ---- +# Project Idea Template > Please use this template while adding new project ideas to [Project Ideas](/en/community/mentoring/project-ideas). {.is-info} diff --git a/docs/community/mentoring/project-ideas.md b/docs/community/mentoring/project-ideas.md index c4f1b392c..cf7e45ca9 100644 --- a/docs/community/mentoring/project-ideas.md +++ b/docs/community/mentoring/project-ideas.md @@ -1,12 +1,4 @@ ---- -title: Project Ideas -description: -published: true -date: 2023-07-19T23:16:35.432Z -tags: -editor: markdown -dateCreated: 2022-01-18T19:32:54.047Z ---- +# Project Ideas These ideas are for **Google Summer of Code 2023**. diff --git a/docs/community/mentoring/project-ideas/api-documentation.md b/docs/community/mentoring/project-ideas/api-documentation.md index 28753f230..b10723113 100644 --- a/docs/community/mentoring/project-ideas/api-documentation.md +++ b/docs/community/mentoring/project-ideas/api-documentation.md @@ -1,12 +1,4 @@ ---- -title: API documentation -description: Gsoc project idea -published: true -date: 2023-07-19T23:41:43.438Z -tags: -editor: markdown -dateCreated: 2023-02-06T18:31:43.191Z ---- +# API documentation ## Classification - **Difficulty**: Easy diff --git a/docs/community/mentoring/project-ideas/archive.md b/docs/community/mentoring/project-ideas/archive.md index e60d963f5..c462eafac 100644 --- a/docs/community/mentoring/project-ideas/archive.md +++ b/docs/community/mentoring/project-ideas/archive.md @@ -1,12 +1,4 @@ ---- -title: Archived Project Ideas -description: -published: true -date: 2023-07-19T23:41:51.946Z -tags: -editor: markdown -dateCreated: 2023-01-25T16:24:13.333Z ---- +# Archived Project Ideas # GSoC 2022 diff --git a/docs/community/mentoring/project-ideas/auto-suggest-normalization.md b/docs/community/mentoring/project-ideas/auto-suggest-normalization.md index b80016761..b7edb1548 100644 --- a/docs/community/mentoring/project-ideas/auto-suggest-normalization.md +++ b/docs/community/mentoring/project-ideas/auto-suggest-normalization.md @@ -1,12 +1,4 @@ ---- -title: Automatically suggest improvements to table normalization -description: -published: true -date: 2023-07-19T23:42:00.726Z -tags: -editor: markdown -dateCreated: 2023-02-03T16:34:34.998Z ---- +# Automatically suggest improvements to table normalization ## Classification - **Difficulty**: High diff --git a/docs/community/mentoring/project-ideas/automatic-hint-reflection.md b/docs/community/mentoring/project-ideas/automatic-hint-reflection.md index f93ef306d..0c50151ee 100644 --- a/docs/community/mentoring/project-ideas/automatic-hint-reflection.md +++ b/docs/community/mentoring/project-ideas/automatic-hint-reflection.md @@ -1,12 +1,4 @@ ---- -title: Automatic Hint Reflection -description: -published: true -date: 2023-07-19T23:42:09.730Z -tags: -editor: markdown -dateCreated: 2022-02-08T23:50:28.434Z ---- +# Automatic Hint Reflection ## Functions API diff --git a/docs/community/mentoring/project-ideas/break-out-columns.md b/docs/community/mentoring/project-ideas/break-out-columns.md index 0c5c6ef54..fdada9a7c 100644 --- a/docs/community/mentoring/project-ideas/break-out-columns.md +++ b/docs/community/mentoring/project-ideas/break-out-columns.md @@ -1,12 +1,4 @@ ---- -title: Break Columns out to New Table -description: -published: true -date: 2023-07-19T23:42:18.655Z -tags: -editor: markdown -dateCreated: 2022-02-08T23:55:59.574Z ---- +# Break Columns out to New Table ## The Problem One of Mathesar's goals is to encourage users to store data in [normalized](https://en.wikipedia.org/wiki/Database_normalization) tables. However, users that are not familiar with relational databases may not set up their data correctly to begin with. diff --git a/docs/community/mentoring/project-ideas/data-export.md b/docs/community/mentoring/project-ideas/data-export.md index a551ee312..9a51eb0a1 100644 --- a/docs/community/mentoring/project-ideas/data-export.md +++ b/docs/community/mentoring/project-ideas/data-export.md @@ -1,12 +1,4 @@ ---- -title: Support Data Export -description: -published: true -date: 2023-07-19T23:42:27.684Z -tags: -editor: markdown -dateCreated: 2022-02-18T00:03:46.048Z ---- +# Support Data Export ## The Problem Currently, Mathesar does not have any functionality that allows users to export data. We'd like to allow users to export data from tables or views. We should support exporting to the following formats diff --git a/docs/community/mentoring/project-ideas/db-views.md b/docs/community/mentoring/project-ideas/db-views.md index 1389f93d9..9caff030b 100644 --- a/docs/community/mentoring/project-ideas/db-views.md +++ b/docs/community/mentoring/project-ideas/db-views.md @@ -1,12 +1,4 @@ ---- -title: Database Views -description: Support for read-only database views. -published: true -date: 2023-07-19T23:42:36.716Z -tags: gsoc -editor: markdown -dateCreated: 2023-02-06T05:41:26.115Z ---- +# Database Views ## Classification - **Difficulty**: Medium diff --git a/docs/community/mentoring/project-ideas/dependency-graph.md b/docs/community/mentoring/project-ideas/dependency-graph.md index d7d044b3b..b3c19c32a 100644 --- a/docs/community/mentoring/project-ideas/dependency-graph.md +++ b/docs/community/mentoring/project-ideas/dependency-graph.md @@ -1,12 +1,4 @@ ---- -title: Construct Dependency Graph for Database Objects -description: -published: true -date: 2023-07-19T23:42:45.728Z -tags: -editor: markdown -dateCreated: 2022-02-09T00:12:13.312Z ---- +# Construct Dependency Graph for Database Objects ## The Problem We'd like to be able to know what other database objects depend on a database object like a Schema or a Table. diff --git a/docs/community/mentoring/project-ideas/file-data-types.md b/docs/community/mentoring/project-ideas/file-data-types.md index a718c9e68..e213ac9ce 100644 --- a/docs/community/mentoring/project-ideas/file-data-types.md +++ b/docs/community/mentoring/project-ideas/file-data-types.md @@ -1,12 +1,4 @@ ---- -title: Support for File & Image Data Types -description: -published: true -date: 2023-07-19T23:42:54.738Z -tags: -editor: markdown -dateCreated: 2022-02-09T21:12:49.111Z ---- +# Support for File & Image Data Types ## The Problem Mathesar currently only allows the user to use a small set of data types. We'd like to expand the data types we offer in our product to include custom data types for dealing with files, images, and potentially other file types. diff --git a/docs/community/mentoring/project-ideas/import-data-into-existing-tables.md b/docs/community/mentoring/project-ideas/import-data-into-existing-tables.md index 57d353c64..e6db20ac1 100644 --- a/docs/community/mentoring/project-ideas/import-data-into-existing-tables.md +++ b/docs/community/mentoring/project-ideas/import-data-into-existing-tables.md @@ -1,12 +1,4 @@ ---- -title: Support Importing Data into Existing Tables -description: -published: true -date: 2023-07-19T23:43:03.986Z -tags: -editor: markdown -dateCreated: 2022-02-09T21:59:48.300Z ---- +# Support Importing Data into Existing Tables ## The Problem Currently, Mathesar only supports creating a new table when a CSV or TSV file is imported. We would like to expand this functionality to allow users to import new data into existing tables. diff --git a/docs/community/mentoring/project-ideas/import-excel-json-files.md b/docs/community/mentoring/project-ideas/import-excel-json-files.md index 3d5eea274..9b32ae94f 100644 --- a/docs/community/mentoring/project-ideas/import-excel-json-files.md +++ b/docs/community/mentoring/project-ideas/import-excel-json-files.md @@ -1,12 +1,4 @@ ---- -title: Support importing Excel and JSON files -description: -published: true -date: 2023-07-19T23:43:12.929Z -tags: -editor: markdown -dateCreated: 2023-02-03T16:25:20.421Z ---- +# Support importing Excel and JSON files ## Classification - **Difficulty**: Medium diff --git a/docs/community/mentoring/project-ideas/json-data-type.md b/docs/community/mentoring/project-ideas/json-data-type.md index be3c5250e..dec39c76d 100644 --- a/docs/community/mentoring/project-ideas/json-data-type.md +++ b/docs/community/mentoring/project-ideas/json-data-type.md @@ -1,12 +1,4 @@ ---- -title: Support for JSON Data Type -description: -published: true -date: 2023-07-19T23:43:22.470Z -tags: -editor: markdown -dateCreated: 2022-02-09T21:20:20.298Z ---- +# Support for JSON Data Type ## The Problem Mathesar currently only allows the user to use a small set of data types. We'd like to expand the data types we offer in our product to include better support for [PostgreSQL JSON types](https://www.postgresql.org/docs/current/datatype-json.html). diff --git a/docs/community/mentoring/project-ideas/json-editor.md b/docs/community/mentoring/project-ideas/json-editor.md index 462e2d19b..28a2ecb28 100644 --- a/docs/community/mentoring/project-ideas/json-editor.md +++ b/docs/community/mentoring/project-ideas/json-editor.md @@ -1,12 +1,4 @@ ---- -title: JSON editor -description: -published: true -date: 2023-07-19T23:43:31.899Z -tags: -editor: markdown -dateCreated: 2023-02-02T19:05:44.259Z ---- +# JSON editor ## Classification diff --git a/docs/community/mentoring/project-ideas/kanban-view.md b/docs/community/mentoring/project-ideas/kanban-view.md index 73a440f76..271cba769 100644 --- a/docs/community/mentoring/project-ideas/kanban-view.md +++ b/docs/community/mentoring/project-ideas/kanban-view.md @@ -1,12 +1,4 @@ ---- -title: Kanban View -description: -published: true -date: 2023-07-19T23:43:40.998Z -tags: -editor: markdown -dateCreated: 2023-02-03T16:41:01.516Z ---- +# Kanban View ## Classification diff --git a/docs/community/mentoring/project-ideas/list-data-type.md b/docs/community/mentoring/project-ideas/list-data-type.md index 05cc05548..730a0bcf3 100644 --- a/docs/community/mentoring/project-ideas/list-data-type.md +++ b/docs/community/mentoring/project-ideas/list-data-type.md @@ -1,12 +1,4 @@ ---- -title: List data type -description: -published: true -date: 2023-07-19T23:43:50.460Z -tags: -editor: markdown -dateCreated: 2023-02-03T16:53:57.798Z ---- +# List data type ## Classification - **Difficulty**: Medium diff --git a/docs/community/mentoring/project-ideas/location-data-type.md b/docs/community/mentoring/project-ideas/location-data-type.md index ac6dc2802..9409e3836 100644 --- a/docs/community/mentoring/project-ideas/location-data-type.md +++ b/docs/community/mentoring/project-ideas/location-data-type.md @@ -1,12 +1,4 @@ ---- -title: Location Data type -description: Gsoc project idea -published: true -date: 2023-07-19T23:43:59.676Z -tags: -editor: markdown -dateCreated: 2023-02-06T17:35:00.632Z ---- +# Location Data type ## Classification - **Difficulty**: High diff --git a/docs/community/mentoring/project-ideas/make-casting-functions-inlinable.md b/docs/community/mentoring/project-ideas/make-casting-functions-inlinable.md index 2ec3b7f15..316e5edf7 100644 --- a/docs/community/mentoring/project-ideas/make-casting-functions-inlinable.md +++ b/docs/community/mentoring/project-ideas/make-casting-functions-inlinable.md @@ -1,12 +1,4 @@ ---- -title: Make casting functions inlinable -description: Use inlining of SQL functions to improve casting's performance -published: true -date: 2023-07-19T23:44:09.011Z -tags: -editor: markdown -dateCreated: 2023-02-06T13:36:00.141Z ---- +# Make casting functions inlinable ## Classification - **Difficulty**: Medium diff --git a/docs/community/mentoring/project-ideas/more-data-import-sources.md b/docs/community/mentoring/project-ideas/more-data-import-sources.md index 9c76a81f8..0890bf9a8 100644 --- a/docs/community/mentoring/project-ideas/more-data-import-sources.md +++ b/docs/community/mentoring/project-ideas/more-data-import-sources.md @@ -1,12 +1,4 @@ ---- -title: Support More Data Import Sources -description: -published: true -date: 2023-07-19T23:44:17.939Z -tags: -editor: markdown -dateCreated: 2022-02-09T22:07:34.086Z ---- +# Support More Data Import Sources ## The Problem Currently, Mathesar only supports importing data from CSV-like files. We'd like to expand the types of data we can import, including support for: diff --git a/docs/community/mentoring/project-ideas/more-summarizations.md b/docs/community/mentoring/project-ideas/more-summarizations.md index f0c1f4bee..e11a6a626 100644 --- a/docs/community/mentoring/project-ideas/more-summarizations.md +++ b/docs/community/mentoring/project-ideas/more-summarizations.md @@ -1,12 +1,4 @@ ---- -title: Add more summarization functions -description: Extend the summariation function options in the Data Explorer -published: true -date: 2023-07-19T23:44:26.988Z -tags: gsoc -editor: markdown -dateCreated: 2023-02-06T05:46:45.937Z ---- +# Add more summarization functions ## Classification - **Difficulty**: Easy diff --git a/docs/community/mentoring/project-ideas/persist-ui-configuration.md b/docs/community/mentoring/project-ideas/persist-ui-configuration.md index 0722d8bb5..4d9ab2486 100644 --- a/docs/community/mentoring/project-ideas/persist-ui-configuration.md +++ b/docs/community/mentoring/project-ideas/persist-ui-configuration.md @@ -1,12 +1,4 @@ ---- -title: Persist UI configuration -description: -published: true -date: 2023-07-19T23:44:35.914Z -tags: -editor: markdown -dateCreated: 2023-02-06T06:42:46.408Z ---- +# Persist UI configuration ## Classification - **Difficulty**: Medium diff --git a/docs/community/mentoring/project-ideas/phone-number-data-type.md b/docs/community/mentoring/project-ideas/phone-number-data-type.md index d07da346b..540e001d2 100644 --- a/docs/community/mentoring/project-ideas/phone-number-data-type.md +++ b/docs/community/mentoring/project-ideas/phone-number-data-type.md @@ -1,12 +1,4 @@ ---- -title: Phone Number data type -description: -published: true -date: 2023-07-19T23:44:45.170Z -tags: -editor: markdown -dateCreated: 2023-02-02T20:18:17.304Z ---- +# Phone Number data type ## Classification - **Difficulty**: Medium diff --git a/docs/community/mentoring/project-ideas/postgis-data-types.md b/docs/community/mentoring/project-ideas/postgis-data-types.md index 6b7a1f5cb..b28c1513c 100644 --- a/docs/community/mentoring/project-ideas/postgis-data-types.md +++ b/docs/community/mentoring/project-ideas/postgis-data-types.md @@ -1,12 +1,4 @@ ---- -title: Support for PostGIS Data Types -description: -published: true -date: 2023-07-19T23:44:53.906Z -tags: -editor: markdown -dateCreated: 2022-02-09T20:54:12.599Z ---- +# Support for PostGIS Data Types ## The Problem Mathesar currently only allows the user to use a small set of data types. We'd like to expand the data types we offer in our product to include the spatial data types provided by [PostGIS](http://postgis.net/). diff --git a/docs/community/mentoring/project-ideas/sharable-forms.md b/docs/community/mentoring/project-ideas/sharable-forms.md index 59ce8c2d6..35a5831ff 100644 --- a/docs/community/mentoring/project-ideas/sharable-forms.md +++ b/docs/community/mentoring/project-ideas/sharable-forms.md @@ -1,12 +1,4 @@ ---- -title: Sharable Forms to Add Data to Tables -description: -published: true -date: 2023-07-19T23:45:02.410Z -tags: -editor: markdown -dateCreated: 2022-02-09T00:10:07.147Z ---- +# Sharable Forms to Add Data to Tables ## The Problem Mathesar currently offers a spreadsheet-like interface for data entry into tables. One of Mathesar's potential usecases is to allow data entry through surverys from a large group of individuals. Sharing the spreadsheet-like interface for such data entry is unfeasible and also comes with privacy and access-level implications. diff --git a/docs/community/mentoring/project-ideas/single-select-data-type.md b/docs/community/mentoring/project-ideas/single-select-data-type.md index cb21f438d..4a03550e4 100644 --- a/docs/community/mentoring/project-ideas/single-select-data-type.md +++ b/docs/community/mentoring/project-ideas/single-select-data-type.md @@ -1,12 +1,4 @@ ---- -title: Single Select "data type" -description: -published: true -date: 2023-07-19T23:45:11.153Z -tags: -editor: markdown -dateCreated: 2023-02-03T16:50:06.632Z ---- +# Single Select "data type" ## Classification - **Difficulty**: Easy diff --git a/docs/community/mentoring/project-ideas/suggest-candidate-columns.md b/docs/community/mentoring/project-ideas/suggest-candidate-columns.md index 42d5a9fd4..89c393562 100644 --- a/docs/community/mentoring/project-ideas/suggest-candidate-columns.md +++ b/docs/community/mentoring/project-ideas/suggest-candidate-columns.md @@ -1,12 +1,4 @@ ---- -title: Suggest Candidate Columns to Create Separate Table -description: -published: true -date: 2023-07-19T23:45:19.902Z -tags: -editor: markdown -dateCreated: 2022-02-08T23:58:51.504Z ---- +# Suggest Candidate Columns to Create Separate Table ## The Problem > This is related to [Break Columns out to New Table](/en/community/mentoring/project-ideas/break-out-columns), please read that project idea first. diff --git a/docs/community/mentoring/project-ideas/support-default-postgres-types.md b/docs/community/mentoring/project-ideas/support-default-postgres-types.md index 3203daeb5..e0550c755 100644 --- a/docs/community/mentoring/project-ideas/support-default-postgres-types.md +++ b/docs/community/mentoring/project-ideas/support-default-postgres-types.md @@ -1,12 +1,4 @@ ---- -title: Better Support for Default PostgreSQL Data Types -description: -published: true -date: 2023-07-19T23:45:28.414Z -tags: -editor: markdown -dateCreated: 2022-02-09T21:23:58.352Z ---- +# Better Support for Default PostgreSQL Data Types ## The Problem Mathesar currently only allows the user to use a small set of data types. We'd like to expand the data types we offer in our product to include [more default PostgreSQL types](https://www.postgresql.org/docs/current/datatype.html) such as Network Address types, Geometric Types, UUID Types, and Range Types. diff --git a/docs/community/mentoring/project-ideas/ui-import-data-existing-table.md b/docs/community/mentoring/project-ideas/ui-import-data-existing-table.md index 4076e3851..d7e885b38 100644 --- a/docs/community/mentoring/project-ideas/ui-import-data-existing-table.md +++ b/docs/community/mentoring/project-ideas/ui-import-data-existing-table.md @@ -1,12 +1,4 @@ ---- -title: UI for Importing data into existing table -description: -published: true -date: 2023-07-19T23:45:37.472Z -tags: -editor: markdown -dateCreated: 2023-02-06T00:49:25.264Z ---- +# UI for Importing data into existing table ## Classification - **Difficulty**: Medium diff --git a/docs/community/mentoring/project-ideas/visualization-of-grouped-data.md b/docs/community/mentoring/project-ideas/visualization-of-grouped-data.md index 5b5fa2f2a..75b7e0327 100644 --- a/docs/community/mentoring/project-ideas/visualization-of-grouped-data.md +++ b/docs/community/mentoring/project-ideas/visualization-of-grouped-data.md @@ -1,12 +1,4 @@ ---- -title: Visualization of Grouped Data -description: -published: true -date: 2023-07-19T23:45:46.742Z -tags: -editor: markdown -dateCreated: 2022-02-09T00:02:59.297Z ---- +# Visualization of Grouped Data ## The Problem One of the common needs that arises when analyzing data is to group similar results, aggregate them, and gain insights from them. For eg., Consider the scenario where we have a list of employee records and would like to figure out how many employees reside in a particular country, and further categorize them by age group, gender etc., Databases make these kind of usecases easier by providing powerful grouping behaviours. However, inorder to leverage it users would need to work with SQL which requires technical knowledge. diff --git a/docs/community/mentoring/project-ideas/web-sql-editor.md b/docs/community/mentoring/project-ideas/web-sql-editor.md index 81285b423..e4ef67e42 100644 --- a/docs/community/mentoring/project-ideas/web-sql-editor.md +++ b/docs/community/mentoring/project-ideas/web-sql-editor.md @@ -1,12 +1,4 @@ ---- -title: Implement Textual SQL Query Builder -description: -published: true -date: 2023-07-19T23:45:55.498Z -tags: -editor: markdown -dateCreated: 2022-02-09T21:52:46.522Z ---- +# Implement Textual SQL Query Builder ## The Problem We are building a visual query builder into Mathesar to help the user find answers to questions using their data and to create [Views](/en/product/concepts/views). To make the visual query builder easy to use, we needed to make a bunch of assumptions that limits the types of queries that can be produced. diff --git a/docs/community/mentoring/project-proposal-template.md b/docs/community/mentoring/project-proposal-template.md index 27817fa19..32ed9c883 100644 --- a/docs/community/mentoring/project-proposal-template.md +++ b/docs/community/mentoring/project-proposal-template.md @@ -1,12 +1,4 @@ ---- -title: Project Proposal Template -description: -published: true -date: 2023-07-19T23:16:45.020Z -tags: -editor: markdown -dateCreated: 2022-02-09T22:32:06.017Z ---- +# Project Proposal Template This is the proposal template for applications to any mentorship programs that we participate in. **Proposals that do not follow this template will not be considered for GSoC**. diff --git a/docs/design/design-principles.md b/docs/design/design-principles.md index c1468f0e1..465f4d624 100644 --- a/docs/design/design-principles.md +++ b/docs/design/design-principles.md @@ -1,12 +1,4 @@ ---- -title: Design Principles -description: Design principles for Mathesar -published: true -date: 2023-07-19T23:01:24.472Z -tags: -editor: markdown -dateCreated: 2021-06-02T10:16:53.572Z ---- +# Design Principles Our design principles are a set of beliefs, views, or approaches we chose to guide our design decisions. diff --git a/docs/design/exploration.md b/docs/design/exploration.md index 0f71a1e8e..c2c25814b 100644 --- a/docs/design/exploration.md +++ b/docs/design/exploration.md @@ -1,12 +1,4 @@ ---- -title: Design Explorations -description: Exploratory design documents for research and discovery -published: true -date: 2023-07-19T23:01:33.430Z -tags: -editor: markdown -dateCreated: 2021-05-04T18:21:56.074Z ---- +# Design Explorations # Fall 2022 The Mathesar team participated again as a client in UC Berkeley's [Product Design Studio](https://www.ischool.berkeley.edu/courses/info/290/pds) class in 2022. diff --git a/docs/design/exploration/data-management-skills.md b/docs/design/exploration/data-management-skills.md index 63982630f..8714fa1e8 100644 --- a/docs/design/exploration/data-management-skills.md +++ b/docs/design/exploration/data-management-skills.md @@ -1,12 +1,4 @@ ---- -title: Data Management Skills -description: -published: true -date: 2023-07-19T23:16:54.684Z -tags: -editor: markdown -dateCreated: 2021-05-04T19:11:08.621Z ---- +# Data Management Skills This research project explores the factors that influence the adoption and acquisition of data management skills and how Mathesar can minimize the negative impact of skill gaps in this area. diff --git a/docs/design/exploration/data-types.md b/docs/design/exploration/data-types.md index 8c27566e1..68b4abf22 100644 --- a/docs/design/exploration/data-types.md +++ b/docs/design/exploration/data-types.md @@ -1,12 +1,4 @@ ---- -title: Data Types Inspiration -description: -published: true -date: 2023-07-19T23:17:03.436Z -tags: -editor: markdown -dateCreated: 2021-05-11T19:59:36.712Z ---- +# Data Types Inspiration # Dates & Times Here's how Calendly communicates "dates with timezones" and "dates agnostic of timezones" to their users. diff --git a/docs/design/exploration/filters.md b/docs/design/exploration/filters.md index 48919596f..2524052ad 100644 --- a/docs/design/exploration/filters.md +++ b/docs/design/exploration/filters.md @@ -1,12 +1,4 @@ ---- -title: Filters Inspiration -description: -published: true -date: 2023-07-19T23:17:12.017Z -tags: -editor: markdown -dateCreated: 2021-06-11T17:47:40.143Z ---- +# Filters Inspiration # Advanced Filters Example of advanced filtering with filter groups. diff --git a/docs/design/exploration/inventory-data-exploration.md b/docs/design/exploration/inventory-data-exploration.md index db3f779f5..e6b3984d5 100644 --- a/docs/design/exploration/inventory-data-exploration.md +++ b/docs/design/exploration/inventory-data-exploration.md @@ -1,32 +1,8 @@ ---- -title: Inventory: Data Exploration -description: -published: true -date: 2023-07-19T23:17:21.672Z -tags: -editor: markdown -dateCreated: 2021-05-04T18:37:21.882Z ---- - ---- -title: Inventory: Data Exploration -description: -published: true -date: 2023-05-11T14:29:44.599Z -tags: -editor: markdown -dateCreated: 2021-05-04T18:37:21.882Z ---- - ---- -title: Inventory: Data Exploration -description: -published: true -date: 2022-03-13T17:55:19.927Z -tags: -editor: markdown -dateCreated: 2021-05-04T18:37:21.882Z ---- +# Inventory: Data Exploration + +# Inventory: Data Exploration + +# Inventory: Data Exploration > Refer to [Inventory Use Case](/en/design/exploration/use-cases/inventory-use-case) for additional context. {.is-info} diff --git a/docs/design/exploration/use-cases.md b/docs/design/exploration/use-cases.md index b99b16196..1e71ab337 100644 --- a/docs/design/exploration/use-cases.md +++ b/docs/design/exploration/use-cases.md @@ -1,12 +1,4 @@ ---- -title: Use Cases -description: -published: true -date: 2023-07-19T23:17:30.188Z -tags: design -editor: markdown -dateCreated: 2021-05-10T11:15:57.085Z ---- +# Use Cases # Use Cases [inventory-use-case](/design/exploration/use-cases/inventory-use-case) \ No newline at end of file diff --git a/docs/design/exploration/use-cases/inventory-use-case.md b/docs/design/exploration/use-cases/inventory-use-case.md index 98b4424f5..7b59ee70b 100644 --- a/docs/design/exploration/use-cases/inventory-use-case.md +++ b/docs/design/exploration/use-cases/inventory-use-case.md @@ -1,12 +1,4 @@ ---- -title: Inventory Use Case -description: -published: true -date: 2023-07-19T23:46:04.653Z -tags: -editor: markdown -dateCreated: 2021-05-04T18:19:10.451Z ---- +# Inventory Use Case # Inventory Use Case People usually need inventories to keep track of things they own or manage. Creating and using these inventories within Mathesar shouldn't be too different from creating any other spreadsheet. Most of the steps in this process aren't new to users, making inventory an ideal use case to build first. diff --git a/docs/design/overview.md b/docs/design/overview.md index 4416c170e..65392f87e 100644 --- a/docs/design/overview.md +++ b/docs/design/overview.md @@ -1,12 +1,4 @@ ---- -title: Design -description: Resources and notes for Mathesar designers -published: true -date: 2023-07-19T22:59:53.701Z -tags: -editor: markdown -dateCreated: 2021-04-21T18:59:51.092Z ---- +# Design This is the homepage for Mathesar design work, closely related to [Product](/product) and [Engineering](/engineering). diff --git a/docs/design/process.md b/docs/design/process.md index 67e561b89..9787ab967 100644 --- a/docs/design/process.md +++ b/docs/design/process.md @@ -1,12 +1,4 @@ ---- -title: Design Process -description: An Overview of the Phases Involved in Mathesar’s Design Process -published: true -date: 2023-07-19T23:01:42.482Z -tags: design, process -editor: markdown -dateCreated: 2021-05-10T11:06:16.074Z ---- +# Design Process There are five phases in our design process. diff --git a/docs/design/process/deliverables.md b/docs/design/process/deliverables.md index b9e6aa019..e208b3a11 100644 --- a/docs/design/process/deliverables.md +++ b/docs/design/process/deliverables.md @@ -1,12 +1,4 @@ ---- -title: Deliverables -description: Documents created during the design process -published: true -date: 2023-07-19T23:17:38.914Z -tags: design -editor: markdown -dateCreated: 2021-05-12T17:25:39.739Z ---- +# Deliverables # Deliverables ## Design Hand-Off diff --git a/docs/design/process/design-system.md b/docs/design/process/design-system.md index 106598512..145095c7b 100644 --- a/docs/design/process/design-system.md +++ b/docs/design/process/design-system.md @@ -1,12 +1,4 @@ ---- -title: Design System -description: Design System for Mathesar -published: true -date: 2023-07-19T23:17:47.715Z -tags: -editor: markdown -dateCreated: 2021-05-31T12:11:46.738Z ---- +# Design System # Design System - Documented elements, components, including both design and front-end guidelines diff --git a/docs/design/process/review-guidelines.md b/docs/design/process/review-guidelines.md index b95059bb7..9fa2f49d3 100644 --- a/docs/design/process/review-guidelines.md +++ b/docs/design/process/review-guidelines.md @@ -1,12 +1,4 @@ ---- -title: Design Review Guidelines -description: Guidelines for working with design specs -published: true -date: 2023-07-19T23:17:56.969Z -tags: -editor: markdown -dateCreated: 2021-05-28T21:02:49.613Z ---- +# Design Review Guidelines The design team creates specs to describe the design solutions related to the Mathesar product. Whether small or large, all [design issues](#design-issues) should be accompanied by a spec containing the solution details and information relevant to its implementation. diff --git a/docs/design/reports.md b/docs/design/reports.md index bbb3aacfd..6fd6cc74a 100644 --- a/docs/design/reports.md +++ b/docs/design/reports.md @@ -1,12 +1,4 @@ ---- -title: Design Reports -description: Conclusions after research and discovery -published: true -date: 2023-07-19T23:01:50.981Z -tags: -editor: markdown -dateCreated: 2021-05-04T18:53:20.824Z ---- +# Design Reports # May 2021 diff --git a/docs/design/reports/inventory-use-case.md b/docs/design/reports/inventory-use-case.md index 6dfba0217..dc5e72a31 100644 --- a/docs/design/reports/inventory-use-case.md +++ b/docs/design/reports/inventory-use-case.md @@ -1,12 +1,4 @@ ---- -title: Inventory Use Case -description: -published: true -date: 2023-07-19T23:18:06.236Z -tags: -editor: markdown -dateCreated: 2021-05-04T18:59:23.930Z ---- +# Inventory Use Case The inventory use case presented many opportunities to understand how the design of the Mathesar application could influence user goals. We selected the inventory use case because it combined simple data storage with minimal analysis needs. diff --git a/docs/design/reports/tool-category.md b/docs/design/reports/tool-category.md index d71fe58ec..2a9d1d626 100644 --- a/docs/design/reports/tool-category.md +++ b/docs/design/reports/tool-category.md @@ -1,12 +1,4 @@ ---- -title: Tool Category Exploration -description: -published: true -date: 2023-07-19T23:18:15.236Z -tags: -editor: markdown -dateCreated: 2021-05-04T18:55:52.734Z ---- +# Tool Category Exploration # Mathesar Tool Category diff --git a/docs/design/resources.md b/docs/design/resources.md index 440ab01d2..6e4508e24 100644 --- a/docs/design/resources.md +++ b/docs/design/resources.md @@ -1,12 +1,4 @@ ---- -title: Resources -description: Reading and resources that might be of interest. -published: true -date: 2023-07-19T23:01:59.921Z -tags: -editor: markdown -dateCreated: 2021-04-21T19:01:23.615Z ---- +# Resources # From Matrix diff --git a/docs/design/specs.md b/docs/design/specs.md index 2938744bd..21fe9e4a5 100644 --- a/docs/design/specs.md +++ b/docs/design/specs.md @@ -1,12 +1,4 @@ ---- -title: Design Specs -description: Handoff documents coming out of the design process -published: true -date: 2023-07-19T23:02:09.164Z -tags: -editor: markdown -dateCreated: 2021-05-18T21:39:18.962Z ---- +# Design Specs ## Pre-Launch Work diff --git a/docs/design/specs/Formulas.md b/docs/design/specs/Formulas.md index 14e1a903d..b641970ea 100644 --- a/docs/design/specs/Formulas.md +++ b/docs/design/specs/Formulas.md @@ -1,12 +1,4 @@ ---- -title: Formulas -description: -published: true -date: 2023-07-19T23:18:24.443Z -tags: -editor: markdown -dateCreated: 2022-06-15T11:50:16.652Z ---- +# Formulas > This spec is a work in progress and should not be used to inform any decisions. {.is-warning} diff --git a/docs/design/specs/add-formula-column.md b/docs/design/specs/add-formula-column.md index 8e5d12ebe..aca438ddf 100644 --- a/docs/design/specs/add-formula-column.md +++ b/docs/design/specs/add-formula-column.md @@ -1,12 +1,4 @@ ---- -title: Formula Columns -description: -published: true -date: 2023-07-19T23:18:33.989Z -tags: -editor: markdown -dateCreated: 2022-08-10T15:27:06.985Z ---- +# Formula Columns > This spec is a starting point and has not been reviewed from an engineering or product perspective. It will be updated when we are ready to start implementing this. {.is-danger} diff --git a/docs/design/specs/add-update-delete-records.md b/docs/design/specs/add-update-delete-records.md index d07acb99b..feb2d630f 100644 --- a/docs/design/specs/add-update-delete-records.md +++ b/docs/design/specs/add-update-delete-records.md @@ -1,12 +1,4 @@ ---- -title: Adding, Update and Deleting Records -description: -published: true -date: 2023-07-19T23:18:43.664Z -tags: -editor: markdown -dateCreated: 2021-06-28T17:47:57.446Z ---- +# Adding, Update and Deleting Records # Figma Prototype diff --git a/docs/design/specs/boolean-data-type.md b/docs/design/specs/boolean-data-type.md index 4e2cbcce6..3533ef36e 100644 --- a/docs/design/specs/boolean-data-type.md +++ b/docs/design/specs/boolean-data-type.md @@ -1,12 +1,4 @@ ---- -title: Boolean Data Type -description: -published: true -date: 2023-07-19T23:18:56.970Z -tags: -editor: markdown -dateCreated: 2021-08-12T09:27:03.181Z ---- +# Boolean Data Type # Context Boolean data types are used to store TRUE or FALSE values. diff --git a/docs/design/specs/clipboard-interactions.md b/docs/design/specs/clipboard-interactions.md index a48140982..7c1215895 100644 --- a/docs/design/specs/clipboard-interactions.md +++ b/docs/design/specs/clipboard-interactions.md @@ -1,12 +1,4 @@ ---- -title: Clipboard Interaction specs -description: -published: true -date: 2023-07-19T23:19:09.157Z -tags: -editor: markdown -dateCreated: 2023-04-12T13:17:05.007Z ---- +# Clipboard Interaction specs ## Design goals diff --git a/docs/design/specs/column-extraction.md b/docs/design/specs/column-extraction.md index 810920c7e..9344656e8 100644 --- a/docs/design/specs/column-extraction.md +++ b/docs/design/specs/column-extraction.md @@ -1,12 +1,4 @@ ---- -title: Column Extraction -description: -published: true -date: 2023-07-19T23:19:20.160Z -tags: -editor: markdown -dateCreated: 2022-07-22T11:12:59.313Z ---- +# Column Extraction ## Context diff --git a/docs/design/specs/create-edit-delete-views.md b/docs/design/specs/create-edit-delete-views.md index 965c08190..91cd90b56 100644 --- a/docs/design/specs/create-edit-delete-views.md +++ b/docs/design/specs/create-edit-delete-views.md @@ -1,12 +1,4 @@ ---- -title: Create, Edit, Delete Views -description: -published: true -date: 2023-07-19T23:19:33.195Z -tags: -editor: markdown -dateCreated: 2021-08-27T08:38:06.248Z ---- +# Create, Edit, Delete Views > This spec is outdated and should not be followed. {.is-danger} diff --git a/docs/design/specs/data-type-duration.md b/docs/design/specs/data-type-duration.md index cd0c7df8a..7700343f2 100644 --- a/docs/design/specs/data-type-duration.md +++ b/docs/design/specs/data-type-duration.md @@ -1,12 +1,4 @@ ---- -title: Duration Data Type Specs -description: -published: true -date: 2023-07-19T23:19:42.401Z -tags: -editor: markdown -dateCreated: 2021-08-10T09:42:44.190Z ---- +# Duration Data Type Specs # Context Duration data types represent a period of time measured in hours, minutes, and/or seconds. diff --git a/docs/design/specs/data-type-options.md b/docs/design/specs/data-type-options.md index f3b24f178..d64b408d0 100644 --- a/docs/design/specs/data-type-options.md +++ b/docs/design/specs/data-type-options.md @@ -1,12 +1,4 @@ ---- -title: Data Type Options -description: -published: true -date: 2023-07-19T23:19:51.198Z -tags: -editor: markdown -dateCreated: 2022-09-12T21:08:08.137Z ---- +# Data Type Options ## Context diff --git a/docs/design/specs/data-types-text.md b/docs/design/specs/data-types-text.md index 705b061d6..a846e7311 100644 --- a/docs/design/specs/data-types-text.md +++ b/docs/design/specs/data-types-text.md @@ -1,12 +1,4 @@ ---- -title: Text Data Type -description: -published: true -date: 2023-07-19T23:19:59.954Z -tags: -editor: markdown -dateCreated: 2021-07-21T10:04:10.817Z ---- +# Text Data Type # Context Text data types allow users to add letters, symbols, or numbers as field values. The text data type is also the default type for new columns within Mathesar. diff --git a/docs/design/specs/database-switching.md b/docs/design/specs/database-switching.md index 96acd2e80..6dd7290d5 100644 --- a/docs/design/specs/database-switching.md +++ b/docs/design/specs/database-switching.md @@ -1,12 +1,4 @@ ---- -title: Multiple Database Switching -description: -published: true -date: 2023-07-19T23:20:08.766Z -tags: -editor: markdown -dateCreated: 2021-07-01T21:19:29.919Z ---- +# Multiple Database Switching > This spec is outdated and should not be followed. {.is-danger} diff --git a/docs/design/specs/date-time-data-type.md b/docs/design/specs/date-time-data-type.md index 62b38bc13..c65a11450 100644 --- a/docs/design/specs/date-time-data-type.md +++ b/docs/design/specs/date-time-data-type.md @@ -1,12 +1,4 @@ ---- -title: Date, Time, and DateTime Data Types -description: -published: true -date: 2023-07-19T23:20:17.514Z -tags: -editor: markdown -dateCreated: 2021-08-06T16:29:46.474Z ---- +# Date, Time, and DateTime Data Types ## Context diff --git a/docs/design/specs/eding-view-records.md b/docs/design/specs/eding-view-records.md index 3ab8e2ab7..06859f0a3 100644 --- a/docs/design/specs/eding-view-records.md +++ b/docs/design/specs/eding-view-records.md @@ -1,12 +1,4 @@ ---- -title: Editing Records Within a View -description: -published: true -date: 2023-07-19T23:20:26.912Z -tags: -editor: markdown -dateCreated: 2021-09-09T08:03:57.235Z ---- +# Editing Records Within a View > This spec is outdated and should not be followed. {.is-danger} diff --git a/docs/design/specs/email-data-type.md b/docs/design/specs/email-data-type.md index ee5b2b284..0aec09274 100644 --- a/docs/design/specs/email-data-type.md +++ b/docs/design/specs/email-data-type.md @@ -1,12 +1,4 @@ ---- -title: Email Data Type -description: -published: true -date: 2023-07-19T23:20:35.726Z -tags: -editor: markdown -dateCreated: 2021-08-10T16:15:43.563Z ---- +# Email Data Type # Context Email data types are custom Mathesar data types used to store email addresses. diff --git a/docs/design/specs/filter-sort-group.md b/docs/design/specs/filter-sort-group.md index 7502511b0..36fc453a9 100644 --- a/docs/design/specs/filter-sort-group.md +++ b/docs/design/specs/filter-sort-group.md @@ -1,12 +1,4 @@ ---- -title: Filter, Sort, and Group Tables -description: -published: true -date: 2023-07-19T23:20:44.998Z -tags: -editor: markdown -dateCreated: 2021-07-01T21:03:13.372Z ---- +# Filter, Sort, and Group Tables # Figma Prototype diff --git a/docs/design/specs/foreign-key-constraints.md b/docs/design/specs/foreign-key-constraints.md index d431f2588..29ef688b2 100644 --- a/docs/design/specs/foreign-key-constraints.md +++ b/docs/design/specs/foreign-key-constraints.md @@ -1,12 +1,4 @@ ---- -title: Usage of Foreign Key Constraints -description: -published: true -date: 2023-07-19T23:20:54.764Z -tags: -editor: markdown -dateCreated: 2021-10-19T09:20:55.088Z ---- +# Usage of Foreign Key Constraints ## Context diff --git a/docs/design/specs/global-data-type-components.md b/docs/design/specs/global-data-type-components.md index bcbd13aa0..f7bbd65a0 100644 --- a/docs/design/specs/global-data-type-components.md +++ b/docs/design/specs/global-data-type-components.md @@ -1,12 +1,4 @@ ---- -title: Global Data Type Components -description: -published: true -date: 2023-07-19T23:21:03.653Z -tags: -editor: markdown -dateCreated: 2021-08-31T08:38:10.315Z ---- +# Global Data Type Components ## Context diff --git a/docs/design/specs/import-status.md b/docs/design/specs/import-status.md index a72a95687..4e96de5ac 100644 --- a/docs/design/specs/import-status.md +++ b/docs/design/specs/import-status.md @@ -1,12 +1,4 @@ ---- -title: Import Status -description: -published: true -date: 2023-07-19T23:21:12.484Z -tags: -editor: markdown -dateCreated: 2021-07-08T12:22:29.972Z ---- +# Import Status # Context The initial design for [Add Table from File Import](https://wiki.mathesar.org/en/design/specs/table-import) defined all the steps needed to import a file, preview its content, make adjustments and save it as a table within Mathesar. However, certain aspects of the upload process and status lack definition for implementation as reported on the issue [#296](https://github.com/centerofci/mathesar/issues/296) on Github. This spec looks to address those gaps in the design. diff --git a/docs/design/specs/inline-save-edit.md b/docs/design/specs/inline-save-edit.md index 8ac7a9194..cc856df13 100644 --- a/docs/design/specs/inline-save-edit.md +++ b/docs/design/specs/inline-save-edit.md @@ -1,12 +1,4 @@ ---- -title: Inline Saving and Editing -description: -published: true -date: 2023-07-19T23:21:21.669Z -tags: -editor: markdown -dateCreated: 2022-08-29T20:15:17.283Z ---- +# Inline Saving and Editing ## Context diff --git a/docs/design/specs/listing-views.md b/docs/design/specs/listing-views.md index 0546337c5..60bb83fab 100644 --- a/docs/design/specs/listing-views.md +++ b/docs/design/specs/listing-views.md @@ -1,12 +1,4 @@ ---- -title: Listing Views Spec -description: -published: true -date: 2023-07-19T23:21:30.901Z -tags: -editor: markdown -dateCreated: 2021-09-17T08:28:58.527Z ---- +# Listing Views Spec ## Context diff --git a/docs/design/specs/lookup-field-component.md b/docs/design/specs/lookup-field-component.md index 14d032206..9b87f64c7 100644 --- a/docs/design/specs/lookup-field-component.md +++ b/docs/design/specs/lookup-field-component.md @@ -1,12 +1,4 @@ ---- -title: Lookup Field Component Specs -description: -published: true -date: 2023-07-19T23:21:39.927Z -tags: -editor: markdown -dateCreated: 2021-07-01T21:03:16.461Z ---- +# Lookup Field Component Specs # Context The lookup field component was specified as part of the design for ['Add Table from Import'](/design/specs/table-import). Based on discussions held after the design review of the document, we determined the need to provide further detail on how users will use this component and what steps they must follow to complete the following tasks: diff --git a/docs/design/specs/money-data-type.md b/docs/design/specs/money-data-type.md index c27efedfb..bce297b39 100644 --- a/docs/design/specs/money-data-type.md +++ b/docs/design/specs/money-data-type.md @@ -1,12 +1,4 @@ ---- -title: Money Data Type Specs -description: -published: true -date: 2023-07-19T23:21:48.943Z -tags: -editor: markdown -dateCreated: 2021-08-05T09:14:25.201Z ---- +# Money Data Type Specs # Context diff --git a/docs/design/specs/multiple-records-spec.md b/docs/design/specs/multiple-records-spec.md index 0e1884df4..b5081ecbb 100644 --- a/docs/design/specs/multiple-records-spec.md +++ b/docs/design/specs/multiple-records-spec.md @@ -1,12 +1,4 @@ ---- -title: Multiple Records Associated with a Single Record -description: -published: true -date: 2023-07-19T23:21:57.488Z -tags: -editor: markdown -dateCreated: 2021-09-15T10:46:15.425Z ---- +# Multiple Records Associated with a Single Record > This spec is outdated and should not be followed. {.is-danger} diff --git a/docs/design/specs/navigation-updates.md b/docs/design/specs/navigation-updates.md index 57a2bc30f..2feaf5155 100644 --- a/docs/design/specs/navigation-updates.md +++ b/docs/design/specs/navigation-updates.md @@ -1,12 +1,4 @@ ---- -title: Navigation Updates -description: -published: true -date: 2023-07-19T23:22:06.425Z -tags: -editor: markdown -dateCreated: 2022-08-29T20:35:27.318Z ---- +# Navigation Updates ## Context diff --git a/docs/design/specs/navigation.md b/docs/design/specs/navigation.md index eb7368b7d..b9b61a8b0 100644 --- a/docs/design/specs/navigation.md +++ b/docs/design/specs/navigation.md @@ -1,12 +1,4 @@ ---- -title: Navigation Updates -description: -published: true -date: 2023-07-19T23:22:15.763Z -tags: -editor: markdown -dateCreated: 2022-08-04T19:52:12.117Z ---- +# Navigation Updates ## Context diff --git a/docs/design/specs/non-mathesar-data-types.md b/docs/design/specs/non-mathesar-data-types.md index 9e1fa6611..43752e006 100644 --- a/docs/design/specs/non-mathesar-data-types.md +++ b/docs/design/specs/non-mathesar-data-types.md @@ -1,12 +1,4 @@ ---- -title: Non-Mathesar Data Types -description: -published: true -date: 2023-07-19T23:22:24.409Z -tags: -editor: markdown -dateCreated: 2021-08-12T13:04:26.580Z ---- +# Non-Mathesar Data Types # Context Non-Mathesar types are database types that don't have any special functionality within Mathesar. This could be because that functionality is not implemented, yet it's a standard Postgres type (Other), or because it's a custom data type and not included in standard Postgres data types (Custom). diff --git a/docs/design/specs/number-data-type.md b/docs/design/specs/number-data-type.md index 4475a41e2..1784ea793 100644 --- a/docs/design/specs/number-data-type.md +++ b/docs/design/specs/number-data-type.md @@ -1,12 +1,4 @@ ---- -title: Number Data Type -description: -published: true -date: 2023-07-19T23:22:33.199Z -tags: -editor: markdown -dateCreated: 2021-07-23T20:02:57.303Z ---- +# Number Data Type # Context Number data types allow users to add numeric values in different formats. diff --git a/docs/design/specs/pagination.md b/docs/design/specs/pagination.md index 0d92ed5c0..ba871b0df 100644 --- a/docs/design/specs/pagination.md +++ b/docs/design/specs/pagination.md @@ -1,12 +1,4 @@ ---- -title: Pagination Specs -description: -published: true -date: 2023-07-19T23:22:41.910Z -tags: -editor: markdown -dateCreated: 2021-07-01T21:03:19.432Z ---- +# Pagination Specs # Context The team identified the need for a pagination component during the review of the design specs for [Read-Only Tables](/design/specs/read-only-table). The team decided to add pagination to read-only tables during the [May 19th team meeting](/meeting-notes/may-2021). The team chose pagination against the original requirement of having infinite scrolling to prevent issues with real-time data causing data duplication. diff --git a/docs/design/specs/read-only-table.md b/docs/design/specs/read-only-table.md index 9d88dc626..65c7dfde2 100644 --- a/docs/design/specs/read-only-table.md +++ b/docs/design/specs/read-only-table.md @@ -1,12 +1,4 @@ ---- -title: Read Only Table Spec -description: -published: true -date: 2023-07-19T23:22:50.909Z -tags: -editor: markdown -dateCreated: 2021-07-01T21:12:15.231Z ---- +# Read Only Table Spec > See the related [Figma prototype](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=0%3A1&node-id=1%3A2&viewport=604%2C346%2C0.19209809601306915&scaling=scale-down-width) {.is-info} diff --git a/docs/design/specs/record-page.md b/docs/design/specs/record-page.md index 87e31c6f0..3bed75fe0 100644 --- a/docs/design/specs/record-page.md +++ b/docs/design/specs/record-page.md @@ -1,12 +1,4 @@ ---- -title: Record Page Design -description: -published: true -date: 2023-07-19T23:23:00.019Z -tags: -editor: markdown -dateCreated: 2022-07-18T13:41:06.809Z ---- +# Record Page Design ## Design Goals diff --git a/docs/design/specs/record-selector.md b/docs/design/specs/record-selector.md index a866cdeff..1224746f0 100644 --- a/docs/design/specs/record-selector.md +++ b/docs/design/specs/record-selector.md @@ -1,12 +1,4 @@ ---- -title: record-selector -description: -published: true -date: 2023-07-19T23:23:10.696Z -tags: -editor: markdown -dateCreated: 2022-10-05T16:38:10.477Z ---- +# record-selector # Record selector UX design specs diff --git a/docs/design/specs/record-summary.md b/docs/design/specs/record-summary.md index d53efc22b..8626c0da7 100644 --- a/docs/design/specs/record-summary.md +++ b/docs/design/specs/record-summary.md @@ -1,12 +1,4 @@ ---- -title: Record Summary -description: -published: true -date: 2023-07-19T23:23:19.749Z -tags: -editor: markdown -dateCreated: 2022-07-18T17:49:31.605Z ---- +# Record Summary ## Context diff --git a/docs/design/specs/schemas.md b/docs/design/specs/schemas.md index bf8883e86..6da095865 100644 --- a/docs/design/specs/schemas.md +++ b/docs/design/specs/schemas.md @@ -1,12 +1,4 @@ ---- -title: Working with Schemas -description: -published: true -date: 2023-07-19T23:23:28.912Z -tags: -editor: markdown -dateCreated: 2021-07-07T10:57:41.105Z ---- +# Working with Schemas # Context Users within Mathesar will have multiple data tables that they want to organize and manage. Schemas can be a helpful mechanism to segregate their data for different purposes. Users with more experience with databases will want to incorporate these for reasons that might go beyond just organizing their database objects. However, this organizational aspect will be a primary feature of the design solution. diff --git a/docs/design/specs/sidebar-improvements.md b/docs/design/specs/sidebar-improvements.md index f1cd4c029..a1f22307b 100644 --- a/docs/design/specs/sidebar-improvements.md +++ b/docs/design/specs/sidebar-improvements.md @@ -1,12 +1,4 @@ ---- -title: Sidebar Improvements Spec -description: -published: true -date: 2023-07-19T23:23:37.700Z -tags: -editor: markdown -dateCreated: 2022-01-17T20:57:44.123Z ---- +# Sidebar Improvements Spec ## Context diff --git a/docs/design/specs/specs-null-values.md b/docs/design/specs/specs-null-values.md index 837c6f099..e9881a1a8 100644 --- a/docs/design/specs/specs-null-values.md +++ b/docs/design/specs/specs-null-values.md @@ -1,12 +1,4 @@ ---- -title: NULL Value Specs -description: -published: true -date: 2023-07-19T23:23:47.399Z -tags: -editor: markdown -dateCreated: 2021-12-22T07:13:29.836Z ---- +# NULL Value Specs ## Context diff --git a/docs/design/specs/table-creation-controls.md b/docs/design/specs/table-creation-controls.md index 62bcc1d82..5824db77c 100644 --- a/docs/design/specs/table-creation-controls.md +++ b/docs/design/specs/table-creation-controls.md @@ -1,12 +1,4 @@ ---- -title: Table Creation Controls (discard modal update) -description: -published: true -date: 2023-07-19T23:23:56.153Z -tags: -editor: markdown -dateCreated: 2021-07-01T21:14:55.158Z ---- +# Table Creation Controls (discard modal update) # Context diff --git a/docs/design/specs/table-import.md b/docs/design/specs/table-import.md index 4e83c3e4f..3bd4667ea 100644 --- a/docs/design/specs/table-import.md +++ b/docs/design/specs/table-import.md @@ -1,12 +1,4 @@ ---- -title: Add Table from Import/URI/Data paste Specs -description: -published: true -date: 2023-07-19T23:24:05.189Z -tags: -editor: markdown -dateCreated: 2021-07-01T21:03:22.324Z ---- +# Add Table from Import/URI/Data paste Specs > This spec is a starting point and has been through basic engineering and product reviews. It is not ready for implementation yet. It will have further updates and reviews before we are ready to start implementing this. {.is-danger} diff --git a/docs/design/specs/table-inspector.md b/docs/design/specs/table-inspector.md index f40adf766..19ba74e57 100644 --- a/docs/design/specs/table-inspector.md +++ b/docs/design/specs/table-inspector.md @@ -1,12 +1,4 @@ ---- -title: Table Inspector -description: -published: true -date: 2023-07-19T23:24:14.664Z -tags: -editor: markdown -dateCreated: 2022-08-29T20:35:31.512Z ---- +# Table Inspector ## Legends diff --git a/docs/design/specs/table-operations.md b/docs/design/specs/table-operations.md index 6840fc58e..b75745e6f 100644 --- a/docs/design/specs/table-operations.md +++ b/docs/design/specs/table-operations.md @@ -1,12 +1,4 @@ ---- -title: Basic Table Operations Spec -description: -published: true -date: 2023-07-19T23:24:23.251Z -tags: -editor: markdown -dateCreated: 2021-07-13T12:08:32.516Z ---- +# Basic Table Operations Spec # Context diff --git a/docs/design/specs/ui-styling.md b/docs/design/specs/ui-styling.md index 9b68bd762..6522c9aae 100644 --- a/docs/design/specs/ui-styling.md +++ b/docs/design/specs/ui-styling.md @@ -1,12 +1,4 @@ ---- -title: User Interface Style -description: -published: true -date: 2023-07-19T23:24:31.978Z -tags: -editor: markdown -dateCreated: 2021-09-22T10:25:48.749Z ---- +# User Interface Style # Context Mathesar's user interface design encompasses its visual elements and interactions' aesthetic, responsiveness, efficiency, and accessibility. Essentially what the user sees when they interact with the product. diff --git a/docs/design/specs/url-data-type.md b/docs/design/specs/url-data-type.md index ede12699e..f2c13e9a0 100644 --- a/docs/design/specs/url-data-type.md +++ b/docs/design/specs/url-data-type.md @@ -1,12 +1,4 @@ ---- -title: URL Data Type -description: -published: true -date: 2023-07-19T23:24:40.651Z -tags: -editor: markdown -dateCreated: 2021-08-11T09:31:15.881Z ---- +# URL Data Type # Context URL data types are custom Mathesar data types used to store URLs. diff --git a/docs/design/specs/viewing-views-specs.md b/docs/design/specs/viewing-views-specs.md index ca36a06b8..e12590f4e 100644 --- a/docs/design/specs/viewing-views-specs.md +++ b/docs/design/specs/viewing-views-specs.md @@ -1,12 +1,4 @@ ---- -title: Viewing a View -description: -published: true -date: 2023-07-19T23:24:49.496Z -tags: -editor: markdown -dateCreated: 2021-09-03T09:04:39.016Z ---- +# Viewing a View > This spec is outdated and should not be followed. {.is-danger} diff --git a/docs/design/specs/views-one-to-many-relationships.md b/docs/design/specs/views-one-to-many-relationships.md index 5d14a06a5..788119c5c 100644 --- a/docs/design/specs/views-one-to-many-relationships.md +++ b/docs/design/specs/views-one-to-many-relationships.md @@ -1,12 +1,4 @@ ---- -title: One-to-Many Relationships -description: -published: true -date: 2023-07-19T23:24:58.243Z -tags: -editor: markdown -dateCreated: 2021-08-24T09:02:15.127Z ---- +# One-to-Many Relationships > This spec is outdated and should not be followed. {.is-danger} diff --git a/docs/design/specs/visual-query-builder.md b/docs/design/specs/visual-query-builder.md index a5362328e..d9c14bcaa 100644 --- a/docs/design/specs/visual-query-builder.md +++ b/docs/design/specs/visual-query-builder.md @@ -1,12 +1,4 @@ ---- -title: Data Explorer -description: -published: true -date: 2023-07-19T23:25:07.944Z -tags: -editor: markdown -dateCreated: 2022-06-23T18:27:15.900Z ---- +# Data Explorer ## Context diff --git a/docs/design/specs/working-with-columns.md b/docs/design/specs/working-with-columns.md index 9c4469617..53e46fab7 100644 --- a/docs/design/specs/working-with-columns.md +++ b/docs/design/specs/working-with-columns.md @@ -1,12 +1,4 @@ ---- -title: Working with Columns -description: -published: true -date: 2023-07-19T23:25:16.989Z -tags: -editor: markdown -dateCreated: 2021-07-19T17:34:31.394Z ---- +# Working with Columns > This spec is in the review process, and its contents are subject to change. {.is-warning} diff --git a/docs/design/standards.md b/docs/design/standards.md index 4cac13011..86fa5f49b 100644 --- a/docs/design/standards.md +++ b/docs/design/standards.md @@ -1,12 +1,4 @@ ---- -title: Design Standards -description: Rules to follow for Mathesar's UI -published: true -date: 2023-07-19T23:02:17.758Z -tags: -editor: markdown -dateCreated: 2021-10-20T21:27:44.224Z ---- +# Design Standards # Casing diff --git a/docs/engineering/architecture.md b/docs/engineering/architecture.md index 060b11757..1d81cb1be 100644 --- a/docs/engineering/architecture.md +++ b/docs/engineering/architecture.md @@ -1,12 +1,4 @@ ---- -title: Architecture -description: Documents describing the technical design of Mathesar -published: true -date: 2023-07-19T23:02:26.658Z -tags: -editor: markdown -dateCreated: 2021-04-20T20:34:57.900Z ---- +# Architecture This page has been deprecated in favor of these sections: diff --git a/docs/engineering/archive.md b/docs/engineering/archive.md index e55cd9b87..5d85a0e1a 100644 --- a/docs/engineering/archive.md +++ b/docs/engineering/archive.md @@ -1,12 +1,4 @@ ---- -title: Archive -description: -published: true -date: 2023-07-19T23:02:35.436Z -tags: -editor: markdown -dateCreated: 2022-03-18T22:26:28.071Z ---- +# Archive This section contains pages that are no longer used but preserved for historical interest. diff --git a/docs/engineering/archive/decisions.md b/docs/engineering/archive/decisions.md index dfeed0337..e0710204b 100644 --- a/docs/engineering/archive/decisions.md +++ b/docs/engineering/archive/decisions.md @@ -1,12 +1,4 @@ ---- -title: Engineering Decisions -description: Reference for major engineering decisions -published: true -date: 2023-07-19T23:25:42.696Z -tags: -editor: markdown -dateCreated: 2021-05-06T19:17:12.011Z ---- +# Engineering Decisions > This page is archived. {.is-danger} diff --git a/docs/engineering/code-review.md b/docs/engineering/code-review.md index 08a505446..2d2adc25f 100644 --- a/docs/engineering/code-review.md +++ b/docs/engineering/code-review.md @@ -1,12 +1,4 @@ ---- -title: Code Review Guidelines -description: -published: true -date: 2023-07-19T23:02:44.495Z -tags: -editor: markdown -dateCreated: 2021-04-29T17:28:01.167Z ---- +# Code Review Guidelines Anyone is welcome to review pull requests! diff --git a/docs/engineering/code-review/backend.md b/docs/engineering/code-review/backend.md index 34001dcd8..54548dc00 100644 --- a/docs/engineering/code-review/backend.md +++ b/docs/engineering/code-review/backend.md @@ -1,12 +1,4 @@ ---- -title: Backend Code Review -description: Guidelines for reviewing backend code -published: true -date: 2023-07-19T23:25:51.207Z -tags: -editor: markdown -dateCreated: 2021-08-20T11:58:11.271Z ---- +# Backend Code Review These are general guidelines to follow when reviewing backend code. Please feel free to add to them. diff --git a/docs/engineering/glossary.md b/docs/engineering/glossary.md index e59435889..039bf864a 100644 --- a/docs/engineering/glossary.md +++ b/docs/engineering/glossary.md @@ -1,12 +1,4 @@ ---- -title: Code Glossary -description: -published: true -date: 2023-07-19T23:03:02.749Z -tags: -editor: markdown -dateCreated: 2022-03-18T22:24:19.361Z ---- +# Code Glossary - [UI Types *UI data types in Mathesar*](/en/engineering/glossary/ui-types) - [Filters *Filters in Mathesar*](/en/engineering/glossary/filters) diff --git a/docs/engineering/glossary/filters.md b/docs/engineering/glossary/filters.md index 6aa366e40..28e40648e 100644 --- a/docs/engineering/glossary/filters.md +++ b/docs/engineering/glossary/filters.md @@ -1,12 +1,4 @@ ---- -title: Filters in Mathesar -description: -published: true -date: 2023-07-19T23:26:00.425Z -tags: -editor: markdown -dateCreated: 2022-01-27T20:34:26.513Z ---- +# Filters in Mathesar This page covers filters from an engineering/architecture perspective. Please see the ["Filters" product concepts page](/en/product/concepts/filters) for a user-facing looking at filters. diff --git a/docs/engineering/glossary/ui-types.md b/docs/engineering/glossary/ui-types.md index 1cbb5f182..7ac0da864 100644 --- a/docs/engineering/glossary/ui-types.md +++ b/docs/engineering/glossary/ui-types.md @@ -1,12 +1,4 @@ ---- -title: UI Data Types -description: Mapping Mathesar data types to PostgreSQL types -published: true -date: 2023-07-19T23:26:09.686Z -tags: -editor: markdown -dateCreated: 2022-01-05T22:22:42.669Z ---- +# UI Data Types Please see the ["Data Types" product concept page](/product/concepts/data-types) for more information about the idea behind UI data types (a.k.a. "UI types" for brevity). diff --git a/docs/engineering/release-process.md b/docs/engineering/release-process.md index d48042322..7a31a13cf 100644 --- a/docs/engineering/release-process.md +++ b/docs/engineering/release-process.md @@ -1,12 +1,4 @@ ---- -title: Release Process -description: Steps we follow when creating a release of Mathesar -published: true -date: 2023-07-19T23:03:12.207Z -tags: -editor: markdown -dateCreated: 2023-02-24T12:48:27.636Z ---- +# Release Process These are the steps that we follow for creating a new Mathesar release. diff --git a/docs/engineering/reports.md b/docs/engineering/reports.md index 95c5ebefd..0c5e92936 100644 --- a/docs/engineering/reports.md +++ b/docs/engineering/reports.md @@ -1,12 +1,4 @@ ---- -title: Project reports -description: -published: true -date: 2023-07-26T13:25:16.850Z -tags: -editor: markdown -dateCreated: 2022-10-04T16:45:41.157Z ---- +# Project reports # GSoC 2022 diff --git a/docs/engineering/reports/gsoc-2022-dependents-graph.md b/docs/engineering/reports/gsoc-2022-dependents-graph.md index ca63351ae..d1185441a 100644 --- a/docs/engineering/reports/gsoc-2022-dependents-graph.md +++ b/docs/engineering/reports/gsoc-2022-dependents-graph.md @@ -1,22 +1,6 @@ ---- -title: GSoC 2022: Dependents graph -description: -published: true -date: 2023-07-19T23:26:18.493Z -tags: -editor: markdown -dateCreated: 2022-10-05T16:36:06.811Z ---- - ---- -title: GSoC 2022: Dependents graph -description: -published: true -date: 2023-05-11T14:42:48.109Z -tags: -editor: markdown -dateCreated: 2022-10-05T16:36:06.811Z ---- +# GSoC 2022: Dependents graph + +# GSoC 2022: Dependents graph **Author**: [Yurii Palaida](https://github.com/Jyuart) diff --git a/docs/engineering/reports/gsoc-2022-importing-data-into-existing-tables.md b/docs/engineering/reports/gsoc-2022-importing-data-into-existing-tables.md index 358f47ddb..99a0f376a 100644 --- a/docs/engineering/reports/gsoc-2022-importing-data-into-existing-tables.md +++ b/docs/engineering/reports/gsoc-2022-importing-data-into-existing-tables.md @@ -1,22 +1,6 @@ ---- -title: GSoC 2022: Importing data into existing tables -description: Functionality to allow users to import new data into existing tables using a CSV/TSV file -published: true -date: 2023-07-19T23:26:27.418Z -tags: -editor: markdown -dateCreated: 2022-10-21T15:58:45.623Z ---- - ---- -title: GSoC 2022: Importing data into existing tables -description: Functionality to allow users to import new data into existing tables using a CSV/TSV file -published: true -date: 2023-05-11T14:43:18.853Z -tags: -editor: markdown -dateCreated: 2022-10-21T15:58:45.623Z ---- +# GSoC 2022: Importing data into existing tables + +# GSoC 2022: Importing data into existing tables **Author**: [Anish Umale](https://github.com/Anish9901) diff --git a/docs/engineering/reports/gsoc-2022-json-type.md b/docs/engineering/reports/gsoc-2022-json-type.md index 3db71fa8e..fff8981c8 100644 --- a/docs/engineering/reports/gsoc-2022-json-type.md +++ b/docs/engineering/reports/gsoc-2022-json-type.md @@ -1,22 +1,6 @@ ---- -title: GSoC 2022: JSON data type -description: -published: true -date: 2023-07-19T23:26:36.022Z -tags: -editor: markdown -dateCreated: 2022-10-05T16:42:20.208Z ---- +# GSoC 2022: JSON data type ---- -title: GSoC 2022: JSON data type -description: -published: true -date: 2023-05-11T14:43:04.118Z -tags: -editor: markdown -dateCreated: 2022-10-05T16:42:20.208Z ---- +# GSoC 2022: JSON data type **Author**: [Jinxiao Li](https://github.com/Jinxiao0302) diff --git a/docs/engineering/reports/list-datatype.md b/docs/engineering/reports/list-datatype.md index 173792230..ac045723e 100644 --- a/docs/engineering/reports/list-datatype.md +++ b/docs/engineering/reports/list-datatype.md @@ -1,12 +1,4 @@ ---- -title: List data type report - 2023 internship -description: -published: true -date: 2023-07-26T14:58:00.721Z -tags: -editor: markdown -dateCreated: 2023-07-18T19:34:24.849Z ---- +# List data type report - 2023 internship In this report we will talk about the scope and goals of the project: List data type. Considerations and difficulties are also discussed, as well as the project's current state. Finally, a future work line is given. diff --git a/docs/engineering/research.md b/docs/engineering/research.md index 7fb806fd2..42a3a9359 100644 --- a/docs/engineering/research.md +++ b/docs/engineering/research.md @@ -1,12 +1,4 @@ ---- -title: research -description: -published: true -date: 2023-07-19T23:03:30.656Z -tags: -editor: markdown -dateCreated: 2023-06-23T19:27:04.119Z ---- +# research # Engineering Research diff --git a/docs/engineering/research/formulas.md b/docs/engineering/research/formulas.md index efe7bc30f..4fe8424fc 100644 --- a/docs/engineering/research/formulas.md +++ b/docs/engineering/research/formulas.md @@ -1,12 +1,4 @@ ---- -title: formulas -description: -published: true -date: 2023-07-19T23:26:54.708Z -tags: -editor: markdown -dateCreated: 2023-06-23T19:27:08.066Z ---- +# formulas # Formulas research diff --git a/docs/engineering/resources.md b/docs/engineering/resources.md index bcb6aa89a..35aad6285 100644 --- a/docs/engineering/resources.md +++ b/docs/engineering/resources.md @@ -1,12 +1,4 @@ ---- -title: Resources -description: Reading and resources that might be of interest. -published: true -date: 2023-07-19T23:03:39.690Z -tags: -editor: markdown -dateCreated: 2021-04-20T16:30:35.472Z ---- +# Resources This is a miscellaneous set of reading and resources that may or may not be relevant to Mathesar. **Feel free to add more!** diff --git a/docs/engineering/specs.md b/docs/engineering/specs.md index 747c32c17..95dd7132f 100644 --- a/docs/engineering/specs.md +++ b/docs/engineering/specs.md @@ -1,12 +1,4 @@ ---- -title: Technical Design Documents -description: -published: true -date: 2023-07-19T23:03:56.941Z -tags: -editor: markdown -dateCreated: 2022-03-18T22:25:33.876Z ---- +# Technical Design Documents ## 2022-10 - [Dependents graph](/en/engineering/specs/dependents-graph) diff --git a/docs/engineering/specs/dateandtime.md b/docs/engineering/specs/dateandtime.md index 9818a773b..15f367473 100644 --- a/docs/engineering/specs/dateandtime.md +++ b/docs/engineering/specs/dateandtime.md @@ -1,12 +1,4 @@ ---- -title: Human Readable Dates and Times -description: Spec for handling dates and times in a human friendly way. -published: true -date: 2023-07-19T23:27:12.002Z -tags: -editor: markdown -dateCreated: 2022-02-23T07:55:58.187Z ---- +# Human Readable Dates and Times ## Goals diff --git a/docs/engineering/specs/ddl.md b/docs/engineering/specs/ddl.md index 1bbab22e3..33f1cffc8 100644 --- a/docs/engineering/specs/ddl.md +++ b/docs/engineering/specs/ddl.md @@ -1,12 +1,4 @@ ---- -title: DDL Operations -description: -published: true -date: 2023-07-19T23:27:21.713Z -tags: -editor: markdown -dateCreated: 2021-05-07T15:15:13.597Z ---- +# DDL Operations Data Definition Language (DDL) operations are those involving creating, altering, or dropping (deleting) database objects like: - Tables diff --git a/docs/engineering/specs/dependents-graph.md b/docs/engineering/specs/dependents-graph.md index e7adf1c17..29fd3eac5 100644 --- a/docs/engineering/specs/dependents-graph.md +++ b/docs/engineering/specs/dependents-graph.md @@ -1,12 +1,4 @@ ---- -title: Dependents graph spec -description: -published: true -date: 2023-07-19T23:27:31.212Z -tags: -editor: markdown -dateCreated: 2022-10-05T16:40:35.979Z ---- +# Dependents graph spec This spec describes the goals of the dependents graph feature and the details of its implementation. diff --git a/docs/engineering/specs/dml.md b/docs/engineering/specs/dml.md index 9fa4986e1..fd6da8734 100644 --- a/docs/engineering/specs/dml.md +++ b/docs/engineering/specs/dml.md @@ -1,12 +1,4 @@ ---- -title: DML Operations -description: -published: true -date: 2023-07-19T23:27:39.932Z -tags: -editor: markdown -dateCreated: 2021-05-07T15:16:22.341Z ---- +# DML Operations DML (Data Manipulation Language) operations involve adding (inserting), deleting, and modifying (updating) data in a database. This section deals with details about importing data, adding it to tables, and modifying/deleting records from tables. diff --git a/docs/engineering/specs/import-preview-api.md b/docs/engineering/specs/import-preview-api.md index 8e255c72a..01508e94e 100644 --- a/docs/engineering/specs/import-preview-api.md +++ b/docs/engineering/specs/import-preview-api.md @@ -1,12 +1,4 @@ ---- -title: Import Preview API -description: Spec for API to preview an imported CSV as a typed table -published: true -date: 2023-07-19T23:27:48.940Z -tags: -editor: markdown -dateCreated: 2021-07-02T15:26:50.560Z ---- +# Import Preview API > This spec is accurate as of 2021-09-06, but we will not be updating it in the future. {.is-warning} diff --git a/docs/engineering/specs/internationalization.md b/docs/engineering/specs/internationalization.md index 738b4e85f..790a1272c 100644 --- a/docs/engineering/specs/internationalization.md +++ b/docs/engineering/specs/internationalization.md @@ -1,12 +1,4 @@ ---- -title: Internationalization of Mathesar Codebase -description: -published: true -date: 2023-07-19T23:27:58.240Z -tags: -editor: markdown -dateCreated: 2023-06-07T13:09:51.735Z ---- +# Internationalization of Mathesar Codebase ## Language Detection & Language Switcher diff --git a/docs/engineering/specs/numbers.md b/docs/engineering/specs/numbers.md index 9057e317a..e08e317c3 100644 --- a/docs/engineering/specs/numbers.md +++ b/docs/engineering/specs/numbers.md @@ -1,12 +1,4 @@ ---- -title: Number display and entry -description: Goals and strategies for the display and entry of numerical data -published: true -date: 2023-07-19T23:28:08.005Z -tags: -editor: markdown -dateCreated: 2022-03-17T17:35:25.376Z ---- +# Number display and entry ## Product goals diff --git a/docs/engineering/specs/record-selector.md b/docs/engineering/specs/record-selector.md index 070654b08..e55624ebb 100644 --- a/docs/engineering/specs/record-selector.md +++ b/docs/engineering/specs/record-selector.md @@ -1,12 +1,4 @@ ---- -title: Record Selector spec -description: -published: true -date: 2023-07-19T23:28:17.994Z -tags: -editor: markdown -dateCreated: 2022-06-15T11:31:11.927Z ---- +# Record Selector spec ## Design goals diff --git a/docs/engineering/specs/syncing.md b/docs/engineering/specs/syncing.md index 2ed89e434..930746c3f 100644 --- a/docs/engineering/specs/syncing.md +++ b/docs/engineering/specs/syncing.md @@ -1,12 +1,4 @@ ---- -title: Syncing Database Objects -description: How we sync between the database and the web service -published: true -date: 2023-07-19T23:28:26.520Z -tags: -editor: markdown -dateCreated: 2021-06-01T10:43:59.890Z ---- +# Syncing Database Objects We synchronize database objects between the database and the web service layers through reflection of those objects. For any object created through the Mathesar web interface, we do this by having the web service create a model instance in its service database corresponding to the created object.  However, for objects created via other means, we reflect these in the Mathesar UI by capturing the state of relevant objects in the database, and propagating that state upwards to the web service's models, and then eventually the UI. For more information about database reflection, see the [SQLAlchemy docs](https://docs.sqlalchemy.org/en/14/core/reflection.html). diff --git a/docs/engineering/standards.md b/docs/engineering/standards.md index 7719b5e40..3e9ca3730 100644 --- a/docs/engineering/standards.md +++ b/docs/engineering/standards.md @@ -1,12 +1,4 @@ ---- -title: Standards -description: -published: true -date: 2023-07-19T23:04:05.440Z -tags: -editor: markdown -dateCreated: 2022-03-18T22:21:18.177Z ---- +# Standards > Under construction. {.is-warning} diff --git a/docs/marketing/copy.md b/docs/marketing/copy.md index c8b918c69..3b1546e6a 100644 --- a/docs/marketing/copy.md +++ b/docs/marketing/copy.md @@ -1,12 +1,4 @@ ---- -title: Marketing Copy -description: Text to use on sites which promote Mathesar -published: true -date: 2023-07-19T23:04:23.681Z -tags: -editor: markdown -dateCreated: 2023-03-10T17:03:27.625Z ---- +# Marketing Copy > This copy is still under discussion. {.is-danger} diff --git a/docs/marketing/history.md b/docs/marketing/history.md index 0a2ede5d6..366716399 100644 --- a/docs/marketing/history.md +++ b/docs/marketing/history.md @@ -1,12 +1,4 @@ ---- -title: Marketing History -description: Links to past Mathesar publicity -published: true -date: 2023-07-19T23:04:32.656Z -tags: -editor: markdown -dateCreated: 2023-03-10T17:15:08.244Z ---- +# Marketing History This is a list of links where Mathesar was featured. Only notable links or links that generated some discussion are featured here. diff --git a/docs/marketing/sites.md b/docs/marketing/sites.md index 017a79e41..be3bfbfa5 100644 --- a/docs/marketing/sites.md +++ b/docs/marketing/sites.md @@ -1,12 +1,4 @@ ---- -title: Marketing Sites -description: Sites that rely on our marketing copy in some form or another -published: true -date: 2023-07-19T23:04:41.007Z -tags: -editor: markdown -dateCreated: 2023-03-10T17:03:31.734Z ---- +# Marketing Sites - [Mathesar.org](https://mathesar.org/) - GitHub Repo diff --git a/docs/meeting-notes/2021-11.md b/docs/meeting-notes/2021-11.md index 457687253..fdbf3d3ea 100644 --- a/docs/meeting-notes/2021-11.md +++ b/docs/meeting-notes/2021-11.md @@ -1,12 +1,4 @@ ---- -title: November 2021 meeting notes -description: -published: true -date: 2023-07-19T23:04:50.444Z -tags: -editor: markdown -dateCreated: 2021-11-29T14:36:10.948Z ---- +# November 2021 meeting notes # 2021-11-30 diff --git a/docs/meeting-notes/2021-12.md b/docs/meeting-notes/2021-12.md index 3727c6525..c932e4df4 100644 --- a/docs/meeting-notes/2021-12.md +++ b/docs/meeting-notes/2021-12.md @@ -1,12 +1,4 @@ ---- -title: December 2021 meeting notes -description: -published: true -date: 2023-07-19T23:04:58.990Z -tags: -editor: markdown -dateCreated: 2021-12-04T05:12:42.039Z ---- +# December 2021 meeting notes # 2021-12-20 diff --git a/docs/meeting-notes/2022-01.md b/docs/meeting-notes/2022-01.md index 8eebe75f4..62424fdc8 100644 --- a/docs/meeting-notes/2022-01.md +++ b/docs/meeting-notes/2022-01.md @@ -1,12 +1,4 @@ ---- -title: January 2022 meeting notes -description: -published: true -date: 2023-07-19T23:05:09.652Z -tags: -editor: markdown -dateCreated: 2022-01-13T00:50:40.810Z ---- +# January 2022 meeting notes # 2022-01-31 Please see [2022-01-31 weekly planning](https://github.com/centerofci/mathesar/discussions/1033) on GitHub Discussions. diff --git a/docs/meeting-notes/2022-02.md b/docs/meeting-notes/2022-02.md index 9f3fc9c1c..98ccd5a13 100644 --- a/docs/meeting-notes/2022-02.md +++ b/docs/meeting-notes/2022-02.md @@ -1,12 +1,4 @@ ---- -title: February 2022 meeting notes -description: -published: true -date: 2023-07-19T23:05:20.414Z -tags: -editor: markdown -dateCreated: 2022-02-10T16:35:03.047Z ---- +# February 2022 meeting notes # Asynchronous discussions - [2022-02-28 weekly planning](https://github.com/centerofci/mathesar/discussions/1102) diff --git a/docs/meeting-notes/2022-03.md b/docs/meeting-notes/2022-03.md index 2a11b6724..54ac30501 100644 --- a/docs/meeting-notes/2022-03.md +++ b/docs/meeting-notes/2022-03.md @@ -1,12 +1,4 @@ ---- -title: March 2022 meeting notes -description: -published: true -date: 2023-07-19T23:05:29.969Z -tags: -editor: markdown -dateCreated: 2022-03-01T15:12:30.780Z ---- +# March 2022 meeting notes # Asynchronous discussions - [2022-03-28 weekly planning](https://github.com/centerofci/mathesar/discussions/1232) diff --git a/docs/meeting-notes/2022-04.md b/docs/meeting-notes/2022-04.md index aaa399040..80584291b 100644 --- a/docs/meeting-notes/2022-04.md +++ b/docs/meeting-notes/2022-04.md @@ -1,12 +1,4 @@ ---- -title: April 2022 meeting notes -description: -published: true -date: 2023-07-19T23:05:40.459Z -tags: -editor: markdown -dateCreated: 2022-04-13T19:01:32.122Z ---- +# April 2022 meeting notes # Asynchronous Discussions diff --git a/docs/meeting-notes/2022-05.md b/docs/meeting-notes/2022-05.md index d3d962c5f..ac908a90c 100644 --- a/docs/meeting-notes/2022-05.md +++ b/docs/meeting-notes/2022-05.md @@ -1,12 +1,4 @@ ---- -title: May 2022 meeting notes -description: -published: true -date: 2023-07-19T23:05:49.717Z -tags: -editor: markdown -dateCreated: 2022-07-20T15:16:41.845Z ---- +# May 2022 meeting notes > We switched to a new team workflow in [April 2022](/en/meeting-notes/2022-04). May 2022 meetings were focused on planning out Cycle 2 and involved much more whiteboarding and brainstorming. {.is-info} diff --git a/docs/meeting-notes/2022-06.md b/docs/meeting-notes/2022-06.md index 5eb8b0767..1c40b994a 100644 --- a/docs/meeting-notes/2022-06.md +++ b/docs/meeting-notes/2022-06.md @@ -1,12 +1,4 @@ ---- -title: June 2022 meeting notes -description: -published: true -date: 2023-07-19T23:05:58.499Z -tags: -editor: markdown -dateCreated: 2022-07-20T15:17:17.795Z ---- +# June 2022 meeting notes > We switched to a new team workflow in [April 2022](/en/meeting-notes/2022-04). Because of this change, we did not have any large group meetings in June 2022. {.is-info} diff --git a/docs/meeting-notes/2022-07.md b/docs/meeting-notes/2022-07.md index 9dec83311..d3e5cb62b 100644 --- a/docs/meeting-notes/2022-07.md +++ b/docs/meeting-notes/2022-07.md @@ -1,12 +1,4 @@ ---- -title: July 2022 meeting notes -description: -published: true -date: 2023-07-19T23:06:09.752Z -tags: -editor: markdown -dateCreated: 2022-07-20T15:18:53.284Z ---- +# July 2022 meeting notes # 2022-07-27 Cycle 3 check-in diff --git a/docs/meeting-notes/2022-08.md b/docs/meeting-notes/2022-08.md index e9bb4f550..bd45d6789 100644 --- a/docs/meeting-notes/2022-08.md +++ b/docs/meeting-notes/2022-08.md @@ -1,12 +1,4 @@ ---- -title: August 2022 meeting notes -description: -published: true -date: 2023-07-19T23:06:21.460Z -tags: meeting notes -editor: markdown -dateCreated: 2022-08-03T14:18:42.090Z ---- +# August 2022 meeting notes # 2022-08-31 weekly meeting - **Topic**: New proposal for backend architecture, see [Brent's email](https://groups.google.com/a/mathesar.org/g/mathesar-developers/c/Nu0IXek3BXU) + implementation plan. diff --git a/docs/meeting-notes/2022-09.md b/docs/meeting-notes/2022-09.md index 36e435bab..fa8398e1a 100644 --- a/docs/meeting-notes/2022-09.md +++ b/docs/meeting-notes/2022-09.md @@ -1,12 +1,4 @@ ---- -title: September 2022 meeting notes -description: -published: true -date: 2023-07-19T23:06:32.678Z -tags: -editor: markdown -dateCreated: 2022-09-02T17:39:39.178Z ---- +# September 2022 meeting notes # 2022-09-28 weekly meeting diff --git a/docs/meeting-notes/2022-10.md b/docs/meeting-notes/2022-10.md index 604c9d02e..cbad9122e 100644 --- a/docs/meeting-notes/2022-10.md +++ b/docs/meeting-notes/2022-10.md @@ -1,12 +1,4 @@ ---- -title: October 2022 meeting notes -description: -published: true -date: 2023-07-19T23:06:41.702Z -tags: -editor: markdown -dateCreated: 2022-10-04T19:12:40.763Z ---- +# October 2022 meeting notes - [2022-10-26 weekly meeting](/en/meeting-notes/2022-10/2022-10-26-weekly) - [2022-10-19 weekly meeting](/en/meeting-notes/2022-10/2022-10-19-weekly) diff --git a/docs/meeting-notes/2022-10/2022-10-04-backend.md b/docs/meeting-notes/2022-10/2022-10-04-backend.md index 3e853b7fd..817171930 100644 --- a/docs/meeting-notes/2022-10/2022-10-04-backend.md +++ b/docs/meeting-notes/2022-10/2022-10-04-backend.md @@ -1,12 +1,4 @@ ---- -title: 2022-10-04 backend meeting -description: -published: true -date: 2023-07-19T23:29:01.455Z -tags: -editor: markdown -dateCreated: 2022-10-04T19:14:00.847Z ---- +# 2022-10-04 backend meeting **Topic**: The backend codebase is not in a very good state right now. What can we do to increase future feature velocity, and when should we do it? **Attendees**: Brent, Dom, Kriti, Mukesh, Sean diff --git a/docs/meeting-notes/2022-10/2022-10-05-weekly.md b/docs/meeting-notes/2022-10/2022-10-05-weekly.md index 44bc641f4..c7d37bd2f 100644 --- a/docs/meeting-notes/2022-10/2022-10-05-weekly.md +++ b/docs/meeting-notes/2022-10/2022-10-05-weekly.md @@ -1,12 +1,4 @@ ---- -title: 2022-10-05 weekly meeting -description: -published: true -date: 2023-07-19T23:29:10.689Z -tags: -editor: markdown -dateCreated: 2022-10-05T15:06:45.920Z ---- +# 2022-10-05 weekly meeting ## Cycle 4 Retrospective **Attendees**: Brent, Dom (partial), Ghislaine, Kriti, Mukesh, Pavish, Rajat diff --git a/docs/meeting-notes/2022-10/2022-10-12-weekly.md b/docs/meeting-notes/2022-10/2022-10-12-weekly.md index 8c7833494..883d7e6c8 100644 --- a/docs/meeting-notes/2022-10/2022-10-12-weekly.md +++ b/docs/meeting-notes/2022-10/2022-10-12-weekly.md @@ -1,12 +1,4 @@ ---- -title: 2022-10-12 weekly meeting -description: -published: true -date: 2023-07-19T23:29:19.254Z -tags: -editor: markdown -dateCreated: 2022-10-12T15:37:18.237Z ---- +# 2022-10-12 weekly meeting **Attendees**: entire core team diff --git a/docs/meeting-notes/2022-10/2022-10-19-weekly.md b/docs/meeting-notes/2022-10/2022-10-19-weekly.md index af88ccf0e..933463ecf 100644 --- a/docs/meeting-notes/2022-10/2022-10-19-weekly.md +++ b/docs/meeting-notes/2022-10/2022-10-19-weekly.md @@ -1,12 +1,4 @@ ---- -title: 2022-10-19 weekly meeting -description: -published: true -date: 2023-07-19T23:29:28.205Z -tags: -editor: markdown -dateCreated: 2022-10-19T20:06:50.125Z ---- +# 2022-10-19 weekly meeting ## Cycle 5 progress check in **Participants:** Entire core team diff --git a/docs/meeting-notes/2022-10/2022-10-26-weekly.md b/docs/meeting-notes/2022-10/2022-10-26-weekly.md index 7493d6f75..ffc0782aa 100644 --- a/docs/meeting-notes/2022-10/2022-10-26-weekly.md +++ b/docs/meeting-notes/2022-10/2022-10-26-weekly.md @@ -1,12 +1,4 @@ ---- -title: 2022-10-26 weekly meeting -description: -published: true -date: 2023-07-19T23:29:37.019Z -tags: -editor: markdown -dateCreated: 2022-11-03T02:33:36.387Z ---- +# 2022-10-26 weekly meeting ## Cycle 5 progress check-in **Participants:** Entire core team (Kriti was out) diff --git a/docs/meeting-notes/2022-11.md b/docs/meeting-notes/2022-11.md index 80f9e7580..9b315be9e 100644 --- a/docs/meeting-notes/2022-11.md +++ b/docs/meeting-notes/2022-11.md @@ -1,12 +1,4 @@ ---- -title: November 2022 Meeting Notes -description: -published: true -date: 2023-07-19T23:06:51.172Z -tags: -editor: markdown -dateCreated: 2022-11-03T02:40:49.616Z ---- +# November 2022 Meeting Notes - [2022-11-28 planning meeting](/en/meeting-notes/2022-11/2022-11-28-planning) - [2022-11-17 weekly meeting](/en/meeting-notes/2022-11/2022-11-17-weekly) diff --git a/docs/meeting-notes/2022-11/2022-11-02-weekly.md b/docs/meeting-notes/2022-11/2022-11-02-weekly.md index b8f8d10d9..4392ca002 100644 --- a/docs/meeting-notes/2022-11/2022-11-02-weekly.md +++ b/docs/meeting-notes/2022-11/2022-11-02-weekly.md @@ -1,12 +1,4 @@ ---- -title: 2022-11-02 -description: -published: true -date: 2023-05-11T14:43:32.547Z -tags: -editor: markdown -dateCreated: 2022-11-03T02:54:06.091Z ---- +# 2022-11-02 ## Cycle 5 progress check-in diff --git a/docs/meeting-notes/2022-11/2022-11-09-weekly.md b/docs/meeting-notes/2022-11/2022-11-09-weekly.md index 80f533900..a9d5d0e15 100644 --- a/docs/meeting-notes/2022-11/2022-11-09-weekly.md +++ b/docs/meeting-notes/2022-11/2022-11-09-weekly.md @@ -1,12 +1,4 @@ ---- -title: 2022-11-09 weekly meeting -description: -published: true -date: 2023-07-19T23:29:46.217Z -tags: -editor: markdown -dateCreated: 2022-11-09T14:47:53.263Z ---- +# 2022-11-09 weekly meeting # Cycle 5 progress check-in - **Required participants:** Entire core team diff --git a/docs/meeting-notes/2022-11/2022-11-17-weekly.md b/docs/meeting-notes/2022-11/2022-11-17-weekly.md index 5f961d52b..02efa290d 100644 --- a/docs/meeting-notes/2022-11/2022-11-17-weekly.md +++ b/docs/meeting-notes/2022-11/2022-11-17-weekly.md @@ -1,12 +1,4 @@ ---- -title: 2022-11-17 weekly meeting -description: -published: true -date: 2023-07-19T23:29:55.651Z -tags: -editor: markdown -dateCreated: 2022-11-17T22:16:06.147Z ---- +# 2022-11-17 weekly meeting ## Cycle 5 progress diff --git a/docs/meeting-notes/2022-11/2022-11-28-planning.md b/docs/meeting-notes/2022-11/2022-11-28-planning.md index d3c6266df..4fe8f33d2 100644 --- a/docs/meeting-notes/2022-11/2022-11-28-planning.md +++ b/docs/meeting-notes/2022-11/2022-11-28-planning.md @@ -1,12 +1,4 @@ ---- -title: 2022-11-28 planning meeting -description: -published: true -date: 2023-07-19T23:30:04.733Z -tags: -editor: markdown -dateCreated: 2022-11-28T23:39:51.853Z ---- +# 2022-11-28 planning meeting **Attendees**: Entire core team + Anish diff --git a/docs/meeting-notes/2023-01.md b/docs/meeting-notes/2023-01.md index ac63956d0..bb7d64ec9 100644 --- a/docs/meeting-notes/2023-01.md +++ b/docs/meeting-notes/2023-01.md @@ -1,12 +1,4 @@ ---- -title: January 2023 meeting notes -description: -published: true -date: 2023-07-19T23:07:00.254Z -tags: -editor: markdown -dateCreated: 2023-01-05T16:16:00.982Z ---- +# January 2023 meeting notes - [2023-01-18 frontend meeting on RFCs](/en/meeting-notes/2023-01/2023-01-18-fe-new-feature-rfc) - [2023-01-05 release planning meeting](/en/meeting-notes/2023-01/2023-01-05-planning) diff --git a/docs/meeting-notes/2023-01/2023-01-05-planning.md b/docs/meeting-notes/2023-01/2023-01-05-planning.md index e56fdd27e..3ac7cab3d 100644 --- a/docs/meeting-notes/2023-01/2023-01-05-planning.md +++ b/docs/meeting-notes/2023-01/2023-01-05-planning.md @@ -1,12 +1,4 @@ ---- -title: 2022-01-05 release planning meeting -description: -published: true -date: 2023-07-19T23:30:14.725Z -tags: -editor: markdown -dateCreated: 2023-01-05T16:14:55.623Z ---- +# 2022-01-05 release planning meeting **Meeting Owner**: Kriti **Attendees**: Entire core team diff --git a/docs/meeting-notes/2023-01/2023-01-18-fe-new-feature-rfc.md b/docs/meeting-notes/2023-01/2023-01-18-fe-new-feature-rfc.md index 5c20d28a2..bb8d7b99d 100644 --- a/docs/meeting-notes/2023-01/2023-01-18-fe-new-feature-rfc.md +++ b/docs/meeting-notes/2023-01/2023-01-18-fe-new-feature-rfc.md @@ -1,12 +1,4 @@ ---- -title: 2023-01-18 Frontend meeting on RFCs -description: -published: true -date: 2023-07-19T23:30:23.519Z -tags: -editor: markdown -dateCreated: 2023-01-17T23:31:25.532Z ---- +# 2023-01-18 Frontend meeting on RFCs Attendees: Core frontend team diff --git a/docs/meeting-notes/2023-01/2023-01-20-partial-user-input-of-dates.md b/docs/meeting-notes/2023-01/2023-01-20-partial-user-input-of-dates.md index 552d82c59..1cf45edab 100644 --- a/docs/meeting-notes/2023-01/2023-01-20-partial-user-input-of-dates.md +++ b/docs/meeting-notes/2023-01/2023-01-20-partial-user-input-of-dates.md @@ -1,12 +1,4 @@ ---- -title: 2023-01-20-partial-user-input-of-dates -description: -published: true -date: 2023-07-19T23:30:32.431Z -tags: -editor: markdown -dateCreated: 2023-01-20T17:51:21.985Z ---- +# 2023-01-20-partial-user-input-of-dates # 2023-01-20 Meeting about how to handle partial user input of dates diff --git a/docs/meeting-notes/2023-02.md b/docs/meeting-notes/2023-02.md index 89d59bc00..e6e209817 100644 --- a/docs/meeting-notes/2023-02.md +++ b/docs/meeting-notes/2023-02.md @@ -1,12 +1,4 @@ ---- -title: February 2023 meeting notes -description: -published: true -date: 2023-07-19T23:07:09.205Z -tags: -editor: markdown -dateCreated: 2023-02-01T17:17:53.265Z ---- +# February 2023 meeting notes - [2023-02-27 deployment check in](/en/meeting-notes/2023-02/2023-02-27-deployment-check-in) - [2023-02-24 launch update email](/en/meeting-notes/2023-02/2023-02-24-launch-update-email) diff --git a/docs/meeting-notes/2023-02/2023-02-01-team.md b/docs/meeting-notes/2023-02/2023-02-01-team.md index 7d56418d3..fbc272732 100644 --- a/docs/meeting-notes/2023-02/2023-02-01-team.md +++ b/docs/meeting-notes/2023-02/2023-02-01-team.md @@ -1,12 +1,4 @@ ---- -title: 2023-02-01 Team Meeting -description: -published: true -date: 2023-07-19T23:30:41.455Z -tags: -editor: markdown -dateCreated: 2023-02-01T17:16:51.069Z ---- +# 2023-02-01 Team Meeting ## GSoC Project Ideas & Next Steps ### Notes diff --git a/docs/meeting-notes/2023-02/2023-02-08-launch-planning.md b/docs/meeting-notes/2023-02/2023-02-08-launch-planning.md index 2a4b601b4..e7708f4c5 100644 --- a/docs/meeting-notes/2023-02/2023-02-08-launch-planning.md +++ b/docs/meeting-notes/2023-02/2023-02-08-launch-planning.md @@ -1,12 +1,4 @@ ---- -title: 2023-02-08 launch planning meeting -description: -published: true -date: 2023-07-19T23:30:50.756Z -tags: -editor: markdown -dateCreated: 2023-02-08T15:57:18.507Z ---- +# 2023-02-08 launch planning meeting # General update and Q&A Kriti gave an update on diff --git a/docs/meeting-notes/2023-02/2023-02-10-launch-check-in.md b/docs/meeting-notes/2023-02/2023-02-10-launch-check-in.md index 49ab6f847..d20450139 100644 --- a/docs/meeting-notes/2023-02/2023-02-10-launch-check-in.md +++ b/docs/meeting-notes/2023-02/2023-02-10-launch-check-in.md @@ -1,12 +1,4 @@ ---- -title: 2023-02-10 launch check-in -description: -published: true -date: 2023-07-19T23:30:59.499Z -tags: -editor: markdown -dateCreated: 2023-02-10T15:55:45.786Z ---- +# 2023-02-10 launch check-in # General check in - **GH project**: Kriti updated the GH project, made issues for things we need to do. GH proj should be primary source of truth. diff --git a/docs/meeting-notes/2023-02/2023-02-13-launch-check-in.md b/docs/meeting-notes/2023-02/2023-02-13-launch-check-in.md index 9bbd4fa8a..268e001cd 100644 --- a/docs/meeting-notes/2023-02/2023-02-13-launch-check-in.md +++ b/docs/meeting-notes/2023-02/2023-02-13-launch-check-in.md @@ -1,12 +1,4 @@ ---- -title: 2023-02-13 launch check-in -description: -published: true -date: 2023-07-19T23:31:08.504Z -tags: -editor: markdown -dateCreated: 2023-02-13T15:52:28.556Z ---- +# 2023-02-13 launch check-in # General check-in diff --git a/docs/meeting-notes/2023-02/2023-02-15-launch-check-in.md b/docs/meeting-notes/2023-02/2023-02-15-launch-check-in.md index 78cbbe3b2..1bcadfdb8 100644 --- a/docs/meeting-notes/2023-02/2023-02-15-launch-check-in.md +++ b/docs/meeting-notes/2023-02/2023-02-15-launch-check-in.md @@ -1,12 +1,4 @@ ---- -title: 2023-02-15 launch check in -description: -published: true -date: 2023-07-19T23:31:17.512Z -tags: -editor: markdown -dateCreated: 2023-02-15T19:51:40.312Z ---- +# 2023-02-15 launch check in ## General check in diff --git a/docs/meeting-notes/2023-02/2023-02-17-launch-check-in.md b/docs/meeting-notes/2023-02/2023-02-17-launch-check-in.md index 8856f84a5..c58e5d957 100644 --- a/docs/meeting-notes/2023-02/2023-02-17-launch-check-in.md +++ b/docs/meeting-notes/2023-02/2023-02-17-launch-check-in.md @@ -1,12 +1,4 @@ ---- -title: 2023-02-17 launch check in -description: -published: true -date: 2023-07-19T23:31:26.730Z -tags: -editor: markdown -dateCreated: 2023-02-17T15:55:23.616Z ---- +# 2023-02-17 launch check in # Upcoming meetings - Monday's launch check in is moved to Tuesday because of US holiday diff --git a/docs/meeting-notes/2023-02/2023-02-21-launch-check-in.md b/docs/meeting-notes/2023-02/2023-02-21-launch-check-in.md index 683d5c93b..b47b49c51 100644 --- a/docs/meeting-notes/2023-02/2023-02-21-launch-check-in.md +++ b/docs/meeting-notes/2023-02/2023-02-21-launch-check-in.md @@ -1,12 +1,4 @@ ---- -title: 2023-02-21 launch check in -description: -published: true -date: 2023-07-19T23:31:36.191Z -tags: -editor: markdown -dateCreated: 2023-02-21T16:31:17.009Z ---- +# 2023-02-21 launch check in # General check in diff --git a/docs/meeting-notes/2023-02/2023-02-22-launch-check-in.md b/docs/meeting-notes/2023-02/2023-02-22-launch-check-in.md index 9d35a4184..394288cea 100644 --- a/docs/meeting-notes/2023-02/2023-02-22-launch-check-in.md +++ b/docs/meeting-notes/2023-02/2023-02-22-launch-check-in.md @@ -1,12 +1,4 @@ ---- -title: 2023-02-22 launch check-in -description: -published: true -date: 2023-07-19T23:31:45.713Z -tags: -editor: markdown -dateCreated: 2023-02-22T16:20:44.732Z ---- +# 2023-02-22 launch check-in # General check in diff --git a/docs/meeting-notes/2023-02/2023-02-23-launch-check-in.md b/docs/meeting-notes/2023-02/2023-02-23-launch-check-in.md index e5091e20c..5c1a2a7dd 100644 --- a/docs/meeting-notes/2023-02/2023-02-23-launch-check-in.md +++ b/docs/meeting-notes/2023-02/2023-02-23-launch-check-in.md @@ -1,12 +1,4 @@ ---- -title: 2023-02-23 launch check in -description: -published: true -date: 2023-07-19T23:31:55.000Z -tags: -editor: markdown -dateCreated: 2023-02-23T20:03:18.420Z ---- +# 2023-02-23 launch check in # General check in - Two working days left! diff --git a/docs/meeting-notes/2023-02/2023-02-24-launch-update-email.md b/docs/meeting-notes/2023-02/2023-02-24-launch-update-email.md index fb2643980..270e1ce5c 100644 --- a/docs/meeting-notes/2023-02/2023-02-24-launch-update-email.md +++ b/docs/meeting-notes/2023-02/2023-02-24-launch-update-email.md @@ -1,12 +1,4 @@ ---- -title: 2023-02-24 launch update email -description: -published: true -date: 2023-07-19T23:32:03.758Z -tags: -editor: markdown -dateCreated: 2023-02-27T16:41:59.751Z ---- +# 2023-02-24 launch update email *We discussed launch in an internal email instead of having a meeting. Highlights:* diff --git a/docs/meeting-notes/2023-02/2023-02-27-deployment-check-in.md b/docs/meeting-notes/2023-02/2023-02-27-deployment-check-in.md index 226007430..97e94b0e5 100644 --- a/docs/meeting-notes/2023-02/2023-02-27-deployment-check-in.md +++ b/docs/meeting-notes/2023-02/2023-02-27-deployment-check-in.md @@ -1,12 +1,4 @@ ---- -title: 2023-02-27 deployment check-in -description: -published: true -date: 2023-07-19T23:32:12.485Z -tags: -editor: markdown -dateCreated: 2023-02-27T16:36:15.992Z ---- +# 2023-02-27 deployment check-in **Participants**: Kriti, Mukesh, Brent diff --git a/docs/meeting-notes/2023-03.md b/docs/meeting-notes/2023-03.md index 875c4e85b..3d16458db 100644 --- a/docs/meeting-notes/2023-03.md +++ b/docs/meeting-notes/2023-03.md @@ -1,12 +1,4 @@ ---- -title: March 2023 meeting notes -description: -published: true -date: 2023-07-19T23:07:18.001Z -tags: -editor: markdown -dateCreated: 2023-03-06T16:37:56.667Z ---- +# March 2023 meeting notes - [2023-03-29 Team meeting](./2023-03/2023-03-29-team-meeting.md) - [2023-03-27 Installation improvements planned for 0.1.2](./2023-03/installation-improvements-in-0-1-2) diff --git a/docs/meeting-notes/2023-03/2023-03-02-launch-check-in.md b/docs/meeting-notes/2023-03/2023-03-02-launch-check-in.md index 62b2382b2..b8fc6de98 100644 --- a/docs/meeting-notes/2023-03/2023-03-02-launch-check-in.md +++ b/docs/meeting-notes/2023-03/2023-03-02-launch-check-in.md @@ -1,12 +1,4 @@ ---- -title: 2023-03-02 launch check-in -description: -published: true -date: 2023-07-19T23:32:21.457Z -tags: -editor: markdown -dateCreated: 2023-03-06T16:37:26.083Z ---- +# 2023-03-02 launch check-in # Publicity Plan - [Draft document](https://docs.google.com/document/d/1s8WL0Uc9ak4jjHpOP6Mg0r2xsYN-SjbW5pcthF8ejLY/edit#) (not publicly accessible) diff --git a/docs/meeting-notes/2023-03/2023-03-07-priorities-workflow-meeting.md b/docs/meeting-notes/2023-03/2023-03-07-priorities-workflow-meeting.md index b46e798c3..cc9abbb48 100644 --- a/docs/meeting-notes/2023-03/2023-03-07-priorities-workflow-meeting.md +++ b/docs/meeting-notes/2023-03/2023-03-07-priorities-workflow-meeting.md @@ -1,12 +1,4 @@ ---- -title: 2023-03-07 priorities & workflow meeting -description: -published: true -date: 2023-07-19T23:32:30.942Z -tags: -editor: markdown -dateCreated: 2023-03-07T15:50:27.105Z ---- +# 2023-03-07 priorities & workflow meeting # Current top goal: user growth **Goal** Get people using Mathesar! diff --git a/docs/meeting-notes/2023-03/2023-03-08-removing-sqlachemy-meeting.md b/docs/meeting-notes/2023-03/2023-03-08-removing-sqlachemy-meeting.md index 9a286a9c9..4244c9f81 100644 --- a/docs/meeting-notes/2023-03/2023-03-08-removing-sqlachemy-meeting.md +++ b/docs/meeting-notes/2023-03/2023-03-08-removing-sqlachemy-meeting.md @@ -1,12 +1,4 @@ ---- -title: Removing SQLAlchemy meeting 2023-03-08 -description: -published: true -date: 2023-07-19T23:32:39.678Z -tags: -editor: markdown -dateCreated: 2023-03-08T15:38:12.185Z ---- +# Removing SQLAlchemy meeting 2023-03-08 Related to the "Removing SQLAlchemy" project, I think it would be good to get the back end team together to look at the 'big picture' w.r.t. performance and cleanliness in the back end of Mathesar. diff --git a/docs/meeting-notes/2023-03/2023-03-17-installation-improvements-meeting.md b/docs/meeting-notes/2023-03/2023-03-17-installation-improvements-meeting.md index 21d51b7c2..d7e26ddae 100644 --- a/docs/meeting-notes/2023-03/2023-03-17-installation-improvements-meeting.md +++ b/docs/meeting-notes/2023-03/2023-03-17-installation-improvements-meeting.md @@ -1,12 +1,4 @@ ---- -title: Installation Improvements Meeting -description: -published: true -date: 2023-07-19T23:32:48.496Z -tags: -editor: markdown -dateCreated: 2023-03-17T16:43:57.054Z ---- +# Installation Improvements Meeting ## Meeting Information **Meeting Purpose:** Brainstorm Installation Improvements diff --git a/docs/meeting-notes/2023-03/2023-03-20-handling-regressions.md b/docs/meeting-notes/2023-03/2023-03-20-handling-regressions.md index 7e84aa994..bbfa879e5 100644 --- a/docs/meeting-notes/2023-03/2023-03-20-handling-regressions.md +++ b/docs/meeting-notes/2023-03/2023-03-20-handling-regressions.md @@ -1,12 +1,4 @@ ---- -title: Handling regressions in 0.1.1 -description: -published: true -date: 2023-07-19T23:32:57.442Z -tags: -editor: markdown -dateCreated: 2023-03-20T14:36:11.229Z ---- +# Handling regressions in 0.1.1 # 2023-03-20 Handling regressions in 0.1.1 diff --git a/docs/meeting-notes/2023-03/2023-03-29-team-meeting.md b/docs/meeting-notes/2023-03/2023-03-29-team-meeting.md index bb833dee2..028961895 100644 --- a/docs/meeting-notes/2023-03/2023-03-29-team-meeting.md +++ b/docs/meeting-notes/2023-03/2023-03-29-team-meeting.md @@ -1,12 +1,4 @@ ---- -title: 2023-03-29 Team meeting -description: -published: true -date: 2023-07-19T23:33:06.936Z -tags: -editor: markdown -dateCreated: 2023-03-29T16:10:56.270Z ---- +# 2023-03-29 Team meeting ## Projects & responsibilities check-in - **Summary**: I'd like to check in with everyone on the status of planned projects and ongoing responsibilities diff --git a/docs/meeting-notes/2023-03/backend-meeting-2023-03-13.md b/docs/meeting-notes/2023-03/backend-meeting-2023-03-13.md index 9257a56fb..0763fc0b3 100644 --- a/docs/meeting-notes/2023-03/backend-meeting-2023-03-13.md +++ b/docs/meeting-notes/2023-03/backend-meeting-2023-03-13.md @@ -1,12 +1,4 @@ ---- -title: Backend meeting 2023-03-13 -description: -published: true -date: 2023-07-19T23:33:15.912Z -tags: -editor: markdown -dateCreated: 2023-03-13T17:00:56.033Z ---- +# Backend meeting 2023-03-13 **Date**: 2023-03-13 **Attendees**: Anish, Brent, Dominkyas, Mukesh, Sean diff --git a/docs/meeting-notes/2023-03/core-team-meeting-2023-03-15.md b/docs/meeting-notes/2023-03/core-team-meeting-2023-03-15.md index 14dfdce54..6570bc691 100644 --- a/docs/meeting-notes/2023-03/core-team-meeting-2023-03-15.md +++ b/docs/meeting-notes/2023-03/core-team-meeting-2023-03-15.md @@ -1,12 +1,4 @@ ---- -title: Core team meeting 2023-03-15 -description: -published: true -date: 2023-07-19T23:33:26.208Z -tags: -editor: markdown -dateCreated: 2023-03-15T16:30:56.637Z ---- +# Core team meeting 2023-03-15 **Date**: 2023-03-13 **Attendees**: All core team members + Anish diff --git a/docs/meeting-notes/2023-03/installation-improvements-in-0-1-2.md b/docs/meeting-notes/2023-03/installation-improvements-in-0-1-2.md index 7589d1473..0e31ac504 100644 --- a/docs/meeting-notes/2023-03/installation-improvements-in-0-1-2.md +++ b/docs/meeting-notes/2023-03/installation-improvements-in-0-1-2.md @@ -1,12 +1,4 @@ ---- -title: Installation improvements planned for 0.1.2 -description: -published: true -date: 2023-07-19T23:33:35.183Z -tags: -editor: markdown -dateCreated: 2023-03-27T15:25:03.541Z ---- +# Installation improvements planned for 0.1.2 Date: 2023-03-27 Attendees: Mukesh, Pavish diff --git a/docs/meeting-notes/2023-03/release-plan-0_1_2.md b/docs/meeting-notes/2023-03/release-plan-0_1_2.md index e1f04314b..aaa8c14e0 100644 --- a/docs/meeting-notes/2023-03/release-plan-0_1_2.md +++ b/docs/meeting-notes/2023-03/release-plan-0_1_2.md @@ -1,12 +1,4 @@ ---- -title: 2023-03-21 Plan for 0.1.2 -description: -published: true -date: 2023-07-19T23:33:43.900Z -tags: -editor: markdown -dateCreated: 2023-03-21T19:08:22.422Z ---- +# 2023-03-21 Plan for 0.1.2 **Attendees**: Pavish, Kriti diff --git a/docs/meeting-notes/2023-03/responsibilities-projects-meeting-2023-03-15.md b/docs/meeting-notes/2023-03/responsibilities-projects-meeting-2023-03-15.md index 7f38f6607..901244c70 100644 --- a/docs/meeting-notes/2023-03/responsibilities-projects-meeting-2023-03-15.md +++ b/docs/meeting-notes/2023-03/responsibilities-projects-meeting-2023-03-15.md @@ -1,12 +1,4 @@ ---- -title: Core team meeting 2023-03-17 -description: -published: true -date: 2023-07-19T23:33:52.987Z -tags: -editor: markdown -dateCreated: 2023-03-17T15:57:10.154Z ---- +# Core team meeting 2023-03-17 **Attendees**: Brent, Dom, Ghislaine, Kriti, Mukesh, Pavish, Rajat, Sean diff --git a/docs/meeting-notes/2023-04.md b/docs/meeting-notes/2023-04.md index 0fdd4a6bf..ee308eeda 100644 --- a/docs/meeting-notes/2023-04.md +++ b/docs/meeting-notes/2023-04.md @@ -1,12 +1,4 @@ ---- -title: April 2023 meeting notes -description: -published: true -date: 2023-07-19T23:07:26.513Z -tags: -editor: markdown -dateCreated: 2023-04-07T14:54:44.325Z ---- +# April 2023 meeting notes - [2023-04-03 Installation plan finalization](./2023-04/2023-04-03-installation-plan-finalization) {.links-list} \ No newline at end of file diff --git a/docs/meeting-notes/2023-04/2023-04-03-installation-plan-finalization.md b/docs/meeting-notes/2023-04/2023-04-03-installation-plan-finalization.md index f6501be7c..3ce7523be 100644 --- a/docs/meeting-notes/2023-04/2023-04-03-installation-plan-finalization.md +++ b/docs/meeting-notes/2023-04/2023-04-03-installation-plan-finalization.md @@ -1,12 +1,4 @@ ---- -title: 2023-04-03 Installation plan finalization -description: -published: true -date: 2023-07-19T23:34:01.963Z -tags: -editor: markdown -dateCreated: 2023-04-07T14:52:40.333Z ---- +# 2023-04-03 Installation plan finalization ## Mukesh's reply to email: * The documentation plan is same diff --git a/docs/meeting-notes/2023-05.md b/docs/meeting-notes/2023-05.md index ce7a27ca2..967a4b5c7 100644 --- a/docs/meeting-notes/2023-05.md +++ b/docs/meeting-notes/2023-05.md @@ -1,12 +1,4 @@ ---- -title: May 2023 meeting notes -description: -published: true -date: 2023-07-19T23:07:35.152Z -tags: -editor: markdown -dateCreated: 2023-05-03T17:09:36.184Z ---- +# May 2023 meeting notes - [2023-05-30 frontend team meeting](./2023-05/2023-05-30-front-end-team-meeting.md) - [2023-05-10 Team meeting](./2023-05/2023-05-10-team-meeting.md) diff --git a/docs/meeting-notes/2023-05/2023-05-03-team-meeting.md b/docs/meeting-notes/2023-05/2023-05-03-team-meeting.md index 16dbdbeb4..7f3e8189c 100644 --- a/docs/meeting-notes/2023-05/2023-05-03-team-meeting.md +++ b/docs/meeting-notes/2023-05/2023-05-03-team-meeting.md @@ -1,12 +1,4 @@ ---- -title: 2023-05-03 Team meeting -description: -published: true -date: 2023-07-19T23:34:11.257Z -tags: -editor: markdown -dateCreated: 2023-05-03T17:09:40.296Z ---- +# 2023-05-03 Team meeting ## Quick Save Functionality: Backend Concerns and Clarifications diff --git a/docs/meeting-notes/2023-05/2023-05-10-team-meeting.md b/docs/meeting-notes/2023-05/2023-05-10-team-meeting.md index 205ecce5b..b19d1ae39 100644 --- a/docs/meeting-notes/2023-05/2023-05-10-team-meeting.md +++ b/docs/meeting-notes/2023-05/2023-05-10-team-meeting.md @@ -1,12 +1,4 @@ ---- -title: 2023-05-10 Team meeting -description: -published: true -date: 2023-07-19T23:34:20.234Z -tags: -editor: markdown -dateCreated: 2023-05-11T16:33:43.328Z ---- +# 2023-05-10 Team meeting ## GSoC proposal phase retrospective diff --git a/docs/meeting-notes/2023-05/2023-05-30-front-end-team-meeting.md b/docs/meeting-notes/2023-05/2023-05-30-front-end-team-meeting.md index 35651a294..8fe4e97e3 100644 --- a/docs/meeting-notes/2023-05/2023-05-30-front-end-team-meeting.md +++ b/docs/meeting-notes/2023-05/2023-05-30-front-end-team-meeting.md @@ -1,12 +1,4 @@ ---- -title: 2023-05-30 Front End Team meeting -description: -published: true -date: 2023-07-19T23:34:28.998Z -tags: -editor: markdown -dateCreated: 2023-05-30T16:46:34.205Z ---- +# 2023-05-30 Front End Team meeting ## At a high level, what should we focus on right now? diff --git a/docs/meeting-notes/2023-06.md b/docs/meeting-notes/2023-06.md index 77f3c58fb..532436429 100644 --- a/docs/meeting-notes/2023-06.md +++ b/docs/meeting-notes/2023-06.md @@ -1,12 +1,4 @@ ---- -title: June 2023 meeting notes -description: -published: true -date: 2023-07-19T23:07:43.963Z -tags: -editor: markdown -dateCreated: 2023-06-12T18:50:18.907Z ---- +# June 2023 meeting notes - [2023-06-27 team meeting](./2023-06/2023-06-27-team-meeting.md) - [2023-06-13 installation planning meeting](./2023-06/2023-06-13-installation-planning-meeting.md) diff --git a/docs/meeting-notes/2023-06/2023-06-07-team-meeting.md b/docs/meeting-notes/2023-06/2023-06-07-team-meeting.md index e19251366..6dbca1e54 100644 --- a/docs/meeting-notes/2023-06/2023-06-07-team-meeting.md +++ b/docs/meeting-notes/2023-06/2023-06-07-team-meeting.md @@ -1,12 +1,4 @@ ---- -title: 2023-06-07 team meeting -description: -published: true -date: 2023-07-19T23:34:38.737Z -tags: -editor: markdown -dateCreated: 2023-06-12T18:50:07.670Z ---- +# 2023-06-07 team meeting ## New contributor introductions We set aside some time for our new summer 2023 contributors - Anshuman, Aritra, Maria, Shrey, and Varsha - to meet each other and the rest of the team. diff --git a/docs/meeting-notes/2023-06/2023-06-13-installation-planning-meeting.md b/docs/meeting-notes/2023-06/2023-06-13-installation-planning-meeting.md index 8966cc8a6..227583443 100644 --- a/docs/meeting-notes/2023-06/2023-06-13-installation-planning-meeting.md +++ b/docs/meeting-notes/2023-06/2023-06-13-installation-planning-meeting.md @@ -1,12 +1,4 @@ ---- -title: 2023-06-13 Installation Planning Meeting -description: -published: true -date: 2023-07-19T23:34:49.257Z -tags: -editor: markdown -dateCreated: 2023-06-15T18:52:57.263Z ---- +# 2023-06-13 Installation Planning Meeting Attending: - Kriti diff --git a/docs/meeting-notes/2023-06/2023-06-27-team-meeting.md b/docs/meeting-notes/2023-06/2023-06-27-team-meeting.md index 0c088a0ff..3a0b91faf 100644 --- a/docs/meeting-notes/2023-06/2023-06-27-team-meeting.md +++ b/docs/meeting-notes/2023-06/2023-06-27-team-meeting.md @@ -1,12 +1,4 @@ ---- -title: 2023-06-27 team meeting -description: -published: true -date: 2023-07-19T23:34:58.213Z -tags: -editor: markdown -dateCreated: 2023-06-27T16:10:26.260Z ---- +# 2023-06-27 team meeting **Attendees**: Core team, Anish, Anshuman diff --git a/docs/meeting-notes/2023-07.md b/docs/meeting-notes/2023-07.md index 4ba9b4013..421634be7 100644 --- a/docs/meeting-notes/2023-07.md +++ b/docs/meeting-notes/2023-07.md @@ -1,12 +1,4 @@ ---- -title: July 2023 meeting notes -description: -published: true -date: 2023-07-28T15:18:47.746Z -tags: -editor: markdown -dateCreated: 2023-07-06T21:07:08.597Z ---- +# July 2023 meeting notes - [2023-07-28 installation meeting](./2023-07/2023-07-28-installation-meeting.md) - [2023-07-26 team meeting](./2023-07/2023-07-26-team-meeting.md) diff --git a/docs/meeting-notes/2023-07/2023-07-03-team-meeting.md b/docs/meeting-notes/2023-07/2023-07-03-team-meeting.md index a8a49116a..0659fb1ce 100644 --- a/docs/meeting-notes/2023-07/2023-07-03-team-meeting.md +++ b/docs/meeting-notes/2023-07/2023-07-03-team-meeting.md @@ -1,12 +1,4 @@ ---- -title: 2023-07-03 team meeting -description: -published: true -date: 2023-07-19T23:35:07.698Z -tags: -editor: markdown -dateCreated: 2023-07-06T21:06:43.580Z ---- +# 2023-07-03 team meeting ## Brent's update about Mathesar users Brent did an update on what he's learned from the Mathesar users he's been talking to. diff --git a/docs/meeting-notes/2023-07/2023-07-06-installation-meeting.md b/docs/meeting-notes/2023-07/2023-07-06-installation-meeting.md index 862d5ca15..c759f9906 100644 --- a/docs/meeting-notes/2023-07/2023-07-06-installation-meeting.md +++ b/docs/meeting-notes/2023-07/2023-07-06-installation-meeting.md @@ -1,12 +1,4 @@ ---- -title: 2023-07-06 installation planning meeting -description: -published: true -date: 2023-07-19T23:35:17.431Z -tags: -editor: markdown -dateCreated: 2023-07-06T21:13:03.711Z ---- +# 2023-07-06 installation planning meeting > See [this page](/meeting-notes/2023-06/2023-06-13-installation-planning-meeting.md) for notes on parts I and II of this meeting. {.is-info} diff --git a/docs/meeting-notes/2023-07/2023-07-06-team-meeting.md b/docs/meeting-notes/2023-07/2023-07-06-team-meeting.md index 7601623a4..3314e3a53 100644 --- a/docs/meeting-notes/2023-07/2023-07-06-team-meeting.md +++ b/docs/meeting-notes/2023-07/2023-07-06-team-meeting.md @@ -1,12 +1,4 @@ ---- -title: 2023-07-06 team meeting -description: -published: true -date: 2023-07-19T23:35:26.490Z -tags: -editor: markdown -dateCreated: 2023-07-06T21:08:36.425Z ---- +# 2023-07-06 team meeting ## Project finalization List of projects from last time: diff --git a/docs/meeting-notes/2023-07/2023-07-11-installation-meeting.md b/docs/meeting-notes/2023-07/2023-07-11-installation-meeting.md index 73b82e67a..8ed1a16a6 100644 --- a/docs/meeting-notes/2023-07/2023-07-11-installation-meeting.md +++ b/docs/meeting-notes/2023-07/2023-07-11-installation-meeting.md @@ -1,12 +1,4 @@ ---- -title: 2023-07-11 installation meeting -description: -published: true -date: 2023-07-19T23:35:35.721Z -tags: -editor: markdown -dateCreated: 2023-07-13T19:51:02.486Z ---- +# 2023-07-11 installation meeting ## Links - [Meeting notes: Parts I & II](https://wiki.mathesar.org/en/meeting-notes/2023-06/2023-06-13-installation-planning-meeting.md) diff --git a/docs/meeting-notes/2023-07/2023-07-26-team-meeting.md b/docs/meeting-notes/2023-07/2023-07-26-team-meeting.md index 0ac2c0ef3..a432dfa28 100644 --- a/docs/meeting-notes/2023-07/2023-07-26-team-meeting.md +++ b/docs/meeting-notes/2023-07/2023-07-26-team-meeting.md @@ -1,12 +1,4 @@ ---- -title: 2023-07-26 team meeting -description: -published: true -date: 2023-07-26T00:00:00.000Z -tags: -editor: markdown -dateCreated: 2023-07-26T00:00:00.000Z ---- +# 2023-07-26 team meeting ## List data type update diff --git a/docs/meeting-notes/2023-07/2023-07-28-installation-meeting.md b/docs/meeting-notes/2023-07/2023-07-28-installation-meeting.md index 0343c601e..37261f90e 100644 --- a/docs/meeting-notes/2023-07/2023-07-28-installation-meeting.md +++ b/docs/meeting-notes/2023-07/2023-07-28-installation-meeting.md @@ -1,12 +1,4 @@ ---- -title: 2023-07-28 installation meeting -description: -published: true -date: 2023-07-28T15:15:16.432Z -tags: -editor: markdown -dateCreated: 2023-07-28T15:15:16.432Z ---- +# 2023-07-28 installation meeting # Links - [Meeting notes: Parts I & II](https://wiki.mathesar.org/en/meeting-notes/2023-06/2023-06-13-installation-planning-meeting.md) diff --git a/docs/meeting-notes/2023-08.md b/docs/meeting-notes/2023-08.md index f622665c2..9897a5957 100644 --- a/docs/meeting-notes/2023-08.md +++ b/docs/meeting-notes/2023-08.md @@ -1,12 +1,4 @@ ---- -title: August 2023 meeting notes -description: -published: true -date: 2023-08-09T17:54:59.532Z -tags: -editor: markdown -dateCreated: 2023-08-09T17:52:46.368Z ---- +# August 2023 meeting notes - [2023-08-23 team meeting](./2023-08/2023-08-23-team-meeting.md) - [2023-08-18 team meeting](./2023-08/2023-08-18-team-meeting.md) diff --git a/docs/meeting-notes/2023-08/2023-08-09-team-meeting.md b/docs/meeting-notes/2023-08/2023-08-09-team-meeting.md index 960428c75..ba6fa2232 100644 --- a/docs/meeting-notes/2023-08/2023-08-09-team-meeting.md +++ b/docs/meeting-notes/2023-08/2023-08-09-team-meeting.md @@ -1,12 +1,4 @@ ---- -title: 2023-08-09 team meeting -description: -published: true -date: 2023-08-09T17:55:19.887Z -tags: -editor: markdown -dateCreated: 2023-08-09T17:52:50.774Z ---- +# 2023-08-09 team meeting **Attendees**: Anish, Brent, Dom, Ghislaine, Kriti, Mukesh, Pavish, Rajat, Sean diff --git a/docs/meeting-notes/2023-08/2023-08-10-team-meeting.md b/docs/meeting-notes/2023-08/2023-08-10-team-meeting.md index a5c509846..70e16414b 100644 --- a/docs/meeting-notes/2023-08/2023-08-10-team-meeting.md +++ b/docs/meeting-notes/2023-08/2023-08-10-team-meeting.md @@ -1,12 +1,4 @@ ---- -title: 2023-08-10 team meeting -description: -published: true -date: 2023-08-10T21:28:54.970Z -tags: -editor: markdown -dateCreated: 2023-08-10T21:26:07.055Z ---- +# 2023-08-10 team meeting **Attendees**: Anish, Brent, Dom, Ghislaine, Kriti, Mukesh, Pavish, Rajat, Sean ## Morning "hello" diff --git a/docs/meeting-notes/april-2021.md b/docs/meeting-notes/april-2021.md index 3014a3340..2ba0fbac6 100644 --- a/docs/meeting-notes/april-2021.md +++ b/docs/meeting-notes/april-2021.md @@ -1,12 +1,4 @@ ---- -title: April 2021 meeting notes -description: -published: true -date: 2023-07-19T23:08:03.231Z -tags: -editor: markdown -dateCreated: 2021-04-23T11:36:19.054Z ---- +# April 2021 meeting notes # 2021-04-26 ## Welcome Pavish! diff --git a/docs/meeting-notes/august-2021.md b/docs/meeting-notes/august-2021.md index 4bb6a889c..f0443a44d 100644 --- a/docs/meeting-notes/august-2021.md +++ b/docs/meeting-notes/august-2021.md @@ -1,12 +1,4 @@ ---- -title: August 2021 meeting notes -description: -published: true -date: 2023-07-19T23:08:12.161Z -tags: -editor: markdown -dateCreated: 2021-08-31T14:54:23.454Z ---- +# August 2021 meeting notes # 2021-08-31 Please see [2021-08-31 planning discussion](https://github.com/centerofci/mathesar/discussions/614) on GitHub Discussions. diff --git a/docs/meeting-notes/july-2021.md b/docs/meeting-notes/july-2021.md index 8f8033cb8..8dd2777f3 100644 --- a/docs/meeting-notes/july-2021.md +++ b/docs/meeting-notes/july-2021.md @@ -1,12 +1,4 @@ ---- -title: July 2021 meeting notes -description: -published: true -date: 2023-07-19T23:08:21.016Z -tags: -editor: markdown -dateCreated: 2021-07-06T14:04:30.677Z ---- +# July 2021 meeting notes # 2021-07-27 Please see [2021-07-27 planning discussion](https://github.com/centerofci/mathesar/discussions/490) on GitHub Discussions. diff --git a/docs/meeting-notes/june-2021.md b/docs/meeting-notes/june-2021.md index 00f7ace3c..5c7621a4b 100644 --- a/docs/meeting-notes/june-2021.md +++ b/docs/meeting-notes/june-2021.md @@ -1,12 +1,4 @@ ---- -title: June 2021 meeting notes -description: -published: true -date: 2023-07-19T23:08:31.659Z -tags: -editor: markdown -dateCreated: 2021-05-25T16:49:24.093Z ---- +# June 2021 meeting notes # 2021-06-30 Please see [2021-06-30 retrospective & plan discussion](https://github.com/centerofci/mathesar/discussions/306) diff --git a/docs/meeting-notes/may-2021.md b/docs/meeting-notes/may-2021.md index 90c273136..a67f97f32 100644 --- a/docs/meeting-notes/may-2021.md +++ b/docs/meeting-notes/may-2021.md @@ -1,12 +1,4 @@ ---- -title: May 2021 meeting notes -description: -published: true -date: 2023-07-19T23:08:45.261Z -tags: -editor: markdown -dateCreated: 2021-05-03T17:08:39.037Z ---- +# May 2021 meeting notes # 2021-05-25 diff --git a/docs/meeting-notes/october-2021.md b/docs/meeting-notes/october-2021.md index b0c967864..d42e503a7 100644 --- a/docs/meeting-notes/october-2021.md +++ b/docs/meeting-notes/october-2021.md @@ -1,12 +1,4 @@ ---- -title: October 2021 meeting notes -description: -published: true -date: 2023-07-19T23:08:55.455Z -tags: -editor: markdown -dateCreated: 2021-10-05T21:04:00.985Z ---- +# October 2021 meeting notes # 2021-10-26 diff --git a/docs/meeting-notes/september-2021.md b/docs/meeting-notes/september-2021.md index 3c5b690f7..dede532b3 100644 --- a/docs/meeting-notes/september-2021.md +++ b/docs/meeting-notes/september-2021.md @@ -1,12 +1,4 @@ ---- -title: September 2021 meeting notes -description: -published: true -date: 2023-07-19T23:09:06.006Z -tags: -editor: markdown -dateCreated: 2021-09-01T12:10:46.346Z ---- +# September 2021 meeting notes # 2021-09-28 diff --git a/docs/product/concepts/data-types.md b/docs/product/concepts/data-types.md index 1d6998ea9..ca493c0b4 100644 --- a/docs/product/concepts/data-types.md +++ b/docs/product/concepts/data-types.md @@ -1,12 +1,4 @@ ---- -title: Data Types -description: About Data Types in Mathesar -published: true -date: 2023-07-19T23:35:45.180Z -tags: -editor: markdown -dateCreated: 2022-01-05T18:05:57.778Z ---- +# Data Types # About diff --git a/docs/product/concepts/databases.md b/docs/product/concepts/databases.md index 088496fc9..81b4cef52 100644 --- a/docs/product/concepts/databases.md +++ b/docs/product/concepts/databases.md @@ -1,12 +1,4 @@ ---- -title: Databases -description: About Databases in Mathesar -published: true -date: 2023-07-19T23:35:53.927Z -tags: -editor: markdown -dateCreated: 2022-01-05T18:06:42.409Z ---- +# Databases # About diff --git a/docs/product/concepts/filters.md b/docs/product/concepts/filters.md index 07170a158..49991aa9c 100644 --- a/docs/product/concepts/filters.md +++ b/docs/product/concepts/filters.md @@ -1,12 +1,4 @@ ---- -title: Filters -description: About Filters in Mathesar -published: true -date: 2023-07-19T23:36:02.725Z -tags: -editor: markdown -dateCreated: 2022-01-26T23:37:01.162Z ---- +# Filters # About diff --git a/docs/product/concepts/schemas.md b/docs/product/concepts/schemas.md index 4a7446e37..99d7d01d9 100644 --- a/docs/product/concepts/schemas.md +++ b/docs/product/concepts/schemas.md @@ -1,12 +1,4 @@ ---- -title: Schemas -description: About Schemas in Mathesar -published: true -date: 2023-07-19T23:36:11.217Z -tags: -editor: markdown -dateCreated: 2022-01-05T18:08:34.584Z ---- +# Schemas # About diff --git a/docs/product/concepts/tables.md b/docs/product/concepts/tables.md index 033b693e8..8aa0a047e 100644 --- a/docs/product/concepts/tables.md +++ b/docs/product/concepts/tables.md @@ -1,12 +1,4 @@ ---- -title: Tables -description: About Tables in Mathesar -published: true -date: 2023-07-19T23:36:20.251Z -tags: -editor: markdown -dateCreated: 2022-01-05T18:09:13.313Z ---- +# Tables # About diff --git a/docs/product/concepts/views.md b/docs/product/concepts/views.md index 823753466..5a37c3adf 100644 --- a/docs/product/concepts/views.md +++ b/docs/product/concepts/views.md @@ -1,12 +1,4 @@ ---- -title: Views -description: About Views in Mathesar -published: true -date: 2023-07-19T23:36:29.219Z -tags: -editor: markdown -dateCreated: 2021-11-16T22:07:54.178Z ---- +# Views # About diff --git a/docs/product/feature-ideas.md b/docs/product/feature-ideas.md index c0c1f2cca..f0e7221d9 100644 --- a/docs/product/feature-ideas.md +++ b/docs/product/feature-ideas.md @@ -1,12 +1,4 @@ ---- -title: Feature Ideas -description: Ideas for features that aren't in our roadmap yet. -published: true -date: 2023-07-19T23:09:33.521Z -tags: -editor: markdown -dateCreated: 2021-04-20T19:47:31.098Z ---- +# Feature Ideas These are potential feature ideas for Mathesar. Each section represents a conceptual grouping of features. diff --git a/docs/product/feedback/2023-03.md b/docs/product/feedback/2023-03.md index 0921b9fc8..4a62cb82e 100644 --- a/docs/product/feedback/2023-03.md +++ b/docs/product/feedback/2023-03.md @@ -1,12 +1,4 @@ ---- -title: March 2023 product feedback -description: -published: true -date: 2023-07-19T23:36:39.272Z -tags: -editor: markdown -dateCreated: 2023-03-10T20:52:01.493Z ---- +# March 2023 product feedback Collection of notable feedback gathered in March 2023. diff --git a/docs/product/index.md b/docs/product/index.md index 7cec5dc3f..e7bd6073a 100644 --- a/docs/product/index.md +++ b/docs/product/index.md @@ -1,12 +1,4 @@ ---- -title: About Mathesar -description: -published: true -date: 2023-07-19T23:09:15.197Z -tags: -editor: markdown -dateCreated: 2021-11-03T00:42:34.804Z ---- +# About Mathesar > This page is no longer being updated as of 2023-01-27. Please see our **[main website](https://mathesar.org/)** for more up-to-date information about Mathesar. {.is-warning} diff --git a/docs/product/principles.md b/docs/product/principles.md index 61d146848..2f28c3a7d 100644 --- a/docs/product/principles.md +++ b/docs/product/principles.md @@ -1,12 +1,4 @@ ---- -title: Product Principles -description: -published: true -date: 2023-07-19T23:09:51.672Z -tags: -editor: markdown -dateCreated: 2021-06-08T11:00:24.020Z ---- +# Product Principles > See also [Design Principles](/design/design-principles) {.is-info} diff --git a/docs/product/related.md b/docs/product/related.md index 7038e44df..1b5e0e0e4 100644 --- a/docs/product/related.md +++ b/docs/product/related.md @@ -1,12 +1,4 @@ ---- -title: Related Products -description: Other products that are solving similar problems -published: true -date: 2023-07-20T01:43:18.042Z -tags: -editor: markdown -dateCreated: 2021-11-03T20:44:10.092Z ---- +# Related Products This page lists other products that solve similar/related problems to what Mathesar is aiming to solve. We're glad to see other open source projects in this area. diff --git a/docs/product/resources.md b/docs/product/resources.md index 3c98a26db..18e7602ea 100644 --- a/docs/product/resources.md +++ b/docs/product/resources.md @@ -1,12 +1,4 @@ ---- -title: Resources -description: External reading and resources -published: true -date: 2023-07-19T23:10:09.452Z -tags: -editor: markdown -dateCreated: 2021-05-07T19:05:00.832Z ---- +# Resources This is a miscellaneous set of reading and resources that may or may not be relevant to Mathesar. **Feel free to add more!** diff --git a/docs/product/roadmap.md b/docs/product/roadmap.md index 8bbd69ee9..e2e67b590 100644 --- a/docs/product/roadmap.md +++ b/docs/product/roadmap.md @@ -1,12 +1,4 @@ ---- -title: Roadmap -description: Roadmap for upcoming Mathesar features -published: true -date: 2023-07-19T23:10:18.201Z -tags: -editor: markdown -dateCreated: 2021-04-20T19:43:28.320Z ---- +# Roadmap Our feature roadmap is tracked via [GitHub milestones](https://github.com/centerofci/mathesar/milestones?direction=asc&sort=due_date&state=open). You can find out more about each feature in our [Concepts](/product/concepts) page. diff --git a/docs/product/specs/2022-01-views/01-assumptions.md b/docs/product/specs/2022-01-views/01-assumptions.md index d7d007b56..8ffca2fff 100644 --- a/docs/product/specs/2022-01-views/01-assumptions.md +++ b/docs/product/specs/2022-01-views/01-assumptions.md @@ -1,12 +1,4 @@ ---- -title: 01. Assumptions and Limitations -description: -published: true -date: 2023-07-19T23:46:13.259Z -tags: -editor: markdown -dateCreated: 2022-01-24T22:53:50.652Z ---- +# 01. Assumptions and Limitations Although Queries and Views represent underlying database concepts, we will only be supporting building a subset of possible database queries in the first version of Mathesar. Our goal is to ship a proof of concept that demonstrates common use cases that might be used for an [Inventory Use Case](/en/design/exploration/use-cases/inventory-use-case). diff --git a/docs/product/specs/2022-01-views/02-feature-requirements.md b/docs/product/specs/2022-01-views/02-feature-requirements.md index ff68adcb1..ac290270b 100644 --- a/docs/product/specs/2022-01-views/02-feature-requirements.md +++ b/docs/product/specs/2022-01-views/02-feature-requirements.md @@ -1,12 +1,4 @@ ---- -title: 02. Feature Requirements -description: -published: true -date: 2023-07-19T23:46:22.404Z -tags: -editor: markdown -dateCreated: 2022-01-24T23:01:08.734Z ---- +# 02. Feature Requirements To work with **Queries** and **Views** in Mathesar, we'll need to support the following functionality: diff --git a/docs/product/specs/2022-01-views/03-the-query-builder.md b/docs/product/specs/2022-01-views/03-the-query-builder.md index 50774ee6d..88865ead6 100644 --- a/docs/product/specs/2022-01-views/03-the-query-builder.md +++ b/docs/product/specs/2022-01-views/03-the-query-builder.md @@ -1,12 +1,4 @@ ---- -title: 03. The Query Builder -description: -published: true -date: 2023-07-19T23:46:32.246Z -tags: -editor: markdown -dateCreated: 2022-02-05T23:04:47.283Z ---- +# 03. The Query Builder This page describes how the query builder should work. diff --git a/docs/product/specs/2022-01-views/04-formulas.md b/docs/product/specs/2022-01-views/04-formulas.md index e0a158cdf..bbe9729fe 100644 --- a/docs/product/specs/2022-01-views/04-formulas.md +++ b/docs/product/specs/2022-01-views/04-formulas.md @@ -1,12 +1,4 @@ ---- -title: 04. Formulas -description: A list of initial formulas supported in Views -published: true -date: 2023-07-19T23:46:41.489Z -tags: -editor: markdown -dateCreated: 2022-02-04T03:33:53.715Z ---- +# 04. Formulas # Structure diff --git a/docs/product/specs/2022-01-views/04-formulas/4a-record-aggregations.md b/docs/product/specs/2022-01-views/04-formulas/4a-record-aggregations.md index 0f600dfb0..9be8d4b40 100644 --- a/docs/product/specs/2022-01-views/04-formulas/4a-record-aggregations.md +++ b/docs/product/specs/2022-01-views/04-formulas/4a-record-aggregations.md @@ -1,12 +1,4 @@ ---- -title: (a) Record Aggregation Formulas -description: -published: true -date: 2023-07-19T23:47:30.212Z -tags: -editor: markdown -dateCreated: 2022-02-22T00:15:01.142Z ---- +# (a) Record Aggregation Formulas These formulas aggregate the values of a single column across multiple records of the same type. These are used as aggregation types when a multi-record column is added to a query. diff --git a/docs/product/specs/2022-01-views/04-formulas/4b-random-generators.md b/docs/product/specs/2022-01-views/04-formulas/4b-random-generators.md index 605287e26..7648688d7 100644 --- a/docs/product/specs/2022-01-views/04-formulas/4b-random-generators.md +++ b/docs/product/specs/2022-01-views/04-formulas/4b-random-generators.md @@ -1,12 +1,4 @@ ---- -title: (b) Random Generators -description: -published: true -date: 2023-07-19T23:47:36.017Z -tags: -editor: markdown -dateCreated: 2022-02-23T01:43:47.593Z ---- +# (b) Random Generators These formulas generate random data. diff --git a/docs/product/specs/2022-01-views/04-formulas/4c-text-formulas.md b/docs/product/specs/2022-01-views/04-formulas/4c-text-formulas.md index 1b0fa8a65..64040aac6 100644 --- a/docs/product/specs/2022-01-views/04-formulas/4c-text-formulas.md +++ b/docs/product/specs/2022-01-views/04-formulas/4c-text-formulas.md @@ -1,12 +1,4 @@ ---- -title: (c) Text Formulas -description: -published: true -date: 2023-07-19T23:47:42.771Z -tags: -editor: markdown -dateCreated: 2022-02-24T00:56:57.446Z ---- +# (c) Text Formulas These formulas operate on text and text-like types. They are based on [PostgreSQL string functions](https://www.postgresql.org/docs/current/functions-string.html). diff --git a/docs/product/specs/2022-01-views/04-formulas/4d-number-formulas.md b/docs/product/specs/2022-01-views/04-formulas/4d-number-formulas.md index 328593abb..90c7d8a9e 100644 --- a/docs/product/specs/2022-01-views/04-formulas/4d-number-formulas.md +++ b/docs/product/specs/2022-01-views/04-formulas/4d-number-formulas.md @@ -1,12 +1,4 @@ ---- -title: (d) Number Formulas -description: -published: true -date: 2023-07-19T23:47:49.502Z -tags: -editor: markdown -dateCreated: 2022-02-25T02:36:20.010Z ---- +# (d) Number Formulas These formulas operate on text and text-like types. They are based on PostgreSQL [mathematical functions and operators](https://www.postgresql.org/docs/9.1/functions-math.html) and [comparison operators](https://www.postgresql.org/docs/9.1/functions-comparison.html). diff --git a/docs/product/specs/2022-01-views/04-formulas/4e-boolean-formulas.md b/docs/product/specs/2022-01-views/04-formulas/4e-boolean-formulas.md index a6ab4c11d..55b9cea45 100644 --- a/docs/product/specs/2022-01-views/04-formulas/4e-boolean-formulas.md +++ b/docs/product/specs/2022-01-views/04-formulas/4e-boolean-formulas.md @@ -1,12 +1,4 @@ ---- -title: (e) Boolean Formulas -description: -published: true -date: 2023-07-19T23:47:55.732Z -tags: -editor: markdown -dateCreated: 2022-02-26T00:16:22.678Z ---- +# (e) Boolean Formulas These formulas operate on or output boolean types. They are based on PostgreSQL [logical operators](https://www.postgresql.org/docs/9.1/functions-logical.html). diff --git a/docs/product/specs/2022-01-views/04-formulas/4f-datetime-formulas.md b/docs/product/specs/2022-01-views/04-formulas/4f-datetime-formulas.md index a02ea81ec..fdc26ece1 100644 --- a/docs/product/specs/2022-01-views/04-formulas/4f-datetime-formulas.md +++ b/docs/product/specs/2022-01-views/04-formulas/4f-datetime-formulas.md @@ -1,12 +1,4 @@ ---- -title: (f) Date, Time, and Duration Formulas -description: -published: true -date: 2023-07-19T23:48:06.191Z -tags: -editor: markdown -dateCreated: 2022-02-26T00:25:24.180Z ---- +# (f) Date, Time, and Duration Formulas These formulas operate on date & time types. They are based on PostgreSQL [date/time functions and operators](https://www.postgresql.org/docs/9.1/functions-datetime.html). diff --git a/docs/product/specs/2022-01-views/04-formulas/4g-list-formulas.md b/docs/product/specs/2022-01-views/04-formulas/4g-list-formulas.md index 600ce283e..61cf79ddc 100644 --- a/docs/product/specs/2022-01-views/04-formulas/4g-list-formulas.md +++ b/docs/product/specs/2022-01-views/04-formulas/4g-list-formulas.md @@ -1,12 +1,4 @@ ---- -title: (g) List Formulas -description: -published: true -date: 2023-07-19T23:48:21.706Z -tags: -editor: markdown -dateCreated: 2022-02-26T00:31:33.448Z ---- +# (g) List Formulas These formulas operate on list types. They are based on PostgreSQL [array functions and operators](https://www.postgresql.org/docs/9.1/functions-array.html) and [row and array comparisons](https://www.postgresql.org/docs/9.1/functions-comparisons.html). diff --git a/docs/product/specs/2022-01-views/04-formulas/4h-cumulative-formulas.md b/docs/product/specs/2022-01-views/04-formulas/4h-cumulative-formulas.md index 8e59c7e4b..8a7907859 100644 --- a/docs/product/specs/2022-01-views/04-formulas/4h-cumulative-formulas.md +++ b/docs/product/specs/2022-01-views/04-formulas/4h-cumulative-formulas.md @@ -1,12 +1,4 @@ ---- -title: (h) Cumulative Formulas -description: -published: true -date: 2023-07-19T23:48:28.245Z -tags: -editor: markdown -dateCreated: 2022-02-26T00:35:38.877Z ---- +# (h) Cumulative Formulas These formulas show cumulative values that build on previous rows. diff --git a/docs/product/specs/2022-01-views/04-formulas/4i-regex-formulas.md b/docs/product/specs/2022-01-views/04-formulas/4i-regex-formulas.md index 4de635d7b..37407fcd7 100644 --- a/docs/product/specs/2022-01-views/04-formulas/4i-regex-formulas.md +++ b/docs/product/specs/2022-01-views/04-formulas/4i-regex-formulas.md @@ -1,12 +1,4 @@ ---- -title: (i) Regular Expression Formulas -description: -published: true -date: 2023-07-19T23:48:34.463Z -tags: -editor: markdown -dateCreated: 2022-03-02T00:17:37.590Z ---- +# (i) Regular Expression Formulas These formulas use regular expressions. They are based on [PostgreSQL string functions](https://www.postgresql.org/docs/current/functions-string.html). diff --git a/docs/product/specs/2022-01-views/04-formulas/4j-custom-formulas.md b/docs/product/specs/2022-01-views/04-formulas/4j-custom-formulas.md index 88484f6ad..0daf7b2d6 100644 --- a/docs/product/specs/2022-01-views/04-formulas/4j-custom-formulas.md +++ b/docs/product/specs/2022-01-views/04-formulas/4j-custom-formulas.md @@ -1,12 +1,4 @@ ---- -title: (j) Custom Formulas -description: -published: true -date: 2023-07-19T23:48:40.672Z -tags: -editor: markdown -dateCreated: 2022-03-02T00:30:44.664Z ---- +# (j) Custom Formulas Custom formulas provide a more flexible interface to let users build their own formulas. Users can use: diff --git a/docs/product/specs/2022-01-views/05-view-structure.md b/docs/product/specs/2022-01-views/05-view-structure.md index 01ba92c9e..2f3d700d6 100644 --- a/docs/product/specs/2022-01-views/05-view-structure.md +++ b/docs/product/specs/2022-01-views/05-view-structure.md @@ -1,12 +1,4 @@ ---- -title: 05. View Structure -description: -published: true -date: 2023-07-19T23:46:50.203Z -tags: -editor: markdown -dateCreated: 2022-01-24T22:54:40.594Z ---- +# 05. View Structure Once a query is built using the [Query Builder](/en/product/specs/2022-01-views/03-the-query-builder), it can be saved as a View. Users should be able to see and use Views in Mathesar just like [Tables](/en/product/concepts/tables). diff --git a/docs/product/specs/2022-01-views/06-view-columns.md b/docs/product/specs/2022-01-views/06-view-columns.md index 1078f3752..235b64fad 100644 --- a/docs/product/specs/2022-01-views/06-view-columns.md +++ b/docs/product/specs/2022-01-views/06-view-columns.md @@ -1,12 +1,4 @@ ---- -title: 06. View Columns -description: -published: true -date: 2023-07-19T23:46:59.168Z -tags: -editor: markdown -dateCreated: 2022-01-24T22:56:32.776Z ---- +# 06. View Columns Here is the information we should show in View Columns. We don't necessarily have to use the abstractions below, there might be a better way to show the data necessary. diff --git a/docs/product/specs/2022-01-views/07-breaking-down-db-queries.md b/docs/product/specs/2022-01-views/07-breaking-down-db-queries.md index 38db999f2..3e7bc0b15 100644 --- a/docs/product/specs/2022-01-views/07-breaking-down-db-queries.md +++ b/docs/product/specs/2022-01-views/07-breaking-down-db-queries.md @@ -1,12 +1,4 @@ ---- -title: 07. Breaking Down DB Queries -description: -published: true -date: 2023-07-19T23:47:08.202Z -tags: -editor: markdown -dateCreated: 2022-01-24T23:01:36.210Z ---- +# 07. Breaking Down DB Queries This page goes through the [PostgreSQL documentation about queries](https://www.postgresql.org/docs/14/queries.html) and maps various concepts listed there to the concepts in this spec. We'll follow the structure of the PostgreSQL docs. diff --git a/docs/product/specs/2022-01-views/08-appendix.md b/docs/product/specs/2022-01-views/08-appendix.md index f405a9bf8..a1701f3b9 100644 --- a/docs/product/specs/2022-01-views/08-appendix.md +++ b/docs/product/specs/2022-01-views/08-appendix.md @@ -1,12 +1,4 @@ ---- -title: 08. Appendix -description: -published: true -date: 2023-07-19T23:47:16.949Z -tags: -editor: markdown -dateCreated: 2022-02-20T18:31:12.526Z ---- +# 08. Appendix # Appendix A: Movie Tables & Views diff --git a/docs/product/specs/2022-01-views/index.md b/docs/product/specs/2022-01-views/index.md index 688070a5d..d27cfc4a4 100644 --- a/docs/product/specs/2022-01-views/index.md +++ b/docs/product/specs/2022-01-views/index.md @@ -1,12 +1,4 @@ ---- -title: Views in Mathesar -description: Spec for Views in Mathesar -published: true -date: 2023-07-19T23:36:48.485Z -tags: -editor: markdown -dateCreated: 2022-01-24T22:35:06.280Z ---- +# Views in Mathesar ## Overview All data in Mathesar is stored in **[Tables](/en/product/concepts/tables)**. However, users may not always want to analyze, edit, or otherwise work with data in the same way that it is stored. This might involve combining data from multiple tables or only looking at a subset of rows and columns from a single table. diff --git a/docs/product/specs/dynamic-defaults-proto.md b/docs/product/specs/dynamic-defaults-proto.md index b3d2d5465..943f0f18c 100644 --- a/docs/product/specs/dynamic-defaults-proto.md +++ b/docs/product/specs/dynamic-defaults-proto.md @@ -1,12 +1,4 @@ ---- -title: Dynamic Defaults Proto-Spec -description: -published: true -date: 2023-07-19T23:36:57.408Z -tags: -editor: markdown -dateCreated: 2022-09-15T16:50:41.358Z ---- +# Dynamic Defaults Proto-Spec ## Problem diff --git a/docs/product/specs/example-schema.md b/docs/product/specs/example-schema.md index 4635ed9b9..582d3f197 100644 --- a/docs/product/specs/example-schema.md +++ b/docs/product/specs/example-schema.md @@ -1,12 +1,4 @@ ---- -title: Example Schema -description: This is an example table structure used in various product specs. -published: true -date: 2023-07-19T23:37:05.682Z -tags: -editor: markdown -dateCreated: 2022-02-04T02:52:01.932Z ---- +# Example Schema This schema is a reference to be used as an example in specs or other sections of the wiki. These tables are meant to simulate what data looks like in real databases. diff --git a/docs/product/specs/publicly-shareable-links.md b/docs/product/specs/publicly-shareable-links.md index c1fb04bf2..c8ec91cfc 100644 --- a/docs/product/specs/publicly-shareable-links.md +++ b/docs/product/specs/publicly-shareable-links.md @@ -1,12 +1,4 @@ ---- -title: Publicly shareable links -description: -published: true -date: 2023-07-19T23:37:15.497Z -tags: -editor: markdown -dateCreated: 2023-06-26T05:03:37.643Z ---- +# Publicly shareable links This spec describes the working principle of the initial versions of Publicly shareable links and ability to embed tables & explorations in other sites. diff --git a/docs/product/specs/undo-quick-save-functionality.md b/docs/product/specs/undo-quick-save-functionality.md index 55e0a7e0d..6f3107349 100644 --- a/docs/product/specs/undo-quick-save-functionality.md +++ b/docs/product/specs/undo-quick-save-functionality.md @@ -1,12 +1,4 @@ ---- -title: Quick Save Functionality -description: -published: true -date: 2023-07-19T23:37:24.445Z -tags: -editor: markdown -dateCreated: 2023-04-26T21:17:36.980Z ---- +# Quick Save Functionality # Quick Save Functionality diff --git a/docs/product/specs/users-permissions.md b/docs/product/specs/users-permissions.md index cba8c5a67..3ba853f8e 100644 --- a/docs/product/specs/users-permissions.md +++ b/docs/product/specs/users-permissions.md @@ -1,12 +1,4 @@ ---- -title: Users & Permissions -description: -published: true -date: 2023-07-19T23:37:34.418Z -tags: -editor: markdown -dateCreated: 2022-09-09T13:25:30.516Z ---- +# Users & Permissions This spec describes how the initial version of users & permissions will work in Mathesar. diff --git a/docs/projects/2023-04-usability-improvements.md b/docs/projects/2023-04-usability-improvements.md index a7571792c..83e1aa2eb 100644 --- a/docs/projects/2023-04-usability-improvements.md +++ b/docs/projects/2023-04-usability-improvements.md @@ -1,12 +1,4 @@ ---- -title: 2023-04 Usability Improvements -description: -published: true -date: 2023-07-19T23:10:36.904Z -tags: -editor: markdown -dateCreated: 2023-03-15T20:52:30.876Z ---- +# 2023-04 Usability Improvements - **Name**: 2023-04 Usability Improvements - **Status**: Cut short to move on to other work diff --git a/docs/projects/2023-07-backend-fixes.md b/docs/projects/2023-07-backend-fixes.md index 155678a21..8f740e16e 100644 --- a/docs/projects/2023-07-backend-fixes.md +++ b/docs/projects/2023-07-backend-fixes.md @@ -1,12 +1,4 @@ ---- -title: 2023-07 backend fixes -description: -published: true -date: 2023-08-18T12:17:41.250Z -tags: -editor: markdown -dateCreated: 2023-07-07T14:08:52.280Z ---- +# 2023-07 backend fixes **Name**: 2023-07 backend fixes **Status**: In progress diff --git a/docs/projects/2023-07-frontend-fixes.md b/docs/projects/2023-07-frontend-fixes.md index 8f390e05a..6e6b565ae 100644 --- a/docs/projects/2023-07-frontend-fixes.md +++ b/docs/projects/2023-07-frontend-fixes.md @@ -1,12 +1,4 @@ ---- -title: 2023-07 Frontend Fixes -description: -published: true -date: 2023-07-19T23:10:55.257Z -tags: -editor: markdown -dateCreated: 2023-07-10T13:31:46.556Z ---- +# 2023-07 Frontend Fixes **Name**: 2023-07 Frontend Fixes **Status**: Cut short diff --git a/docs/projects/2023-07-product-strategy.md b/docs/projects/2023-07-product-strategy.md index 1d05a48ff..937ab7757 100644 --- a/docs/projects/2023-07-product-strategy.md +++ b/docs/projects/2023-07-product-strategy.md @@ -1,12 +1,4 @@ ---- -title: 2023-07 product strategy -description: -published: true -date: 2023-08-17T20:24:00.465Z -tags: -editor: markdown -dateCreated: 2023-07-12T21:44:07.522Z ---- +# 2023-07 product strategy **Name**: 2023-07 product strategy **Status**: In progress diff --git a/docs/projects/column-moving.md b/docs/projects/column-moving.md index 542b42c93..b7f3aff5b 100644 --- a/docs/projects/column-moving.md +++ b/docs/projects/column-moving.md @@ -1,12 +1,4 @@ ---- -title: Column Moving Improvements -description: -published: true -date: 2023-08-09T15:07:52.165Z -tags: -editor: markdown -dateCreated: 2023-08-09T15:07:52.165Z ---- +# Column Moving Improvements **Status**: Draft **Review status**: Draft diff --git a/docs/projects/forms-research.md b/docs/projects/forms-research.md index fbb07a71a..68f7de11a 100644 --- a/docs/projects/forms-research.md +++ b/docs/projects/forms-research.md @@ -1,12 +1,4 @@ ---- -title: Forms Research -description: Doing product research on what our initial implementation of forms could be -published: true -date: 2023-07-19T23:11:13.929Z -tags: -editor: markdown -dateCreated: 2023-05-29T13:59:24.702Z ---- +# Forms Research **Name**: Forms Research **Status**: In progress diff --git a/docs/projects/formulas-research.md b/docs/projects/formulas-research.md index e50346394..8ec38b6e5 100644 --- a/docs/projects/formulas-research.md +++ b/docs/projects/formulas-research.md @@ -1,12 +1,4 @@ ---- -title: Formulas Research -description: -published: true -date: 2023-07-19T23:11:22.494Z -tags: -editor: markdown -dateCreated: 2023-05-23T17:13:54.841Z ---- +# Formulas Research **Name**: Formulas Research **Status**: Done (see the [report](../engineering/research/formulas.md)) diff --git a/docs/projects/frontend-tables-performance.md b/docs/projects/frontend-tables-performance.md index 54dff5aca..02a386064 100644 --- a/docs/projects/frontend-tables-performance.md +++ b/docs/projects/frontend-tables-performance.md @@ -1,12 +1,4 @@ ---- -title: Frontend Tables Performance Project -description: -published: true -date: 2023-07-19T23:11:31.205Z -tags: -editor: markdown -dateCreated: 2023-03-15T20:52:35.015Z ---- +# Frontend Tables Performance Project - **Roles**: - **Owner**: Pavish diff --git a/docs/projects/funding.md b/docs/projects/funding.md index 24daccdc4..c9d053f45 100644 --- a/docs/projects/funding.md +++ b/docs/projects/funding.md @@ -1,12 +1,4 @@ ---- -title: Raise additional funding for Mathesar -description: -published: true -date: 2023-07-19T23:11:40.007Z -tags: -editor: markdown -dateCreated: 2023-03-15T20:52:39.192Z ---- +# Raise additional funding for Mathesar **Name**: Raise additional funding for Mathesar **Status**: Moved to [ongoing responsibilities](/en/team/responsibilities) in July 2023. diff --git a/docs/projects/gather-user-feedback.md b/docs/projects/gather-user-feedback.md index f13566e38..15e6112c7 100644 --- a/docs/projects/gather-user-feedback.md +++ b/docs/projects/gather-user-feedback.md @@ -1,12 +1,4 @@ ---- -title: Gathering User Feedback -description: -published: true -date: 2023-07-19T23:11:49.188Z -tags: -editor: markdown -dateCreated: 2023-05-10T21:12:43.186Z ---- +# Gathering User Feedback **Status**: Not started – we will be incorporating this work into future projects. **Theme**: User Engagement and Feedback diff --git a/docs/projects/index.md b/docs/projects/index.md index 64a2757cb..dccd5da8d 100644 --- a/docs/projects/index.md +++ b/docs/projects/index.md @@ -1,12 +1,4 @@ ---- -title: Projects -description: -published: true -date: 2023-08-17T20:27:58.127Z -tags: -editor: markdown -dateCreated: 2023-03-15T20:52:26.598Z ---- +# Projects **What are projects for?** - The Mathesar team's work is chunked into fixed-length projects to keep it organized. diff --git a/docs/projects/installation-documentation-improvements.md b/docs/projects/installation-documentation-improvements.md index 4c74bd819..55616b06d 100644 --- a/docs/projects/installation-documentation-improvements.md +++ b/docs/projects/installation-documentation-improvements.md @@ -1,12 +1,4 @@ ---- -title: Installation Documentation Improvements -description: -published: true -date: 2023-07-19T23:11:58.450Z -tags: -editor: markdown -dateCreated: 2023-04-06T19:15:47.704Z ---- +# Installation Documentation Improvements **Name**: Improve Mathesar Installation documentation **Status**: In review diff --git a/docs/projects/installation-improvements-0_1_3.md b/docs/projects/installation-improvements-0_1_3.md index f049b41f6..fadb7aa60 100644 --- a/docs/projects/installation-improvements-0_1_3.md +++ b/docs/projects/installation-improvements-0_1_3.md @@ -1,12 +1,4 @@ ---- -title: Installation Improvements Project - 0.1.3 -description: -published: true -date: 2023-07-20T19:23:56.221Z -tags: -editor: markdown -dateCreated: 2023-03-15T20:52:47.673Z ---- +# Installation Improvements Project - 0.1.3 **Status**: In progress **Review status**: Approved diff --git a/docs/projects/installation-improvements-0_1_4.md b/docs/projects/installation-improvements-0_1_4.md index 4efb48e23..a99601905 100644 --- a/docs/projects/installation-improvements-0_1_4.md +++ b/docs/projects/installation-improvements-0_1_4.md @@ -1,12 +1,4 @@ ---- -title: Installation Improvements 0.1.4 -description: -published: true -date: 2023-08-17T09:45:43.722Z -tags: -editor: markdown -dateCreated: 2023-08-17T09:42:41.660Z ---- +# Installation Improvements 0.1.4 **Status**: In Progress **Review status**: In Review diff --git a/docs/projects/installation-improvements-plan-0_1_4.md b/docs/projects/installation-improvements-plan-0_1_4.md index 4cbc31cd0..8e209046f 100644 --- a/docs/projects/installation-improvements-plan-0_1_4.md +++ b/docs/projects/installation-improvements-plan-0_1_4.md @@ -1,12 +1,4 @@ ---- -title: Installation Improvement Plan -description: -published: true -date: 2023-08-17T11:50:00.303Z -tags: -editor: markdown -dateCreated: 2023-08-17T09:41:30.671Z ---- +# Installation Improvement Plan **Status**: In review diff --git a/docs/projects/internationalization.md b/docs/projects/internationalization.md index dd304004d..29ca7e6da 100644 --- a/docs/projects/internationalization.md +++ b/docs/projects/internationalization.md @@ -1,12 +1,4 @@ ---- -title: Internationalization Implementation -description: -published: true -date: 2023-07-19T23:12:22.705Z -tags: -editor: markdown -dateCreated: 2023-03-15T20:52:51.896Z ---- +# Internationalization Implementation - **Name**: Internationaliztion - **Status**: In progress diff --git a/docs/projects/list-datatype.md b/docs/projects/list-datatype.md index 21d3487ca..0b62491b6 100644 --- a/docs/projects/list-datatype.md +++ b/docs/projects/list-datatype.md @@ -1,12 +1,4 @@ ---- -title: List Data Type - Project Draft -description: Draft for defining the list data type implementation project. -published: true -date: 2023-07-19T23:12:32.747Z -tags: -editor: markdown -dateCreated: 2023-05-02T21:44:56.744Z ---- +# List Data Type - Project Draft **Name**: Adding support for list data type in Mathesar **Status**: Draft diff --git a/docs/projects/list-datatype/frontend-specs.md b/docs/projects/list-datatype/frontend-specs.md index db72e9cd2..15faaf773 100644 --- a/docs/projects/list-datatype/frontend-specs.md +++ b/docs/projects/list-datatype/frontend-specs.md @@ -1,12 +1,4 @@ ---- -title: List data type - Frontend specs -description: -published: true -date: 2023-07-19T23:37:43.009Z -tags: -editor: markdown -dateCreated: 2023-05-29T22:19:03.569Z ---- +# List data type - Frontend specs # List data type ## Creating a column diff --git a/docs/projects/preexisting-postgres.md b/docs/projects/preexisting-postgres.md index da36e28c7..ff388b46b 100644 --- a/docs/projects/preexisting-postgres.md +++ b/docs/projects/preexisting-postgres.md @@ -1,12 +1,4 @@ ---- -title: Investigating compatibility with pre-existing databases -description: -published: true -date: 2023-08-09T15:07:52.165Z -tags: -editor: markdown -dateCreated: 2023-08-09T15:07:52.165Z ---- +# Investigating compatibility with pre-existing databases **Status**: In Progress **Review status**: Approved diff --git a/docs/projects/public-links-research.md b/docs/projects/public-links-research.md index 6e2df30d7..04a204975 100644 --- a/docs/projects/public-links-research.md +++ b/docs/projects/public-links-research.md @@ -1,22 +1,6 @@ ---- -title: Research: Publicly shareable links -description: -published: true -date: 2023-07-19T23:12:41.658Z -tags: -editor: markdown -dateCreated: 2023-06-26T04:12:41.348Z ---- +# Research: Publicly shareable links ---- -title: Research: Publicly shareable links -description: -published: true -date: 2023-07-12T20:27:34.834Z -tags: -editor: markdown -dateCreated: 2023-06-26T04:12:41.348Z ---- +# Research: Publicly shareable links **Name**: Research: Publicly shareable links **Status**: Complete diff --git a/docs/projects/release-0-1-2.md b/docs/projects/release-0-1-2.md index fab257c75..aed2e6ea9 100644 --- a/docs/projects/release-0-1-2.md +++ b/docs/projects/release-0-1-2.md @@ -1,12 +1,4 @@ ---- -title: Release v0.1.2 -description: -published: true -date: 2023-07-19T23:12:52.655Z -tags: -editor: markdown -dateCreated: 2023-04-06T13:47:41.302Z ---- +# Release v0.1.2 **Name**: Release v0.1.2 **Status**: In review diff --git a/docs/projects/shareable-links-implementation.md b/docs/projects/shareable-links-implementation.md index 84b6813cb..aa11c15fa 100644 --- a/docs/projects/shareable-links-implementation.md +++ b/docs/projects/shareable-links-implementation.md @@ -1,12 +1,4 @@ ---- -title: Shareable links Implementation -description: -published: true -date: 2023-07-19T23:13:02.994Z -tags: -editor: markdown -dateCreated: 2023-07-12T20:24:06.407Z ---- +# Shareable links Implementation **Name**: Shareable links implementation **Status**: Complete diff --git a/docs/projects/sql-alchemy-remove.md b/docs/projects/sql-alchemy-remove.md index 7fc70a802..533305652 100644 --- a/docs/projects/sql-alchemy-remove.md +++ b/docs/projects/sql-alchemy-remove.md @@ -1,12 +1,4 @@ ---- -title: Remove SQLAlchemy from codebase -description: -published: true -date: 2023-07-19T23:13:12.502Z -tags: -editor: markdown -dateCreated: 2023-03-23T08:31:09.062Z ---- +# Remove SQLAlchemy from codebase - **Name**: Remove SQLAlchemy from codebase - **Status**: Draft diff --git a/docs/projects/sql-ddl-operations.md b/docs/projects/sql-ddl-operations.md index 5b6aa57c4..807e0b610 100644 --- a/docs/projects/sql-ddl-operations.md +++ b/docs/projects/sql-ddl-operations.md @@ -1,12 +1,4 @@ ---- -title: Move DDL Operations to SQL Functions -description: -published: true -date: 2023-07-19T23:13:22.511Z -tags: -editor: markdown -dateCreated: 2023-03-23T08:31:13.306Z ---- +# Move DDL Operations to SQL Functions - **Name**: Move DDL operations to SQL functions - **Status**: Complete diff --git a/docs/projects/sql-dml-operations.md b/docs/projects/sql-dml-operations.md index 6bd4aa964..fbc4850c8 100644 --- a/docs/projects/sql-dml-operations.md +++ b/docs/projects/sql-dml-operations.md @@ -1,12 +1,4 @@ ---- -title: Move DML Operations to SQL Functions -description: -published: true -date: 2023-07-19T23:13:32.679Z -tags: -editor: markdown -dateCreated: 2023-03-23T08:31:17.538Z ---- +# Move DML Operations to SQL Functions - **Name**: Move DML Operations to SQL Functions - **Status**: Draft diff --git a/docs/projects/sql-dql-operations.md b/docs/projects/sql-dql-operations.md index 393397002..227c737f6 100644 --- a/docs/projects/sql-dql-operations.md +++ b/docs/projects/sql-dql-operations.md @@ -1,12 +1,4 @@ ---- -title: Remove SQLAlchemy from DQL operations -description: -published: true -date: 2023-07-19T23:13:42.186Z -tags: -editor: markdown -dateCreated: 2023-03-23T08:31:21.752Z ---- +# Remove SQLAlchemy from DQL operations - **Name**: Remove SQLAlchemy from DQL operations - **Status**: Draft diff --git a/docs/projects/t-shirts.md b/docs/projects/t-shirts.md index 028b48860..e18b8adcb 100644 --- a/docs/projects/t-shirts.md +++ b/docs/projects/t-shirts.md @@ -1,12 +1,4 @@ ---- -title: Mathesar T-Shirts -description: -published: true -date: 2023-07-19T23:13:51.957Z -tags: -editor: markdown -dateCreated: 2023-04-13T19:14:45.815Z ---- +# Mathesar T-Shirts # Mathesar T-shirt Project diff --git a/docs/projects/template.md b/docs/projects/template.md index e40a02163..a7b51d508 100644 --- a/docs/projects/template.md +++ b/docs/projects/template.md @@ -1,12 +1,4 @@ ---- -title: Project Template -description: -published: true -date: 2023-07-20T15:07:52.165Z -tags: -editor: markdown -dateCreated: 2023-03-21T16:52:17.902Z ---- +# Project Template > This project is ridiculous on purpose. We are not doing this. {.is-info} diff --git a/docs/projects/user-feedback-kickoff.md b/docs/projects/user-feedback-kickoff.md index d44b2ceb2..60b3b968b 100644 --- a/docs/projects/user-feedback-kickoff.md +++ b/docs/projects/user-feedback-kickoff.md @@ -1,12 +1,4 @@ ---- -title: Establish User Feedback Tracking Process -description: -published: true -date: 2023-07-19T23:14:10.921Z -tags: -editor: markdown -dateCreated: 2023-03-15T20:53:00.352Z ---- +# Establish User Feedback Tracking Process **Name**: Establish User Feedback Tracking Process **Status**: Partially complete / considered closed diff --git a/docs/team/archive/comms-assignee.md b/docs/team/archive/comms-assignee.md index 7a3902bb5..1abe79928 100644 --- a/docs/team/archive/comms-assignee.md +++ b/docs/team/archive/comms-assignee.md @@ -1,12 +1,4 @@ ---- -title: Comms Assignee -description: About the Comms Assignee and their duties -published: true -date: 2023-07-19T23:38:01.238Z -tags: -editor: markdown -dateCreated: 2021-10-23T18:49:14.482Z ---- +# Comms Assignee > This page is archived and does not reflect current team workflow. {.is-danger} diff --git a/docs/team/archive/weekly-discussion.md b/docs/team/archive/weekly-discussion.md index 8d53875d9..0d679c9c8 100644 --- a/docs/team/archive/weekly-discussion.md +++ b/docs/team/archive/weekly-discussion.md @@ -1,12 +1,4 @@ ---- -title: Weekly Discussion -description: About the weekly planning discussion -published: true -date: 2023-07-19T23:38:09.685Z -tags: -editor: markdown -dateCreated: 2021-10-23T18:49:53.002Z ---- +# Weekly Discussion > We're no longer doing these. {.is-danger} diff --git a/docs/team/guide/comm-tips.md b/docs/team/guide/comm-tips.md index c0cb54847..b3a10f71c 100644 --- a/docs/team/guide/comm-tips.md +++ b/docs/team/guide/comm-tips.md @@ -1,12 +1,4 @@ ---- -title: Communication Tips -description: -published: true -date: 2023-07-19T23:38:18.405Z -tags: -editor: markdown -dateCreated: 2021-11-03T21:13:33.336Z ---- +# Communication Tips The Mathesar team works remotely and asynchronously across many different timezones. Here are some things that we've discovered for communicating well in this environment, in no particular order: diff --git a/docs/team/guide/events.md b/docs/team/guide/events.md index dbe33b7d7..643e9c890 100644 --- a/docs/team/guide/events.md +++ b/docs/team/guide/events.md @@ -1,12 +1,4 @@ ---- -title: Team Events -description: -published: true -date: 2023-07-19T23:38:26.713Z -tags: -editor: markdown -dateCreated: 2021-11-03T21:03:44.499Z ---- +# Team Events The Mathesar core team has a virtual team event around every two weeks to have some fun and get to know each other better. Team members take turns organizing events on a volunteer basis. diff --git a/docs/team/guide/index.md b/docs/team/guide/index.md index b948f2a81..be4d39a0d 100644 --- a/docs/team/guide/index.md +++ b/docs/team/guide/index.md @@ -1,12 +1,4 @@ ---- -title: Mathesar Team Guide -description: A guide to processes, workflows, etc. relevant to Mathesar team members -published: true -date: 2023-07-19T23:14:20.415Z -tags: -editor: markdown -dateCreated: 2021-10-23T17:39:14.627Z ---- +# Mathesar Team Guide A guide for Mathesar core and community team members. diff --git a/docs/team/guide/issue-assignment.md b/docs/team/guide/issue-assignment.md index 6bc438777..81f334558 100644 --- a/docs/team/guide/issue-assignment.md +++ b/docs/team/guide/issue-assignment.md @@ -1,12 +1,4 @@ ---- -title: Issue Assignment -description: Process of assigning issues -published: true -date: 2023-07-19T23:38:35.017Z -tags: -editor: markdown -dateCreated: 2021-10-23T18:48:01.839Z ---- +# Issue Assignment Issues should only be assigned to core and community team members who have committed to completing the issue. diff --git a/docs/team/guide/issue-triage.md b/docs/team/guide/issue-triage.md index 5f03bad9c..8c342af11 100644 --- a/docs/team/guide/issue-triage.md +++ b/docs/team/guide/issue-triage.md @@ -1,12 +1,4 @@ ---- -title: Issue Triage -description: Guidelines for triaging new issues -published: true -date: 2023-07-19T23:38:43.521Z -tags: -editor: markdown -dateCreated: 2021-08-31T15:44:09.044Z ---- +# Issue Triage Triaging an issue means setting all the appropriate fields on it. diff --git a/docs/team/guide/meetings.md b/docs/team/guide/meetings.md index 23ca8d566..bc2826cd7 100644 --- a/docs/team/guide/meetings.md +++ b/docs/team/guide/meetings.md @@ -1,12 +1,4 @@ ---- -title: Meetings -description: -published: true -date: 2023-07-19T23:38:52.402Z -tags: -editor: markdown -dateCreated: 2022-12-06T21:31:57.102Z ---- +# Meetings By default, we are an asynchronous team and communicate via our [mailing lists](/en/community/mailing-lists) or [GitHub](/en/community/github) issues for anything that involves discussion. We also do ephemeral communication on [Matrix](/en/community/matrix). diff --git a/docs/team/guide/tools.md b/docs/team/guide/tools.md index 40a034b8c..b7d4ec8d7 100644 --- a/docs/team/guide/tools.md +++ b/docs/team/guide/tools.md @@ -1,12 +1,4 @@ ---- -title: Tools -description: Collaboration tools used by the team -published: true -date: 2023-07-19T23:39:00.967Z -tags: -editor: markdown -dateCreated: 2021-11-04T12:29:56.320Z ---- +# Tools # Communication diff --git a/docs/team/guide/workflow.md b/docs/team/guide/workflow.md index 0b5a6c7ac..9fa91045e 100644 --- a/docs/team/guide/workflow.md +++ b/docs/team/guide/workflow.md @@ -1,12 +1,4 @@ ---- -title: Mathesar Team Workflow -description: Description of Mathesar's product development workflow -published: true -date: 2023-07-19T23:39:09.497Z -tags: -editor: markdown -dateCreated: 2021-10-23T18:29:01.610Z ---- +# Mathesar Team Workflow Mathesar work happens on GitHub. We create GitHub issues to track everything we're working on for both design and code. diff --git a/docs/team/index.md b/docs/team/index.md index 1ed145b00..bb86ac987 100644 --- a/docs/team/index.md +++ b/docs/team/index.md @@ -1,12 +1,4 @@ ---- -title: Team -description: About the Mathesar team -published: true -date: 2023-07-19T23:00:28.267Z -tags: -editor: markdown -dateCreated: 2021-05-28T12:40:44.943Z ---- +# Team Mathesar team members belong either to the **core team** or the **community team**. The core team maintains the project on a day-to-day basis. The community team contributes to Mathesar's design and development fairly regularly and has write access to the `mathesar` repository and wiki. diff --git a/docs/team/members.md b/docs/team/members.md index 30aae0f65..fc80ef197 100644 --- a/docs/team/members.md +++ b/docs/team/members.md @@ -1,12 +1,4 @@ ---- -title: Team Members -description: -published: true -date: 2023-07-19T23:14:29.733Z -tags: -editor: markdown -dateCreated: 2022-01-28T23:31:10.090Z ---- +# Team Members ## Core Team | **Name** | **Matrix** | **GitHub** | **Roles** | diff --git a/docs/team/responsibilities/fundraising.md b/docs/team/responsibilities/fundraising.md index 800730fec..76e5b4148 100644 --- a/docs/team/responsibilities/fundraising.md +++ b/docs/team/responsibilities/fundraising.md @@ -1,12 +1,4 @@ ---- -title: Fundraising -description: -published: true -date: 2023-07-19T23:39:17.915Z -tags: -editor: markdown -dateCreated: 2023-07-12T21:06:39.609Z ---- +# Fundraising This involves fundraising to sustain Mathesar's development and maintenance. diff --git a/docs/team/responsibilities/gsoc.md b/docs/team/responsibilities/gsoc.md index 091a515a2..75b11a1e5 100644 --- a/docs/team/responsibilities/gsoc.md +++ b/docs/team/responsibilities/gsoc.md @@ -1,12 +1,4 @@ ---- -title: GSoC 2023 -description: Administration of GSoC-related tasks and processes -published: true -date: 2023-07-19T23:39:27.921Z -tags: -editor: markdown -dateCreated: 2023-03-23T17:40:32.478Z ---- +# GSoC 2023 ## Introduction diff --git a/docs/team/responsibilities/index.md b/docs/team/responsibilities/index.md index b1fe397b3..5c55f49b5 100644 --- a/docs/team/responsibilities/index.md +++ b/docs/team/responsibilities/index.md @@ -1,12 +1,4 @@ ---- -title: Ongoing responsibilities -description: -published: true -date: 2023-07-19T23:14:38.512Z -tags: -editor: markdown -dateCreated: 2023-03-16T23:16:19.560Z ---- +# Ongoing responsibilities ## About - These are ongoing tasks involved in maintaining Mathesar. diff --git a/docs/team/responsibilities/installation-help.md b/docs/team/responsibilities/installation-help.md index 784b0a5d8..b178c8d94 100644 --- a/docs/team/responsibilities/installation-help.md +++ b/docs/team/responsibilities/installation-help.md @@ -1,12 +1,4 @@ ---- -title: Installation help -description: -published: true -date: 2023-07-19T23:39:36.426Z -tags: -editor: markdown -dateCreated: 2023-03-16T23:16:23.908Z ---- +# Installation help > Draft {.is-warning} diff --git a/docs/team/responsibilities/marketing.md b/docs/team/responsibilities/marketing.md index 46a08b1a5..9d62cd3c1 100644 --- a/docs/team/responsibilities/marketing.md +++ b/docs/team/responsibilities/marketing.md @@ -1,12 +1,4 @@ ---- -title: Marketing -description: -published: true -date: 2023-07-19T23:39:45.650Z -tags: -editor: markdown -dateCreated: 2023-03-16T23:16:28.309Z ---- +# Marketing # Team diff --git a/docs/team/responsibilities/release-management.md b/docs/team/responsibilities/release-management.md index cd2dda1d2..b51e0bef3 100644 --- a/docs/team/responsibilities/release-management.md +++ b/docs/team/responsibilities/release-management.md @@ -1,12 +1,4 @@ ---- -title: Release Management -description: -published: true -date: 2023-07-19T23:39:54.951Z -tags: -editor: markdown -dateCreated: 2023-03-16T23:16:32.618Z ---- +# Release Management # Team | Role | Assignees | diff --git a/docs/team/responsibilities/repo-admin.md b/docs/team/responsibilities/repo-admin.md index 37841facb..bfa64fd36 100644 --- a/docs/team/responsibilities/repo-admin.md +++ b/docs/team/responsibilities/repo-admin.md @@ -1,12 +1,4 @@ ---- -title: Repo admin -description: -published: true -date: 2023-07-19T23:40:03.763Z -tags: -editor: markdown -dateCreated: 2023-03-16T23:16:36.850Z ---- +# Repo admin # Team diff --git a/docs/team/responsibilities/team-management.md b/docs/team/responsibilities/team-management.md index 33f994160..e206dffcb 100644 --- a/docs/team/responsibilities/team-management.md +++ b/docs/team/responsibilities/team-management.md @@ -1,12 +1,4 @@ ---- -title: Team management -description: -published: true -date: 2023-07-19T23:40:12.172Z -tags: -editor: markdown -dateCreated: 2023-03-16T23:16:41.224Z ---- +# Team management ## Tasks diff --git a/docs/team/responsibilities/user-feedback.md b/docs/team/responsibilities/user-feedback.md index 43d6c332e..824d90538 100644 --- a/docs/team/responsibilities/user-feedback.md +++ b/docs/team/responsibilities/user-feedback.md @@ -1,12 +1,4 @@ ---- -title: User feedback -description: -published: true -date: 2023-07-19T23:40:21.176Z -tags: -editor: markdown -dateCreated: 2023-03-16T23:16:45.333Z ---- +# User feedback ## Team diff --git a/docs/team/worklogs/anish.md b/docs/team/worklogs/anish.md index c2da07a79..baf668334 100644 --- a/docs/team/worklogs/anish.md +++ b/docs/team/worklogs/anish.md @@ -1,12 +1,4 @@ ---- -title: Anish's work log -description: -published: true -date: 2023-08-01T18:49:09.331Z -tags: -editor: markdown -dateCreated: 2023-07-28T01:56:13.743Z ---- +# Anish's work log ## Actively working on diff --git a/docs/team/worklogs/anish/2023-07.md b/docs/team/worklogs/anish/2023-07.md index 285e296b1..3c8a41da0 100644 --- a/docs/team/worklogs/anish/2023-07.md +++ b/docs/team/worklogs/anish/2023-07.md @@ -1,12 +1,4 @@ ---- -title: Anish's work log archive: 2023-07 -description: -published: true -date: 2023-08-01T18:49:09.331Z -tags: -editor: markdown -dateCreated: 2023-08-01T18:49:09.331Z ---- +# Anish's work log archive: 2023-07 ## 2023-07-31 diff --git a/docs/team/worklogs/brent.md b/docs/team/worklogs/brent.md index ac46f95ed..5dfb3c3f4 100644 --- a/docs/team/worklogs/brent.md +++ b/docs/team/worklogs/brent.md @@ -1,12 +1,4 @@ ---- -title: Brent's work log -description: -published: true -date: 2023-07-20T02:44:18.336Z -tags: -editor: markdown -dateCreated: 2023-07-07T01:56:13.743Z ---- +# Brent's work log ## Actively working on diff --git a/docs/team/worklogs/ghislaine.md b/docs/team/worklogs/ghislaine.md index 66aea5ec1..3cd3ed4f0 100644 --- a/docs/team/worklogs/ghislaine.md +++ b/docs/team/worklogs/ghislaine.md @@ -1,12 +1,4 @@ ---- -title: Ghislaine's Worklog -description: -published: true -date: 2023-07-20T22:09:33.687Z -tags: -editor: markdown -dateCreated: 2023-07-06T20:00:15.650Z ---- +# Ghislaine's Worklog ## 2023-08-23 diff --git a/docs/team/worklogs/kriti.md b/docs/team/worklogs/kriti.md index 9ef9897e5..628e38be1 100644 --- a/docs/team/worklogs/kriti.md +++ b/docs/team/worklogs/kriti.md @@ -1,12 +1,4 @@ ---- -title: Kriti's work log -description: -published: true -date: 2023-07-19T23:40:58.704Z -tags: -editor: markdown -dateCreated: 2023-07-06T18:59:51.770Z ---- +# Kriti's work log # Working on - Reorganize and document ongoing responsibilities better diff --git a/docs/team/worklogs/kriti/2023-07.md b/docs/team/worklogs/kriti/2023-07.md index 41f71816f..ef46b0eb6 100644 --- a/docs/team/worklogs/kriti/2023-07.md +++ b/docs/team/worklogs/kriti/2023-07.md @@ -1,12 +1,4 @@ ---- -title: Kriti's work log archive: 2023-07 -description: -published: true -date: 2023-08-01T16:43:47.938Z -tags: -editor: markdown -dateCreated: 2023-08-01T16:42:41.407Z ---- +# Kriti's work log archive: 2023-07 ## 2023-07-31 (Mon) *Partial day, sick* diff --git a/docs/team/worklogs/mukesh.md b/docs/team/worklogs/mukesh.md index 10c1bdb18..e28c5792b 100644 --- a/docs/team/worklogs/mukesh.md +++ b/docs/team/worklogs/mukesh.md @@ -1,12 +1,4 @@ ---- -title: Mukesh Work Log -description: -published: true -date: 2023-07-20T19:54:30.670Z -tags: -editor: markdown -dateCreated: 2023-07-07T16:40:32.972Z ---- +# Mukesh Work Log ## Actively working on - Reply to Closing user reported issues email diff --git a/docs/team/worklogs/pavish.md b/docs/team/worklogs/pavish.md index 9adb5d9a6..7765966f1 100644 --- a/docs/team/worklogs/pavish.md +++ b/docs/team/worklogs/pavish.md @@ -1,12 +1,4 @@ ---- -title: Pavish's work log -description: -published: true -date: 2023-07-20T11:33:23.341Z -tags: -editor: markdown -dateCreated: 2023-07-07T17:01:46.847Z ---- +# Pavish's work log # Actively working on * Helping with Pre-existing Postgres DB compatibility project diff --git a/docs/team/worklogs/pavish/2023-07.md b/docs/team/worklogs/pavish/2023-07.md index b9dd83755..c7434d660 100644 --- a/docs/team/worklogs/pavish/2023-07.md +++ b/docs/team/worklogs/pavish/2023-07.md @@ -1,12 +1,4 @@ ---- -title: Pavish's work log archive: 2023-07 -description: -published: true -date: 2023-08-02T10:06:15.826Z -tags: -editor: markdown -dateCreated: 2023-08-02T10:06:15.826Z ---- +# Pavish's work log archive: 2023-07 ## 2023-07-31 * Raised PR for viewing shared queries: [#3133](https://github.com/centerofci/mathesar/pull/3113) diff --git a/docs/team/worklogs/rajat.md b/docs/team/worklogs/rajat.md index 18f3607b3..fa1b62611 100644 --- a/docs/team/worklogs/rajat.md +++ b/docs/team/worklogs/rajat.md @@ -1,12 +1,4 @@ ---- -title: Rajat's work log -description: -published: true -date: 2023-07-19T23:41:24.495Z -tags: -editor: markdown -dateCreated: 2023-07-10T13:57:01.782Z ---- +# Rajat's work log ## 2023-08-16 diff --git a/docs/team/worklogs/rajat/2023-07.md b/docs/team/worklogs/rajat/2023-07.md index 327f6232d..831bdfa29 100644 --- a/docs/team/worklogs/rajat/2023-07.md +++ b/docs/team/worklogs/rajat/2023-07.md @@ -1,12 +1,4 @@ ---- -title: Rajat's work log archive 2023-07 -description: -published: true -date: 2023-08-02T00:00:00.000Z -tags: -editor: markdown -dateCreated: 2023-08-02T00:00:00.000Z ---- +# Rajat's work log archive 2023-07 ## 2023-07-31 diff --git a/docs/team/worklogs/sean.md b/docs/team/worklogs/sean.md index 7c5797e65..550ab3eb8 100644 --- a/docs/team/worklogs/sean.md +++ b/docs/team/worklogs/sean.md @@ -1,12 +1,4 @@ ---- -title: Sean's work log -description: -published: true -date: 2023-07-20T16:13:14.279Z -tags: -editor: markdown -dateCreated: 2023-07-07T18:46:25.644Z ---- +# Sean's work log ## TODO From bdc2a3a95dff42b5b4e20ce96ba2edf6282d9c31 Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Tue, 22 Aug 2023 14:38:53 -0400 Subject: [PATCH 10/35] Fix "links-list" content --- docs/design/exploration.md | 6 ----- docs/design/overview.md | 23 ++++++++----------- docs/design/reports.md | 7 ------ docs/engineering/architecture.md | 11 --------- docs/engineering/glossary.md | 5 ---- docs/engineering/reports.md | 13 ----------- docs/engineering/standards.md | 8 ------- docs/meeting-notes/2022-10.md | 8 ------- docs/meeting-notes/2022-11.md | 7 ------ docs/meeting-notes/2023-01.md | 6 ----- docs/meeting-notes/2023-02.md | 14 ----------- docs/meeting-notes/2023-03.md | 14 ----------- docs/meeting-notes/2023-04.md | 4 ---- docs/meeting-notes/2023-05.md | 6 ----- docs/meeting-notes/2023-06.md | 6 ----- docs/meeting-notes/2023-07.md | 9 -------- docs/meeting-notes/2023-08.md | 7 ------ docs/product/index.md | 5 ++-- .../specs/2022-01-views/04-formulas.md | 1 - docs/team/guide/index.md | 21 ++++++++--------- 20 files changed, 21 insertions(+), 160 deletions(-) delete mode 100644 docs/design/reports.md delete mode 100644 docs/engineering/architecture.md delete mode 100644 docs/engineering/glossary.md delete mode 100644 docs/engineering/reports.md delete mode 100644 docs/engineering/standards.md delete mode 100644 docs/meeting-notes/2022-10.md delete mode 100644 docs/meeting-notes/2022-11.md delete mode 100644 docs/meeting-notes/2023-01.md delete mode 100644 docs/meeting-notes/2023-02.md delete mode 100644 docs/meeting-notes/2023-03.md delete mode 100644 docs/meeting-notes/2023-04.md delete mode 100644 docs/meeting-notes/2023-05.md delete mode 100644 docs/meeting-notes/2023-06.md delete mode 100644 docs/meeting-notes/2023-07.md delete mode 100644 docs/meeting-notes/2023-08.md diff --git a/docs/design/exploration.md b/docs/design/exploration.md index c2c25814b..d5798b84c 100644 --- a/docs/design/exploration.md +++ b/docs/design/exploration.md @@ -9,7 +9,6 @@ A single student worked on a design concept for an "attachment" data type in Mat - [Final deliverable - Figma file](https://www.figma.com/file/MW6UQLmekJUQ5fV1LrNbXH/Mathesar---Attachment?node-id=0%3A1) - [Final presentation - Figma prototype](https://www.figma.com/proto/6qIIIfaaAbguxoYnCMbA8V/PDS%3A-Mathesar_Solo-presentation?node-id=1%3A80&scaling=contain&page-id=0%3A1&starting-point-node-id=1%3A80) - [Project kick off and research - FigJam file](https://www.figma.com/file/T20ZNFnGVjImXNdhQFx6cm/Mathesar---Data-Attachment?node-id=0%3A1&t=0gnp1vBt3Q7LbmYM-0) -{.links-list} ## Sharing data A group of four students worked on designing a "sharing" feature i.e. how Mathesar users could invite collaborators, and share data sets via URL or embedding. @@ -18,7 +17,6 @@ A group of four students worked on designing a "sharing" feature i.e. how Mathes - [Final deliverable - Figma prototype](https://www.figma.com/proto/LaL2nXhmKV4s3E60nkAn7P/Share-Feature?node-id=236%3A24477&scaling=min-zoom&page-id=236%3A24477&starting-point-node-id=236%3A25507&show-proto-sidebar=1) - [Final deliverable - Product spec](https://docs.google.com/document/d/1doB34Fh_tMp5PvfCWCRqT5Jn7AXj_uxXukqlTPCMDxc/) - [User Interviews and Competitive Analysis presentatipn](https://docs.google.com/presentation/d/1HQZRmcktwMD8hdYOvkfk0wZxFwF75ZOiTHCNs19ft84/) -{.links-list} # Fall 2021 @@ -28,24 +26,20 @@ The Mathesar team participated as a client in UC Berkeley's [Product Design Stud A single student worked on a design concept for how users could aggregate data within a table. We'll be using the work as inspiration for our Views feature and future visualization features. - [Design prototype *Figma prototype demonstrating the feature*](https://www.figma.com/proto/7M8TejfRMrZmxU9yQXDDzS/MATHESAR-2?page-id=0%3A1&node-id=62%3A10285&viewport=241%2C48%2C0.41&scaling=scale-down-width&starting-point-node-id=62%3A10285) -{.links-list} ## Media Asset browsing A group of four students worked on design concepts for how Mathesar users could work with photos and videos more easily. We hope to use their work as inspiration for future plugins. - [User Research *Presentation covering research and user interviews*](https://docs.google.com/presentation/d/1g8cgNmavxpik891B_CXAcxFpWeMpc2BH/edit?usp=sharing&ouid=110253414265591589278&rtpof=true&sd=true) - [Final Presentation *Final work product, including completed designs*](https://docs.google.com/presentation/d/1niviyUEJINRQsOgSRfM65H8YuyYLtLLs/edit?usp=sharing&ouid=110253414265591589278&rtpof=true&sd=true) -{.links-list} # April 2021 - [Inventory Use Case *User journey for creating a basic media inventory using Mathesar*](/design/exploration/use-cases/inventory-use-case) - [Inventory: Data Exploration *Data exploration features for the inventory use case*](/design/exploration/inventory-data-exploration) - [Data Management Skills *Notes on skills needed by users to interact with data*](/design/exploration/data-management-skills) -{.links-list} # UI Inspiration These are screenshots, articles etc. related to UI/UX patterns that may be useful to us while designing Mathesar. - [Data Types](/design/exploration/data-types) - [Advanced Filters](/design/exploration/filters) -{.links-list} \ No newline at end of file diff --git a/docs/design/overview.md b/docs/design/overview.md index 65392f87e..74de0a6ac 100644 --- a/docs/design/overview.md +++ b/docs/design/overview.md @@ -5,10 +5,9 @@ This is the homepage for Mathesar design work, closely related to [Product](/pro # Documents Outputs of our design process. -- [Specs *List of design specs*](/design/specs) -- [Exploration *Rough notes for initial research and discovery*](/design/exploration) -- [Reports *Conclusions drawn after research*](/design/reports) -{.links-list} +- [Specs](/design/specs) - *List of design specs* +- [Exploration](/design/exploration) - *Rough notes for initial research and discovery* +- [Reports](/design/reports) - *Conclusions drawn after research* # Workflow Design tasks are [tracked on GitHub](https://github.com/centerofci/mathesar/issues?q=is%3Aopen+is%3Aissue+label%3A%22work%3A+design%22) and are closely tied to our [Roadmap](/product/roadmap). @@ -17,10 +16,9 @@ We aim to complete design work for a milestone at least 2-3 weeks before the dea More information: -- [Spec Guidelines *Guidelines for creating and reviewing design specs.*](/design/process/review-guidelines) -- [Design System *Description of Mathesar's design system*](/design/process/design-system) -- [Design Standards *Rules to follow for Mathesar's UI*](/design/standards) -{.links-list} +- [Spec Guidelines](/design/process/review-guidelines) - *Guidelines for creating and reviewing design specs.* +- [Design System](/design/process/design-system) - *Description of Mathesar's design system* +- [Design Standards](/design/standards) - *Rules to follow for Mathesar's UI* ## Contributing You must be a member of our [design team](/team) to contribute to design tasks. Due to limited capacity, we are currently unable to accept design volunteers. @@ -28,8 +26,7 @@ You must be a member of our [design team](/team) to contribute to design tasks. # Philosophy High-level information about the philosophy behind our design. -- [Design Principles *Principles that guide our design*.](/design/design-principles) -- [Design Process *High-level overview of our approach to solving design problems.*](/design/process) -- [Deliverables *Format of deliverables from the design process.*](/design/process/deliverables) -- [Resources *Reading and external resources*](/design/resources) -{.links-list} \ No newline at end of file +- [Design Principles.](/design/design-principles) - *Principles that guide our design* +- [Design Process](/design/process) - *High-level overview of our approach to solving design problems.* +- [Deliverables](/design/process/deliverables) - *Format of deliverables from the design process.* +- [Resources](/design/resources) - *Reading and external resources* \ No newline at end of file diff --git a/docs/design/reports.md b/docs/design/reports.md deleted file mode 100644 index 6fd6cc74a..000000000 --- a/docs/design/reports.md +++ /dev/null @@ -1,7 +0,0 @@ -# Design Reports - -# May 2021 - -- [Inventory Use Case](/design/reports/inventory-use-case) -- [Tool Category Exploration](/design/reports/tool-category) -{.links-list} diff --git a/docs/engineering/architecture.md b/docs/engineering/architecture.md deleted file mode 100644 index 1d81cb1be..000000000 --- a/docs/engineering/architecture.md +++ /dev/null @@ -1,11 +0,0 @@ -# Architecture - -This page has been deprecated in favor of these sections: - -- [Standards *Code and API standards*](/en/engineering/standards) -- [Glossary *Definitions of concepts used in the codebase*](/en/engineering/glossary) -- [Technical Design Documents *Specs for implementing various features*](/en/engineering/specs) -{.links-list} - - -See also [GitHub discussions categorized as "Architecture"](https://github.com/centerofci/mathesar/discussions/categories/architecture) diff --git a/docs/engineering/glossary.md b/docs/engineering/glossary.md deleted file mode 100644 index 039bf864a..000000000 --- a/docs/engineering/glossary.md +++ /dev/null @@ -1,5 +0,0 @@ -# Code Glossary - -- [UI Types *UI data types in Mathesar*](/en/engineering/glossary/ui-types) -- [Filters *Filters in Mathesar*](/en/engineering/glossary/filters) -{.links-list} diff --git a/docs/engineering/reports.md b/docs/engineering/reports.md deleted file mode 100644 index 0c5e92936..000000000 --- a/docs/engineering/reports.md +++ /dev/null @@ -1,13 +0,0 @@ -# Project reports - -# GSoC 2022 - -- [JSON data type (Jinxiao Li)](/en/engineering/reports/gsoc-2022-json-type) -- [Dependents graph (Yurii Palaida)](/en/engineering/reports/gsoc-2022-dependents-graph) -- [Importing data into existing tables (Anish Umale)](/en/engineering/reports/gsoc-2022-importing-data-into-existing-tables) -{.links-list} - -# 2023 - -- [List data type](/en/engineering/reports/list-datatype) -{.links-list} diff --git a/docs/engineering/standards.md b/docs/engineering/standards.md deleted file mode 100644 index 3e9ca3730..000000000 --- a/docs/engineering/standards.md +++ /dev/null @@ -1,8 +0,0 @@ -# Standards - -> Under construction. -{.is-warning} - -- [API Standards *Rules that API interfaces should follow*](https://github.com/centerofci/mathesar/blob/develop/mathesar/api/STANDARDS.md) -- [Frontend Standards *Rules that frontend code should follow*](https://github.com/centerofci/mathesar/blob/develop/mathesar_ui/STANDARDS.md) -{.links-list} \ No newline at end of file diff --git a/docs/meeting-notes/2022-10.md b/docs/meeting-notes/2022-10.md deleted file mode 100644 index cbad9122e..000000000 --- a/docs/meeting-notes/2022-10.md +++ /dev/null @@ -1,8 +0,0 @@ -# October 2022 meeting notes - -- [2022-10-26 weekly meeting](/en/meeting-notes/2022-10/2022-10-26-weekly) -- [2022-10-19 weekly meeting](/en/meeting-notes/2022-10/2022-10-19-weekly) -- [2022-10-12 weekly meeting](/en/meeting-notes/2022-10/2022-10-12-weekly) -- [2022-10-05 weekly meeting](/en/meeting-notes/2022-10/2022-10-05-weekly) -- [2022-10-04 backend meeting](/en/meeting-notes/2022-10/2022-10-04-backend) -{.links-list} \ No newline at end of file diff --git a/docs/meeting-notes/2022-11.md b/docs/meeting-notes/2022-11.md deleted file mode 100644 index 9b315be9e..000000000 --- a/docs/meeting-notes/2022-11.md +++ /dev/null @@ -1,7 +0,0 @@ -# November 2022 Meeting Notes - -- [2022-11-28 planning meeting](/en/meeting-notes/2022-11/2022-11-28-planning) -- [2022-11-17 weekly meeting](/en/meeting-notes/2022-11/2022-11-17-weekly) -- [2022-11-09 weekly meeting](/en/meeting-notes/2022-11/2022-11-09-weekly) -- [2022-11-02 weekly meeting](/en/meeting-notes/2022-11/2022-11-02-weekly) -{.links-list} diff --git a/docs/meeting-notes/2023-01.md b/docs/meeting-notes/2023-01.md deleted file mode 100644 index bb7d64ec9..000000000 --- a/docs/meeting-notes/2023-01.md +++ /dev/null @@ -1,6 +0,0 @@ -# January 2023 meeting notes - -- [2023-01-18 frontend meeting on RFCs](/en/meeting-notes/2023-01/2023-01-18-fe-new-feature-rfc) -- [2023-01-05 release planning meeting](/en/meeting-notes/2023-01/2023-01-05-planning) -- [# 2023-01-20 Meeting about how to handle partial user input of dates](./2023-01/2023-01-20-partial-user-input-of-dates.md) -{.links-list} diff --git a/docs/meeting-notes/2023-02.md b/docs/meeting-notes/2023-02.md deleted file mode 100644 index e6e209817..000000000 --- a/docs/meeting-notes/2023-02.md +++ /dev/null @@ -1,14 +0,0 @@ -# February 2023 meeting notes - -- [2023-02-27 deployment check in](/en/meeting-notes/2023-02/2023-02-27-deployment-check-in) -- [2023-02-24 launch update email](/en/meeting-notes/2023-02/2023-02-24-launch-update-email) -- [2023-02-23 launch check in](/en/meeting-notes/2023-02/2023-02-23-launch-check-in) -- [2023-02-22 launch check in](/en/meeting-notes/2023-02/2023-02-22-launch-check-in) -- [2023-02-21 launch check in](/en/meeting-notes/2023-02/2023-02-21-launch-check-in) -- [2023-02-17 launch check in](/en/meeting-notes/2023-02/2023-02-17-launch-check-in) -- [2023-02-15 launch check in](/en/meeting-notes/2023-02/2023-02-15-launch-check-in) -- [2023-02-13 launch check in](/en/meeting-notes/2023-02/2023-02-13-launch-check-in) -- [2023-02-10 launch check in](/en/meeting-notes/2023-02/2023-02-10-launch-check-in) -- [2023-02-08 launch planning meeting](/en/meeting-notes/2023-02/2023-02-08-launch-planning) -- [2023-02-01 core team meeting](/en/meeting-notes/2023-02/2023-02-01-team) -{.links-list} \ No newline at end of file diff --git a/docs/meeting-notes/2023-03.md b/docs/meeting-notes/2023-03.md deleted file mode 100644 index 3d16458db..000000000 --- a/docs/meeting-notes/2023-03.md +++ /dev/null @@ -1,14 +0,0 @@ -# March 2023 meeting notes - -- [2023-03-29 Team meeting](./2023-03/2023-03-29-team-meeting.md) -- [2023-03-27 Installation improvements planned for 0.1.2](./2023-03/installation-improvements-in-0-1-2) -- [2023-03-21 Plan for 0.1.2](./2023-03/release-plan-0_1_2) -- [2023-03-20 Handling regressions in 0.1.1](./2023-03/2023-03-20-handling-regressions) -- [2023-03-17 Installation Improvements meeting](./2023-03/2023-03-17-installation-improvements-meeting.md) -- [2023-03-17 responsibilities and projects meeting](./2023-03/responsibilities-projects-meeting-2023-03-15.md) -- [2023-03-15 responsibilities and projects meeting](./2023-03/core-team-meeting-2023-03-15.md) -- [2023-03-13 Backend meeting](./2023-03/backend-meeting-2023-03-13.md) -- [2023-03-07 priorities & workflow meeting](./2023-03/2023-03-07-priorities-workflow-meeting.md) -- [2023-03-02 removing SQLAlchemy meeting](./2023-03/2023-03-08-removing-sqlachemy-meeting.md) -- [2023-03-02 launch check-in](./2023-03/2023-03-02-launch-check-in.md) -{.links-list} \ No newline at end of file diff --git a/docs/meeting-notes/2023-04.md b/docs/meeting-notes/2023-04.md deleted file mode 100644 index ee308eeda..000000000 --- a/docs/meeting-notes/2023-04.md +++ /dev/null @@ -1,4 +0,0 @@ -# April 2023 meeting notes - -- [2023-04-03 Installation plan finalization](./2023-04/2023-04-03-installation-plan-finalization) -{.links-list} \ No newline at end of file diff --git a/docs/meeting-notes/2023-05.md b/docs/meeting-notes/2023-05.md deleted file mode 100644 index 967a4b5c7..000000000 --- a/docs/meeting-notes/2023-05.md +++ /dev/null @@ -1,6 +0,0 @@ -# May 2023 meeting notes - -- [2023-05-30 frontend team meeting](./2023-05/2023-05-30-front-end-team-meeting.md) -- [2023-05-10 Team meeting](./2023-05/2023-05-10-team-meeting.md) -- [2023-05-03 Team meeting](./2023-05/2023-05-03-team-meeting.md) -{.links-list} \ No newline at end of file diff --git a/docs/meeting-notes/2023-06.md b/docs/meeting-notes/2023-06.md deleted file mode 100644 index 532436429..000000000 --- a/docs/meeting-notes/2023-06.md +++ /dev/null @@ -1,6 +0,0 @@ -# June 2023 meeting notes - -- [2023-06-27 team meeting](./2023-06/2023-06-27-team-meeting.md) -- [2023-06-13 installation planning meeting](./2023-06/2023-06-13-installation-planning-meeting.md) -- [2023-06-07 team meeting](./2023-06/2023-06-07-team-meeting.md) -{.links-list} \ No newline at end of file diff --git a/docs/meeting-notes/2023-07.md b/docs/meeting-notes/2023-07.md deleted file mode 100644 index 421634be7..000000000 --- a/docs/meeting-notes/2023-07.md +++ /dev/null @@ -1,9 +0,0 @@ -# July 2023 meeting notes - -- [2023-07-28 installation meeting](./2023-07/2023-07-28-installation-meeting.md) -- [2023-07-26 team meeting](./2023-07/2023-07-26-team-meeting.md) -- [2023-07-11 installation meeting](/en/meeting-notes/2023-07/2023-07-11-installation-meeting) -- [2023-07-06 installation meeting](/en/meeting-notes/2023-07/2023-07-06-installation-meeting) -- [2023-07-06 team meeting](/en/meeting-notes/2023-07/2023-07-06-team-meeting) -- [2023-07-03 team meeting](/en/meeting-notes/2023-07/2023-07-03-team-meeting) -{.links-list} \ No newline at end of file diff --git a/docs/meeting-notes/2023-08.md b/docs/meeting-notes/2023-08.md deleted file mode 100644 index 9897a5957..000000000 --- a/docs/meeting-notes/2023-08.md +++ /dev/null @@ -1,7 +0,0 @@ -# August 2023 meeting notes - -- [2023-08-23 team meeting](./2023-08/2023-08-23-team-meeting.md) -- [2023-08-18 team meeting](./2023-08/2023-08-18-team-meeting.md) -- [2023-08-10 team meeting](./2023-08/2023-08-10-team-meeting.md) -- [2023-08-09 team meeting](./2023-08/2023-08-09-team-meeting.md) -{.links-list} \ No newline at end of file diff --git a/docs/product/index.md b/docs/product/index.md index e7bd6073a..019470795 100644 --- a/docs/product/index.md +++ b/docs/product/index.md @@ -46,6 +46,5 @@ Data is valuable and shouldn’t be tied to using a specific proprietary service ## Further reading -- [Tool Category Exploration *Report on initial research towards defining Mathesar's scope*](/design/reports/tool-category) -- [Product Concepts *Concepts in Mathesar*](/product/concepts) -{.links-list} \ No newline at end of file +- [Tool Category Exploration](/design/reports/tool-category) - *Report on initial research towards defining Mathesar's scope* +- [Product Concepts](/product/concepts) \ No newline at end of file diff --git a/docs/product/specs/2022-01-views/04-formulas.md b/docs/product/specs/2022-01-views/04-formulas.md index bbe9729fe..029f5966c 100644 --- a/docs/product/specs/2022-01-views/04-formulas.md +++ b/docs/product/specs/2022-01-views/04-formulas.md @@ -111,6 +111,5 @@ This is a list of view formulas that we should support in the alpha release of M - [Cumulative Formulas *Formulas building on previous rows in the query*](/en/product/specs/2022-01-views/04-formulas/4h-cumulative-formulas) - [Regular Expression Formulas *Formulas that use regular expressions*](/en/product/specs/2022-01-views/04-formulas/4i-regex-formulas) - [Custom Formulas *An interface to support more complicated formulas*](/en/product/specs/2022-01-views/04-formulas/4j-custom-formulas) -{.links-list} diff --git a/docs/team/guide/index.md b/docs/team/guide/index.md index be4d39a0d..8de5ffdf3 100644 --- a/docs/team/guide/index.md +++ b/docs/team/guide/index.md @@ -6,25 +6,22 @@ A guide for Mathesar core and community team members. These pages relate to Mathesar's development. -- [Workflow *How the workflow of the team is organized*.](/team/guide/workflow) -- [Meetings *How we should approach meetings*](/team/guide/meetings) -- [Design Review *Guidelines for reviewing new designs*](/design/process/review-guidelines) -- [Code Review *Guidelines for reviewing new code*](/engineering/code-review) -{.links-list} +- [Workflow](/team/guide/workflow) - *How the workflow of the team is organized* +- [Meetings](/team/guide/meetings) - *How we should approach meetings* +- [Design Review](/design/process/review-guidelines) - *Guidelines for reviewing new designs* +- [Code Review](/engineering/code-review) - *Guidelines for reviewing new code* ## Community Management These pages relate to managing the community of contributors around the project, but are also applicable to the product development workflow. -- [Issue Triage *How to triage incoming issues, including ones you make yourself*](/team/guide/issue-triage) -- [Issue Assignment *How to assign issues to interested contributors or yourself*](/team/guide/issue-assignment) -{.links-list} +- [Issue Triage](/team/guide/issue-triage) - *How to triage incoming issues, including ones you make yourself* +- [Issue Assignment](/team/guide/issue-assignment) - *How to assign issues to interested contributors or yourself* ## Other Other pages that don't fit into the above two categories. -- [Tools *Collaboration tools used by the Mathesar team*](/team/guide/tools) -- [Team Events *About Mathesar core team events*](/team/guide/events) -- [Communication Tips *Communication tips for Mathesar team members*](/team/guide/comm-tips) -{.links-list} \ No newline at end of file +- [Tools](/team/guide/tools) - *Collaboration tools used by the Mathesar team* +- [Team Events](/team/guide/events) - *About Mathesar core team events* +- [Communication Tips](/team/guide/comm-tips) - *Communication tips for Mathesar team members* \ No newline at end of file From bde74888ee1e2b12b1f115a99e45c43979424b8c Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Tue, 22 Aug 2023 14:39:42 -0400 Subject: [PATCH 11/35] Re-organize more index pages --- docs/design/{overview.md => index.md} | 0 docs/engineering/archive.md | 5 ----- .../{code-review.md => code-review/index.md} | 0 docs/engineering/research.md | 5 ----- docs/engineering/specs.md | 21 ------------------- 5 files changed, 31 deletions(-) rename docs/design/{overview.md => index.md} (100%) delete mode 100644 docs/engineering/archive.md rename docs/engineering/{code-review.md => code-review/index.md} (100%) delete mode 100644 docs/engineering/research.md delete mode 100644 docs/engineering/specs.md diff --git a/docs/design/overview.md b/docs/design/index.md similarity index 100% rename from docs/design/overview.md rename to docs/design/index.md diff --git a/docs/engineering/archive.md b/docs/engineering/archive.md deleted file mode 100644 index 5d85a0e1a..000000000 --- a/docs/engineering/archive.md +++ /dev/null @@ -1,5 +0,0 @@ -# Archive - -This section contains pages that are no longer used but preserved for historical interest. - -- [Engineering Decisions](/en/engineering/archive/decisions) \ No newline at end of file diff --git a/docs/engineering/code-review.md b/docs/engineering/code-review/index.md similarity index 100% rename from docs/engineering/code-review.md rename to docs/engineering/code-review/index.md diff --git a/docs/engineering/research.md b/docs/engineering/research.md deleted file mode 100644 index 42a3a9359..000000000 --- a/docs/engineering/research.md +++ /dev/null @@ -1,5 +0,0 @@ -# research - -# Engineering Research - -- [Formulas](./research/formulas.md) diff --git a/docs/engineering/specs.md b/docs/engineering/specs.md deleted file mode 100644 index 95dd7132f..000000000 --- a/docs/engineering/specs.md +++ /dev/null @@ -1,21 +0,0 @@ -# Technical Design Documents - -## 2022-10 -- [Dependents graph](/en/engineering/specs/dependents-graph) - -## 2022-06 -- [Record selector](/en/design/specs/record-selector) - -## 2022-03 -- [Number display and entry](/en/engineering/specs/numbers) -- [Human readable dates and times](/en/engineering/specs/dateandtime) - -## 2021-09 -- [Import previewing](/en/engineering/specs/import-preview-api) - -## 2021-07 -- [Syncing database objects](/en/engineering/specs/syncing) - -## 2021-05 -- [DDL operations](/en/engineering/specs/ddl) -- [DML operations](/en/engineering/specs/dml) From 4702d5db06bde1de4264b70ae538ab99a1ab5cb5 Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Tue, 22 Aug 2023 15:02:45 -0400 Subject: [PATCH 12/35] Organize some team content --- docs/team/.pages | 5 ++ docs/team/guide/.pages | 7 ++ docs/team/guide/issue-assignment.md | 11 ---- .../team/guide/{issue-triage.md => issues.md} | 20 +++++- docs/team/guide/meetings.md | 64 +++++++++++-------- docs/team/guide/tools.md | 4 +- docs/team/guide/workflow.md | 2 - docs/team/index.md | 42 +++++++++++- docs/team/members.md | 37 ----------- 9 files changed, 108 insertions(+), 84 deletions(-) create mode 100644 docs/team/.pages create mode 100644 docs/team/guide/.pages delete mode 100644 docs/team/guide/issue-assignment.md rename docs/team/guide/{issue-triage.md => issues.md} (68%) delete mode 100644 docs/team/members.md diff --git a/docs/team/.pages b/docs/team/.pages new file mode 100644 index 000000000..4d24947e3 --- /dev/null +++ b/docs/team/.pages @@ -0,0 +1,5 @@ +nav: + - responsibilities + - guide + - ... + - archive diff --git a/docs/team/guide/.pages b/docs/team/guide/.pages new file mode 100644 index 000000000..38bd69d36 --- /dev/null +++ b/docs/team/guide/.pages @@ -0,0 +1,7 @@ +nav: + - Communication: comm-tips.md + - Events: events.md + - Issues: issues.md + - Meetings: meetings.md + - Tools: tools.md + - Workflow: workflow.md diff --git a/docs/team/guide/issue-assignment.md b/docs/team/guide/issue-assignment.md deleted file mode 100644 index 81f334558..000000000 --- a/docs/team/guide/issue-assignment.md +++ /dev/null @@ -1,11 +0,0 @@ -# Issue Assignment - -Issues should only be assigned to core and community team members who have committed to completing the issue. - -If an outside contributor wants to work on the issue, they should still comment on it to indicate interest, but there's no need to assign it to them. - -If you are assigning an issue: - -1. Ensure that the issue has sufficient detail and can be worked on. If not, update the issue so that it does. -2. Assign the issue to the desired person. -3. Remove the existing `status: ready` label and change the label to `status: started`. This will automatically update the "Status" in the project as well, you do not need to do this manually. diff --git a/docs/team/guide/issue-triage.md b/docs/team/guide/issues.md similarity index 68% rename from docs/team/guide/issue-triage.md rename to docs/team/guide/issues.md index 8c342af11..e8bdbc15d 100644 --- a/docs/team/guide/issue-triage.md +++ b/docs/team/guide/issues.md @@ -1,13 +1,27 @@ -# Issue Triage +# Managing GitHub Issues + +## Assigning issues + +Issues should only be assigned to core and community team members who have committed to completing the issue. + +If an outside contributor wants to work on the issue, they should still comment on it to indicate interest, but there's no need to assign it to them. + +If you are assigning an issue: + +1. Ensure that the issue has sufficient detail and can be worked on. If not, update the issue so that it does. +2. Assign the issue to the desired person. +3. Remove the existing `status: ready` label and change the label to `status: started`. This will automatically update the "Status" in the project as well, you do not need to do this manually. + +## Issue Triage Triaging an issue means setting all the appropriate fields on it. -## Responsibility +### Responsibility - Everyone creating issues should do their best to triage them at creation time. - Team members who work on the [repo admin](/en/team/responsibilities/repo-admin) responsibility should catch issues opened by non-team members or were not properly triaged during creation. -## How to triage one issue +### How to triage one issue 1. **Set required labels** diff --git a/docs/team/guide/meetings.md b/docs/team/guide/meetings.md index bc2826cd7..6f4bbc73b 100644 --- a/docs/team/guide/meetings.md +++ b/docs/team/guide/meetings.md @@ -1,63 +1,75 @@ -# Meetings +# Running Effective Team Meetings By default, we are an asynchronous team and communicate via our [mailing lists](/en/community/mailing-lists) or [GitHub](/en/community/github) issues for anything that involves discussion. We also do ephemeral communication on [Matrix](/en/community/matrix). But sometimes, meeting synchronously is the fastest way to get something done. Here's how you should approach meetings. -# Running Effective Meetings These steps should _definitely_ be applied to any meeting with more than two people, The general mindset should also be helpful for 1:1 meetings. ## Before scheduling -**1. Think about whether you _need_ a meeting.** -Meetings are costly, e.g. a one hour meeting with five people costs five hours of people's work + whatever time it takes to context switch before and after. +1. **Think about whether you _need_ a meeting.** -The outcome of the meeting should be worth the time spent. If a one hour meeting with five people saves six hours of back and forth on email, then it is _barely_ worth it (and might not be, with context switching costs taken into account). + Meetings are costly, e.g. a one hour meeting with five people costs five hours of people's work + whatever time it takes to context switch before and after. -**2. Determine the desired outcome for the meeting.** -The purpose of the meeting should be clearly stated and written down. + The outcome of the meeting should be worth the time spent. If a one hour meeting with five people saves six hours of back and forth on email, then it is _barely_ worth it (and might not be, with context switching costs taken into account). -At the end of the meeting, every participant should be able to clearly determine whether the outcome was achieved. +2. **Determine the desired outcome for the meeting.** -**3. Designate a Meeting Owner.** -The Meeting Owner is responsible for: -- Determining who should attend -- Handling any asynchronous preparation -- Running the meeting and facilitating discussion -- Ensuring that the desired outcome is reached within the allotted time -- Clearly communicating next steps and action items to participants -- Ensuring that comprehensive notes are taken -- Publishing the notes on the wiki + The purpose of the meeting should be clearly stated and written down. -If you're scheduling a meeting, this is you. + At the end of the meeting, every participant should be able to clearly determine whether the outcome was achieved. -**4. Determine Attendees.** -Make sure this list is the _minimum_ set of people that actually need to participate in the discussion. If someone just needs to be informed of the outcome, then the notes should serve that. +3. **Designate a Meeting Owner.** -**5. Handle Asynchronous Preparation.** -- Meetings should only involve _discussion_. -- Determine what resources attendees should read ahead of time and send them an email asking them to. -- If there are updates or opinions that can be shared ahead of time, please ask attendees to do that. + The Meeting Owner is responsible for: -**6. Create an agenda with time boxes for each topic.** -- Thie will help you ensure that the meeting is on track. + - Determining who should attend + - Handling any asynchronous preparation + - Running the meeting and facilitating discussion + - Ensuring that the desired outcome is reached within the allotted time + - Clearly communicating next steps and action items to participants + - Ensuring that comprehensive notes are taken + - Publishing the notes on the wiki + + If you're scheduling a meeting, this is you. + +4. **Determine Attendees.** + + Make sure this list is the _minimum_ set of people that actually need to participate in the discussion. If someone just needs to be informed of the outcome, then the notes should serve that. + +5. **Handle Asynchronous Preparation.** + + - Meetings should only involve _discussion_. + - Determine what resources attendees should read ahead of time and send them an email asking them to. + - If there are updates or opinions that can be shared ahead of time, please ask attendees to do that. + +6. **Create an agenda with time boxes for each topic.** + + - This will help you ensure that the meeting is on track. ## Scheduling + You can now schedule the meeting. Make sure to send the agenda and asynchronous preparation checklist to all attendees. We have a HackMD template to make this easier, you can use it like so: + ![screen_shot_2022-12-08_at_9.53.42_pm.png](/assets/team/guide/meetings/screen_shot_2022-12-08_at_9.53.42_pm.png) + ![screen_shot_2022-12-08_at_9.53.57_pm.png](/assets/team/guide/meetings/screen_shot_2022-12-08_at_9.53.57_pm.png) ## At the meeting + - If the async preparation hasn't been done by attendees, then reschedule the meeting. - Designate a note taker (or two) - Keep the conversation focused on the desired outcome. - Obey the time limits you've set for given agenda items and for the entire meeting. ## After the meeting + - Clean up the notes and publish them on the wiki, see [Meeting Notes](/en/meeting-notes). - Follow up with participants and other interested parties with decisions and action items. # Additional resources + - [Matt Mochary's "Meetings: How to make them effective and efficient" on Google Docs](https://docs.google.com/document/d/1m4tP-ZtTg2OkHgu8dih4qzNSXtp9zrwS5o_Blrs6_Sk/) diff --git a/docs/team/guide/tools.md b/docs/team/guide/tools.md index b7d4ec8d7..6be8adda9 100644 --- a/docs/team/guide/tools.md +++ b/docs/team/guide/tools.md @@ -1,6 +1,4 @@ -# Tools - -# Communication +# Team Communication Tool ## GitHub We use GitHub for code, issue tracking, and long form discussions. Please see [Workflow](/team/guide/workflow) for more information. diff --git a/docs/team/guide/workflow.md b/docs/team/guide/workflow.md index 9fa91045e..bae601644 100644 --- a/docs/team/guide/workflow.md +++ b/docs/team/guide/workflow.md @@ -2,8 +2,6 @@ Mathesar work happens on GitHub. We create GitHub issues to track everything we're working on for both design and code. -# Workflow - We track our tasks in the [Mathesar GitHub project](https://github.com/orgs/centerofci/projects/1). We're reorganizing our team workflow into [projects](/en/projects) and [ongoing responsibilities](/en/team/responsibilities). diff --git a/docs/team/index.md b/docs/team/index.md index bb86ac987..3e42a4973 100644 --- a/docs/team/index.md +++ b/docs/team/index.md @@ -1,5 +1,43 @@ # Team -Mathesar team members belong either to the **core team** or the **community team**. The core team maintains the project on a day-to-day basis. The community team contributes to Mathesar's design and development fairly regularly and has write access to the `mathesar` repository and wiki. +## Core Team -For now, joining the team is invite-only. \ No newline at end of file +The core team maintains the project on a day-to-day basis. + +| **Name** | **Matrix** | **GitHub** | **Roles** | +|-|-|-|-| +| Sean Colsen | `@seancolsen:matrix.mathesar.org` | `@seancolsen` | Engineering (frontend) | +| Kriti Godey | `@kgodey:matrix.mathesar.org` | `@kgodey` | Project lead, Product, Engineering (backend) | +| Ghislaine Guerin | `@ghislaine:matrix.mathesar.org` | `@ghislaineguerin` | Product, Design | +| Pavish Kumar Ramani Gopal | `@pavish:matrix.mathesar.org` | `@pavish` | Engineering (frontend) | +| Brent Moran | `@brent:matrix.mathesar.org` | `@mathemancer` | Engineering (backend) | +| Mukesh Murali | `@mukesh:matrix.mathesar.org` | `@silentninja` | Engineering (backend) | +| Dominykas Mostauskis | `@dominykas:matrix.mathesar.org` | `@dmos62` | Engineering (backend) | +| Rajat Vijay | `@rajat:matrix.mathesar.org` | `@rajatvijay` | Engineering (frontend) | + + +## Community Team + +The community team contributes to Mathesar's design and development fairly regularly and has write access to the `mathesar` repository and wiki. For now, joining the community team is invite-only. + +| **Name** | **Matrix** | **GitHub** | **Roles** | +|-|-|-|-| +| Dhruv Bhanushali | `@dhruvkb:matrix.org` | `@dhruvkb` | Engineering (backend, frontend) | +| Dhruvi Butti | `@dhruvi16:matrix.org` | `@Dhruvi16` | Design | +| Eamon Ito-Fisher | `@eito-fis:matrix.org` | `@eito-fis` | Engineering (backend) | +| María Guaranda | `@belengc:matrix.org` | `@soccerdroid` | Intern (summer 2022 & 2023), Engineering (backend) | +| Jinxiao Li | `@jinxiaol:matrix.org` | `@Jinxiao0302` | GSoC '22 contributor | +| Yurii Palaida | `@jyuart:matrix.org` | `@Jyuart` | GSoC '22 contributor | +| Gabriel Sotomayor | `@mr.gabe49:matrix.org` | `@mr-gabe49` | Engineering (frontend) | +| Anish Umale | `@anish9901:matrix.org` | `@Anish9901` | GSoC '22 contributor | +| Han Yang | `@ppii_775:matrix.org` | `@ppii775` | Design | +| Anshuman Maurya | `@iamezio:matrix.org` | `@IamEzio` | GSoC '23 contributor | +| Aritra Majumder | `@arima_kun:matrix.org` | `@@Aritra8438` | GSoC '23 contributor | +| Varsha D R | `@varshadr1234:matrix.org` | `@varshadr` | Summer '23 volunteer | +| Shrey Tripathi | `@shrey_tripathi:matrix.org` | `@shrey27tri01` | Summer '23 volunteer | + +## Emeritus + +| **Name** | **Matrix** | **GitHub** | **Roles** | +|-|-|-|-| +| Zack Krida | `@zackkrida:matrix.org` | `@zackkrida` | Engineering (frontend) on the Community Team | diff --git a/docs/team/members.md b/docs/team/members.md deleted file mode 100644 index fc80ef197..000000000 --- a/docs/team/members.md +++ /dev/null @@ -1,37 +0,0 @@ -# Team Members - -## Core Team -| **Name** | **Matrix** | **GitHub** | **Roles** | -|-|-|-|-| -| Sean Colsen | `@seancolsen:matrix.mathesar.org` | `@seancolsen` | Engineering (frontend) | -| Kriti Godey | `@kgodey:matrix.mathesar.org` | `@kgodey` | Project lead, Product, Engineering (backend) | -| Ghislaine Guerin | `@ghislaine:matrix.mathesar.org` | `@ghislaineguerin` | Product, Design | -| Pavish Kumar Ramani Gopal | `@pavish:matrix.mathesar.org` | `@pavish` | Engineering (frontend) | -| Brent Moran | `@brent:matrix.mathesar.org` | `@mathemancer` | Engineering (backend) | -| Mukesh Murali | `@mukesh:matrix.mathesar.org` | `@silentninja` | Engineering (backend) | -| Dominykas Mostauskis | `@dominykas:matrix.mathesar.org` | `@dmos62` | Engineering (backend) | -| Rajat Vijay | `@rajat:matrix.mathesar.org` | `@rajatvijay` | Engineering (frontend) | - - -## Community Team - -| **Name** | **Matrix** | **GitHub** | **Roles** | -|-|-|-|-| -| Dhruv Bhanushali | `@dhruvkb:matrix.org` | `@dhruvkb` | Engineering (backend, frontend) | -| Dhruvi Butti | `@dhruvi16:matrix.org` | `@Dhruvi16` | Design | -| Eamon Ito-Fisher | `@eito-fis:matrix.org` | `@eito-fis` | Engineering (backend) | -| María Guaranda | `@belengc:matrix.org` | `@soccerdroid` | Intern (summer 2022 & 2023), Engineering (backend) | -| Jinxiao Li | `@jinxiaol:matrix.org` | `@Jinxiao0302` | GSoC '22 contributor | -| Yurii Palaida | `@jyuart:matrix.org` | `@Jyuart` | GSoC '22 contributor | -| Gabriel Sotomayor | `@mr.gabe49:matrix.org` | `@mr-gabe49` | Engineering (frontend) | -| Anish Umale | `@anish9901:matrix.org` | `@Anish9901` | GSoC '22 contributor | -| Han Yang | `@ppii_775:matrix.org` | `@ppii775` | Design | -| Anshuman Maurya | `@iamezio:matrix.org` | `@IamEzio` | GSoC '23 contributor | -| Aritra Majumder | `@arima_kun:matrix.org` | `@@Aritra8438` | GSoC '23 contributor | -| Varsha D R | `@varshadr1234:matrix.org` | `@varshadr` | Summer '23 volunteer | -| Shrey Tripathi | `@shrey_tripathi:matrix.org` | `@shrey27tri01` | Summer '23 volunteer | - -## Emeritus -| **Name** | **Matrix** | **GitHub** | **Roles** | -|-|-|-|-| -| Zack Krida | `@zackkrida:matrix.org` | `@zackkrida` | Engineering (frontend) on the Community Team | \ No newline at end of file From 4d3830b72191a2075cd3be6c8f601e00ca9cd583 Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Tue, 22 Aug 2023 15:23:32 -0400 Subject: [PATCH 13/35] Organize meeting notes --- docs/.pages | 1 - docs/team/.pages | 2 ++ .../april-2021.md => team/meeting-notes/2021/04/2021-04.md} | 0 .../may-2021.md => team/meeting-notes/2021/05/2021-05.md} | 0 .../june-2021.md => team/meeting-notes/2021/06/2021-06.md} | 0 .../july-2021.md => team/meeting-notes/2021/07/2021-07.md} | 0 .../august-2021.md => team/meeting-notes/2021/08/2021-08.md} | 0 .../september-2021.md => team/meeting-notes/2021/09/2021-09.md} | 0 .../october-2021.md => team/meeting-notes/2021/10/2021-10.md} | 0 docs/{meeting-notes => team/meeting-notes/2021/11}/2021-11.md | 0 docs/{meeting-notes => team/meeting-notes/2021/12}/2021-12.md | 0 docs/{meeting-notes => team/meeting-notes/2022/01}/2022-01.md | 0 docs/{meeting-notes => team/meeting-notes/2022/02}/2022-02.md | 0 docs/{meeting-notes => team/meeting-notes/2022/03}/2022-03.md | 0 docs/{meeting-notes => team/meeting-notes/2022/04}/2022-04.md | 0 docs/{meeting-notes => team/meeting-notes/2022/05}/2022-05.md | 0 docs/{meeting-notes => team/meeting-notes/2022/06}/2022-06.md | 0 docs/{meeting-notes => team/meeting-notes/2022/07}/2022-07.md | 0 docs/{meeting-notes => team/meeting-notes/2022/08}/2022-08.md | 0 docs/{meeting-notes => team/meeting-notes/2022/09}/2022-09.md | 0 .../meeting-notes/2022/10}/2022-10-04-backend.md | 0 .../2022-10 => team/meeting-notes/2022/10}/2022-10-05-weekly.md | 0 .../2022-10 => team/meeting-notes/2022/10}/2022-10-12-weekly.md | 0 .../2022-10 => team/meeting-notes/2022/10}/2022-10-19-weekly.md | 0 .../2022-10 => team/meeting-notes/2022/10}/2022-10-26-weekly.md | 0 .../2022-11 => team/meeting-notes/2022/11}/2022-11-02-weekly.md | 0 .../2022-11 => team/meeting-notes/2022/11}/2022-11-09-weekly.md | 0 .../2022-11 => team/meeting-notes/2022/11}/2022-11-17-weekly.md | 0 .../meeting-notes/2022/11}/2022-11-28-planning.md | 0 .../meeting-notes/2023/01}/2023-01-05-planning.md | 0 .../meeting-notes/2023/01}/2023-01-18-fe-new-feature-rfc.md | 0 .../2023/01}/2023-01-20-partial-user-input-of-dates.md | 0 .../2023-02 => team/meeting-notes/2023/02}/2023-02-01-team.md | 0 .../meeting-notes/2023/02}/2023-02-08-launch-planning.md | 0 .../meeting-notes/2023/02}/2023-02-10-launch-check-in.md | 0 .../meeting-notes/2023/02}/2023-02-13-launch-check-in.md | 0 .../meeting-notes/2023/02}/2023-02-15-launch-check-in.md | 0 .../meeting-notes/2023/02}/2023-02-17-launch-check-in.md | 0 .../meeting-notes/2023/02}/2023-02-21-launch-check-in.md | 0 .../meeting-notes/2023/02}/2023-02-22-launch-check-in.md | 0 .../meeting-notes/2023/02}/2023-02-23-launch-check-in.md | 0 .../meeting-notes/2023/02}/2023-02-24-launch-update-email.md | 0 .../meeting-notes/2023/02}/2023-02-27-deployment-check-in.md | 0 .../meeting-notes/2023/03}/2023-03-02-launch-check-in.md | 0 .../2023/03}/2023-03-07-priorities-workflow-meeting.md | 0 .../2023/03}/2023-03-08-removing-sqlachemy-meeting.md | 0 .../2023/03}/2023-03-17-installation-improvements-meeting.md | 0 .../meeting-notes/2023/03}/2023-03-20-handling-regressions.md | 0 .../meeting-notes/2023/03}/2023-03-29-team-meeting.md | 0 .../meeting-notes/2023/03}/backend-meeting-2023-03-13.md | 0 .../meeting-notes/2023/03}/core-team-meeting-2023-03-15.md | 0 .../2023/03}/installation-improvements-in-0-1-2.md | 0 .../meeting-notes/2023/03}/release-plan-0_1_2.md | 0 .../2023/03}/responsibilities-projects-meeting-2023-03-15.md | 0 .../2023/04}/2023-04-03-installation-plan-finalization.md | 0 .../meeting-notes/2023/05}/2023-05-03-team-meeting.md | 0 .../meeting-notes/2023/05}/2023-05-10-team-meeting.md | 0 .../meeting-notes/2023/05}/2023-05-30-front-end-team-meeting.md | 0 .../meeting-notes/2023/06}/2023-06-07-team-meeting.md | 0 .../2023/06}/2023-06-13-installation-planning-meeting.md | 0 .../meeting-notes/2023/06}/2023-06-27-team-meeting.md | 0 .../meeting-notes/2023/07}/2023-07-03-team-meeting.md | 0 .../meeting-notes/2023/07}/2023-07-06-installation-meeting.md | 0 .../meeting-notes/2023/07}/2023-07-06-team-meeting.md | 0 .../meeting-notes/2023/07}/2023-07-11-installation-meeting.md | 0 .../meeting-notes/2023/07}/2023-07-26-team-meeting.md | 0 .../meeting-notes/2023/07}/2023-07-28-installation-meeting.md | 0 .../meeting-notes/2023/08}/2023-08-09-team-meeting.md | 0 .../meeting-notes/2023/08}/2023-08-10-team-meeting.md | 0 .../meeting-notes/2023/08}/2023-08-18-team-meeting.md | 0 .../meeting-notes/2023/08}/2023-08-23-team-meeting.md | 0 71 files changed, 2 insertions(+), 1 deletion(-) rename docs/{meeting-notes/april-2021.md => team/meeting-notes/2021/04/2021-04.md} (100%) rename docs/{meeting-notes/may-2021.md => team/meeting-notes/2021/05/2021-05.md} (100%) rename docs/{meeting-notes/june-2021.md => team/meeting-notes/2021/06/2021-06.md} (100%) rename docs/{meeting-notes/july-2021.md => team/meeting-notes/2021/07/2021-07.md} (100%) rename docs/{meeting-notes/august-2021.md => team/meeting-notes/2021/08/2021-08.md} (100%) rename docs/{meeting-notes/september-2021.md => team/meeting-notes/2021/09/2021-09.md} (100%) rename docs/{meeting-notes/october-2021.md => team/meeting-notes/2021/10/2021-10.md} (100%) rename docs/{meeting-notes => team/meeting-notes/2021/11}/2021-11.md (100%) rename docs/{meeting-notes => team/meeting-notes/2021/12}/2021-12.md (100%) rename docs/{meeting-notes => team/meeting-notes/2022/01}/2022-01.md (100%) rename docs/{meeting-notes => team/meeting-notes/2022/02}/2022-02.md (100%) rename docs/{meeting-notes => team/meeting-notes/2022/03}/2022-03.md (100%) rename docs/{meeting-notes => team/meeting-notes/2022/04}/2022-04.md (100%) rename docs/{meeting-notes => team/meeting-notes/2022/05}/2022-05.md (100%) rename docs/{meeting-notes => team/meeting-notes/2022/06}/2022-06.md (100%) rename docs/{meeting-notes => team/meeting-notes/2022/07}/2022-07.md (100%) rename docs/{meeting-notes => team/meeting-notes/2022/08}/2022-08.md (100%) rename docs/{meeting-notes => team/meeting-notes/2022/09}/2022-09.md (100%) rename docs/{meeting-notes/2022-10 => team/meeting-notes/2022/10}/2022-10-04-backend.md (100%) rename docs/{meeting-notes/2022-10 => team/meeting-notes/2022/10}/2022-10-05-weekly.md (100%) rename docs/{meeting-notes/2022-10 => team/meeting-notes/2022/10}/2022-10-12-weekly.md (100%) rename docs/{meeting-notes/2022-10 => team/meeting-notes/2022/10}/2022-10-19-weekly.md (100%) rename docs/{meeting-notes/2022-10 => team/meeting-notes/2022/10}/2022-10-26-weekly.md (100%) rename docs/{meeting-notes/2022-11 => team/meeting-notes/2022/11}/2022-11-02-weekly.md (100%) rename docs/{meeting-notes/2022-11 => team/meeting-notes/2022/11}/2022-11-09-weekly.md (100%) rename docs/{meeting-notes/2022-11 => team/meeting-notes/2022/11}/2022-11-17-weekly.md (100%) rename docs/{meeting-notes/2022-11 => team/meeting-notes/2022/11}/2022-11-28-planning.md (100%) rename docs/{meeting-notes/2023-01 => team/meeting-notes/2023/01}/2023-01-05-planning.md (100%) rename docs/{meeting-notes/2023-01 => team/meeting-notes/2023/01}/2023-01-18-fe-new-feature-rfc.md (100%) rename docs/{meeting-notes/2023-01 => team/meeting-notes/2023/01}/2023-01-20-partial-user-input-of-dates.md (100%) rename docs/{meeting-notes/2023-02 => team/meeting-notes/2023/02}/2023-02-01-team.md (100%) rename docs/{meeting-notes/2023-02 => team/meeting-notes/2023/02}/2023-02-08-launch-planning.md (100%) rename docs/{meeting-notes/2023-02 => team/meeting-notes/2023/02}/2023-02-10-launch-check-in.md (100%) rename docs/{meeting-notes/2023-02 => team/meeting-notes/2023/02}/2023-02-13-launch-check-in.md (100%) rename docs/{meeting-notes/2023-02 => team/meeting-notes/2023/02}/2023-02-15-launch-check-in.md (100%) rename docs/{meeting-notes/2023-02 => team/meeting-notes/2023/02}/2023-02-17-launch-check-in.md (100%) rename docs/{meeting-notes/2023-02 => team/meeting-notes/2023/02}/2023-02-21-launch-check-in.md (100%) rename docs/{meeting-notes/2023-02 => team/meeting-notes/2023/02}/2023-02-22-launch-check-in.md (100%) rename docs/{meeting-notes/2023-02 => team/meeting-notes/2023/02}/2023-02-23-launch-check-in.md (100%) rename docs/{meeting-notes/2023-02 => team/meeting-notes/2023/02}/2023-02-24-launch-update-email.md (100%) rename docs/{meeting-notes/2023-02 => team/meeting-notes/2023/02}/2023-02-27-deployment-check-in.md (100%) rename docs/{meeting-notes/2023-03 => team/meeting-notes/2023/03}/2023-03-02-launch-check-in.md (100%) rename docs/{meeting-notes/2023-03 => team/meeting-notes/2023/03}/2023-03-07-priorities-workflow-meeting.md (100%) rename docs/{meeting-notes/2023-03 => team/meeting-notes/2023/03}/2023-03-08-removing-sqlachemy-meeting.md (100%) rename docs/{meeting-notes/2023-03 => team/meeting-notes/2023/03}/2023-03-17-installation-improvements-meeting.md (100%) rename docs/{meeting-notes/2023-03 => team/meeting-notes/2023/03}/2023-03-20-handling-regressions.md (100%) rename docs/{meeting-notes/2023-03 => team/meeting-notes/2023/03}/2023-03-29-team-meeting.md (100%) rename docs/{meeting-notes/2023-03 => team/meeting-notes/2023/03}/backend-meeting-2023-03-13.md (100%) rename docs/{meeting-notes/2023-03 => team/meeting-notes/2023/03}/core-team-meeting-2023-03-15.md (100%) rename docs/{meeting-notes/2023-03 => team/meeting-notes/2023/03}/installation-improvements-in-0-1-2.md (100%) rename docs/{meeting-notes/2023-03 => team/meeting-notes/2023/03}/release-plan-0_1_2.md (100%) rename docs/{meeting-notes/2023-03 => team/meeting-notes/2023/03}/responsibilities-projects-meeting-2023-03-15.md (100%) rename docs/{meeting-notes/2023-04 => team/meeting-notes/2023/04}/2023-04-03-installation-plan-finalization.md (100%) rename docs/{meeting-notes/2023-05 => team/meeting-notes/2023/05}/2023-05-03-team-meeting.md (100%) rename docs/{meeting-notes/2023-05 => team/meeting-notes/2023/05}/2023-05-10-team-meeting.md (100%) rename docs/{meeting-notes/2023-05 => team/meeting-notes/2023/05}/2023-05-30-front-end-team-meeting.md (100%) rename docs/{meeting-notes/2023-06 => team/meeting-notes/2023/06}/2023-06-07-team-meeting.md (100%) rename docs/{meeting-notes/2023-06 => team/meeting-notes/2023/06}/2023-06-13-installation-planning-meeting.md (100%) rename docs/{meeting-notes/2023-06 => team/meeting-notes/2023/06}/2023-06-27-team-meeting.md (100%) rename docs/{meeting-notes/2023-07 => team/meeting-notes/2023/07}/2023-07-03-team-meeting.md (100%) rename docs/{meeting-notes/2023-07 => team/meeting-notes/2023/07}/2023-07-06-installation-meeting.md (100%) rename docs/{meeting-notes/2023-07 => team/meeting-notes/2023/07}/2023-07-06-team-meeting.md (100%) rename docs/{meeting-notes/2023-07 => team/meeting-notes/2023/07}/2023-07-11-installation-meeting.md (100%) rename docs/{meeting-notes/2023-07 => team/meeting-notes/2023/07}/2023-07-26-team-meeting.md (100%) rename docs/{meeting-notes/2023-07 => team/meeting-notes/2023/07}/2023-07-28-installation-meeting.md (100%) rename docs/{meeting-notes/2023-08 => team/meeting-notes/2023/08}/2023-08-09-team-meeting.md (100%) rename docs/{meeting-notes/2023-08 => team/meeting-notes/2023/08}/2023-08-10-team-meeting.md (100%) rename docs/{meeting-notes/2023-08 => team/meeting-notes/2023/08}/2023-08-18-team-meeting.md (100%) rename docs/{meeting-notes/2023-08 => team/meeting-notes/2023/08}/2023-08-23-team-meeting.md (100%) diff --git a/docs/.pages b/docs/.pages index c6ab41295..51c67139a 100644 --- a/docs/.pages +++ b/docs/.pages @@ -3,7 +3,6 @@ nav: - community - team - projects - - meeting-notes - product - design - engineering diff --git a/docs/team/.pages b/docs/team/.pages index 4d24947e3..fc29acc88 100644 --- a/docs/team/.pages +++ b/docs/team/.pages @@ -1,5 +1,7 @@ nav: - responsibilities - guide + - worklogs + - Meetings: meeting-notes - ... - archive diff --git a/docs/meeting-notes/april-2021.md b/docs/team/meeting-notes/2021/04/2021-04.md similarity index 100% rename from docs/meeting-notes/april-2021.md rename to docs/team/meeting-notes/2021/04/2021-04.md diff --git a/docs/meeting-notes/may-2021.md b/docs/team/meeting-notes/2021/05/2021-05.md similarity index 100% rename from docs/meeting-notes/may-2021.md rename to docs/team/meeting-notes/2021/05/2021-05.md diff --git a/docs/meeting-notes/june-2021.md b/docs/team/meeting-notes/2021/06/2021-06.md similarity index 100% rename from docs/meeting-notes/june-2021.md rename to docs/team/meeting-notes/2021/06/2021-06.md diff --git a/docs/meeting-notes/july-2021.md b/docs/team/meeting-notes/2021/07/2021-07.md similarity index 100% rename from docs/meeting-notes/july-2021.md rename to docs/team/meeting-notes/2021/07/2021-07.md diff --git a/docs/meeting-notes/august-2021.md b/docs/team/meeting-notes/2021/08/2021-08.md similarity index 100% rename from docs/meeting-notes/august-2021.md rename to docs/team/meeting-notes/2021/08/2021-08.md diff --git a/docs/meeting-notes/september-2021.md b/docs/team/meeting-notes/2021/09/2021-09.md similarity index 100% rename from docs/meeting-notes/september-2021.md rename to docs/team/meeting-notes/2021/09/2021-09.md diff --git a/docs/meeting-notes/october-2021.md b/docs/team/meeting-notes/2021/10/2021-10.md similarity index 100% rename from docs/meeting-notes/october-2021.md rename to docs/team/meeting-notes/2021/10/2021-10.md diff --git a/docs/meeting-notes/2021-11.md b/docs/team/meeting-notes/2021/11/2021-11.md similarity index 100% rename from docs/meeting-notes/2021-11.md rename to docs/team/meeting-notes/2021/11/2021-11.md diff --git a/docs/meeting-notes/2021-12.md b/docs/team/meeting-notes/2021/12/2021-12.md similarity index 100% rename from docs/meeting-notes/2021-12.md rename to docs/team/meeting-notes/2021/12/2021-12.md diff --git a/docs/meeting-notes/2022-01.md b/docs/team/meeting-notes/2022/01/2022-01.md similarity index 100% rename from docs/meeting-notes/2022-01.md rename to docs/team/meeting-notes/2022/01/2022-01.md diff --git a/docs/meeting-notes/2022-02.md b/docs/team/meeting-notes/2022/02/2022-02.md similarity index 100% rename from docs/meeting-notes/2022-02.md rename to docs/team/meeting-notes/2022/02/2022-02.md diff --git a/docs/meeting-notes/2022-03.md b/docs/team/meeting-notes/2022/03/2022-03.md similarity index 100% rename from docs/meeting-notes/2022-03.md rename to docs/team/meeting-notes/2022/03/2022-03.md diff --git a/docs/meeting-notes/2022-04.md b/docs/team/meeting-notes/2022/04/2022-04.md similarity index 100% rename from docs/meeting-notes/2022-04.md rename to docs/team/meeting-notes/2022/04/2022-04.md diff --git a/docs/meeting-notes/2022-05.md b/docs/team/meeting-notes/2022/05/2022-05.md similarity index 100% rename from docs/meeting-notes/2022-05.md rename to docs/team/meeting-notes/2022/05/2022-05.md diff --git a/docs/meeting-notes/2022-06.md b/docs/team/meeting-notes/2022/06/2022-06.md similarity index 100% rename from docs/meeting-notes/2022-06.md rename to docs/team/meeting-notes/2022/06/2022-06.md diff --git a/docs/meeting-notes/2022-07.md b/docs/team/meeting-notes/2022/07/2022-07.md similarity index 100% rename from docs/meeting-notes/2022-07.md rename to docs/team/meeting-notes/2022/07/2022-07.md diff --git a/docs/meeting-notes/2022-08.md b/docs/team/meeting-notes/2022/08/2022-08.md similarity index 100% rename from docs/meeting-notes/2022-08.md rename to docs/team/meeting-notes/2022/08/2022-08.md diff --git a/docs/meeting-notes/2022-09.md b/docs/team/meeting-notes/2022/09/2022-09.md similarity index 100% rename from docs/meeting-notes/2022-09.md rename to docs/team/meeting-notes/2022/09/2022-09.md diff --git a/docs/meeting-notes/2022-10/2022-10-04-backend.md b/docs/team/meeting-notes/2022/10/2022-10-04-backend.md similarity index 100% rename from docs/meeting-notes/2022-10/2022-10-04-backend.md rename to docs/team/meeting-notes/2022/10/2022-10-04-backend.md diff --git a/docs/meeting-notes/2022-10/2022-10-05-weekly.md b/docs/team/meeting-notes/2022/10/2022-10-05-weekly.md similarity index 100% rename from docs/meeting-notes/2022-10/2022-10-05-weekly.md rename to docs/team/meeting-notes/2022/10/2022-10-05-weekly.md diff --git a/docs/meeting-notes/2022-10/2022-10-12-weekly.md b/docs/team/meeting-notes/2022/10/2022-10-12-weekly.md similarity index 100% rename from docs/meeting-notes/2022-10/2022-10-12-weekly.md rename to docs/team/meeting-notes/2022/10/2022-10-12-weekly.md diff --git a/docs/meeting-notes/2022-10/2022-10-19-weekly.md b/docs/team/meeting-notes/2022/10/2022-10-19-weekly.md similarity index 100% rename from docs/meeting-notes/2022-10/2022-10-19-weekly.md rename to docs/team/meeting-notes/2022/10/2022-10-19-weekly.md diff --git a/docs/meeting-notes/2022-10/2022-10-26-weekly.md b/docs/team/meeting-notes/2022/10/2022-10-26-weekly.md similarity index 100% rename from docs/meeting-notes/2022-10/2022-10-26-weekly.md rename to docs/team/meeting-notes/2022/10/2022-10-26-weekly.md diff --git a/docs/meeting-notes/2022-11/2022-11-02-weekly.md b/docs/team/meeting-notes/2022/11/2022-11-02-weekly.md similarity index 100% rename from docs/meeting-notes/2022-11/2022-11-02-weekly.md rename to docs/team/meeting-notes/2022/11/2022-11-02-weekly.md diff --git a/docs/meeting-notes/2022-11/2022-11-09-weekly.md b/docs/team/meeting-notes/2022/11/2022-11-09-weekly.md similarity index 100% rename from docs/meeting-notes/2022-11/2022-11-09-weekly.md rename to docs/team/meeting-notes/2022/11/2022-11-09-weekly.md diff --git a/docs/meeting-notes/2022-11/2022-11-17-weekly.md b/docs/team/meeting-notes/2022/11/2022-11-17-weekly.md similarity index 100% rename from docs/meeting-notes/2022-11/2022-11-17-weekly.md rename to docs/team/meeting-notes/2022/11/2022-11-17-weekly.md diff --git a/docs/meeting-notes/2022-11/2022-11-28-planning.md b/docs/team/meeting-notes/2022/11/2022-11-28-planning.md similarity index 100% rename from docs/meeting-notes/2022-11/2022-11-28-planning.md rename to docs/team/meeting-notes/2022/11/2022-11-28-planning.md diff --git a/docs/meeting-notes/2023-01/2023-01-05-planning.md b/docs/team/meeting-notes/2023/01/2023-01-05-planning.md similarity index 100% rename from docs/meeting-notes/2023-01/2023-01-05-planning.md rename to docs/team/meeting-notes/2023/01/2023-01-05-planning.md diff --git a/docs/meeting-notes/2023-01/2023-01-18-fe-new-feature-rfc.md b/docs/team/meeting-notes/2023/01/2023-01-18-fe-new-feature-rfc.md similarity index 100% rename from docs/meeting-notes/2023-01/2023-01-18-fe-new-feature-rfc.md rename to docs/team/meeting-notes/2023/01/2023-01-18-fe-new-feature-rfc.md diff --git a/docs/meeting-notes/2023-01/2023-01-20-partial-user-input-of-dates.md b/docs/team/meeting-notes/2023/01/2023-01-20-partial-user-input-of-dates.md similarity index 100% rename from docs/meeting-notes/2023-01/2023-01-20-partial-user-input-of-dates.md rename to docs/team/meeting-notes/2023/01/2023-01-20-partial-user-input-of-dates.md diff --git a/docs/meeting-notes/2023-02/2023-02-01-team.md b/docs/team/meeting-notes/2023/02/2023-02-01-team.md similarity index 100% rename from docs/meeting-notes/2023-02/2023-02-01-team.md rename to docs/team/meeting-notes/2023/02/2023-02-01-team.md diff --git a/docs/meeting-notes/2023-02/2023-02-08-launch-planning.md b/docs/team/meeting-notes/2023/02/2023-02-08-launch-planning.md similarity index 100% rename from docs/meeting-notes/2023-02/2023-02-08-launch-planning.md rename to docs/team/meeting-notes/2023/02/2023-02-08-launch-planning.md diff --git a/docs/meeting-notes/2023-02/2023-02-10-launch-check-in.md b/docs/team/meeting-notes/2023/02/2023-02-10-launch-check-in.md similarity index 100% rename from docs/meeting-notes/2023-02/2023-02-10-launch-check-in.md rename to docs/team/meeting-notes/2023/02/2023-02-10-launch-check-in.md diff --git a/docs/meeting-notes/2023-02/2023-02-13-launch-check-in.md b/docs/team/meeting-notes/2023/02/2023-02-13-launch-check-in.md similarity index 100% rename from docs/meeting-notes/2023-02/2023-02-13-launch-check-in.md rename to docs/team/meeting-notes/2023/02/2023-02-13-launch-check-in.md diff --git a/docs/meeting-notes/2023-02/2023-02-15-launch-check-in.md b/docs/team/meeting-notes/2023/02/2023-02-15-launch-check-in.md similarity index 100% rename from docs/meeting-notes/2023-02/2023-02-15-launch-check-in.md rename to docs/team/meeting-notes/2023/02/2023-02-15-launch-check-in.md diff --git a/docs/meeting-notes/2023-02/2023-02-17-launch-check-in.md b/docs/team/meeting-notes/2023/02/2023-02-17-launch-check-in.md similarity index 100% rename from docs/meeting-notes/2023-02/2023-02-17-launch-check-in.md rename to docs/team/meeting-notes/2023/02/2023-02-17-launch-check-in.md diff --git a/docs/meeting-notes/2023-02/2023-02-21-launch-check-in.md b/docs/team/meeting-notes/2023/02/2023-02-21-launch-check-in.md similarity index 100% rename from docs/meeting-notes/2023-02/2023-02-21-launch-check-in.md rename to docs/team/meeting-notes/2023/02/2023-02-21-launch-check-in.md diff --git a/docs/meeting-notes/2023-02/2023-02-22-launch-check-in.md b/docs/team/meeting-notes/2023/02/2023-02-22-launch-check-in.md similarity index 100% rename from docs/meeting-notes/2023-02/2023-02-22-launch-check-in.md rename to docs/team/meeting-notes/2023/02/2023-02-22-launch-check-in.md diff --git a/docs/meeting-notes/2023-02/2023-02-23-launch-check-in.md b/docs/team/meeting-notes/2023/02/2023-02-23-launch-check-in.md similarity index 100% rename from docs/meeting-notes/2023-02/2023-02-23-launch-check-in.md rename to docs/team/meeting-notes/2023/02/2023-02-23-launch-check-in.md diff --git a/docs/meeting-notes/2023-02/2023-02-24-launch-update-email.md b/docs/team/meeting-notes/2023/02/2023-02-24-launch-update-email.md similarity index 100% rename from docs/meeting-notes/2023-02/2023-02-24-launch-update-email.md rename to docs/team/meeting-notes/2023/02/2023-02-24-launch-update-email.md diff --git a/docs/meeting-notes/2023-02/2023-02-27-deployment-check-in.md b/docs/team/meeting-notes/2023/02/2023-02-27-deployment-check-in.md similarity index 100% rename from docs/meeting-notes/2023-02/2023-02-27-deployment-check-in.md rename to docs/team/meeting-notes/2023/02/2023-02-27-deployment-check-in.md diff --git a/docs/meeting-notes/2023-03/2023-03-02-launch-check-in.md b/docs/team/meeting-notes/2023/03/2023-03-02-launch-check-in.md similarity index 100% rename from docs/meeting-notes/2023-03/2023-03-02-launch-check-in.md rename to docs/team/meeting-notes/2023/03/2023-03-02-launch-check-in.md diff --git a/docs/meeting-notes/2023-03/2023-03-07-priorities-workflow-meeting.md b/docs/team/meeting-notes/2023/03/2023-03-07-priorities-workflow-meeting.md similarity index 100% rename from docs/meeting-notes/2023-03/2023-03-07-priorities-workflow-meeting.md rename to docs/team/meeting-notes/2023/03/2023-03-07-priorities-workflow-meeting.md diff --git a/docs/meeting-notes/2023-03/2023-03-08-removing-sqlachemy-meeting.md b/docs/team/meeting-notes/2023/03/2023-03-08-removing-sqlachemy-meeting.md similarity index 100% rename from docs/meeting-notes/2023-03/2023-03-08-removing-sqlachemy-meeting.md rename to docs/team/meeting-notes/2023/03/2023-03-08-removing-sqlachemy-meeting.md diff --git a/docs/meeting-notes/2023-03/2023-03-17-installation-improvements-meeting.md b/docs/team/meeting-notes/2023/03/2023-03-17-installation-improvements-meeting.md similarity index 100% rename from docs/meeting-notes/2023-03/2023-03-17-installation-improvements-meeting.md rename to docs/team/meeting-notes/2023/03/2023-03-17-installation-improvements-meeting.md diff --git a/docs/meeting-notes/2023-03/2023-03-20-handling-regressions.md b/docs/team/meeting-notes/2023/03/2023-03-20-handling-regressions.md similarity index 100% rename from docs/meeting-notes/2023-03/2023-03-20-handling-regressions.md rename to docs/team/meeting-notes/2023/03/2023-03-20-handling-regressions.md diff --git a/docs/meeting-notes/2023-03/2023-03-29-team-meeting.md b/docs/team/meeting-notes/2023/03/2023-03-29-team-meeting.md similarity index 100% rename from docs/meeting-notes/2023-03/2023-03-29-team-meeting.md rename to docs/team/meeting-notes/2023/03/2023-03-29-team-meeting.md diff --git a/docs/meeting-notes/2023-03/backend-meeting-2023-03-13.md b/docs/team/meeting-notes/2023/03/backend-meeting-2023-03-13.md similarity index 100% rename from docs/meeting-notes/2023-03/backend-meeting-2023-03-13.md rename to docs/team/meeting-notes/2023/03/backend-meeting-2023-03-13.md diff --git a/docs/meeting-notes/2023-03/core-team-meeting-2023-03-15.md b/docs/team/meeting-notes/2023/03/core-team-meeting-2023-03-15.md similarity index 100% rename from docs/meeting-notes/2023-03/core-team-meeting-2023-03-15.md rename to docs/team/meeting-notes/2023/03/core-team-meeting-2023-03-15.md diff --git a/docs/meeting-notes/2023-03/installation-improvements-in-0-1-2.md b/docs/team/meeting-notes/2023/03/installation-improvements-in-0-1-2.md similarity index 100% rename from docs/meeting-notes/2023-03/installation-improvements-in-0-1-2.md rename to docs/team/meeting-notes/2023/03/installation-improvements-in-0-1-2.md diff --git a/docs/meeting-notes/2023-03/release-plan-0_1_2.md b/docs/team/meeting-notes/2023/03/release-plan-0_1_2.md similarity index 100% rename from docs/meeting-notes/2023-03/release-plan-0_1_2.md rename to docs/team/meeting-notes/2023/03/release-plan-0_1_2.md diff --git a/docs/meeting-notes/2023-03/responsibilities-projects-meeting-2023-03-15.md b/docs/team/meeting-notes/2023/03/responsibilities-projects-meeting-2023-03-15.md similarity index 100% rename from docs/meeting-notes/2023-03/responsibilities-projects-meeting-2023-03-15.md rename to docs/team/meeting-notes/2023/03/responsibilities-projects-meeting-2023-03-15.md diff --git a/docs/meeting-notes/2023-04/2023-04-03-installation-plan-finalization.md b/docs/team/meeting-notes/2023/04/2023-04-03-installation-plan-finalization.md similarity index 100% rename from docs/meeting-notes/2023-04/2023-04-03-installation-plan-finalization.md rename to docs/team/meeting-notes/2023/04/2023-04-03-installation-plan-finalization.md diff --git a/docs/meeting-notes/2023-05/2023-05-03-team-meeting.md b/docs/team/meeting-notes/2023/05/2023-05-03-team-meeting.md similarity index 100% rename from docs/meeting-notes/2023-05/2023-05-03-team-meeting.md rename to docs/team/meeting-notes/2023/05/2023-05-03-team-meeting.md diff --git a/docs/meeting-notes/2023-05/2023-05-10-team-meeting.md b/docs/team/meeting-notes/2023/05/2023-05-10-team-meeting.md similarity index 100% rename from docs/meeting-notes/2023-05/2023-05-10-team-meeting.md rename to docs/team/meeting-notes/2023/05/2023-05-10-team-meeting.md diff --git a/docs/meeting-notes/2023-05/2023-05-30-front-end-team-meeting.md b/docs/team/meeting-notes/2023/05/2023-05-30-front-end-team-meeting.md similarity index 100% rename from docs/meeting-notes/2023-05/2023-05-30-front-end-team-meeting.md rename to docs/team/meeting-notes/2023/05/2023-05-30-front-end-team-meeting.md diff --git a/docs/meeting-notes/2023-06/2023-06-07-team-meeting.md b/docs/team/meeting-notes/2023/06/2023-06-07-team-meeting.md similarity index 100% rename from docs/meeting-notes/2023-06/2023-06-07-team-meeting.md rename to docs/team/meeting-notes/2023/06/2023-06-07-team-meeting.md diff --git a/docs/meeting-notes/2023-06/2023-06-13-installation-planning-meeting.md b/docs/team/meeting-notes/2023/06/2023-06-13-installation-planning-meeting.md similarity index 100% rename from docs/meeting-notes/2023-06/2023-06-13-installation-planning-meeting.md rename to docs/team/meeting-notes/2023/06/2023-06-13-installation-planning-meeting.md diff --git a/docs/meeting-notes/2023-06/2023-06-27-team-meeting.md b/docs/team/meeting-notes/2023/06/2023-06-27-team-meeting.md similarity index 100% rename from docs/meeting-notes/2023-06/2023-06-27-team-meeting.md rename to docs/team/meeting-notes/2023/06/2023-06-27-team-meeting.md diff --git a/docs/meeting-notes/2023-07/2023-07-03-team-meeting.md b/docs/team/meeting-notes/2023/07/2023-07-03-team-meeting.md similarity index 100% rename from docs/meeting-notes/2023-07/2023-07-03-team-meeting.md rename to docs/team/meeting-notes/2023/07/2023-07-03-team-meeting.md diff --git a/docs/meeting-notes/2023-07/2023-07-06-installation-meeting.md b/docs/team/meeting-notes/2023/07/2023-07-06-installation-meeting.md similarity index 100% rename from docs/meeting-notes/2023-07/2023-07-06-installation-meeting.md rename to docs/team/meeting-notes/2023/07/2023-07-06-installation-meeting.md diff --git a/docs/meeting-notes/2023-07/2023-07-06-team-meeting.md b/docs/team/meeting-notes/2023/07/2023-07-06-team-meeting.md similarity index 100% rename from docs/meeting-notes/2023-07/2023-07-06-team-meeting.md rename to docs/team/meeting-notes/2023/07/2023-07-06-team-meeting.md diff --git a/docs/meeting-notes/2023-07/2023-07-11-installation-meeting.md b/docs/team/meeting-notes/2023/07/2023-07-11-installation-meeting.md similarity index 100% rename from docs/meeting-notes/2023-07/2023-07-11-installation-meeting.md rename to docs/team/meeting-notes/2023/07/2023-07-11-installation-meeting.md diff --git a/docs/meeting-notes/2023-07/2023-07-26-team-meeting.md b/docs/team/meeting-notes/2023/07/2023-07-26-team-meeting.md similarity index 100% rename from docs/meeting-notes/2023-07/2023-07-26-team-meeting.md rename to docs/team/meeting-notes/2023/07/2023-07-26-team-meeting.md diff --git a/docs/meeting-notes/2023-07/2023-07-28-installation-meeting.md b/docs/team/meeting-notes/2023/07/2023-07-28-installation-meeting.md similarity index 100% rename from docs/meeting-notes/2023-07/2023-07-28-installation-meeting.md rename to docs/team/meeting-notes/2023/07/2023-07-28-installation-meeting.md diff --git a/docs/meeting-notes/2023-08/2023-08-09-team-meeting.md b/docs/team/meeting-notes/2023/08/2023-08-09-team-meeting.md similarity index 100% rename from docs/meeting-notes/2023-08/2023-08-09-team-meeting.md rename to docs/team/meeting-notes/2023/08/2023-08-09-team-meeting.md diff --git a/docs/meeting-notes/2023-08/2023-08-10-team-meeting.md b/docs/team/meeting-notes/2023/08/2023-08-10-team-meeting.md similarity index 100% rename from docs/meeting-notes/2023-08/2023-08-10-team-meeting.md rename to docs/team/meeting-notes/2023/08/2023-08-10-team-meeting.md diff --git a/docs/meeting-notes/2023-08/2023-08-18-team-meeting.md b/docs/team/meeting-notes/2023/08/2023-08-18-team-meeting.md similarity index 100% rename from docs/meeting-notes/2023-08/2023-08-18-team-meeting.md rename to docs/team/meeting-notes/2023/08/2023-08-18-team-meeting.md diff --git a/docs/meeting-notes/2023-08/2023-08-23-team-meeting.md b/docs/team/meeting-notes/2023/08/2023-08-23-team-meeting.md similarity index 100% rename from docs/meeting-notes/2023-08/2023-08-23-team-meeting.md rename to docs/team/meeting-notes/2023/08/2023-08-23-team-meeting.md From 5aaba46507465922f92f12b3b2a2144b7bd0d072 Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Tue, 22 Aug 2023 15:27:54 -0400 Subject: [PATCH 14/35] More adjustments to home page --- docs/index.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/index.md b/docs/index.md index 90cd1241c..3ebd05dd1 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,8 +1,10 @@ # Mathesar Wiki -This wiki is a knowledge base for **people who are helping build [Mathesar](https://mathesar.org)**, a straightforward open source tool that provides a spreadsheet-like interface to a PostgreSQL database. +## Overview -We use the wiki to document technical specs, designs, meeting notes, roles, responsibilities, and other workflow-related information. +This wiki is a knowledge base for **people who are helping build [Mathesar](https://mathesar.org)**. We use it to document technical specs, designs, meeting notes, roles, responsibilities, and other workflow-related information. + +## Editing Anyone can propose edits to this wiki by making a PR against the [wiki repository](https://github.com/centerofci/mathesar-wiki/). From 9a94dcb093887f7bfad37f89041a91aefcd5b6c2 Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Tue, 22 Aug 2023 15:34:05 -0400 Subject: [PATCH 15/35] Add logo files --- docs/assets/images/favicon.ico | Bin 0 -> 15406 bytes docs/assets/images/logo.svg | 3 +++ 2 files changed, 3 insertions(+) create mode 100644 docs/assets/images/favicon.ico create mode 100644 docs/assets/images/logo.svg diff --git a/docs/assets/images/favicon.ico b/docs/assets/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..99f1bd774d45a9d113127e2eb7981e5a2bae5d1b GIT binary patch literal 15406 zcmeI3d5~1a9mmJ0Wnv{2^M^^Qtd!)Rl$BIcRwZSsl1eJ^K)`q)a-YgA3M#jXa*0F* z4?qMJ37+5yC`J$?iXiumu!<;x2+Zs`yF0rxyPfZ+clzzynfGR94~l>6s^4_Key{uY z>+5&*Zz7SiB4GVba*4iC z6SZilR~DFzG3N_r*4EbVt*fgqQrUyrWPMR0QC~z}Q(Iq@RGxmnP5B7H*@C&d_SKpm z!(*n;Z85WDXN{_i(YNN-i6!QyAyG4WN{M;!iE{JiyH)mG`lnv`a6#FNZ&aFp-gL^s zg6HF=uFjZfahMW-uszz%l-3U z+rR!!l{Z&c^*Ci1YkTF6_O3%>UU}@aQd3s01@etQrC~k)TBYgKH)`i{!@w?7WMC;6kEeZ3leo+sfYtw&J%=p)2*~&_qHEB;pNok$w*t?N-*M9Jr zV$)muv)j;^9qaVR$^+ZiiL3`6FE>|qKV|n{hu%@cc;5Y>+Em2r&4JI8mcIF#UnTHY zQ}8GHV6DIWI;nBi`RChw^l8FetMPq()b54NYWIr2ZBTi~o*MJc`_*=i@0nRR%w4_CivhIovWea zi#-^o@*AtF%&N83hVosLOU#K=b}wZ%=NX1MS#XYEf}oCZ!WZ1RaQQtCmS)XCnf5Mc z)qUggF;h#-nswFo9Nl(ziK(p0o&e!;sYHcK1v{wV+aY7K`9r^vF}pwc#-(q*O_{5E zW}jtb&6Zs?_I$qbmgNJkNl*@PcMGgw;#}S|xRIZ^F~MiI?XI_Sf8JWaLY4R+^Nj4ur0ThyT8Z+73VTUVn4cY}P&u(3dSIHS~jus&h+>5W?xX2;%It2>OHTAIZZI4khs zV(C61$;1D`>y5g0&{)9D*tBGj9(TgdbXu zX%5(n_#DvF+&=55XJi3qoHH6L@oXtOMD{YgvG45-x+T64d>H8jes43n%CMYyC^}SY z{`X13+MV#j17FlyTQY>d*{<+$u7{0cs$G#jT`2cQYk#Fpbdxl`H zpx`+Oqv<=@I_S{&AmHT{vdgf^vFG6j*j22dFR=;R3w|p&=BsZ}@uYkdb0r@q&M32f z0b~XG!JYS)nw6`oO=+38=Jd~avCZ+Z{Xo!J01d602jmO;{iyiMkz+{%O#!+vgsc)= zCdBHwEfVv+RWMc{@8tK18Ng2>7j0yKpb$TaKEr2#e-;1EWrAA- z(*(25AUq=6qXkz8el7Ts;4EnMC+Y-06#PvvUvNNx!wn|~`{PVPmGB=G;CmV@_@$u9 z81&3}?JC$MNYuzJfFI9-_>Fwx7U0tXx}KUeP4FrBRjfE=Vlf}+nLg>GM*4^MUiJ8u z^4K&mx#NPF0&ff|pDXAj*e9rmFT5{3?-AJ@z^tb#q_@P)0{Jf&z7RL7r92-r961g{CK@IHPb zW$<}Axt5vZ`v!klLOwhu8qskx+wzQ@e_1}HowBcPzN6TF(@}m0?hgWZY8aYt^`gJv zJV6h^Nr6rK4kpb2^_!`~xMy^y?M-!M*VN|6UmKq^<6p75DyN;qIBpymvpiys>|*Y+_B86vj;>fp-5uNTxmV(WK3Lb59Nm18^j&-#tU){nKl6yoEzQJSU&zJs-AAmiD4YBt?t(mo;f%gQpb9J=G_lrG;4b#GuMSszkNi$Tu!{N!5 zJKpHNVH|UxtI*v<{`I5HZQ{fDKG4lun6l`HC-)Dy8+A11${7!S`fIc|DChc?ci498 zHz%x3(N^?-yeVP0i_M2S*Za#wTdw!+9ru*n+h*JkH)kkW^S?&>v9r#m!*M!u&H#4f z=i0L^Oj-0Vf3I5pnZo9;EyjkNL8tQhotiV0Ec##5y?myRur25e>w|NG|6;?|nlL|V zuJL5ik6x9J_lMEa(t7lXG2*@OzC8MK=2)`me^K(J5Z=*JTEp5Q&z@WyH^uTXH6xu? z`dP<9*Akx9Rer=}l4U`9RmhmK=zm#vONHVLnoIn5_(_o=#BgwbF-UPB-F0uag zwdGwO`J(Z?6=(-!(a#-iF5NSTX6nGreG@*dm20Z44t@AY(g0t5lQNrh--W)z{Y)@SR zWr?Tbo;S~3a~A#F1-_*-z#Ty@I(WxA&y&8%z8F2FG%xM6Va~BXvDd@;zfSMbV~LsK z9Ou|WS@g43*Z}{YSDy2nfqS@Oadz)-IG4Hha~Pdr^~kg96$i)~ERrpB=i##z3YvdMzsp$< zVib|3+=+(Km#-c^iLAyqOnhBfjGF6*_YXfQUyJs1I<<&?*La=c(z>MYZXJ&1Wt&{~c{s=a#&uui+DlrE`~B`8!2%Xa1OSzPI!@#`L#p{>v0kPMmwb zee3A-=gcuOkn=-)9I^yC3s1Ij+|s-8!yxbSS#j(epbr29l$?5hU5-Lb8_xHh?C!`*x#iq zs;o{rOaAD2iz_T&S+g!7d#u*RoZxFKAokJTx*1IK;NIF3c0`;vKwc4DOXFAw(%zEr95Ai;Wp$CP~U&qxuS z|4qfq;|G9#YY!-XBOq4tgb2J+FhOAd+;O@IW?fE3Q&tagcgf5*=NGz(>%gAFhUdH! z>-zXJ6(-s!vmA*Cu}=iQ6Z}!IN#F@Kl}}3|?h2ipd*!7oDs8+fdLjRnp&mUMzdCjY zIxaROdOTyyNbGt3E5Uz5ek|Y~hW`zm*2MgOR+O~=4ZBZqr|56phDPl?L-#Q8Rbn#v zzs2DrDeGGgpq + + From 52ea7055031db55a8f0de12d3584aba9cff4b2c2 Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Tue, 22 Aug 2023 15:59:17 -0400 Subject: [PATCH 16/35] Organize projects --- .../installation-improvements-plan-0_1_4.md | 0 .../specs/list-data-type-frontend-specs.md} | 0 docs/projects/.pages | 5 ++ .../04}/2023-04-usability-improvements.md | 0 .../{ => 2023/04}/formulas-research.md | 0 docs/projects/{ => 2023/04}/funding.md | 0 .../{ => 2023/04}/gather-user-feedback.md | 0 ...installation-documentation-improvements.md | 0 .../{ => 2023/04}/public-links-research.md | 0 docs/projects/{ => 2023/04}/release-0-1-2.md | 0 docs/projects/{ => 2023/04}/t-shirts.md | 0 .../{ => 2023/04}/user-feedback-kickoff.md | 0 .../{ => 2023/07}/2023-07-backend-fixes.md | 0 .../{ => 2023/07}/2023-07-frontend-fixes.md | 0 .../{ => 2023/07}/2023-07-product-strategy.md | 0 .../07}/installation-improvements-0_1_3.md | 0 .../{ => 2023/07}/internationalization.md | 0 docs/projects/{ => 2023/07}/list-datatype.md | 0 .../07}/shareable-links-implementation.md | 0 .../{ => 2023/07}/sql-ddl-operations.md | 0 .../08}/installation-improvements-0_1_4.md | 0 docs/projects/{ => 2023/08}/niche-research.md | 0 .../{ => 2023/08}/preexisting-postgres.md | 0 docs/projects/frontend-tables-performance.md | 15 ----- docs/projects/{ => future}/column-moving.md | 0 docs/projects/{ => future}/forms-research.md | 0 .../{ => future}/sql-alchemy-remove.md | 0 .../{ => future}/sql-dml-operations.md | 0 .../{ => future}/sql-dql-operations.md | 0 docs/projects/index.md | 62 +++++++------------ 30 files changed, 26 insertions(+), 56 deletions(-) rename docs/{projects => engineering/specs}/installation-improvements-plan-0_1_4.md (100%) rename docs/{projects/list-datatype/frontend-specs.md => engineering/specs/list-data-type-frontend-specs.md} (100%) create mode 100644 docs/projects/.pages rename docs/projects/{ => 2023/04}/2023-04-usability-improvements.md (100%) rename docs/projects/{ => 2023/04}/formulas-research.md (100%) rename docs/projects/{ => 2023/04}/funding.md (100%) rename docs/projects/{ => 2023/04}/gather-user-feedback.md (100%) rename docs/projects/{ => 2023/04}/installation-documentation-improvements.md (100%) rename docs/projects/{ => 2023/04}/public-links-research.md (100%) rename docs/projects/{ => 2023/04}/release-0-1-2.md (100%) rename docs/projects/{ => 2023/04}/t-shirts.md (100%) rename docs/projects/{ => 2023/04}/user-feedback-kickoff.md (100%) rename docs/projects/{ => 2023/07}/2023-07-backend-fixes.md (100%) rename docs/projects/{ => 2023/07}/2023-07-frontend-fixes.md (100%) rename docs/projects/{ => 2023/07}/2023-07-product-strategy.md (100%) rename docs/projects/{ => 2023/07}/installation-improvements-0_1_3.md (100%) rename docs/projects/{ => 2023/07}/internationalization.md (100%) rename docs/projects/{ => 2023/07}/list-datatype.md (100%) rename docs/projects/{ => 2023/07}/shareable-links-implementation.md (100%) rename docs/projects/{ => 2023/07}/sql-ddl-operations.md (100%) rename docs/projects/{ => 2023/08}/installation-improvements-0_1_4.md (100%) rename docs/projects/{ => 2023/08}/niche-research.md (100%) rename docs/projects/{ => 2023/08}/preexisting-postgres.md (100%) delete mode 100644 docs/projects/frontend-tables-performance.md rename docs/projects/{ => future}/column-moving.md (100%) rename docs/projects/{ => future}/forms-research.md (100%) rename docs/projects/{ => future}/sql-alchemy-remove.md (100%) rename docs/projects/{ => future}/sql-dml-operations.md (100%) rename docs/projects/{ => future}/sql-dql-operations.md (100%) diff --git a/docs/projects/installation-improvements-plan-0_1_4.md b/docs/engineering/specs/installation-improvements-plan-0_1_4.md similarity index 100% rename from docs/projects/installation-improvements-plan-0_1_4.md rename to docs/engineering/specs/installation-improvements-plan-0_1_4.md diff --git a/docs/projects/list-datatype/frontend-specs.md b/docs/engineering/specs/list-data-type-frontend-specs.md similarity index 100% rename from docs/projects/list-datatype/frontend-specs.md rename to docs/engineering/specs/list-data-type-frontend-specs.md diff --git a/docs/projects/.pages b/docs/projects/.pages new file mode 100644 index 000000000..636a92a16 --- /dev/null +++ b/docs/projects/.pages @@ -0,0 +1,5 @@ +nav: + - '2023' + - future + - ... + - Template: template.md diff --git a/docs/projects/2023-04-usability-improvements.md b/docs/projects/2023/04/2023-04-usability-improvements.md similarity index 100% rename from docs/projects/2023-04-usability-improvements.md rename to docs/projects/2023/04/2023-04-usability-improvements.md diff --git a/docs/projects/formulas-research.md b/docs/projects/2023/04/formulas-research.md similarity index 100% rename from docs/projects/formulas-research.md rename to docs/projects/2023/04/formulas-research.md diff --git a/docs/projects/funding.md b/docs/projects/2023/04/funding.md similarity index 100% rename from docs/projects/funding.md rename to docs/projects/2023/04/funding.md diff --git a/docs/projects/gather-user-feedback.md b/docs/projects/2023/04/gather-user-feedback.md similarity index 100% rename from docs/projects/gather-user-feedback.md rename to docs/projects/2023/04/gather-user-feedback.md diff --git a/docs/projects/installation-documentation-improvements.md b/docs/projects/2023/04/installation-documentation-improvements.md similarity index 100% rename from docs/projects/installation-documentation-improvements.md rename to docs/projects/2023/04/installation-documentation-improvements.md diff --git a/docs/projects/public-links-research.md b/docs/projects/2023/04/public-links-research.md similarity index 100% rename from docs/projects/public-links-research.md rename to docs/projects/2023/04/public-links-research.md diff --git a/docs/projects/release-0-1-2.md b/docs/projects/2023/04/release-0-1-2.md similarity index 100% rename from docs/projects/release-0-1-2.md rename to docs/projects/2023/04/release-0-1-2.md diff --git a/docs/projects/t-shirts.md b/docs/projects/2023/04/t-shirts.md similarity index 100% rename from docs/projects/t-shirts.md rename to docs/projects/2023/04/t-shirts.md diff --git a/docs/projects/user-feedback-kickoff.md b/docs/projects/2023/04/user-feedback-kickoff.md similarity index 100% rename from docs/projects/user-feedback-kickoff.md rename to docs/projects/2023/04/user-feedback-kickoff.md diff --git a/docs/projects/2023-07-backend-fixes.md b/docs/projects/2023/07/2023-07-backend-fixes.md similarity index 100% rename from docs/projects/2023-07-backend-fixes.md rename to docs/projects/2023/07/2023-07-backend-fixes.md diff --git a/docs/projects/2023-07-frontend-fixes.md b/docs/projects/2023/07/2023-07-frontend-fixes.md similarity index 100% rename from docs/projects/2023-07-frontend-fixes.md rename to docs/projects/2023/07/2023-07-frontend-fixes.md diff --git a/docs/projects/2023-07-product-strategy.md b/docs/projects/2023/07/2023-07-product-strategy.md similarity index 100% rename from docs/projects/2023-07-product-strategy.md rename to docs/projects/2023/07/2023-07-product-strategy.md diff --git a/docs/projects/installation-improvements-0_1_3.md b/docs/projects/2023/07/installation-improvements-0_1_3.md similarity index 100% rename from docs/projects/installation-improvements-0_1_3.md rename to docs/projects/2023/07/installation-improvements-0_1_3.md diff --git a/docs/projects/internationalization.md b/docs/projects/2023/07/internationalization.md similarity index 100% rename from docs/projects/internationalization.md rename to docs/projects/2023/07/internationalization.md diff --git a/docs/projects/list-datatype.md b/docs/projects/2023/07/list-datatype.md similarity index 100% rename from docs/projects/list-datatype.md rename to docs/projects/2023/07/list-datatype.md diff --git a/docs/projects/shareable-links-implementation.md b/docs/projects/2023/07/shareable-links-implementation.md similarity index 100% rename from docs/projects/shareable-links-implementation.md rename to docs/projects/2023/07/shareable-links-implementation.md diff --git a/docs/projects/sql-ddl-operations.md b/docs/projects/2023/07/sql-ddl-operations.md similarity index 100% rename from docs/projects/sql-ddl-operations.md rename to docs/projects/2023/07/sql-ddl-operations.md diff --git a/docs/projects/installation-improvements-0_1_4.md b/docs/projects/2023/08/installation-improvements-0_1_4.md similarity index 100% rename from docs/projects/installation-improvements-0_1_4.md rename to docs/projects/2023/08/installation-improvements-0_1_4.md diff --git a/docs/projects/niche-research.md b/docs/projects/2023/08/niche-research.md similarity index 100% rename from docs/projects/niche-research.md rename to docs/projects/2023/08/niche-research.md diff --git a/docs/projects/preexisting-postgres.md b/docs/projects/2023/08/preexisting-postgres.md similarity index 100% rename from docs/projects/preexisting-postgres.md rename to docs/projects/2023/08/preexisting-postgres.md diff --git a/docs/projects/frontend-tables-performance.md b/docs/projects/frontend-tables-performance.md deleted file mode 100644 index 02a386064..000000000 --- a/docs/projects/frontend-tables-performance.md +++ /dev/null @@ -1,15 +0,0 @@ -# Frontend Tables Performance Project - -- **Roles**: - - **Owner**: Pavish - - **Helpers**: Rajat, Sean -- **Status**: Draft -- **Problem**: TODO -- **Outcome**: TODO -- **Solution**: TODO -- **Timeline**: TODO -- **Risks**: TODO -- **Issues**: TODO -- **Themes**: TODO -- **Wiki pages**: TODO - diff --git a/docs/projects/column-moving.md b/docs/projects/future/column-moving.md similarity index 100% rename from docs/projects/column-moving.md rename to docs/projects/future/column-moving.md diff --git a/docs/projects/forms-research.md b/docs/projects/future/forms-research.md similarity index 100% rename from docs/projects/forms-research.md rename to docs/projects/future/forms-research.md diff --git a/docs/projects/sql-alchemy-remove.md b/docs/projects/future/sql-alchemy-remove.md similarity index 100% rename from docs/projects/sql-alchemy-remove.md rename to docs/projects/future/sql-alchemy-remove.md diff --git a/docs/projects/sql-dml-operations.md b/docs/projects/future/sql-dml-operations.md similarity index 100% rename from docs/projects/sql-dml-operations.md rename to docs/projects/future/sql-dml-operations.md diff --git a/docs/projects/sql-dql-operations.md b/docs/projects/future/sql-dql-operations.md similarity index 100% rename from docs/projects/sql-dql-operations.md rename to docs/projects/future/sql-dql-operations.md diff --git a/docs/projects/index.md b/docs/projects/index.md index dccd5da8d..f4f09396c 100644 --- a/docs/projects/index.md +++ b/docs/projects/index.md @@ -1,37 +1,34 @@ # Projects -**What are projects for?** +## Overview + +### Purpose + - The Mathesar team's work is chunked into fixed-length projects to keep it organized. - The core team works in 4-week "cycles", and each project is designed to fit into that timeline. The community team's project lengths vary. - - Projects always have an end date. Work without an end date is tracked under [ongoing responsibilities](/team/responsibilities.md). + - Projects always have an end date. Work without an end date is tracked under [ongoing responsibilities](/team/responsibilities.md). - Each project has one and only owner, and various helpers. Helpers are assigned specific responsibilities. -**How do we decide what projects work on?** +### Process + - Anyone willing to do the work can propose a project. Please use the [project template](/en/projects/template). - Projects are discussed and approved by the core team (either in meetings or via email). - - The project manager facilitates these discussions. + - The project manager facilitates these discussions. - Project prioritization will be based on our product strategy (currently in development). -# Active projects -## 2023 Cycle 2 (v0.1.4) +## Active projects + +### 2023 Cycle 2 (v0.1.4) + | Owner | Project | Status | |-----------|-----------------------------------------------------------------------------------------------|-------------| -| Brent | [Investigating compatibility with pre-existing databases](./projects/preexisting-postgres.md) | In Progress | -| Ghislaine | [Niche Research](./projects/niche-research.md) | In Progress | -| Mukesh | [Installation Improvement 0.1.4](./projects/installation-improvements-0_1_4.md) | In Progress | +| Brent | [Investigating compatibility with pre-existing databases](./2023/08/preexisting-postgres.md) | In Progress | +| Ghislaine | [Niche Research](./2023/08/niche-research.md) | In Progress | +| Mukesh | [Installation Improvement 0.1.4](./2023/08/installation-improvements-0_1_4.md) | In Progress | Sean, Dom, and Rajat are going to be working on ad-hoc tasks and helping with projects as needed. That work is tracked on GitHub in the 0.1.4 milestone on GitHub. -## 2023 Cycle 1 (v0.1.3) -These projects are for a 4-week cycle running from 2023-07-10 to 2023-08-04. - -| Owner | Project | Status | -| -- | -- | -- | -| Rajat | [Internationalization](./projects/internationalization.md) | In progress | -| Dom | [2023-07 backend fixes](./projects/2023-07-backend-fixes) | In progress | -| Mukesh | [Installation improvements 0.1.3](./projects/installation-improvements-0_1_3.md) | In progress | - -## 2023 summer interships & work programs +### 2023 summer interships & work programs | Owner | Project | Status | | -- | -- | -- | @@ -39,27 +36,9 @@ These projects are for a 4-week cycle running from 2023-07-10 to 2023-08-04. | Aritra | [Add more summarization functions](/en/community/mentoring/project-ideas/more-summarizations) project idea | In progress | | Varsha | [API documentation](/en/community/mentoring/project-ideas/api-documentation) project idea | In progress | -# Past projects -Projects that are no longer active for a variety of reasons. Please check the individual project pages for more details. - -- 2023 Cycle 1: - - [RSQLA1: Move DDL Operations to SQL Functions](./projects/sql-ddl-operations.md) - - [2023-07 product strategy](./projects/2023-07-product-strategy) - - [List data type](./projects/list-datatype) - - [Shareable links](./projects/shareable-links-implementation) - - [2023-07 frontend fixes](./projects/2023-07-frontend-fixes.md) -- Prior to Cycle 1: - - [Release v0.1.2](./projects/release-0-1-2) - - [Formulas Research](./projects/formulas-research.md) - - [Installation Documentation improvements](./projects/installation-documentation-improvements) - - [2023-04 Usability Improvements](./projects/2023-04-usability-improvements.md) - - [Research: Publicly shareable links](./projects/public-links-research) - - [Mathesar T-Shirts](https://wiki.mathesar.org/en/projects/t-shirts) - - [Raise additional funding for Mathesar](./projects/funding.md) - - [Feedback kickoff](./projects/user-feedback-kickoff.md) - - [Gather User Feedback](./projects/gather-user-feedback) - -# Future project ideas + +## Future project ideas + Some future project ideas are tracked at https://staging.mathesar.org/mathesar_tables/8/tables/9179/ Here are some other project ideas that have been written up, but need to be reviewed before we move forward with them. @@ -71,5 +50,6 @@ Here are some other project ideas that have been written up, but need to be revi | Brent | [RSQLA4: Remove SQLAlchemy from codebase](./projects/sql-alchemy-remove.md) | Draft | -# Project template +## Project template + [Use this template](/projects/template) when creating a new project page, filling in data as needed. You can add or remove attributes if necessary. From 46f6b67c891e0f7c6118f76a12bfc4a1c3441d07 Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Wed, 23 Aug 2023 06:45:31 -0400 Subject: [PATCH 17/35] Add page title to 2023-08-18 Team meeting notes --- docs/team/meeting-notes/2023/08/2023-08-18-team-meeting.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/team/meeting-notes/2023/08/2023-08-18-team-meeting.md b/docs/team/meeting-notes/2023/08/2023-08-18-team-meeting.md index ce783879a..6ae8e175d 100644 --- a/docs/team/meeting-notes/2023/08/2023-08-18-team-meeting.md +++ b/docs/team/meeting-notes/2023/08/2023-08-18-team-meeting.md @@ -1,3 +1,5 @@ +# 2023-08-18 Team meeting + **Attendees**: Core team, Anish, Varsha ## Projects approval From 26497cd2b80467d880742fb696bfd6a2724d025b Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Wed, 23 Aug 2023 07:00:37 -0400 Subject: [PATCH 18/35] Remove `/en` prefix from internal hyperlinks Replace `\]\(/en([^)]*)\)` with `](/$1)` --- docs/community/discord.md | 2 +- docs/community/events/2022-01-22.md | 2 +- docs/community/matrix.md | 2 +- docs/community/mentoring/applicant-guide.md | 6 ++-- docs/community/mentoring/index.md | 16 ++++----- docs/community/mentoring/mentee-guide.md | 6 ++-- docs/community/mentoring/mentor-guide.md | 6 ++-- .../mentoring/project-idea-template.md | 2 +- docs/community/mentoring/project-ideas.md | 6 ++-- .../mentoring/project-ideas/archive.md | 30 ++++++++-------- .../automatic-hint-reflection.md | 2 +- .../project-ideas/break-out-columns.md | 2 +- .../mentoring/project-ideas/data-export.md | 2 +- .../project-ideas/dependency-graph.md | 2 +- .../project-ideas/file-data-types.md | 14 ++++---- .../import-data-into-existing-tables.md | 4 +-- .../mentoring/project-ideas/json-data-type.md | 14 ++++---- .../project-ideas/more-data-import-sources.md | 4 +-- .../project-ideas/postgis-data-types.md | 14 ++++---- .../mentoring/project-ideas/sharable-forms.md | 2 +- .../suggest-candidate-columns.md | 4 +-- .../support-default-postgres-types.md | 14 ++++---- .../visualization-of-grouped-data.md | 2 +- .../mentoring/project-ideas/web-sql-editor.md | 8 ++--- .../exploration/inventory-data-exploration.md | 2 +- docs/design/specs.md | 2 +- docs/engineering/glossary/filters.md | 2 +- .../reports/gsoc-2022-dependents-graph.md | 2 +- docs/engineering/reports/list-datatype.md | 2 +- .../installation-improvements-plan-0_1_4.md | 2 +- docs/product/concepts/filters.md | 6 ++-- .../specs/2022-01-views/01-assumptions.md | 2 +- .../2022-01-views/03-the-query-builder.md | 4 +-- .../specs/2022-01-views/04-formulas.md | 20 +++++------ .../04-formulas/4a-record-aggregations.md | 2 +- .../specs/2022-01-views/05-view-structure.md | 8 ++--- .../specs/2022-01-views/06-view-columns.md | 6 ++-- docs/product/specs/2022-01-views/index.md | 36 +++++++++---------- docs/projects/2023/04/funding.md | 2 +- ...installation-documentation-improvements.md | 2 +- .../projects/2023/04/public-links-research.md | 2 +- .../2023/07/2023-07-product-strategy.md | 2 +- .../2023/07/shareable-links-implementation.md | 4 +-- docs/projects/index.md | 8 ++--- docs/team/guide/issues.md | 2 +- docs/team/guide/meetings.md | 4 +-- docs/team/guide/tools.md | 2 +- docs/team/guide/workflow.md | 4 +-- docs/team/meeting-notes/2022/05/2022-05.md | 2 +- docs/team/meeting-notes/2022/06/2022-06.md | 2 +- docs/team/responsibilities/fundraising.md | 2 +- docs/team/responsibilities/index.md | 16 ++++----- docs/team/responsibilities/marketing.md | 4 +-- docs/team/worklogs/brent.md | 2 +- docs/team/worklogs/kriti/2023-07.md | 8 ++--- 55 files changed, 165 insertions(+), 165 deletions(-) diff --git a/docs/community/discord.md b/docs/community/discord.md index 9b70802d1..2b9fe802b 100644 --- a/docs/community/discord.md +++ b/docs/community/discord.md @@ -1,5 +1,5 @@ # Mathesar on Discord -We primarily use [Matrix](/en/community/matrix) for real-time chat. However, we've set up a Discord server that bridges Matrix to Discord to make our community more accessible for those with Discord accounts. +We primarily use [Matrix](/community/matrix) for real-time chat. However, we've set up a Discord server that bridges Matrix to Discord to make our community more accessible for those with Discord accounts. [Join our Discord server here](https://discord.gg/enaKqGn5xx). diff --git a/docs/community/events/2022-01-22.md b/docs/community/events/2022-01-22.md index c69e0e913..770133bc9 100644 --- a/docs/community/events/2022-01-22.md +++ b/docs/community/events/2022-01-22.md @@ -30,4 +30,4 @@ Most of the event involved. discussions with other groups and a number of intere ### Other Notes - People found Mathesar really hard to pronounce -- We had new contributors who helped & expressed interest in translating our wiki. The [About](/en/product/about) page is already translated to Japanese, [see here](/ja/product/about). \ No newline at end of file +- We had new contributors who helped & expressed interest in translating our wiki. The [About](/product/about) page is already translated to Japanese, [see here](/ja/product/about). \ No newline at end of file diff --git a/docs/community/matrix.md b/docs/community/matrix.md index 893963bfe..2dd245c4c 100644 --- a/docs/community/matrix.md +++ b/docs/community/matrix.md @@ -58,7 +58,7 @@ These channels focus on community building activities. | Name | Address | Purpose | |-|-|-| | Mathesar - Marketing | [`#marketing.mathesar.org`](https://matrix.to/#/#marketing:matrix.mathesar.org) | Discussions related to promoting Mathesar | -| Mathesar - Mentoring Programs | [`#mentoring.mathesar.org`](https://matrix.to/#/#mentoring:matrix.mathesar.org) | Discussions related to [mentoring programs](/en/community/mentoring) such as GSoC | +| Mathesar - Mentoring Programs | [`#mentoring.mathesar.org`](https://matrix.to/#/#mentoring:matrix.mathesar.org) | Discussions related to [mentoring programs](/community/mentoring) such as GSoC | | Mathesar - Code for Japan | [`#code-for-japan:matrix.mathesar.org`](https://matrix.to/#/#code-for-japan:matrix.mathesar.org) | Bridge to the `#proj-mathesar` channel on the Code for Japan Slack | ### Core team workflow diff --git a/docs/community/mentoring/applicant-guide.md b/docs/community/mentoring/applicant-guide.md index c6f5b5937..b4b7c284d 100644 --- a/docs/community/mentoring/applicant-guide.md +++ b/docs/community/mentoring/applicant-guide.md @@ -22,7 +22,7 @@ Mathesar is a new project and we're still working towards releasing our first ve - Read about Mathesar on our [main website](https://mathesar.org). ## Step 3: Join Matrix and the developer mailing list -Join [the "Mentoring Programs" Matrix channel](/en/community/matrix) or the [developer mailing list](/en/community/mailing-lists) as early as possible to introduce yourself and get feedback on your ideas. +Join [the "Mentoring Programs" Matrix channel](/community/matrix) or the [developer mailing list](/community/mailing-lists) as early as possible to introduce yourself and get feedback on your ideas. Feel free to ask questions about project ideas, Mathesar, or anything else! Post questions in the main channel - **do not** contact mentors individually. @@ -35,12 +35,12 @@ Please see our [Contribution Guidelines](https://github.com/centerofci/mathesar/ Once you're comfortable with Mathesar and the community, it's time to start the application process. ## Step 1: Pick a project idea -You'll need to pick a project that you're interested in working on. Please see our [Project Ideas](/en/community/mentoring/project-ideas) page for a list of ideas we've come up with. +You'll need to pick a project that you're interested in working on. Please see our [Project Ideas](/community/mentoring/project-ideas) page for a list of ideas we've come up with. Once you pick a project, make sure you understand what the work entails so that you can plan the work out ahead of time and submit a strong application. The mentors are here to help you. We expect you to have a lot of questions and we're happy to answer them. ## Step 2: Write a draft proposal -You'll now need to write a draft proposal for the idea you've chosen to work on. You'll need to use our [Project Proposal Template](/en/community/mentoring/project-proposal-template) for this. +You'll now need to write a draft proposal for the idea you've chosen to work on. You'll need to use our [Project Proposal Template](/community/mentoring/project-proposal-template) for this. We expect you to do **a significant amount of work** on creating your proposal. You'll need to demonstrate that you understand exactly how to make the changes you're proposing to the codebase and that you can split the project into smaller deliverables that keep you on track. diff --git a/docs/community/mentoring/index.md b/docs/community/mentoring/index.md index 66e23e0f1..cb0d90c4e 100644 --- a/docs/community/mentoring/index.md +++ b/docs/community/mentoring/index.md @@ -9,27 +9,27 @@ We're participating in **Google Summer of Code (GSoC)** in 2023. ### GSoC Information - [Project Ideas *Current list of project ideas for our mentorship programs.*](/community/mentoring/project-ideas) -- [Applicant Guide *Guide for anyone applying to a mentorship program.*](/en/community/mentoring/applicant-guide) -- [Project Proposal Template *Template to use for program applications.*](/en/community/mentoring/project-proposal-template) +- [Applicant Guide *Guide for anyone applying to a mentorship program.*](/community/mentoring/applicant-guide) +- [Project Proposal Template *Template to use for program applications.*](/community/mentoring/project-proposal-template) ### General Information - [About Mathesar *Main website*](https://mathesar.org/) -- [Community *How to join the Mathesar community*](/en/community) +- [Community *How to join the Mathesar community*](/community) - [Contribution Guide *How to contribute to Mathesar code*](https://github.com/centerofci/mathesar/blob/develop/CONTRIBUTING.md) -- [Mathesar Team Members *More information about mentors*](/en/team/members) +- [Mathesar Team Members *More information about mentors*](/team/members) ## For Mentees -- [Mentee Guide *Guide for accepted mentees.*](/en/community/mentoring/mentee-guide) +- [Mentee Guide *Guide for accepted mentees.*](/community/mentoring/mentee-guide) ### For Mentors -- [Mentor Guide *Instructions for mentors*](/en/community/mentoring/mentor-guide) -- [Project Idea Template *Template to use when writing up project ideas*](/en/community/mentoring/project-idea-template) +- [Mentor Guide *Instructions for mentors*](/community/mentoring/mentor-guide) +- [Project Idea Template *Template to use when writing up project ideas*](/community/mentoring/project-idea-template) ## History ### GSoC 2022 -For outcomes from GSoC 2022, please see the [Project Reports](/en/engineering/reports) page. +For outcomes from GSoC 2022, please see the [Project Reports](/engineering/reports) page. diff --git a/docs/community/mentoring/mentee-guide.md b/docs/community/mentoring/mentee-guide.md index 14084f794..f98ec31f7 100644 --- a/docs/community/mentoring/mentee-guide.md +++ b/docs/community/mentoring/mentee-guide.md @@ -1,6 +1,6 @@ # Mentee Guide -This guide is for accepted mentees. If you are an applicant, read our [Applicant Guide](/en/community/mentoring/applicant-guide). +This guide is for accepted mentees. If you are an applicant, read our [Applicant Guide](/community/mentoring/applicant-guide). ## Post-Announcement @@ -8,8 +8,8 @@ Program acceptance announcements have been made and you've been selected! Congra - Continue to refine your project plan and timeline with your mentors. - Define communication channels and set up a weekly check-in with your mentor. - Set up your computer and development environment. -- Read through our [Team Guide](/en/team/guide) and familiarize yourself with our workflow and development process. -- Introduce yourself to [core team](/en/team/members). +- Read through our [Team Guide](/team/guide) and familiarize yourself with our workflow and development process. +- Introduce yourself to [core team](/team/members). ## Program Period diff --git a/docs/community/mentoring/mentor-guide.md b/docs/community/mentoring/mentor-guide.md index c2f2f0aef..26c439001 100644 --- a/docs/community/mentoring/mentor-guide.md +++ b/docs/community/mentoring/mentor-guide.md @@ -22,8 +22,8 @@ Project ideas should be: - compatible with our existing product roadmap Once you've come up with a project idea, please: -1. Flesh it out using our [Project Idea Template](/en/community/mentoring/project-idea-template). -2. Add it to the [Project Ideas](/en/community/mentoring/project-ideas) page. +1. Flesh it out using our [Project Idea Template](/community/mentoring/project-idea-template). +2. Add it to the [Project Ideas](/community/mentoring/project-ideas) page. If you're wondering if your project idea makes sense, discuss it on Matrix with other team members first before writing it down. @@ -100,7 +100,7 @@ At this point, - Reach out to your mentee ASAP and welcome them to the project. - Have an introductory call with the mentee and get to know each other. - Ask them questions about themselves and talk about yourself too. -- Ensure that the mentee is added to our [Team Members](/en/team/members) and has the correct GitHub and wiki permissions. +- Ensure that the mentee is added to our [Team Members](/team/members) and has the correct GitHub and wiki permissions. ## Finalizing the project plan and workflow Before work on the project gets underway, you should: diff --git a/docs/community/mentoring/project-idea-template.md b/docs/community/mentoring/project-idea-template.md index 44943c781..5975fb15d 100644 --- a/docs/community/mentoring/project-idea-template.md +++ b/docs/community/mentoring/project-idea-template.md @@ -1,6 +1,6 @@ # Project Idea Template -> Please use this template while adding new project ideas to [Project Ideas](/en/community/mentoring/project-ideas). +> Please use this template while adding new project ideas to [Project Ideas](/community/mentoring/project-ideas). {.is-info} ## Classification diff --git a/docs/community/mentoring/project-ideas.md b/docs/community/mentoring/project-ideas.md index cf7e45ca9..185cada54 100644 --- a/docs/community/mentoring/project-ideas.md +++ b/docs/community/mentoring/project-ideas.md @@ -2,7 +2,7 @@ These ideas are for **Google Summer of Code 2023**. -> For information about applying to Google Summer of Code, please see [**our Applicant Guide**](/en/community/mentoring/applicant-guide). +> For information about applying to Google Summer of Code, please see [**our Applicant Guide**](/community/mentoring/applicant-guide). {.is-info} ## Ideas @@ -24,10 +24,10 @@ These ideas are for **Google Summer of Code 2023**. | 13 | [Support importing Excel and JSON files](./project-ideas/import-excel-json-files) | Python, SQL, Django, SQLAlchemy | Long (~350 hours) | Medium | Dom | Anish | | 14 | [Automatically suggest improvements to table normalization](./project-ideas/auto-suggest-normalization) | PostgreSQL, Database theory, a bit of statistics | Long (~350 hours) | High | Brent | Dom | -*For ideas from previous years, see our [Project Idea Archive](/en/community/mentoring/project-ideas/archive).* +*For ideas from previous years, see our [Project Idea Archive](/community/mentoring/project-ideas/archive).* ## Original Ideas -You are also welcome to propose your own original idea if you have a suggestion for a new feature. Our [Roadmap](/en/product/roadmap) and [Feature Ideas](/en/product/feature-ideas) pages might be helpful in coming up with your idea. +You are also welcome to propose your own original idea if you have a suggestion for a new feature. Our [Roadmap](/product/roadmap) and [Feature Ideas](/product/feature-ideas) pages might be helpful in coming up with your idea. Please talk to us and ensure that someone on the team is willing to mentor your idea before you submit your proposal. diff --git a/docs/community/mentoring/project-ideas/archive.md b/docs/community/mentoring/project-ideas/archive.md index c462eafac..d55749047 100644 --- a/docs/community/mentoring/project-ideas/archive.md +++ b/docs/community/mentoring/project-ideas/archive.md @@ -4,20 +4,20 @@ | Idea | Skills | Length | Difficulty | |-|-|-|-| -| [Automatic Hint Reflection](/en/community/mentoring/project-ideas/automatic-hint-reflection) | Python, PostgreSQL | ~350 hours | High | -| [Break Columns out to New Table](/en/community/mentoring/project-ideas/break-out-columns) | Python, Django, PostgreSQL | ~175 hours | Low | -| [Suggest Candidate Columns to Create Separate Table](/en/community/mentoring/project-ideas/suggest-candidate-columns) | PostgreSQL, database theory, statistics | ~350 hours | High | -| [Visualization of Grouped Data](/en/community/mentoring/project-ideas/visualization-of-grouped-data) | JavaScript, frontend frameworks | ~175 hours | Low | -| [Sharable Forms to Add Data to Tables](/en/community/mentoring/project-ideas/sharable-forms) | JavaScript, frontend frameworks | ~175 hours | Low | -| [Construct Dependency Graph for Database Objects](/en/community/mentoring/project-ideas/dependency-graph) | Python, Django, PostgreSQL | ~350 hours | Medium | -| [Support for PostGIS Data Types](/en/community/mentoring/project-ideas/postgis-data-types) | Python, PostgreSQL, PostGIS | ~350 hours | High | -| [Support for File & Image Data Types](/en/community/mentoring/project-ideas/file-data-types) | Python, Django, PostgreSQL | ~350 hours | High | -| [Support for JSON Data Type](/en/community/mentoring/project-ideas/json-data-type) |Python, Django, JavaScript, frontend frameworks | ~350 hours | Medium | -| [Better Support for Default PostgreSQL Data Types](/en/community/mentoring/project-ideas/support-default-postgres-types) | Python, Django, PostgreSQL | ~175 hours or ~350 hours | Medium | -| [Implement Textual SQL Query Builder](/en/community/mentoring/project-ideas/web-sql-editor)| Python, JavaScript, frontend frameworks | ~350 hours | Medium | -| [Support Importing Data into Existing Tables](/en/community/mentoring/project-ideas/import-data-into-existing-tables) | Python, Django, PostgreSQL | ~350 hours | Medium | -| [Support More Data Import Sources](/en/community/mentoring/project-ideas/more-data-import-sources) | Python, Django, PostgreSQL | ~350 hours | Medium | -| [Support Data Export](/en/community/mentoring/project-ideas/data-export) | Python, Django, PostgreSQL | ~175 hours | Medium | +| [Automatic Hint Reflection](/community/mentoring/project-ideas/automatic-hint-reflection) | Python, PostgreSQL | ~350 hours | High | +| [Break Columns out to New Table](/community/mentoring/project-ideas/break-out-columns) | Python, Django, PostgreSQL | ~175 hours | Low | +| [Suggest Candidate Columns to Create Separate Table](/community/mentoring/project-ideas/suggest-candidate-columns) | PostgreSQL, database theory, statistics | ~350 hours | High | +| [Visualization of Grouped Data](/community/mentoring/project-ideas/visualization-of-grouped-data) | JavaScript, frontend frameworks | ~175 hours | Low | +| [Sharable Forms to Add Data to Tables](/community/mentoring/project-ideas/sharable-forms) | JavaScript, frontend frameworks | ~175 hours | Low | +| [Construct Dependency Graph for Database Objects](/community/mentoring/project-ideas/dependency-graph) | Python, Django, PostgreSQL | ~350 hours | Medium | +| [Support for PostGIS Data Types](/community/mentoring/project-ideas/postgis-data-types) | Python, PostgreSQL, PostGIS | ~350 hours | High | +| [Support for File & Image Data Types](/community/mentoring/project-ideas/file-data-types) | Python, Django, PostgreSQL | ~350 hours | High | +| [Support for JSON Data Type](/community/mentoring/project-ideas/json-data-type) |Python, Django, JavaScript, frontend frameworks | ~350 hours | Medium | +| [Better Support for Default PostgreSQL Data Types](/community/mentoring/project-ideas/support-default-postgres-types) | Python, Django, PostgreSQL | ~175 hours or ~350 hours | Medium | +| [Implement Textual SQL Query Builder](/community/mentoring/project-ideas/web-sql-editor)| Python, JavaScript, frontend frameworks | ~350 hours | Medium | +| [Support Importing Data into Existing Tables](/community/mentoring/project-ideas/import-data-into-existing-tables) | Python, Django, PostgreSQL | ~350 hours | Medium | +| [Support More Data Import Sources](/community/mentoring/project-ideas/more-data-import-sources) | Python, Django, PostgreSQL | ~350 hours | Medium | +| [Support Data Export](/community/mentoring/project-ideas/data-export) | Python, Django, PostgreSQL | ~175 hours | Medium | # Other -- [Dark Mode](/en/community/mentoring/project-ideas/dark-mode) - written for GSoC 2023, scrapped for scope being too small. \ No newline at end of file +- [Dark Mode](/community/mentoring/project-ideas/dark-mode) - written for GSoC 2023, scrapped for scope being too small. \ No newline at end of file diff --git a/docs/community/mentoring/project-ideas/automatic-hint-reflection.md b/docs/community/mentoring/project-ideas/automatic-hint-reflection.md index 0c50151ee..f545df19c 100644 --- a/docs/community/mentoring/project-ideas/automatic-hint-reflection.md +++ b/docs/community/mentoring/project-ideas/automatic-hint-reflection.md @@ -81,4 +81,4 @@ I'd say a good candidate would be one that is comfortable taking the time to exp - **Primary Mentor**: Dominykas Mostauskis - **Backup Mentor**: Brent Moran -See our [Team Members](/en/team/members) page for Matrix and GitHub handles of mentors. \ No newline at end of file +See our [Team Members](/team/members) page for Matrix and GitHub handles of mentors. \ No newline at end of file diff --git a/docs/community/mentoring/project-ideas/break-out-columns.md b/docs/community/mentoring/project-ideas/break-out-columns.md index fdada9a7c..4eec32b9d 100644 --- a/docs/community/mentoring/project-ideas/break-out-columns.md +++ b/docs/community/mentoring/project-ideas/break-out-columns.md @@ -31,4 +31,4 @@ The successful candidate will be able to understand and articulate the usefulnes - **Primary Mentor**: Brent Moran - **Backup Mentor**: Kriti Godey -See our [Team Members](/en/team/members) page for Matrix and GitHub handles of mentors. +See our [Team Members](/team/members) page for Matrix and GitHub handles of mentors. diff --git a/docs/community/mentoring/project-ideas/data-export.md b/docs/community/mentoring/project-ideas/data-export.md index 9a51eb0a1..147216cbd 100644 --- a/docs/community/mentoring/project-ideas/data-export.md +++ b/docs/community/mentoring/project-ideas/data-export.md @@ -42,4 +42,4 @@ If the candidate is interested in working on the frontend, we'd also love to see - **Primary Mentor**: Mukesh Murali - **Backup Mentor**: Dominykas Mostauskis -See our [Team Members](/en/team/members) page for Matrix and GitHub handles of mentors. \ No newline at end of file +See our [Team Members](/team/members) page for Matrix and GitHub handles of mentors. \ No newline at end of file diff --git a/docs/community/mentoring/project-ideas/dependency-graph.md b/docs/community/mentoring/project-ideas/dependency-graph.md index b3c19c32a..abe99936a 100644 --- a/docs/community/mentoring/project-ideas/dependency-graph.md +++ b/docs/community/mentoring/project-ideas/dependency-graph.md @@ -38,4 +38,4 @@ A good candidate would be someone who has good understanding of SQL, and align t - **Primary Mentor**: Mukesh Murali - **Backup Mentor**: Brent Moran -See our [Team Members](/en/team/members) page for Matrix and GitHub handles of mentors. +See our [Team Members](/team/members) page for Matrix and GitHub handles of mentors. diff --git a/docs/community/mentoring/project-ideas/file-data-types.md b/docs/community/mentoring/project-ideas/file-data-types.md index e213ac9ce..8b14b3cfb 100644 --- a/docs/community/mentoring/project-ideas/file-data-types.md +++ b/docs/community/mentoring/project-ideas/file-data-types.md @@ -13,7 +13,7 @@ Mathesar currently only allows the user to use a small set of data types. We'd l - Work with the Mathesar design team to figure out how end users can interact with file and image data types in the UI, including: - How data is displayed - How data is entered - - What [Mathesar Types](/en/engineering/glossary/ui-types) to show + - What [Mathesar Types](/engineering/glossary/ui-types) to show - What filtering options to support for each type - What grouping options to support for each type - What display options to support for each type @@ -34,15 +34,15 @@ If the candidate is interested, it would be great to also have the types integra ## Resources - Data Types in Mathesar: - - [Data Types "Concepts" page](/en/product/concepts/data-types) - - [Mathesar UI Data Types engineering page](/en/engineering/glossary/ui-types) -- [Existing Data Type components design spec](/en/design/specs/global-data-type-components), to see how current data types work. + - [Data Types "Concepts" page](/product/concepts/data-types) + - [Mathesar UI Data Types engineering page](/engineering/glossary/ui-types) +- [Existing Data Type components design spec](/design/specs/global-data-type-components), to see how current data types work. - Filters in Mathesar: - - [Filters "Concepts" page](/en/product/concepts/filters) - - [Filters engineering page](/en/engineering/glossary/filters) + - [Filters "Concepts" page](/product/concepts/filters) + - [Filters engineering page](/engineering/glossary/filters) ## Mentors - **Primary Mentor**: Kriti Godey - **Backup Mentor**: Mukesh Murali -See our [Team Members](/en/team/members) page for Matrix and GitHub handles of mentors. \ No newline at end of file +See our [Team Members](/team/members) page for Matrix and GitHub handles of mentors. \ No newline at end of file diff --git a/docs/community/mentoring/project-ideas/import-data-into-existing-tables.md b/docs/community/mentoring/project-ideas/import-data-into-existing-tables.md index e6db20ac1..9b03e2895 100644 --- a/docs/community/mentoring/project-ideas/import-data-into-existing-tables.md +++ b/docs/community/mentoring/project-ideas/import-data-into-existing-tables.md @@ -27,10 +27,10 @@ If the candidate is interested, they can also implement the feature on the front - Think through different cases for how to reconcile data, e.g. what happens when the field names in a CSV file don't match column names, or what happens when the table has more or fewer columns than the file being imported. ## Resources -- [Import Preview API technical spec](/en/engineering/specs/import-preview-api) +- [Import Preview API technical spec](/engineering/specs/import-preview-api) ## Mentors - **Primary Mentor**: Mukesh Murali - **Backup Mentor**: Brent Moran -See our [Team Members](/en/team/members) page for Matrix and GitHub handles of mentors. \ No newline at end of file +See our [Team Members](/team/members) page for Matrix and GitHub handles of mentors. \ No newline at end of file diff --git a/docs/community/mentoring/project-ideas/json-data-type.md b/docs/community/mentoring/project-ideas/json-data-type.md index dec39c76d..b97df7103 100644 --- a/docs/community/mentoring/project-ideas/json-data-type.md +++ b/docs/community/mentoring/project-ideas/json-data-type.md @@ -12,7 +12,7 @@ Mathesar currently only allows the user to use a small set of data types. We'd l - Work with the Mathesar design team to figure out how end users can interact with the JSON data types in the UI, including: - How data is displayed - How data is entered - - What [Mathesar Types](/en/engineering/glossary/ui-types) to show + - What [Mathesar Types](/engineering/glossary/ui-types) to show - What filtering options to support - What grouping options to support - What display options to support @@ -29,16 +29,16 @@ By the end of this project, we expect that users will be able to seamlessly use ## Resources - Data Types in Mathesar: - - [Data Types "Concepts" page](/en/product/concepts/data-types) - - [Mathesar UI Data Types engineering page](/en/engineering/glossary/ui-types) -- [Existing Data Type components design spec](/en/design/specs/global-data-type-components), to see how current data types work. + - [Data Types "Concepts" page](/product/concepts/data-types) + - [Mathesar UI Data Types engineering page](/engineering/glossary/ui-types) +- [Existing Data Type components design spec](/design/specs/global-data-type-components), to see how current data types work. - Filters in Mathesar: - - [Filters "Concepts" page](/en/product/concepts/filters) - - [Filters engineering page](/en/engineering/glossary/filters) + - [Filters "Concepts" page](/product/concepts/filters) + - [Filters engineering page](/engineering/glossary/filters) - [PostgreSQL JSON types documentation](https://www.postgresql.org/docs/current/datatype-json.html) ## Mentors - **Primary Mentor**: Brent Moran - **Backup Mentor**: Mukesh Murali -See our [Team Members](/en/team/members) page for Matrix and GitHub handles of mentors. \ No newline at end of file +See our [Team Members](/team/members) page for Matrix and GitHub handles of mentors. \ No newline at end of file diff --git a/docs/community/mentoring/project-ideas/more-data-import-sources.md b/docs/community/mentoring/project-ideas/more-data-import-sources.md index 0890bf9a8..dd31a95af 100644 --- a/docs/community/mentoring/project-ideas/more-data-import-sources.md +++ b/docs/community/mentoring/project-ideas/more-data-import-sources.md @@ -32,10 +32,10 @@ If the candidate is interested in working on the frontend, we'd also love to see - It's helpful to start from the experience that you'd like the end-user to have and work backwards. ## Resources -- [Import Preview API technical spec](/en/engineering/specs/import-preview-api) +- [Import Preview API technical spec](/engineering/specs/import-preview-api) ## Mentors - **Primary Mentor**: Mukesh Murali - **Backup Mentor**: Kriti Godey -See our [Team Members](/en/team/members) page for Matrix and GitHub handles of mentors. \ No newline at end of file +See our [Team Members](/team/members) page for Matrix and GitHub handles of mentors. \ No newline at end of file diff --git a/docs/community/mentoring/project-ideas/postgis-data-types.md b/docs/community/mentoring/project-ideas/postgis-data-types.md index b28c1513c..62e61d0f5 100644 --- a/docs/community/mentoring/project-ideas/postgis-data-types.md +++ b/docs/community/mentoring/project-ideas/postgis-data-types.md @@ -13,7 +13,7 @@ Mathesar currently only allows the user to use a small set of data types. We'd l - Work with the Mathesar design team to figure out how end users can interact with PostGIS data types in the UI, including: - How data is displayed - How data is entered - - What [Mathesar Types](/en/engineering/glossary/ui-types) to show + - What [Mathesar Types](/engineering/glossary/ui-types) to show - What filtering options to support for each type - What grouping options to support for each type - What display options to support for each type @@ -32,12 +32,12 @@ If the candidate is interested, it would be great to also have the types integra ## Resources - Data Types in Mathesar: - - [Data Types "Concepts" page](/en/product/concepts/data-types) - - [Mathesar UI Data Types engineering page](/en/engineering/glossary/ui-types) -- [Existing Data Type components design spec](/en/design/specs/global-data-type-components), to see how current data types work. + - [Data Types "Concepts" page](/product/concepts/data-types) + - [Mathesar UI Data Types engineering page](/engineering/glossary/ui-types) +- [Existing Data Type components design spec](/design/specs/global-data-type-components), to see how current data types work. - Filters in Mathesar: - - [Filters "Concepts" page](/en/product/concepts/filters) - - [Filters engineering page](/en/engineering/glossary/filters) + - [Filters "Concepts" page](/product/concepts/filters) + - [Filters engineering page](/engineering/glossary/filters) - PostGIS resources: - [PostGIS website](http://postgis.net/) - [PostGIS Data Types reference](https://postgis.net/docs/reference.html#PostGIS_Types) @@ -46,4 +46,4 @@ If the candidate is interested, it would be great to also have the types integra - **Primary Mentor**: Kriti Godey - **Backup Mentor**: Brent Moran -See our [Team Members](/en/team/members) page for Matrix and GitHub handles of mentors. \ No newline at end of file +See our [Team Members](/team/members) page for Matrix and GitHub handles of mentors. \ No newline at end of file diff --git a/docs/community/mentoring/project-ideas/sharable-forms.md b/docs/community/mentoring/project-ideas/sharable-forms.md index 35a5831ff..8c3471f9e 100644 --- a/docs/community/mentoring/project-ideas/sharable-forms.md +++ b/docs/community/mentoring/project-ideas/sharable-forms.md @@ -28,4 +28,4 @@ A good candidate should take the time needed to understand the requirements, res - **Primary Mentor**: Pavish Kumar Ramani Gopal - **Backup Mentor**: Sean Colsen -See our [Team Members](/en/team/members) page for Matrix and GitHub handles of mentors. +See our [Team Members](/team/members) page for Matrix and GitHub handles of mentors. diff --git a/docs/community/mentoring/project-ideas/suggest-candidate-columns.md b/docs/community/mentoring/project-ideas/suggest-candidate-columns.md index 89c393562..1c5efaa2d 100644 --- a/docs/community/mentoring/project-ideas/suggest-candidate-columns.md +++ b/docs/community/mentoring/project-ideas/suggest-candidate-columns.md @@ -1,7 +1,7 @@ # Suggest Candidate Columns to Create Separate Table ## The Problem -> This is related to [Break Columns out to New Table](/en/community/mentoring/project-ideas/break-out-columns), please read that project idea first. +> This is related to [Break Columns out to New Table](/community/mentoring/project-ideas/break-out-columns), please read that project idea first. {.is-info} @@ -33,4 +33,4 @@ The successful candidate would understand the motivation for normalizing a datab - **Primary Mentor**: Brent Moran - **Backup Mentor**: Kriti Godey -See our [Team Members](/en/team/members) page for Matrix and GitHub handles of mentors. \ No newline at end of file +See our [Team Members](/team/members) page for Matrix and GitHub handles of mentors. \ No newline at end of file diff --git a/docs/community/mentoring/project-ideas/support-default-postgres-types.md b/docs/community/mentoring/project-ideas/support-default-postgres-types.md index e0550c755..197d9d07f 100644 --- a/docs/community/mentoring/project-ideas/support-default-postgres-types.md +++ b/docs/community/mentoring/project-ideas/support-default-postgres-types.md @@ -14,7 +14,7 @@ Mathesar currently only allows the user to use a small set of data types. We'd l - Work with the Mathesar design team to figure out how end users can interact with file and image data types in the UI, including: - How data is displayed - How data is entered - - What [Mathesar Types](/en/engineering/glossary/ui-types) to show + - What [Mathesar Types](/engineering/glossary/ui-types) to show - What filtering options to support for each type - What grouping options to support for each type - What display options to support for each type @@ -33,12 +33,12 @@ If the candidate is interested, it would be great to also have the types integra ## Resources - Data Types in Mathesar: - - [Data Types "Concepts" page](/en/product/concepts/data-types) - - [Mathesar UI Data Types engineering page](/en/engineering/glossary/ui-types) -- [Existing Data Type components design spec](/en/design/specs/global-data-type-components), to see how current data types work. + - [Data Types "Concepts" page](/product/concepts/data-types) + - [Mathesar UI Data Types engineering page](/engineering/glossary/ui-types) +- [Existing Data Type components design spec](/design/specs/global-data-type-components), to see how current data types work. - Filters in Mathesar: - - [Filters "Concepts" page](/en/product/concepts/filters) - - [Filters engineering page](/en/engineering/glossary/filters) + - [Filters "Concepts" page](/product/concepts/filters) + - [Filters engineering page](/engineering/glossary/filters) - [PostgreSQL types documentation](https://www.postgresql.org/docs/current/datatype.html) @@ -46,4 +46,4 @@ If the candidate is interested, it would be great to also have the types integra - **Primary Mentor**: Kriti Godey - **Backup Mentor**: Dominykas Mostauskis -See our [Team Members](/en/team/members) page for Matrix and GitHub handles of mentors. \ No newline at end of file +See our [Team Members](/team/members) page for Matrix and GitHub handles of mentors. \ No newline at end of file diff --git a/docs/community/mentoring/project-ideas/visualization-of-grouped-data.md b/docs/community/mentoring/project-ideas/visualization-of-grouped-data.md index 75b7e0327..e6bc4b41e 100644 --- a/docs/community/mentoring/project-ideas/visualization-of-grouped-data.md +++ b/docs/community/mentoring/project-ideas/visualization-of-grouped-data.md @@ -31,4 +31,4 @@ A good candidate would be someone who is able to empathize and think from the pe - **Primary Mentor**: Pavish Kumar Ramani Gopal - **Backup Mentor**: Sean Colsen -See our [Team Members](/en/team/members) page for Matrix and GitHub handles of mentors. \ No newline at end of file +See our [Team Members](/team/members) page for Matrix and GitHub handles of mentors. \ No newline at end of file diff --git a/docs/community/mentoring/project-ideas/web-sql-editor.md b/docs/community/mentoring/project-ideas/web-sql-editor.md index e4ef67e42..101067f35 100644 --- a/docs/community/mentoring/project-ideas/web-sql-editor.md +++ b/docs/community/mentoring/project-ideas/web-sql-editor.md @@ -1,7 +1,7 @@ # Implement Textual SQL Query Builder ## The Problem -We are building a visual query builder into Mathesar to help the user find answers to questions using their data and to create [Views](/en/product/concepts/views). To make the visual query builder easy to use, we needed to make a bunch of assumptions that limits the types of queries that can be produced. +We are building a visual query builder into Mathesar to help the user find answers to questions using their data and to create [Views](/product/concepts/views). To make the visual query builder easy to use, we needed to make a bunch of assumptions that limits the types of queries that can be produced. To support the full range of queries that can be written using SQL, we should allow advanced users to write SQL queries. @@ -25,8 +25,8 @@ By the end of this project, we expect that the query builder web interface will - It's helpful to start from the experience that you'd like the end-user to have and work backwards. ## Resources -- [Views "Concepts" page](/en/product/concepts/views) -- ["Views in Mathesar" product spec](/en/product/specs/2022-01-views) +- [Views "Concepts" page](/product/concepts/views) +- ["Views in Mathesar" product spec](/product/specs/2022-01-views) - [Code Mirror text editor library](https://codemirror.net/) @@ -34,4 +34,4 @@ By the end of this project, we expect that the query builder web interface will - **Primary Mentor**: Pavish Kumar Ramani Gopal - **Backup Mentor**: Dominykas Mostauskis -See our [Team Members](/en/team/members) page for Matrix and GitHub handles of mentors. \ No newline at end of file +See our [Team Members](/team/members) page for Matrix and GitHub handles of mentors. \ No newline at end of file diff --git a/docs/design/exploration/inventory-data-exploration.md b/docs/design/exploration/inventory-data-exploration.md index e6b3984d5..c8c224889 100644 --- a/docs/design/exploration/inventory-data-exploration.md +++ b/docs/design/exploration/inventory-data-exploration.md @@ -4,7 +4,7 @@ # Inventory: Data Exploration -> Refer to [Inventory Use Case](/en/design/exploration/use-cases/inventory-use-case) for additional context. +> Refer to [Inventory Use Case](/design/exploration/use-cases/inventory-use-case) for additional context. {.is-info} # Context diff --git a/docs/design/specs.md b/docs/design/specs.md index 21fe9e4a5..59100c293 100644 --- a/docs/design/specs.md +++ b/docs/design/specs.md @@ -15,7 +15,7 @@ These are specs for new features, corresponding to our [development milestones]( ### Navigation - [Navigation Updates](/design/specs/navigation) -- [Add Table from Import/URI/Data paste Specs](/en/design/specs/table-import) +- [Add Table from Import/URI/Data paste Specs](/design/specs/table-import) - This is under "Navigation" because we needed to update it after the navigation changed from having tabs for different tables. ### Queries diff --git a/docs/engineering/glossary/filters.md b/docs/engineering/glossary/filters.md index 28e40648e..cbcabfcdd 100644 --- a/docs/engineering/glossary/filters.md +++ b/docs/engineering/glossary/filters.md @@ -1,6 +1,6 @@ # Filters in Mathesar -This page covers filters from an engineering/architecture perspective. Please see the ["Filters" product concepts page](/en/product/concepts/filters) for a user-facing looking at filters. +This page covers filters from an engineering/architecture perspective. Please see the ["Filters" product concepts page](/product/concepts/filters) for a user-facing looking at filters. ## Criteria for Filters in Mathesar In Mathesar, filters are a subset of functions that take in a set of row or a relation as input and return only the rows that satisfy some condition. diff --git a/docs/engineering/reports/gsoc-2022-dependents-graph.md b/docs/engineering/reports/gsoc-2022-dependents-graph.md index d1185441a..b0bb7970e 100644 --- a/docs/engineering/reports/gsoc-2022-dependents-graph.md +++ b/docs/engineering/reports/gsoc-2022-dependents-graph.md @@ -53,4 +53,4 @@ Special thanks to Mukesh Murali for constant support and help during our weekly - The initial proposal for the project: [Construct Dependency Graph for Database Objects (GSoC 2022 Proposal by Yurii Palaida) (summerofcode.withgoogle.com)](https://summerofcode.withgoogle.com/media/user/746462d805d7/proposal/gAAAAABjPFsNHDKT8MmRc7wvBWHNqHVhZZa2zdgOwgCAVO1hVouvPx9F8Fem2qViSJH1jZBtN9IC84krrl5sxqew5zkjgGkcqXQBv0wGrexvNZCNX7lB1J0=.pdf) - A blog post with impressions on the first part of the project: [How I Spent My [Google] Summer [of Code] Part 1 | by Yurii Palaida | Aug, 2022 | Medium](https://jyuart.medium.com/how-i-spent-my-google-summer-of-code-part-1-d7ab7fdc04d7) - All the issues done during the project: https://github.com/centerofci/mathesar/issues/398 -- [The tech spec of the implemented feature](/en/engineering/specs/dependents-graph) \ No newline at end of file +- [The tech spec of the implemented feature](/engineering/specs/dependents-graph) \ No newline at end of file diff --git a/docs/engineering/reports/list-datatype.md b/docs/engineering/reports/list-datatype.md index ac045723e..8e70f2eae 100644 --- a/docs/engineering/reports/list-datatype.md +++ b/docs/engineering/reports/list-datatype.md @@ -3,7 +3,7 @@ In this report we will talk about the scope and goals of the project: List data type. Considerations and difficulties are also discussed, as well as the project's current state. Finally, a future work line is given. ## Introduction -The `List` data type project is about adding support to the `Array` Postgres type in Mathesar. One important detail to highlight is that we were only going to consider the **1-dimensional case** of arrays, as this is the most common use case (and it was also going to save us dealing with some complexities that we're going to review below). The features originally proposed to be implemented are detailed in the [project's page](/en/projects/list-datatype). +The `List` data type project is about adding support to the `Array` Postgres type in Mathesar. One important detail to highlight is that we were only going to consider the **1-dimensional case** of arrays, as this is the most common use case (and it was also going to save us dealing with some complexities that we're going to review below). The features originally proposed to be implemented are detailed in the [project's page](/projects/list-datatype). ### Preliminaries An `Array` is not a data type per se, but a data structure that holds values of a certain data type. It is not supported by all the SQL databases, but Postgres does. A common array is a structure characterized by having a length and dimension. E.g. diff --git a/docs/engineering/specs/installation-improvements-plan-0_1_4.md b/docs/engineering/specs/installation-improvements-plan-0_1_4.md index 8e209046f..a07a2d949 100644 --- a/docs/engineering/specs/installation-improvements-plan-0_1_4.md +++ b/docs/engineering/specs/installation-improvements-plan-0_1_4.md @@ -11,7 +11,7 @@ This project contains the summarized plan to improve the installation, mostly based on the [ previous discussions](https://wiki.mathesar.org/en/meeting-notes/2023-07/2023-07-28-installation-meeting). Implementing the planned changes will be done in separate projects -- [Installation Improvement 0.1.4](/en/projects/installation-improvements-0_1_4) +- [Installation Improvement 0.1.4](/projects/installation-improvements-0_1_4) ### Problems 1. Many users have found our installation process to be complicated, [this great feedback](https://github.com/centerofci/mathesar/discussions/3108) summarizes a lot of pain points. diff --git a/docs/product/concepts/filters.md b/docs/product/concepts/filters.md index 49991aa9c..fc57dae85 100644 --- a/docs/product/concepts/filters.md +++ b/docs/product/concepts/filters.md @@ -2,7 +2,7 @@ # About -A **Filter** allows you to reduce the amount of data displayed in a [Table](/en/product/concepts/tables) or a [View](/en/product/concepts/views) based on specified criteria. +A **Filter** allows you to reduce the amount of data displayed in a [Table](/product/concepts/tables) or a [View](/product/concepts/views) based on specified criteria. ## Example Imagine this table containing movies. @@ -36,8 +36,8 @@ Then you might want to see movies released after 1990 that you've watched, so yo | 7 | Big Trouble | 2002 | TRUE | ## Filters in Mathesar -You can filter data in a [Table](/en/product/concepts/tables) or a [View](/en/product/concepts/views) in Mathesar using either the "Filters" button or each column's menu. +You can filter data in a [Table](/product/concepts/tables) or a [View](/product/concepts/views) in Mathesar using either the "Filters" button or each column's menu. # Further Reading -- If you're curious, you can look at our [engineering page about Filters](/en/engineering/glossary/filters). +- If you're curious, you can look at our [engineering page about Filters](/engineering/glossary/filters). diff --git a/docs/product/specs/2022-01-views/01-assumptions.md b/docs/product/specs/2022-01-views/01-assumptions.md index 8ffca2fff..392aaf1fb 100644 --- a/docs/product/specs/2022-01-views/01-assumptions.md +++ b/docs/product/specs/2022-01-views/01-assumptions.md @@ -1,6 +1,6 @@ # 01. Assumptions and Limitations -Although Queries and Views represent underlying database concepts, we will only be supporting building a subset of possible database queries in the first version of Mathesar. Our goal is to ship a proof of concept that demonstrates common use cases that might be used for an [Inventory Use Case](/en/design/exploration/use-cases/inventory-use-case). +Although Queries and Views represent underlying database concepts, we will only be supporting building a subset of possible database queries in the first version of Mathesar. Our goal is to ship a proof of concept that demonstrates common use cases that might be used for an [Inventory Use Case](/design/exploration/use-cases/inventory-use-case). > Please note that the assumptions and limitations outlined in this page are **only for the alpha release** of Mathesar. We will reevaluate these assumptions after our first release. {.is-info} diff --git a/docs/product/specs/2022-01-views/03-the-query-builder.md b/docs/product/specs/2022-01-views/03-the-query-builder.md index 88865ead6..2781b454e 100644 --- a/docs/product/specs/2022-01-views/03-the-query-builder.md +++ b/docs/product/specs/2022-01-views/03-the-query-builder.md @@ -27,7 +27,7 @@ Users should be able to add columns to see in the query's output. Users can add - **Aggregation**: This sets how the column is aggregated (none i.e. separate rows per unique pair, list, count, average, min, max, etc.). - This is only applicable to tables which have multiple related records to the base table. - By default, we will aggregate columns as a list. - - Please see [Record Aggregations](/en/product/specs/2022-01-views/04-formulas/4a-record-aggregations) for a list of all aggregations supported. + - Please see [Record Aggregations](/product/specs/2022-01-views/04-formulas/4a-record-aggregations) for a list of all aggregations supported. - The user will see the source relationship and aggregations used and can alter them if desired. - The user can also alter the column in the following ways: - Adding a **Formula**: This alters the column to use a formula where one of the variables is the column. @@ -146,7 +146,7 @@ When adding query output columns, available columns are calculated as follows: - all columns from tables that the base table has FKs to or with FKs to the base table, up to three levels of FKs away. ## Formulas -Please see the next page, [04. Formulas](/en/product/specs/2022-01-views/04-formulas). +Please see the next page, [04. Formulas](/product/specs/2022-01-views/04-formulas). ## Column Input Filters When applying filters to an input column (let's call it `X`), the user selects three things: diff --git a/docs/product/specs/2022-01-views/04-formulas.md b/docs/product/specs/2022-01-views/04-formulas.md index 029f5966c..1a78a7c1d 100644 --- a/docs/product/specs/2022-01-views/04-formulas.md +++ b/docs/product/specs/2022-01-views/04-formulas.md @@ -101,15 +101,15 @@ Literal text expressing a [regular expression](https://www.postgresql.org/docs/c # List of Formulas This is a list of view formulas that we should support in the alpha release of Mathesar, categorized into types. -- [Record Aggregations *Formulas that aggregate a column across multiple records*](/en/product/specs/2022-01-views/04-formulas/4a-record-aggregations) -- [Random Generators *Formulas that generate random data*](/en/product/specs/2022-01-views/04-formulas/4b-random-generators) -- [Text Formulas *Formulas that work on text data*](/en/product/specs/2022-01-views/04-formulas/4c-text-formulas) -- [Number Formulas *Formulas that work on number data*](/en/product/specs/2022-01-views/04-formulas/4d-number-formulas) -- [Boolean Formulas *Formulas that work on boolean data*](/en/product/specs/2022-01-views/04-formulas/4e-boolean-formulas) -- [Date. Time, and Duration Formulas *Formulas that work on date, time, and duration data*](/en/product/specs/2022-01-views/04-formulas/4f-datetime-formulas) -- [List Formulas *Formulas that work on list data*](/en/product/specs/2022-01-views/04-formulas/4g-list-formulas) -- [Cumulative Formulas *Formulas building on previous rows in the query*](/en/product/specs/2022-01-views/04-formulas/4h-cumulative-formulas) -- [Regular Expression Formulas *Formulas that use regular expressions*](/en/product/specs/2022-01-views/04-formulas/4i-regex-formulas) -- [Custom Formulas *An interface to support more complicated formulas*](/en/product/specs/2022-01-views/04-formulas/4j-custom-formulas) +- [Record Aggregations *Formulas that aggregate a column across multiple records*](/product/specs/2022-01-views/04-formulas/4a-record-aggregations) +- [Random Generators *Formulas that generate random data*](/product/specs/2022-01-views/04-formulas/4b-random-generators) +- [Text Formulas *Formulas that work on text data*](/product/specs/2022-01-views/04-formulas/4c-text-formulas) +- [Number Formulas *Formulas that work on number data*](/product/specs/2022-01-views/04-formulas/4d-number-formulas) +- [Boolean Formulas *Formulas that work on boolean data*](/product/specs/2022-01-views/04-formulas/4e-boolean-formulas) +- [Date. Time, and Duration Formulas *Formulas that work on date, time, and duration data*](/product/specs/2022-01-views/04-formulas/4f-datetime-formulas) +- [List Formulas *Formulas that work on list data*](/product/specs/2022-01-views/04-formulas/4g-list-formulas) +- [Cumulative Formulas *Formulas building on previous rows in the query*](/product/specs/2022-01-views/04-formulas/4h-cumulative-formulas) +- [Regular Expression Formulas *Formulas that use regular expressions*](/product/specs/2022-01-views/04-formulas/4i-regex-formulas) +- [Custom Formulas *An interface to support more complicated formulas*](/product/specs/2022-01-views/04-formulas/4j-custom-formulas) diff --git a/docs/product/specs/2022-01-views/04-formulas/4a-record-aggregations.md b/docs/product/specs/2022-01-views/04-formulas/4a-record-aggregations.md index 9be8d4b40..54a0f4132 100644 --- a/docs/product/specs/2022-01-views/04-formulas/4a-record-aggregations.md +++ b/docs/product/specs/2022-01-views/04-formulas/4a-record-aggregations.md @@ -38,7 +38,7 @@ Data generated using list formulas are editable in two ways: - the tables being used to generate the list (including intermediate tables) have no other required fields other than the one the user is editing. - we have enough information in the filters being used to generate the list to fill in any required fields other than the one the user is editing in the tables being used to generate the list (including intermediate tables) -To illustrate editing behavior, let's consider the **Movie Actor** view in [Appendix A](/en/product/specs/2022-01-views/08-appendix). +To illustrate editing behavior, let's consider the **Movie Actor** view in [Appendix A](/product/specs/2022-01-views/08-appendix). - **Editing existing items**: - The user can edit `Brad Pitt` in row 1 to say `William Bradley Pitt` instead. diff --git a/docs/product/specs/2022-01-views/05-view-structure.md b/docs/product/specs/2022-01-views/05-view-structure.md index 2f3d700d6..9f533230f 100644 --- a/docs/product/specs/2022-01-views/05-view-structure.md +++ b/docs/product/specs/2022-01-views/05-view-structure.md @@ -1,6 +1,6 @@ # 05. View Structure -Once a query is built using the [Query Builder](/en/product/specs/2022-01-views/03-the-query-builder), it can be saved as a View. Users should be able to see and use Views in Mathesar just like [Tables](/en/product/concepts/tables). +Once a query is built using the [Query Builder](/product/specs/2022-01-views/03-the-query-builder), it can be saved as a View. Users should be able to see and use Views in Mathesar just like [Tables](/product/concepts/tables). This page describes how Views should work. @@ -19,17 +19,17 @@ Once the user has opened a view, it should support the following features. ## Editing View Data - The user should be able to edit data in rows if the column is editable. - - Columns that use [Formulas](/en/product/specs/2022-01-views/04-formulas) have different editing behavior depending on the formula. + - Columns that use [Formulas](/product/specs/2022-01-views/04-formulas) have different editing behavior depending on the formula. - Columns that are direct representations of data from an underlying table should be editable. - The user should be able to open up a form to edit the record of any cell with a single record as a source. ## Column Information -The user should be able to see all column information for each view column. Please see [06. View Columns](/en/product/specs/2022-01-views/06-view-columns) for details. +The user should be able to see all column information for each view column. Please see [06. View Columns](/product/specs/2022-01-views/06-view-columns) for details. ## Query Users should be able to see the underlying SQL query that powers the view. This is read-only, but can be copied and pasted. -We could also potentially show a read-only breakdown of the query into [Query Builder](/en/product/specs/2022-01-views/03-the-query-builder) features, but I'm not sure if this is feasible or would be a good idea. +We could also potentially show a read-only breakdown of the query into [Query Builder](/product/specs/2022-01-views/03-the-query-builder) features, but I'm not sure if this is feasible or would be a good idea. ## View Structural Updates Users should be able to perform the following actions: diff --git a/docs/product/specs/2022-01-views/06-view-columns.md b/docs/product/specs/2022-01-views/06-view-columns.md index 235b64fad..2972a6543 100644 --- a/docs/product/specs/2022-01-views/06-view-columns.md +++ b/docs/product/specs/2022-01-views/06-view-columns.md @@ -2,7 +2,7 @@ Here is the information we should show in View Columns. We don't necessarily have to use the abstractions below, there might be a better way to show the data necessary. -If we end up having a column menu in [the Query Builder](/en/product/specs/2022-01-views/03-the-query-builder), we can probably reuse it here. +If we end up having a column menu in [the Query Builder](/product/specs/2022-01-views/03-the-query-builder), we can probably reuse it here. ## Data Type This is the final data type of the content of the column after any computations etc. are applied. @@ -21,7 +21,7 @@ Using Element's UI as an example (Matrix channel names stand in for data sources ## Formula This is the formula used to generate data in for this column. -- **Allowed values**: List of pre-defined formulas, see [04. Formulas](/en/product/specs/2022-01-views/04-formulas) +- **Allowed values**: List of pre-defined formulas, see [04. Formulas](/product/specs/2022-01-views/04-formulas) - **Optional**: Columns that are direct copies of other columns from tables or views won't have a formula. We should allow users to use a pre-set set of formulas or (in the future) enter a custom formula using whatever functions are installed on their Postgres database. @@ -29,7 +29,7 @@ We should allow users to use a pre-set set of formulas or (in the future) enter Using Element's UI as an example (Matrix channel names stand in for data sources here), here's how a Formula might be represented. Note that Sources are used within the Formula. ![screen_shot_2022-01-20_at_4.23.21_pm.png](/assets/product/specs/2022-01-views/06-view-columns/screen_shot_2022-01-20_at_4.23.21_pm.png) -Details about creating formulas are in [04. Formulas](/en/product/specs/2022-01-views/04-formulas). +Details about creating formulas are in [04. Formulas](/product/specs/2022-01-views/04-formulas). ## Link This notes whether a column is a join column. This is a column used to match the same values across multiple tables to create the View. These columns have multiple Sources but no Formula. diff --git a/docs/product/specs/2022-01-views/index.md b/docs/product/specs/2022-01-views/index.md index d27cfc4a4..bdc57586a 100644 --- a/docs/product/specs/2022-01-views/index.md +++ b/docs/product/specs/2022-01-views/index.md @@ -1,7 +1,7 @@ # Views in Mathesar ## Overview -All data in Mathesar is stored in **[Tables](/en/product/concepts/tables)**. However, users may not always want to analyze, edit, or otherwise work with data in the same way that it is stored. This might involve combining data from multiple tables or only looking at a subset of rows and columns from a single table. +All data in Mathesar is stored in **[Tables](/product/concepts/tables)**. However, users may not always want to analyze, edit, or otherwise work with data in the same way that it is stored. This might involve combining data from multiple tables or only looking at a subset of rows and columns from a single table. - For example, tables are often optimized for reducing redundancy in data storage. It's hard to work with interrelated data and perform data analysis tasks using tables alone. On a day to day basis, users may want to work with data spread across different tables. - Tables for data analysis are often stored in a denormalized format. Users may want to work with it by reducing the redundancies. @@ -33,22 +33,22 @@ We're introducing a number of new product concepts and features in this specific - [01. Assumptions and Limitations](/product/specs/2022-01-views/01-assumptions) - [02. Feature Requirements](/product/specs/2022-01-views/02-feature-requirements) -- [03. The Query Builder](/en/product/specs/2022-01-views/03-the-query-builder) -- [04. Formulas](/en/product/specs/2022-01-views/04-formulas) - - [(a) Record Aggregations](/en/product/specs/2022-01-views/04-formulas/4a-record-aggregations) - - [(b) Random Generators](/en/product/specs/2022-01-views/04-formulas/4b-random-generators) - - [(c) Text Formulas](/en/product/specs/2022-01-views/04-formulas/4c-text-formulas) - - [(d) Number Formulas](/en/product/specs/2022-01-views/04-formulas/4d-number-formulas) - - [(e) Boolean Formulas](/en/product/specs/2022-01-views/04-formulas/4e-boolean-formulas) - - [(f) Date. Time, and Duration Formulas](/en/product/specs/2022-01-views/04-formulas/4f-datetime-formulas) - - [(g) List Formulas](/en/product/specs/2022-01-views/04-formulas/4g-list-formulas) - - [(h) Cumulative Formulas](/en/product/specs/2022-01-views/04-formulas/4h-cumulative-formulas) - - [(i) Regular Expression Formulas](/en/product/specs/2022-01-views/04-formulas/4i-regex-formulas) - - [(j) Custom Formulas](/en/product/specs/2022-01-views/04-formulas/4j-custom-formulas) -- [05. View Structure](/en/product/specs/2022-01-views/05-view-structure) -- [06. View Columns](/en/product/specs/2022-01-views/06-view-columns) -- [07. Breaking Down DB Queries](/en/product/specs/2022-01-views/07-breaking-down-db-queries) -- [08. Appendix](/en/product/specs/2022-01-views/08-appendix) +- [03. The Query Builder](/product/specs/2022-01-views/03-the-query-builder) +- [04. Formulas](/product/specs/2022-01-views/04-formulas) + - [(a) Record Aggregations](/product/specs/2022-01-views/04-formulas/4a-record-aggregations) + - [(b) Random Generators](/product/specs/2022-01-views/04-formulas/4b-random-generators) + - [(c) Text Formulas](/product/specs/2022-01-views/04-formulas/4c-text-formulas) + - [(d) Number Formulas](/product/specs/2022-01-views/04-formulas/4d-number-formulas) + - [(e) Boolean Formulas](/product/specs/2022-01-views/04-formulas/4e-boolean-formulas) + - [(f) Date. Time, and Duration Formulas](/product/specs/2022-01-views/04-formulas/4f-datetime-formulas) + - [(g) List Formulas](/product/specs/2022-01-views/04-formulas/4g-list-formulas) + - [(h) Cumulative Formulas](/product/specs/2022-01-views/04-formulas/4h-cumulative-formulas) + - [(i) Regular Expression Formulas](/product/specs/2022-01-views/04-formulas/4i-regex-formulas) + - [(j) Custom Formulas](/product/specs/2022-01-views/04-formulas/4j-custom-formulas) +- [05. View Structure](/product/specs/2022-01-views/05-view-structure) +- [06. View Columns](/product/specs/2022-01-views/06-view-columns) +- [07. Breaking Down DB Queries](/product/specs/2022-01-views/07-breaking-down-db-queries) +- [08. Appendix](/product/specs/2022-01-views/08-appendix) ## See also -- ["Views" Concepts page](/en/product/concepts/views) +- ["Views" Concepts page](/product/concepts/views) diff --git a/docs/projects/2023/04/funding.md b/docs/projects/2023/04/funding.md index c9d053f45..b5856722e 100644 --- a/docs/projects/2023/04/funding.md +++ b/docs/projects/2023/04/funding.md @@ -1,7 +1,7 @@ # Raise additional funding for Mathesar **Name**: Raise additional funding for Mathesar -**Status**: Moved to [ongoing responsibilities](/en/team/responsibilities) in July 2023. +**Status**: Moved to [ongoing responsibilities](/team/responsibilities) in July 2023. ## Team diff --git a/docs/projects/2023/04/installation-documentation-improvements.md b/docs/projects/2023/04/installation-documentation-improvements.md index 55616b06d..8917548ca 100644 --- a/docs/projects/2023/04/installation-documentation-improvements.md +++ b/docs/projects/2023/04/installation-documentation-improvements.md @@ -31,7 +31,7 @@ ## Solution - [Add Documentation for setting up Mathesar with the Mathesar Service Docker Image](https://github.com/centerofci/mathesar/issues/2783). Fixes Problem[a] - [Add Documentation for installing Mathesar without using install.sh](https://github.com/centerofci/mathesar/issues/2761). Fixes Problem[b] and [c] -- [Documenting our config files so user can manually edit them](/en/projects/installation-documentation-improvements)https://github.com/centerofci/mathesar/issues/2784). Fixes Problem[d] +- [Documenting our config files so user can manually edit them](/projects/installation-documentation-improvements)https://github.com/centerofci/mathesar/issues/2784). Fixes Problem[d] - [Documenting setting up Mathesar without Docker](https://github.com/centerofci/mathesar/issues/2427). Fixes Problem[e] - [Document upgrade instructions for non-docker-compose environments](https://github.com/centerofci/mathesar/issues/2785) - [Document limitations involved with the installation script](https://github.com/centerofci/mathesar/issues/2787). Auxiallary fix for Problem[b] and [c] diff --git a/docs/projects/2023/04/public-links-research.md b/docs/projects/2023/04/public-links-research.md index 04a204975..f9f5019a9 100644 --- a/docs/projects/2023/04/public-links-research.md +++ b/docs/projects/2023/04/public-links-research.md @@ -4,7 +4,7 @@ **Name**: Research: Publicly shareable links **Status**: Complete -**Follow up**: [Shareable links implementation project](/en/projects/shareable-links-implementation) +**Follow up**: [Shareable links implementation project](/projects/shareable-links-implementation) ## Team | Role | Assignee | diff --git a/docs/projects/2023/07/2023-07-product-strategy.md b/docs/projects/2023/07/2023-07-product-strategy.md index 937ab7757..ebdb5564e 100644 --- a/docs/projects/2023/07/2023-07-product-strategy.md +++ b/docs/projects/2023/07/2023-07-product-strategy.md @@ -58,4 +58,4 @@ We did not get everything planned for this project done by the end of the cycle. - A database to collect user research (private to core team): - [User research schema](https://internal.mathesar.org/db/mathesar_tables/14/) -Next steps are to finalize the strategy and personas and develop a product roadmap once the [niche research](/en/projects/niche-research) project is complete in Cycle 2. \ No newline at end of file +Next steps are to finalize the strategy and personas and develop a product roadmap once the [niche research](/projects/niche-research) project is complete in Cycle 2. \ No newline at end of file diff --git a/docs/projects/2023/07/shareable-links-implementation.md b/docs/projects/2023/07/shareable-links-implementation.md index aa11c15fa..7fca27334 100644 --- a/docs/projects/2023/07/shareable-links-implementation.md +++ b/docs/projects/2023/07/shareable-links-implementation.md @@ -16,8 +16,8 @@ Implement Shareable links for tables & queries. -* [Research project](/en/projects/public-links-research). -* [Product spec](/en/product/specs/publicly-shareable-links). +* [Research project](/projects/public-links-research). +* [Product spec](/product/specs/publicly-shareable-links). ## Solution diff --git a/docs/projects/index.md b/docs/projects/index.md index f4f09396c..5fb4453d9 100644 --- a/docs/projects/index.md +++ b/docs/projects/index.md @@ -11,7 +11,7 @@ ### Process -- Anyone willing to do the work can propose a project. Please use the [project template](/en/projects/template). +- Anyone willing to do the work can propose a project. Please use the [project template](/projects/template). - Projects are discussed and approved by the core team (either in meetings or via email). - The project manager facilitates these discussions. - Project prioritization will be based on our product strategy (currently in development). @@ -32,9 +32,9 @@ Sean, Dom, and Rajat are going to be working on ad-hoc tasks and helping with pr | Owner | Project | Status | | -- | -- | -- | -| Anshuman | [Support importing Excel and JSON files](/en/community/mentoring/project-ideas/import-excel-json-files) project idea | In progress | -| Aritra | [Add more summarization functions](/en/community/mentoring/project-ideas/more-summarizations) project idea | In progress | -| Varsha | [API documentation](/en/community/mentoring/project-ideas/api-documentation) project idea | In progress | +| Anshuman | [Support importing Excel and JSON files](/community/mentoring/project-ideas/import-excel-json-files) project idea | In progress | +| Aritra | [Add more summarization functions](/community/mentoring/project-ideas/more-summarizations) project idea | In progress | +| Varsha | [API documentation](/community/mentoring/project-ideas/api-documentation) project idea | In progress | ## Future project ideas diff --git a/docs/team/guide/issues.md b/docs/team/guide/issues.md index e8bdbc15d..b75ba64e7 100644 --- a/docs/team/guide/issues.md +++ b/docs/team/guide/issues.md @@ -19,7 +19,7 @@ Triaging an issue means setting all the appropriate fields on it. ### Responsibility - Everyone creating issues should do their best to triage them at creation time. -- Team members who work on the [repo admin](/en/team/responsibilities/repo-admin) responsibility should catch issues opened by non-team members or were not properly triaged during creation. +- Team members who work on the [repo admin](/team/responsibilities/repo-admin) responsibility should catch issues opened by non-team members or were not properly triaged during creation. ### How to triage one issue diff --git a/docs/team/guide/meetings.md b/docs/team/guide/meetings.md index 6f4bbc73b..6e0cbe17b 100644 --- a/docs/team/guide/meetings.md +++ b/docs/team/guide/meetings.md @@ -1,6 +1,6 @@ # Running Effective Team Meetings -By default, we are an asynchronous team and communicate via our [mailing lists](/en/community/mailing-lists) or [GitHub](/en/community/github) issues for anything that involves discussion. We also do ephemeral communication on [Matrix](/en/community/matrix). +By default, we are an asynchronous team and communicate via our [mailing lists](/community/mailing-lists) or [GitHub](/community/github) issues for anything that involves discussion. We also do ephemeral communication on [Matrix](/community/matrix). But sometimes, meeting synchronously is the fastest way to get something done. Here's how you should approach meetings. @@ -67,7 +67,7 @@ We have a HackMD template to make this easier, you can use it like so: ## After the meeting -- Clean up the notes and publish them on the wiki, see [Meeting Notes](/en/meeting-notes). +- Clean up the notes and publish them on the wiki, see [Meeting Notes](/meeting-notes). - Follow up with participants and other interested parties with decisions and action items. # Additional resources diff --git a/docs/team/guide/tools.md b/docs/team/guide/tools.md index 6be8adda9..49889c4d8 100644 --- a/docs/team/guide/tools.md +++ b/docs/team/guide/tools.md @@ -68,4 +68,4 @@ We have two shared calendars: We use Syften to get email alerts of mentions of Mathesar and related topics on social media, forums, and blogs. # Related -- [Marketing sites](/en/marketing/sites). \ No newline at end of file +- [Marketing sites](/marketing/sites). \ No newline at end of file diff --git a/docs/team/guide/workflow.md b/docs/team/guide/workflow.md index bae601644..478af924b 100644 --- a/docs/team/guide/workflow.md +++ b/docs/team/guide/workflow.md @@ -4,7 +4,7 @@ Mathesar work happens on GitHub. We create GitHub issues to track everything we' We track our tasks in the [Mathesar GitHub project](https://github.com/orgs/centerofci/projects/1). -We're reorganizing our team workflow into [projects](/en/projects) and [ongoing responsibilities](/en/team/responsibilities). +We're reorganizing our team workflow into [projects](/projects) and [ongoing responsibilities](/team/responsibilities). ## Creating pull requests @@ -27,7 +27,7 @@ In case that's unavoidable: # Resources -For a list of public repos and other resources, see [GitHub](/en/community/github). +For a list of public repos and other resources, see [GitHub](/community/github). - [Mathesar GitHub project](https://github.com/orgs/centerofci/projects/1) that organizes our open issues diff --git a/docs/team/meeting-notes/2022/05/2022-05.md b/docs/team/meeting-notes/2022/05/2022-05.md index ac908a90c..2a03938d5 100644 --- a/docs/team/meeting-notes/2022/05/2022-05.md +++ b/docs/team/meeting-notes/2022/05/2022-05.md @@ -1,6 +1,6 @@ # May 2022 meeting notes -> We switched to a new team workflow in [April 2022](/en/meeting-notes/2022-04). May 2022 meetings were focused on planning out Cycle 2 and involved much more whiteboarding and brainstorming. +> We switched to a new team workflow in [April 2022](/meeting-notes/2022-04). May 2022 meetings were focused on planning out Cycle 2 and involved much more whiteboarding and brainstorming. {.is-info} # 2022-05-31 diff --git a/docs/team/meeting-notes/2022/06/2022-06.md b/docs/team/meeting-notes/2022/06/2022-06.md index 1c40b994a..b39eda02f 100644 --- a/docs/team/meeting-notes/2022/06/2022-06.md +++ b/docs/team/meeting-notes/2022/06/2022-06.md @@ -1,4 +1,4 @@ # June 2022 meeting notes -> We switched to a new team workflow in [April 2022](/en/meeting-notes/2022-04). Because of this change, we did not have any large group meetings in June 2022. +> We switched to a new team workflow in [April 2022](/meeting-notes/2022-04). Because of this change, we did not have any large group meetings in June 2022. {.is-info} diff --git a/docs/team/responsibilities/fundraising.md b/docs/team/responsibilities/fundraising.md index 76e5b4148..994e2dfcb 100644 --- a/docs/team/responsibilities/fundraising.md +++ b/docs/team/responsibilities/fundraising.md @@ -3,7 +3,7 @@ This involves fundraising to sustain Mathesar's development and maintenance. Moved from: -- Project: [Raise additional funding for Mathesar](/en/projects/funding) +- Project: [Raise additional funding for Mathesar](/projects/funding) > TODO: add more detail. {.is-warning} diff --git a/docs/team/responsibilities/index.md b/docs/team/responsibilities/index.md index 5c55f49b5..1c715a82e 100644 --- a/docs/team/responsibilities/index.md +++ b/docs/team/responsibilities/index.md @@ -3,19 +3,19 @@ ## About - These are ongoing tasks involved in maintaining Mathesar. - Owners are accountable for the work associated with each responsibility. They also coordinate with helpers as needed. -- Ongoing responsibilities should not be the majority of anyone's work. Most work should be specced out into time-limited [projects](/en/projects). +- Ongoing responsibilities should not be the majority of anyone's work. Most work should be specced out into time-limited [projects](/projects). ## Assignments | Responsibility | Owner | Helpers | |-|-|-| | [Team management](./responsibilities/team-management.md) | Kriti | Sean | -| [Repo admin](/en/team/responsibilities/repo-admin) | Rajat | Pavish, Anish | -| [Release management](/en/team/responsibilities/release-management) | Kriti | Release owners rotate each cycle | -| [User feedback tracking](/en/team/responsibilities/user-feedback) | Ghislaine | Brent, Pavish, Kriti | -| [Marketing](/en/team/responsibilities/marketing) | Kriti | Ghislaine, Rajat, Sean | -| [User help](/en/team/responsibilities/installation-help) | Kriti | Brent, Mukesh, Pavish | -| [GSoC](/en/team/responsibilities/gsoc) | Dom | Anish, Rajat | -| [Fundraising](/en/team/responsibilities/fundraising) | Kriti | | +| [Repo admin](/team/responsibilities/repo-admin) | Rajat | Pavish, Anish | +| [Release management](/team/responsibilities/release-management) | Kriti | Release owners rotate each cycle | +| [User feedback tracking](/team/responsibilities/user-feedback) | Ghislaine | Brent, Pavish, Kriti | +| [Marketing](/team/responsibilities/marketing) | Kriti | Ghislaine, Rajat, Sean | +| [User help](/team/responsibilities/installation-help) | Kriti | Brent, Mukesh, Pavish | +| [GSoC](/team/responsibilities/gsoc) | Dom | Anish, Rajat | +| [Fundraising](/team/responsibilities/fundraising) | Kriti | | **See the [Projects](/projects.md) page for time-limited responsibilities.** diff --git a/docs/team/responsibilities/marketing.md b/docs/team/responsibilities/marketing.md index 9d62cd3c1..0852d6803 100644 --- a/docs/team/responsibilities/marketing.md +++ b/docs/team/responsibilities/marketing.md @@ -46,7 +46,7 @@ Syften notifications are auto-assigned to the "Marketing" group in Freshdesk. Pl - Re-tweet it from our account and/or thank them for the shoutout. - Only re-tweet if the tweet appears to be from a real person or organization. Do not re-tweet bot accounts (e.g. "First Issues Bot"). - **If a comment or post can be considered user feedback**: - - Please flag it to the owner of the [user feedback](/en/team/responsibilities/user-feedback) responsibility. + - Please flag it to the owner of the [user feedback](/team/responsibilities/user-feedback) responsibility. ### Document noteworthy publicity - Keep track of where we’re getting traffic from (using Syften, GitHub Insights and our analytics), and track notable sources in the [Marketing History](./marketing/history.md) page @@ -69,5 +69,5 @@ Release announcements should include highlights from release notes. We should av - Do research on more relevant aggregators that Mathesar could be added to and add them to the issue. # Notes & Resources -- See [Marketing](/en/marketing) section of the wiki. +- See [Marketing](/marketing) section of the wiki. - Eventually, the plan is to create an “evangelism guide” ([example](https://about.gitlab.com/handbook/marketing/community-relations/developer-evangelism/social-media/)) diff --git a/docs/team/worklogs/brent.md b/docs/team/worklogs/brent.md index 5dfb3c3f4..82728e25f 100644 --- a/docs/team/worklogs/brent.md +++ b/docs/team/worklogs/brent.md @@ -402,7 +402,7 @@ This day was heads-down coding. ### RSQLA1 project work: - Followed up with Anish about plan for splitting work moving forward. -- Update [project description](/en/projects/sql-ddl-operations) +- Update [project description](/projects/sql-ddl-operations) - Started on Column altering DDL functions ### Summarization project work: diff --git a/docs/team/worklogs/kriti/2023-07.md b/docs/team/worklogs/kriti/2023-07.md index ef46b0eb6..d923756e9 100644 --- a/docs/team/worklogs/kriti/2023-07.md +++ b/docs/team/worklogs/kriti/2023-07.md @@ -140,8 +140,8 @@ - Internationalization - Product strategy - Reviewed and followed up on installation project - - Updated [projects](/en/projects) page with a bit more detail on our workflow. - - Simplified [project template](/en/projects/template) to be more in line with the new workflow. + - Updated [projects](/projects) page with a bit more detail on our workflow. + - Simplified [project template](/projects/template) to be more in line with the new workflow. - Followed up on Shrey's project. - Reviewed and followed up on Aritra's project idea. - Followed up on Varsha's email. @@ -204,9 +204,9 @@ ## 2023-07-12 (Wed) - **Management & administration** - Caught up on email, GitHub, Matrix - - Re-organized [projects](/en/projects) and [responsibilities](/en/team/responsibilities) pages. + - Re-organized [projects](/projects) and [responsibilities](/team/responsibilities) pages. - **Product** - - Wrote up [2023-07 product strategy](/en/projects/2023-07-product-strategy) project + - Wrote up [2023-07 product strategy](/projects/2023-07-product-strategy) project - **Fundraising** - How to Raise Money workshop session (3/11) - **Other** From 2d4880229ea20115f4e92a59d65c199f3bfe86f3 Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Wed, 23 Aug 2023 09:55:05 -0400 Subject: [PATCH 19/35] Fix bad relative internal hyperlinks Found via `\]\((?!(https?:|\.|/|#|\)|mailto:))` --- docs/design/specs/table-inspector.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/design/specs/table-inspector.md b/docs/design/specs/table-inspector.md index 19ba74e57..62aaf2701 100644 --- a/docs/design/specs/table-inspector.md +++ b/docs/design/specs/table-inspector.md @@ -140,7 +140,7 @@ The UI inside the modes can be divided into exactly two sections Ideally any fields that do DDL operation should have an "Edit" button, then "Save" and "Cancel" button to persist or discard the changes. But for the sake speed in this spec, any operation DDL that currently works without a "Save" button should continue to do so. -Inline saving and editing requires the implementation of new UI interactions so that the user can toggle the 'Edit' mode and save or discard the changes. Details on this are provided in the [Inline Saving Spec](design/specs/inline-save-edit.md) spec. +Inline saving and editing requires the implementation of new UI interactions so that the user can toggle the 'Edit' mode and save or discard the changes. Details on this are provided in the [Inline Saving Spec](/design/specs/inline-save-edit.md) spec. - Any operation that currently has a save button should have a "Save" button and an accompanying "Edit" button. - The operations that currently do not support a "Save" button will remain a single-click operation. From 7a066cba27d5986ee541efe2f01c0e34be34ae3e Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Wed, 23 Aug 2023 09:57:51 -0400 Subject: [PATCH 20/35] Set up mkdocs-htmlproofer-plugin --- README.md | 2 ++ mkdocs.yml | 2 ++ requirements.txt | 1 + 3 files changed, 5 insertions(+) diff --git a/README.md b/README.md index a40c936be..82e233f65 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,8 @@ https://wiki.mathesar.org/ - We use the [awesome-pages plugin](https://github.com/lukasgeiter/mkdocs-awesome-pages-plugin) for some additional control over the navigation system. +- We use the [mkdocs-htmlproofer-plugin](https://github.com/manuzhang/mkdocs-htmlproofer-plugin) to validate internal hyperlinks. + ## See also - The [source content for Mathesar's _documentation_](https://github.com/centerofci/mathesar/tree/develop/docs), which also utilizes MkDocs. diff --git a/mkdocs.yml b/mkdocs.yml index ede1ae1ce..dfac41a18 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -8,6 +8,8 @@ plugins: - search: lang: en - awesome-pages + - htmlproofer: + validate_external_urls: False - redirects: redirect_maps: 'community/setup_in_windows.md': 'https://github.com/centerofci/mathesar/blob/develop/DEVELOPER_GUIDE.md' diff --git a/requirements.txt b/requirements.txt index 56379888d..94a62fe4f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,3 +2,4 @@ mkdocs==1.4.2 mkdocs-material==8.5.11 mkdocs-redirects==1.2.0 mkdocs-awesome-pages-plugin==2.9.1 +mkdocs-htmlproofer-plugin==1.0.0 From 862f44bfdcfe3288349d8ccc82c47eb26d3a9853 Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Wed, 23 Aug 2023 11:38:02 -0400 Subject: [PATCH 21/35] Fix broken internal hyperlinks --- docs/design/process/review-guidelines.md | 2 +- docs/design/specs/add-formula-column.md | 4 ++-- docs/design/specs/foreign-key-constraints.md | 2 +- docs/design/specs/money-data-type.md | 2 +- docs/design/specs/table-import.md | 2 +- docs/product/specs/publicly-shareable-links.md | 5 ++--- docs/projects/2023/04/formulas-research.md | 2 +- docs/projects/2023/04/release-0-1-2.md | 4 ++-- docs/projects/index.md | 6 +++--- docs/team/responsibilities/index.md | 16 ++++++++-------- docs/team/responsibilities/marketing.md | 2 +- docs/team/worklogs/sean.md | 2 +- 12 files changed, 24 insertions(+), 25 deletions(-) diff --git a/docs/design/process/review-guidelines.md b/docs/design/process/review-guidelines.md index 9fa2f49d3..4a36e2371 100644 --- a/docs/design/process/review-guidelines.md +++ b/docs/design/process/review-guidelines.md @@ -22,7 +22,7 @@ This is the list of team members who have volunteered to review new designs. - Clone the [Mathesar Wiki Repo](https://github.com/centerofci/mathesar-wiki) and create a new page under the [Design Specs](/design/specs) directory. Additionally, create a link to it from the top-level [Documents](/design/specs) page. - Please follow the format of the most recent spec. Spec formats may change over time. -- Add the [spec content](##spec-content) to the page. Make sure the page date is updated as well. +- Add the [spec content](#spec-content) to the page. Make sure the page date is updated as well. - Once you think the spec is ready for review, create a PR that includes in its description: - a link to the referenced design issue from the [Mathesar Repo](https://github.com/centerofci/mathesar) formatted as "Fixes ``." - an expected timeline for the review, if any. diff --git a/docs/design/specs/add-formula-column.md b/docs/design/specs/add-formula-column.md index aca438ddf..2d685163b 100644 --- a/docs/design/specs/add-formula-column.md +++ b/docs/design/specs/add-formula-column.md @@ -21,7 +21,7 @@ After selecting `Add formula column`, an empty placeholder column is visible. Th The inspector on the right hand side shows a name input for the user to give a relevant name to the column. There is a formula selection dropdown for the user to select from. A detailed description of the selection menu can be found in [components section](#components) -Once the formula is selected, the formula settings will then be visible. If the user inputs valid parameters, they will be able to see results in the formula column. Invalid parameters are described in [this scenario](#scenarios-2b---the-formula-is-configured-incorrectly-and-returns-an-invalid-output). +Once the formula is selected, the formula settings will then be visible. If the user inputs valid parameters, they will be able to see results in the formula column. Invalid parameters are described in **scenario 2.b** below. If the user is satisfied with the result, they can save the query. @@ -82,7 +82,7 @@ The list type formula works on columns with list data type. There can be differe Whenever the user adds valid input there is a temporary feedback message below the input which says `Valid Input`. This is to notify them that there is nothing wrong in the formula configuration if they don't see desired column values. -#### Scenarios 2.b - The formula is configured incorrectly and returns an invalid output +#### Scenarios 2.b - The formula is configured incorrectly and returns an invalid output {#scenario-2b} If the formula parameters input are invalid, there is a temporary feedback message below the input which says `Invalid Input`. This is to notify them that the inputs are wrong and hence they might not see the desired column diff --git a/docs/design/specs/foreign-key-constraints.md b/docs/design/specs/foreign-key-constraints.md index 29ef688b2..588fca75a 100644 --- a/docs/design/specs/foreign-key-constraints.md +++ b/docs/design/specs/foreign-key-constraints.md @@ -38,7 +38,7 @@ A user wants to link records from another table into their current table. Both t #### Steps for 1a - The user starts the link Table process by clicking on the `Link Table` button in the table toolbar area. -- The user reads the instructions presented within the [link table](#link-table) component and understands that the tables will be linked by setting up a foreign key constraint. They also understand that manual configuration is available. +- The user reads the instructions presented within the link table component and understands that the tables will be linked by setting up a foreign key constraint. They also understand that manual configuration is available. - The user selects the table they wish to link to from the [table selector](#table-selector). - Only tables that have a primary key constraint will allow selection. Tables without a primary key constraint will still be listed but shown with a warning. - A list of questions is displayed once a table is selected. The user can answer 'yes' or 'no' depending on the relationship they want to create. diff --git a/docs/design/specs/money-data-type.md b/docs/design/specs/money-data-type.md index bce297b39..b3dca2e5a 100644 --- a/docs/design/specs/money-data-type.md +++ b/docs/design/specs/money-data-type.md @@ -59,7 +59,7 @@ Mathesar's custom money data type will allow users to set any currency and custo - The user sets a column type to `Money.` - The user opens the data type menu and goes to the `Display` section. -- The user sees the default currency selected and [additional options](#currency_format_options) are displayed. +- The user sees the default currency selected and [additional options](#currency-format-options) are displayed. - Changing any of the default options for a currency will set the currency to custom. For example, changing the symbol for US dollar from `$` to `USD`. - Changing to any other currency will update the values of the formatting options to those corresponding to the currency. diff --git a/docs/design/specs/table-import.md b/docs/design/specs/table-import.md index 3bd4667ea..cbd53dfe4 100644 --- a/docs/design/specs/table-import.md +++ b/docs/design/specs/table-import.md @@ -46,7 +46,7 @@ This is the stage where the uploaded file is processed. The user sees the progre On the processing screen there is a progress bar which indicates where the upload and import process is. There will also be small messages below the progress bar to keep user informed about the process/status. -The user can also cancel the import by clicking on the cancel button. But the user will have to confirm the cancellation by the modal in [Abandon scenario](#abandoning-the-file-processing-step) +The user can also cancel the import by clicking on the cancel button. But the user will have to confirm the cancellation by the modal in the appropriate "Abandon scenario" below. ### Errors ![](/assets/design/specs/table-import/asGm1LMUCEvjCd1jBdcDEA.png) diff --git a/docs/product/specs/publicly-shareable-links.md b/docs/product/specs/publicly-shareable-links.md index c8ec91cfc..fc6693778 100644 --- a/docs/product/specs/publicly-shareable-links.md +++ b/docs/product/specs/publicly-shareable-links.md @@ -64,9 +64,8 @@ Refer relevant discussions in [mail thread](https://groups.google.com/a/mathesar ### Endpoints & DB schema: -> Refer [Appendix #1](#h-1-approaches-discussions-on-django-model-and-db-schema) for approaches & discussions on selection of Django model structure. -> Refer [Appendix #2](#h-2-approaches-on-api-endpoints) for approaches & discussions on selection of API endpoint structure. -{.is-default} +> Refer to **Appendix #1** for approaches & discussions on selection of Django model structure. +> Refer to **Appendix #2** for approaches & discussions on selection of API endpoint structure. * Django models - One abstract model containing common fields diff --git a/docs/projects/2023/04/formulas-research.md b/docs/projects/2023/04/formulas-research.md index 8ec38b6e5..01dc64433 100644 --- a/docs/projects/2023/04/formulas-research.md +++ b/docs/projects/2023/04/formulas-research.md @@ -1,7 +1,7 @@ # Formulas Research **Name**: Formulas Research -**Status**: Done (see the [report](../engineering/research/formulas.md)) +**Status**: Done (see the [report](/engineering/research/formulas.md)) ## Team diff --git a/docs/projects/2023/04/release-0-1-2.md b/docs/projects/2023/04/release-0-1-2.md index aed2e6ea9..ad4248073 100644 --- a/docs/projects/2023/04/release-0-1-2.md +++ b/docs/projects/2023/04/release-0-1-2.md @@ -59,8 +59,8 @@ The plan is more high level, since individual tasks will be tracked using GH iss | 2023-04-18 | Design work related to switching user databases is complete. | | 2023-04-18 | Backend work related to switching user databases is complete. | | 2023-04-25 | Frontend work related to switching user databases is complete. | -| 2023-04-28 | Work for Installation improvements is merged. See [timeline](./installation-improvements.md) in Installation improvements project. **Release branch is created.** | -| 2023-05-01 | Testing is continued as mentioned in [Installation improvements](./installation-improvements.md). Any issue that comes up during testing will be fixed directly on the release branch. | +| 2023-04-28 | Work for Installation improvements is merged. See [timeline](./installation-documentation-improvements.md) in Installation improvements project. **Release branch is created.** | +| 2023-05-01 | Testing is continued as mentioned in [Installation improvements](./installation-documentation-improvements.md). Any issue that comes up during testing will be fixed directly on the release branch. | | 2023-05-05 | Fixes for issues raised during testing is complete. | | 2023-05-08 | Release process starts. | | 2023-05-10 | Release date. | \ No newline at end of file diff --git a/docs/projects/index.md b/docs/projects/index.md index 5fb4453d9..78d80ab9d 100644 --- a/docs/projects/index.md +++ b/docs/projects/index.md @@ -45,9 +45,9 @@ Here are some other project ideas that have been written up, but need to be revi | Owner | Project | Status | | -- | -- | -- | -| Brent | [RSQLA2: Move DML Operations to SQL Functions](./projects/sql-dml-operations.md) | Draft | -| Brent | [RSQLA3: Remove SQLAlchemy from DQL operations](./projects/sql-dql-operations.md) | Draft | -| Brent | [RSQLA4: Remove SQLAlchemy from codebase](./projects/sql-alchemy-remove.md) | Draft | +| Brent | [RSQLA2: Move DML Operations to SQL Functions](./future/sql-dml-operations.md) | Draft | +| Brent | [RSQLA3: Remove SQLAlchemy from DQL operations](./future/sql-dql-operations.md) | Draft | +| Brent | [RSQLA4: Remove SQLAlchemy from codebase](./future/sql-alchemy-remove.md) | Draft | ## Project template diff --git a/docs/team/responsibilities/index.md b/docs/team/responsibilities/index.md index 1c715a82e..cebec6f71 100644 --- a/docs/team/responsibilities/index.md +++ b/docs/team/responsibilities/index.md @@ -9,13 +9,13 @@ | Responsibility | Owner | Helpers | |-|-|-| -| [Team management](./responsibilities/team-management.md) | Kriti | Sean | -| [Repo admin](/team/responsibilities/repo-admin) | Rajat | Pavish, Anish | -| [Release management](/team/responsibilities/release-management) | Kriti | Release owners rotate each cycle | -| [User feedback tracking](/team/responsibilities/user-feedback) | Ghislaine | Brent, Pavish, Kriti | -| [Marketing](/team/responsibilities/marketing) | Kriti | Ghislaine, Rajat, Sean | -| [User help](/team/responsibilities/installation-help) | Kriti | Brent, Mukesh, Pavish | -| [GSoC](/team/responsibilities/gsoc) | Dom | Anish, Rajat | -| [Fundraising](/team/responsibilities/fundraising) | Kriti | | +| [Team management](./team-management.md) | Kriti | Sean | +| [Repo admin](./repo-admin.md) | Rajat | Pavish, Anish | +| [Release management](./release-management.md) | Kriti | Release owners rotate each cycle | +| [User feedback tracking](./user-feedback.md) | Ghislaine | Brent, Pavish, Kriti | +| [Marketing](./marketing.md) | Kriti | Ghislaine, Rajat, Sean | +| [User help](./installation-help.md) | Kriti | Brent, Mukesh, Pavish | +| [GSoC](./gsoc.md) | Dom | Anish, Rajat | +| [Fundraising](./fundraising.md) | Kriti | | **See the [Projects](/projects.md) page for time-limited responsibilities.** diff --git a/docs/team/responsibilities/marketing.md b/docs/team/responsibilities/marketing.md index 0852d6803..ee3902766 100644 --- a/docs/team/responsibilities/marketing.md +++ b/docs/team/responsibilities/marketing.md @@ -49,7 +49,7 @@ Syften notifications are auto-assigned to the "Marketing" group in Freshdesk. Pl - Please flag it to the owner of the [user feedback](/team/responsibilities/user-feedback) responsibility. ### Document noteworthy publicity -- Keep track of where we’re getting traffic from (using Syften, GitHub Insights and our analytics), and track notable sources in the [Marketing History](./marketing/history.md) page +- Keep track of where we’re getting traffic from (using Syften, GitHub Insights and our analytics), and track notable sources in the [Marketing History](/marketing/history.md) page - Also post noteworthy publicity to the `Mathesar - Marketing` channel on Matrix. ### Make release announcements diff --git a/docs/team/worklogs/sean.md b/docs/team/worklogs/sean.md index 550ab3eb8..13d7bbd42 100644 --- a/docs/team/worklogs/sean.md +++ b/docs/team/worklogs/sean.md @@ -243,7 +243,7 @@ - GSoC project meeting with Aritra - Continued work on cell selection refactor - Add some more content to my "Querydown for Mathesar devs" Gist, explaining [why I think "mandatory aggregation" is important](https://gist.github.com/seancolsen/42d5f3873e644e3905eaac0b69f876ac#why-i-think-mandatory-aggregation-is-important), with an example using the Data Explorer -- Minor [updates](https://github.com/centerofci/mathesar-wiki/commit/11b9cb8266b72d86718953eceb3ce44843e6c1ca) to [frontend fixes](../../projects/2023-07-frontend-fixes.md) project description +- Minor [updates](https://github.com/centerofci/mathesar-wiki/commit/11b9cb8266b72d86718953eceb3ce44843e6c1ca) to [frontend fixes](/projects/2023/07/2023-07-frontend-fixes.md) project description ## 2023-07-12 Wednesday From 9c0d3ba6ae253751a09f78f1da256e9ee0272a95 Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Wed, 23 Aug 2023 11:40:10 -0400 Subject: [PATCH 22/35] Remove dangling reference to custom CSS file --- mkdocs.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index dfac41a18..1d3366384 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -46,9 +46,6 @@ theme: icon: material/brightness-4 name: Switch to light mode -extra_css: - - stylesheets/extra.css - markdown_extensions: - admonition - attr_list From cabb1854629000e8e7cc2bf5e085a5019d9a163f Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Wed, 23 Aug 2023 11:58:33 -0400 Subject: [PATCH 23/35] Re-organize GSoC pages --- docs/community/.pages | 1 + docs/community/gsoc/.pages | 9 +++++++++ docs/community/{mentoring => gsoc}/applicant-guide.md | 0 docs/community/{mentoring => gsoc}/index.md | 0 docs/community/{mentoring => gsoc}/mentee-guide.md | 0 docs/community/{mentoring => gsoc}/mentor-guide.md | 0 .../gsoc/past/2022/dependents-graph.md} | 0 .../past/2022/importing-data-into-existing-tables.md} | 0 .../gsoc/past/2022/json-type.md} | 0 .../gsoc/past/2023}/list-datatype.md | 0 .../{mentoring => gsoc}/project-idea-template.md | 0 .../project-ideas/api-documentation.md | 0 .../{mentoring => gsoc}/project-ideas/archive.md | 0 .../project-ideas/auto-suggest-normalization.md | 0 .../project-ideas/automatic-hint-reflection.md | 0 .../project-ideas/break-out-columns.md | 0 .../{mentoring => gsoc}/project-ideas/data-export.md | 0 .../{mentoring => gsoc}/project-ideas/db-views.md | 0 .../project-ideas/dependency-graph.md | 0 .../{mentoring => gsoc}/project-ideas/file-data-types.md | 0 .../project-ideas/import-data-into-existing-tables.md | 0 .../project-ideas/import-excel-json-files.md | 0 .../project-ideas.md => gsoc/project-ideas/index.md} | 0 .../{mentoring => gsoc}/project-ideas/json-data-type.md | 0 .../{mentoring => gsoc}/project-ideas/json-editor.md | 0 .../{mentoring => gsoc}/project-ideas/kanban-view.md | 0 .../{mentoring => gsoc}/project-ideas/list-data-type.md | 0 .../project-ideas/location-data-type.md | 0 .../project-ideas/make-casting-functions-inlinable.md | 0 .../project-ideas/more-data-import-sources.md | 0 .../project-ideas/more-summarizations.md | 0 .../project-ideas/persist-ui-configuration.md | 0 .../project-ideas/phone-number-data-type.md | 0 .../project-ideas/postgis-data-types.md | 0 .../{mentoring => gsoc}/project-ideas/sharable-forms.md | 0 .../project-ideas/single-select-data-type.md | 0 .../project-ideas/suggest-candidate-columns.md | 0 .../project-ideas/support-default-postgres-types.md | 0 .../project-ideas/ui-import-data-existing-table.md | 0 .../project-ideas/visualization-of-grouped-data.md | 0 .../{mentoring => gsoc}/project-ideas/web-sql-editor.md | 0 .../{mentoring => gsoc}/project-proposal-template.md | 0 42 files changed, 10 insertions(+) create mode 100644 docs/community/gsoc/.pages rename docs/community/{mentoring => gsoc}/applicant-guide.md (100%) rename docs/community/{mentoring => gsoc}/index.md (100%) rename docs/community/{mentoring => gsoc}/mentee-guide.md (100%) rename docs/community/{mentoring => gsoc}/mentor-guide.md (100%) rename docs/{engineering/reports/gsoc-2022-dependents-graph.md => community/gsoc/past/2022/dependents-graph.md} (100%) rename docs/{engineering/reports/gsoc-2022-importing-data-into-existing-tables.md => community/gsoc/past/2022/importing-data-into-existing-tables.md} (100%) rename docs/{engineering/reports/gsoc-2022-json-type.md => community/gsoc/past/2022/json-type.md} (100%) rename docs/{engineering/reports => community/gsoc/past/2023}/list-datatype.md (100%) rename docs/community/{mentoring => gsoc}/project-idea-template.md (100%) rename docs/community/{mentoring => gsoc}/project-ideas/api-documentation.md (100%) rename docs/community/{mentoring => gsoc}/project-ideas/archive.md (100%) rename docs/community/{mentoring => gsoc}/project-ideas/auto-suggest-normalization.md (100%) rename docs/community/{mentoring => gsoc}/project-ideas/automatic-hint-reflection.md (100%) rename docs/community/{mentoring => gsoc}/project-ideas/break-out-columns.md (100%) rename docs/community/{mentoring => gsoc}/project-ideas/data-export.md (100%) rename docs/community/{mentoring => gsoc}/project-ideas/db-views.md (100%) rename docs/community/{mentoring => gsoc}/project-ideas/dependency-graph.md (100%) rename docs/community/{mentoring => gsoc}/project-ideas/file-data-types.md (100%) rename docs/community/{mentoring => gsoc}/project-ideas/import-data-into-existing-tables.md (100%) rename docs/community/{mentoring => gsoc}/project-ideas/import-excel-json-files.md (100%) rename docs/community/{mentoring/project-ideas.md => gsoc/project-ideas/index.md} (100%) rename docs/community/{mentoring => gsoc}/project-ideas/json-data-type.md (100%) rename docs/community/{mentoring => gsoc}/project-ideas/json-editor.md (100%) rename docs/community/{mentoring => gsoc}/project-ideas/kanban-view.md (100%) rename docs/community/{mentoring => gsoc}/project-ideas/list-data-type.md (100%) rename docs/community/{mentoring => gsoc}/project-ideas/location-data-type.md (100%) rename docs/community/{mentoring => gsoc}/project-ideas/make-casting-functions-inlinable.md (100%) rename docs/community/{mentoring => gsoc}/project-ideas/more-data-import-sources.md (100%) rename docs/community/{mentoring => gsoc}/project-ideas/more-summarizations.md (100%) rename docs/community/{mentoring => gsoc}/project-ideas/persist-ui-configuration.md (100%) rename docs/community/{mentoring => gsoc}/project-ideas/phone-number-data-type.md (100%) rename docs/community/{mentoring => gsoc}/project-ideas/postgis-data-types.md (100%) rename docs/community/{mentoring => gsoc}/project-ideas/sharable-forms.md (100%) rename docs/community/{mentoring => gsoc}/project-ideas/single-select-data-type.md (100%) rename docs/community/{mentoring => gsoc}/project-ideas/suggest-candidate-columns.md (100%) rename docs/community/{mentoring => gsoc}/project-ideas/support-default-postgres-types.md (100%) rename docs/community/{mentoring => gsoc}/project-ideas/ui-import-data-existing-table.md (100%) rename docs/community/{mentoring => gsoc}/project-ideas/visualization-of-grouped-data.md (100%) rename docs/community/{mentoring => gsoc}/project-ideas/web-sql-editor.md (100%) rename docs/community/{mentoring => gsoc}/project-proposal-template.md (100%) diff --git a/docs/community/.pages b/docs/community/.pages index 024154103..f87761995 100644 --- a/docs/community/.pages +++ b/docs/community/.pages @@ -3,4 +3,5 @@ nav: - Mailing lists: mailing-lists.md - Matrix: matrix.md - Discord: discord.md + - GSoC: gsoc - ... \ No newline at end of file diff --git a/docs/community/gsoc/.pages b/docs/community/gsoc/.pages new file mode 100644 index 000000000..36f50353f --- /dev/null +++ b/docs/community/gsoc/.pages @@ -0,0 +1,9 @@ +nav: + - applicant-guide.md + - mentee-guide.md + - mentor-guide.md + - project-idea-template.md + - project-ideas + - project-proposal-template.md + - ... + - Previous Projects: past diff --git a/docs/community/mentoring/applicant-guide.md b/docs/community/gsoc/applicant-guide.md similarity index 100% rename from docs/community/mentoring/applicant-guide.md rename to docs/community/gsoc/applicant-guide.md diff --git a/docs/community/mentoring/index.md b/docs/community/gsoc/index.md similarity index 100% rename from docs/community/mentoring/index.md rename to docs/community/gsoc/index.md diff --git a/docs/community/mentoring/mentee-guide.md b/docs/community/gsoc/mentee-guide.md similarity index 100% rename from docs/community/mentoring/mentee-guide.md rename to docs/community/gsoc/mentee-guide.md diff --git a/docs/community/mentoring/mentor-guide.md b/docs/community/gsoc/mentor-guide.md similarity index 100% rename from docs/community/mentoring/mentor-guide.md rename to docs/community/gsoc/mentor-guide.md diff --git a/docs/engineering/reports/gsoc-2022-dependents-graph.md b/docs/community/gsoc/past/2022/dependents-graph.md similarity index 100% rename from docs/engineering/reports/gsoc-2022-dependents-graph.md rename to docs/community/gsoc/past/2022/dependents-graph.md diff --git a/docs/engineering/reports/gsoc-2022-importing-data-into-existing-tables.md b/docs/community/gsoc/past/2022/importing-data-into-existing-tables.md similarity index 100% rename from docs/engineering/reports/gsoc-2022-importing-data-into-existing-tables.md rename to docs/community/gsoc/past/2022/importing-data-into-existing-tables.md diff --git a/docs/engineering/reports/gsoc-2022-json-type.md b/docs/community/gsoc/past/2022/json-type.md similarity index 100% rename from docs/engineering/reports/gsoc-2022-json-type.md rename to docs/community/gsoc/past/2022/json-type.md diff --git a/docs/engineering/reports/list-datatype.md b/docs/community/gsoc/past/2023/list-datatype.md similarity index 100% rename from docs/engineering/reports/list-datatype.md rename to docs/community/gsoc/past/2023/list-datatype.md diff --git a/docs/community/mentoring/project-idea-template.md b/docs/community/gsoc/project-idea-template.md similarity index 100% rename from docs/community/mentoring/project-idea-template.md rename to docs/community/gsoc/project-idea-template.md diff --git a/docs/community/mentoring/project-ideas/api-documentation.md b/docs/community/gsoc/project-ideas/api-documentation.md similarity index 100% rename from docs/community/mentoring/project-ideas/api-documentation.md rename to docs/community/gsoc/project-ideas/api-documentation.md diff --git a/docs/community/mentoring/project-ideas/archive.md b/docs/community/gsoc/project-ideas/archive.md similarity index 100% rename from docs/community/mentoring/project-ideas/archive.md rename to docs/community/gsoc/project-ideas/archive.md diff --git a/docs/community/mentoring/project-ideas/auto-suggest-normalization.md b/docs/community/gsoc/project-ideas/auto-suggest-normalization.md similarity index 100% rename from docs/community/mentoring/project-ideas/auto-suggest-normalization.md rename to docs/community/gsoc/project-ideas/auto-suggest-normalization.md diff --git a/docs/community/mentoring/project-ideas/automatic-hint-reflection.md b/docs/community/gsoc/project-ideas/automatic-hint-reflection.md similarity index 100% rename from docs/community/mentoring/project-ideas/automatic-hint-reflection.md rename to docs/community/gsoc/project-ideas/automatic-hint-reflection.md diff --git a/docs/community/mentoring/project-ideas/break-out-columns.md b/docs/community/gsoc/project-ideas/break-out-columns.md similarity index 100% rename from docs/community/mentoring/project-ideas/break-out-columns.md rename to docs/community/gsoc/project-ideas/break-out-columns.md diff --git a/docs/community/mentoring/project-ideas/data-export.md b/docs/community/gsoc/project-ideas/data-export.md similarity index 100% rename from docs/community/mentoring/project-ideas/data-export.md rename to docs/community/gsoc/project-ideas/data-export.md diff --git a/docs/community/mentoring/project-ideas/db-views.md b/docs/community/gsoc/project-ideas/db-views.md similarity index 100% rename from docs/community/mentoring/project-ideas/db-views.md rename to docs/community/gsoc/project-ideas/db-views.md diff --git a/docs/community/mentoring/project-ideas/dependency-graph.md b/docs/community/gsoc/project-ideas/dependency-graph.md similarity index 100% rename from docs/community/mentoring/project-ideas/dependency-graph.md rename to docs/community/gsoc/project-ideas/dependency-graph.md diff --git a/docs/community/mentoring/project-ideas/file-data-types.md b/docs/community/gsoc/project-ideas/file-data-types.md similarity index 100% rename from docs/community/mentoring/project-ideas/file-data-types.md rename to docs/community/gsoc/project-ideas/file-data-types.md diff --git a/docs/community/mentoring/project-ideas/import-data-into-existing-tables.md b/docs/community/gsoc/project-ideas/import-data-into-existing-tables.md similarity index 100% rename from docs/community/mentoring/project-ideas/import-data-into-existing-tables.md rename to docs/community/gsoc/project-ideas/import-data-into-existing-tables.md diff --git a/docs/community/mentoring/project-ideas/import-excel-json-files.md b/docs/community/gsoc/project-ideas/import-excel-json-files.md similarity index 100% rename from docs/community/mentoring/project-ideas/import-excel-json-files.md rename to docs/community/gsoc/project-ideas/import-excel-json-files.md diff --git a/docs/community/mentoring/project-ideas.md b/docs/community/gsoc/project-ideas/index.md similarity index 100% rename from docs/community/mentoring/project-ideas.md rename to docs/community/gsoc/project-ideas/index.md diff --git a/docs/community/mentoring/project-ideas/json-data-type.md b/docs/community/gsoc/project-ideas/json-data-type.md similarity index 100% rename from docs/community/mentoring/project-ideas/json-data-type.md rename to docs/community/gsoc/project-ideas/json-data-type.md diff --git a/docs/community/mentoring/project-ideas/json-editor.md b/docs/community/gsoc/project-ideas/json-editor.md similarity index 100% rename from docs/community/mentoring/project-ideas/json-editor.md rename to docs/community/gsoc/project-ideas/json-editor.md diff --git a/docs/community/mentoring/project-ideas/kanban-view.md b/docs/community/gsoc/project-ideas/kanban-view.md similarity index 100% rename from docs/community/mentoring/project-ideas/kanban-view.md rename to docs/community/gsoc/project-ideas/kanban-view.md diff --git a/docs/community/mentoring/project-ideas/list-data-type.md b/docs/community/gsoc/project-ideas/list-data-type.md similarity index 100% rename from docs/community/mentoring/project-ideas/list-data-type.md rename to docs/community/gsoc/project-ideas/list-data-type.md diff --git a/docs/community/mentoring/project-ideas/location-data-type.md b/docs/community/gsoc/project-ideas/location-data-type.md similarity index 100% rename from docs/community/mentoring/project-ideas/location-data-type.md rename to docs/community/gsoc/project-ideas/location-data-type.md diff --git a/docs/community/mentoring/project-ideas/make-casting-functions-inlinable.md b/docs/community/gsoc/project-ideas/make-casting-functions-inlinable.md similarity index 100% rename from docs/community/mentoring/project-ideas/make-casting-functions-inlinable.md rename to docs/community/gsoc/project-ideas/make-casting-functions-inlinable.md diff --git a/docs/community/mentoring/project-ideas/more-data-import-sources.md b/docs/community/gsoc/project-ideas/more-data-import-sources.md similarity index 100% rename from docs/community/mentoring/project-ideas/more-data-import-sources.md rename to docs/community/gsoc/project-ideas/more-data-import-sources.md diff --git a/docs/community/mentoring/project-ideas/more-summarizations.md b/docs/community/gsoc/project-ideas/more-summarizations.md similarity index 100% rename from docs/community/mentoring/project-ideas/more-summarizations.md rename to docs/community/gsoc/project-ideas/more-summarizations.md diff --git a/docs/community/mentoring/project-ideas/persist-ui-configuration.md b/docs/community/gsoc/project-ideas/persist-ui-configuration.md similarity index 100% rename from docs/community/mentoring/project-ideas/persist-ui-configuration.md rename to docs/community/gsoc/project-ideas/persist-ui-configuration.md diff --git a/docs/community/mentoring/project-ideas/phone-number-data-type.md b/docs/community/gsoc/project-ideas/phone-number-data-type.md similarity index 100% rename from docs/community/mentoring/project-ideas/phone-number-data-type.md rename to docs/community/gsoc/project-ideas/phone-number-data-type.md diff --git a/docs/community/mentoring/project-ideas/postgis-data-types.md b/docs/community/gsoc/project-ideas/postgis-data-types.md similarity index 100% rename from docs/community/mentoring/project-ideas/postgis-data-types.md rename to docs/community/gsoc/project-ideas/postgis-data-types.md diff --git a/docs/community/mentoring/project-ideas/sharable-forms.md b/docs/community/gsoc/project-ideas/sharable-forms.md similarity index 100% rename from docs/community/mentoring/project-ideas/sharable-forms.md rename to docs/community/gsoc/project-ideas/sharable-forms.md diff --git a/docs/community/mentoring/project-ideas/single-select-data-type.md b/docs/community/gsoc/project-ideas/single-select-data-type.md similarity index 100% rename from docs/community/mentoring/project-ideas/single-select-data-type.md rename to docs/community/gsoc/project-ideas/single-select-data-type.md diff --git a/docs/community/mentoring/project-ideas/suggest-candidate-columns.md b/docs/community/gsoc/project-ideas/suggest-candidate-columns.md similarity index 100% rename from docs/community/mentoring/project-ideas/suggest-candidate-columns.md rename to docs/community/gsoc/project-ideas/suggest-candidate-columns.md diff --git a/docs/community/mentoring/project-ideas/support-default-postgres-types.md b/docs/community/gsoc/project-ideas/support-default-postgres-types.md similarity index 100% rename from docs/community/mentoring/project-ideas/support-default-postgres-types.md rename to docs/community/gsoc/project-ideas/support-default-postgres-types.md diff --git a/docs/community/mentoring/project-ideas/ui-import-data-existing-table.md b/docs/community/gsoc/project-ideas/ui-import-data-existing-table.md similarity index 100% rename from docs/community/mentoring/project-ideas/ui-import-data-existing-table.md rename to docs/community/gsoc/project-ideas/ui-import-data-existing-table.md diff --git a/docs/community/mentoring/project-ideas/visualization-of-grouped-data.md b/docs/community/gsoc/project-ideas/visualization-of-grouped-data.md similarity index 100% rename from docs/community/mentoring/project-ideas/visualization-of-grouped-data.md rename to docs/community/gsoc/project-ideas/visualization-of-grouped-data.md diff --git a/docs/community/mentoring/project-ideas/web-sql-editor.md b/docs/community/gsoc/project-ideas/web-sql-editor.md similarity index 100% rename from docs/community/mentoring/project-ideas/web-sql-editor.md rename to docs/community/gsoc/project-ideas/web-sql-editor.md diff --git a/docs/community/mentoring/project-proposal-template.md b/docs/community/gsoc/project-proposal-template.md similarity index 100% rename from docs/community/mentoring/project-proposal-template.md rename to docs/community/gsoc/project-proposal-template.md From 804196f85fa137b9d40cff81e0052daa18734db5 Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Wed, 23 Aug 2023 12:02:26 -0400 Subject: [PATCH 24/35] Clean up some GSoC content --- docs/community/gsoc/index.md | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/docs/community/gsoc/index.md b/docs/community/gsoc/index.md index cb0d90c4e..5e0e5d94a 100644 --- a/docs/community/gsoc/index.md +++ b/docs/community/gsoc/index.md @@ -1,6 +1,6 @@ -# Mentoring +# Google Summer of Code (GSoC) -Welcome and thanks for your interest in contributing to Mathesar! +Welcome, and thanks for your interest in contributing to Mathesar! We're participating in **Google Summer of Code (GSoC)** in 2023. @@ -8,28 +8,23 @@ We're participating in **Google Summer of Code (GSoC)** in 2023. ### GSoC Information -- [Project Ideas *Current list of project ideas for our mentorship programs.*](/community/mentoring/project-ideas) -- [Applicant Guide *Guide for anyone applying to a mentorship program.*](/community/mentoring/applicant-guide) -- [Project Proposal Template *Template to use for program applications.*](/community/mentoring/project-proposal-template) +- [Project Ideas](./project-ideas) - *Current list of project ideas for our mentorship programs.* +- [Applicant Guide](./applicant-guide) - *Guide for anyone applying to a mentorship program.* +- [Project Proposal Template](./project-proposal-template) - *Template to use for program applications.* ### General Information -- [About Mathesar *Main website*](https://mathesar.org/) -- [Community *How to join the Mathesar community*](/community) -- [Contribution Guide *How to contribute to Mathesar code*](https://github.com/centerofci/mathesar/blob/develop/CONTRIBUTING.md) -- [Mathesar Team Members *More information about mentors*](/team/members) +- [About Mathesar](https://mathesar.org/) - *Main website* +- [Community](/community) - *How to join the Mathesar community* +- [Contribution Guide](https://github.com/centerofci/mathesar/blob/develop/CONTRIBUTING.md) - *How to contribute to Mathesar code* +- [Mathesar Team Members](/team) - *More information about mentors* ## For Mentees -- [Mentee Guide *Guide for accepted mentees.*](/community/mentoring/mentee-guide) +- [Mentee Guide](./mentee-guide) - *Guide for accepted mentees.* ### For Mentors -- [Mentor Guide *Instructions for mentors*](/community/mentoring/mentor-guide) -- [Project Idea Template *Template to use when writing up project ideas*](/community/mentoring/project-idea-template) +- [Mentor Guide](./mentor-guide) - *Instructions for mentors* +- [Project Idea Template](./project-idea-template) - *Template to use when writing up project ideas* -## History - -### GSoC 2022 - -For outcomes from GSoC 2022, please see the [Project Reports](/engineering/reports) page. From f6a282e7a191a53f9a98ac5044a89dd6d53b83bc Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Wed, 23 Aug 2023 13:01:46 -0400 Subject: [PATCH 25/35] Clean pages with redundant h1 elements - Identified via `^#\s((?!\n##)[\s\S])+\n#\s` - Fixed manually --- docs/community/events/2022-01-22.md | 4 +- docs/community/gsoc/applicant-guide.md | 30 +-- docs/community/gsoc/mentor-guide.md | 30 +-- .../gsoc/past/2022/dependents-graph.md | 14 +- .../importing-data-into-existing-tables.md | 14 +- docs/community/gsoc/past/2022/json-type.md | 2 - docs/community/gsoc/project-ideas/archive.md | 9 +- docs/design/design-principles.md | 16 +- docs/design/exploration.md | 16 +- .../exploration/data-management-skills.md | 18 +- docs/design/exploration/data-types.md | 2 +- docs/design/exploration/filters.md | 3 +- .../exploration/inventory-data-exploration.md | 36 ++- docs/design/exploration/use-cases.md | 1 - .../use-cases/inventory-use-case.md | 1 - docs/design/index.md | 8 +- docs/design/process.md | 48 ++-- docs/design/process/deliverables.md | 1 - docs/design/process/design-system.md | 1 - docs/design/process/review-guidelines.md | 1 - docs/design/reports/inventory-use-case.md | 14 +- docs/design/reports/tool-category.md | 6 +- docs/design/resources.md | 2 +- .../design/specs/add-update-delete-records.md | 76 +++--- docs/design/specs/boolean-data-type.md | 22 +- docs/design/specs/create-edit-delete-views.md | 28 +- docs/design/specs/data-type-duration.md | 22 +- docs/design/specs/data-types-text.md | 26 +- docs/design/specs/database-switching.md | 34 +-- docs/design/specs/eding-view-records.md | 46 ++-- docs/design/specs/email-data-type.md | 22 +- docs/design/specs/filter-sort-group.md | 58 ++-- docs/design/specs/import-status.md | 36 +-- docs/design/specs/lookup-field-component.md | 36 +-- docs/design/specs/money-data-type.md | 32 +-- docs/design/specs/multiple-records-spec.md | 18 +- docs/design/specs/non-mathesar-data-types.md | 22 +- docs/design/specs/number-data-type.md | 28 +- docs/design/specs/pagination.md | 16 +- docs/design/specs/read-only-table.md | 42 +-- docs/design/specs/record-selector.md | 2 - docs/design/specs/schemas.md | 40 +-- docs/design/specs/table-creation-controls.md | 22 +- docs/design/specs/table-import.md | 50 ++-- docs/design/specs/table-operations.md | 36 +-- docs/design/specs/ui-styling.md | 30 +-- docs/design/specs/url-data-type.md | 18 +- docs/design/specs/viewing-views-specs.md | 20 +- .../specs/views-one-to-many-relationships.md | 28 +- docs/design/specs/working-with-columns.md | 36 +-- docs/design/standards.md | 4 +- docs/engineering/glossary/ui-types.md | 12 +- docs/engineering/release-process.md | 30 +-- docs/engineering/research/formulas.md | 2 - docs/engineering/resources.md | 16 +- docs/engineering/specs/ddl.md | 4 +- docs/engineering/specs/dml.md | 4 +- .../specs/list-data-type-frontend-specs.md | 1 - docs/engineering/specs/syncing.md | 12 +- docs/marketing/history.md | 16 +- docs/product/concepts/data-types.md | 12 +- docs/product/concepts/databases.md | 6 +- docs/product/concepts/filters.md | 8 +- docs/product/concepts/schemas.md | 8 +- docs/product/concepts/tables.md | 12 +- docs/product/concepts/views.md | 22 +- docs/product/feedback/2023-03.md | 38 +-- docs/product/principles.md | 4 +- docs/product/roadmap.md | 6 +- .../2022-01-views/03-the-query-builder.md | 40 +-- .../specs/2022-01-views/04-formulas.md | 46 ++-- .../04-formulas/4a-record-aggregations.md | 22 +- .../04-formulas/4b-random-generators.md | 8 +- .../04-formulas/4c-text-formulas.md | 26 +- .../04-formulas/4d-number-formulas.md | 34 +-- .../04-formulas/4e-boolean-formulas.md | 10 +- .../04-formulas/4f-datetime-formulas.md | 18 +- .../04-formulas/4g-list-formulas.md | 14 +- .../04-formulas/4h-cumulative-formulas.md | 10 +- .../04-formulas/4i-regex-formulas.md | 8 +- .../specs/2022-01-views/05-view-structure.md | 14 +- .../specs/2022-01-views/08-appendix.md | 14 +- .../specs/undo-quick-save-functionality.md | 2 - .../projects/2023/04/public-links-research.md | 2 - docs/projects/2023/04/t-shirts.md | 2 - docs/team/meeting-notes/2021/04/2021-04.md | 38 +-- docs/team/meeting-notes/2021/05/2021-05.md | 248 +++++++++--------- docs/team/meeting-notes/2021/06/2021-06.md | 114 ++++---- docs/team/meeting-notes/2021/07/2021-07.md | 8 +- docs/team/meeting-notes/2021/08/2021-08.md | 10 +- docs/team/meeting-notes/2021/09/2021-09.md | 64 ++--- docs/team/meeting-notes/2021/10/2021-10.md | 12 +- docs/team/meeting-notes/2021/11/2021-11.md | 26 +- docs/team/meeting-notes/2021/12/2021-12.md | 6 +- docs/team/meeting-notes/2022/01/2022-01.md | 44 ++-- docs/team/meeting-notes/2022/02/2022-02.md | 46 ++-- docs/team/meeting-notes/2022/03/2022-03.md | 26 +- docs/team/meeting-notes/2022/04/2022-04.md | 44 ++-- docs/team/meeting-notes/2022/05/2022-05.md | 18 +- docs/team/meeting-notes/2022/07/2022-07.md | 84 +++--- docs/team/meeting-notes/2022/08/2022-08.md | 108 ++++---- docs/team/meeting-notes/2022/09/2022-09.md | 78 +++--- .../2022/11/2022-11-09-weekly.md | 18 +- .../2023-01-20-partial-user-input-of-dates.md | 2 +- .../2023/02/2023-02-08-launch-planning.md | 22 +- .../2023/02/2023-02-10-launch-check-in.md | 10 +- .../2023/02/2023-02-13-launch-check-in.md | 24 +- .../2023/02/2023-02-17-launch-check-in.md | 50 ++-- .../2023/02/2023-02-21-launch-check-in.md | 42 +-- .../2023/02/2023-02-22-launch-check-in.md | 52 ++-- .../2023/02/2023-02-23-launch-check-in.md | 48 ++-- .../2023/03/2023-03-02-launch-check-in.md | 12 +- .../2023-03-07-priorities-workflow-meeting.md | 22 +- .../03/2023-03-20-handling-regressions.md | 10 +- .../07/2023-07-28-installation-meeting.md | 38 +-- docs/team/responsibilities/marketing.md | 22 +- .../responsibilities/release-management.md | 18 +- docs/team/responsibilities/repo-admin.md | 16 +- 118 files changed, 1481 insertions(+), 1509 deletions(-) diff --git a/docs/community/events/2022-01-22.md b/docs/community/events/2022-01-22.md index 770133bc9..aff0683cb 100644 --- a/docs/community/events/2022-01-22.md +++ b/docs/community/events/2022-01-22.md @@ -1,10 +1,10 @@ # 2022-01-02 Code for Japan Social Hack Day -# About +## About Brent, Joi, Mukesh, and Pavish represented Mathesar at the January 2022 iteration of [Code for Japan's Social Hack Day](https://hackday.code4japan.org/). Notes from them about the event have been combined below. -# Notes +## Notes Most of the event involved. discussions with other groups and a number of interesting points came up. ### Use Cases diff --git a/docs/community/gsoc/applicant-guide.md b/docs/community/gsoc/applicant-guide.md index b4b7c284d..63a19bcf8 100644 --- a/docs/community/gsoc/applicant-guide.md +++ b/docs/community/gsoc/applicant-guide.md @@ -1,45 +1,45 @@ # Applicant Guide -# Getting Started +## Getting Started If you're interested in applying to be a GSoC Contributor for the Mathesar project, please follow this guide. Thank you in advance for your interest, time, and any contributions you make! -## Step 0: Figure out if Mathesar is the right organization for you +### Step 0: Figure out if Mathesar is the right organization for you Some things you should know about Mathesar: - Mathesar is a fairly new project and we **don't have documentation** aimed at helping new contributors understand our codebase. - The core team **doesn't have time** to help each individual contributor understand our codebase or how to solve a particular issue **during the GSoC application process**. We get a lot of applicants, and it would be infeasible to answer everyone's questions in detail. Successful applicants will read all available information about Mathesar, be able to understand our codebase without much help, and [ask good questions](https://www.mikeash.com/getting_answers.html) when they do need help. If this doesn't sound like you, Mathesar may not be the right organization for you. -## Step 1: Read the Program Guide +### Step 1: Read the Program Guide The [Google Summer of Code contributor guide](https://google.github.io/gsocguides/student/) is a great introduction to what goes into being a GSoC Contributor. The rest of this document assumes you're familiar with its contents. -## Step 2: Learn about Mathesar +### Step 2: Learn about Mathesar You'll need to understand Mathesar well in order to submit a successful application. Mathesar is a new project and we're still working towards releasing our first version. The best ways to learn about us is to: - Install Mathesar locally, [following the instructions in our README](https://github.com/centerofci/mathesar). - Read about Mathesar on our [main website](https://mathesar.org). -## Step 3: Join Matrix and the developer mailing list +### Step 3: Join Matrix and the developer mailing list Join [the "Mentoring Programs" Matrix channel](/community/matrix) or the [developer mailing list](/community/mailing-lists) as early as possible to introduce yourself and get feedback on your ideas. Feel free to ask questions about project ideas, Mathesar, or anything else! Post questions in the main channel - **do not** contact mentors individually. -## Step 4: Contribute to Open Issues +### Step 4: Contribute to Open Issues You **need to make at least one contribution to Mathesar** as part of the application process. Your contribution will give us more information about your work/skills and help us evaluate your application. It will also help you learn more about Mathesar and have more information to pick a project idea. Please see our [Contribution Guidelines](https://github.com/centerofci/mathesar/blob/develop/CONTRIBUTING.md) to learn more about how to contribute. -# The Application Process +## The Application Process Once you're comfortable with Mathesar and the community, it's time to start the application process. -## Step 1: Pick a project idea +### Step 1: Pick a project idea You'll need to pick a project that you're interested in working on. Please see our [Project Ideas](/community/mentoring/project-ideas) page for a list of ideas we've come up with. Once you pick a project, make sure you understand what the work entails so that you can plan the work out ahead of time and submit a strong application. The mentors are here to help you. We expect you to have a lot of questions and we're happy to answer them. -## Step 2: Write a draft proposal +### Step 2: Write a draft proposal You'll now need to write a draft proposal for the idea you've chosen to work on. You'll need to use our [Project Proposal Template](/community/mentoring/project-proposal-template) for this. We expect you to do **a significant amount of work** on creating your proposal. You'll need to demonstrate that you understand exactly how to make the changes you're proposing to the codebase and that you can split the project into smaller deliverables that keep you on track. @@ -51,32 +51,32 @@ We suggest reading some articles on writing good Google Summer of Code proposals * [5 Tips to get your Google Summer of Code proposal accepted](https://people.csail.mit.edu/baghdadi/TXT_blog/5_advices_to_get_your_proposal_accepted.lyx.html) * [Writing a solid Google Summer of Code Proposal](https://medium.com/@evenstensberg/writing-a-solid-google-summer-of-code-proposal-a200fc6e785b) -## Step 3: Get feedback from mentors +### Step 3: Get feedback from mentors 1. Create a draft proposal in Google Docs. 2. Make sure that mentors have permission to add comments to the document. 3. Submit it via this form for feedback: https://forms.gle/rZ5eYHwcKdbw2X4H6 **Do not wait until the last minute to work on your application.** You should ideally get at least two rounds of feedback from the mentors before you submit your final application and each round of feedback could take a week or so. -### Re-submitting after feedback +#### Re-submitting after feedback Once you've received feedback from mentors and made changes to your proposal, you may want to re-submit it for another round of review. You can do that via the same form: https://forms.gle/rZ5eYHwcKdbw2X4H6 -## Step 4: Submit your final application +### Step 4: Submit your final application Once you've received feedback from your mentors and you're happy with your proposal, submit your final proposal via the Google Summer of Code website. -# Communication Tips +## Communication Tips - **Ask good questions**. Here's a good guide on [Getting Answers](https://www.mikeash.com/getting_answers.html). - **Provide as much information as possible when asking questions**. People come from a variety of experiences and backgrounds and the things you may be confused about may be totally different than the things that someone else has questions about. Please give us as much information as possible, the more you tell us, the better we can help you. - **Communicate in public channels** – GitHub, the mailing list, or public channels on Matrix. Our mentors don't have the bandwidth to respond to private communication. - **Help other applicants**. Mathesar participates in GSoC to help build our community. We'd like community members to help each other. Your GSoC application will only be helped if you answer questions and support others in the community. - **Wait a couple of days before following up**. Remember that the mentors are busy – we've got full-time jobs. -# Selection Criteria +## Selection Criteria Here are a few things we consider when selecting which applications to accept: - **Quality of the proposal**: This is the most important thing. A good proposal includes attention to detail, externally measurable milestones, consideration for future maintainability and community involvement, and a demonstration of your skills. - **Community involvement**: One of our major goals is to build an active development community and attract long-term contributors. We see engaging in the community, whether it's asking questions, helping other contributors, contributing code, filing bugs, or whatever else, as a sign that you're genuinely interested in our work. - **Contributions**: We appreciate seeing your contributions, they help us gauge your ability to orient yourself to a new codebase, or the quality of your writing. Contribution quality is instrumental in giving us the confidence that you have the skills necessary to implement your proposal. - **Communication skills and initiative**: These are essential to completing a successful project. Things we look for (among others): asking specific and detailed questions, following up on conversations, making sure to read available resources before asking questions, being patient and responding to critical feedback well. -## Number of Applications Accepted +### Number of Applications Accepted Please note that we will not be able to select a mentee for every project idea that we have listed. Our organization will be allocated a limited number of project slots by GSoC and we can only accept the number of mentees that we have slots for. \ No newline at end of file diff --git a/docs/community/gsoc/mentor-guide.md b/docs/community/gsoc/mentor-guide.md index 26c439001..f7894636e 100644 --- a/docs/community/gsoc/mentor-guide.md +++ b/docs/community/gsoc/mentor-guide.md @@ -11,7 +11,7 @@ Mentoring programs are usually structured into the following stages: 6. Planning with mentees 7. Working with mentees -# Preparing project ideas +## Preparing project ideas We need a list of potential project ideas that applicants can submit a proposal to implement. Project ideas should be: @@ -29,12 +29,12 @@ If you're wondering if your project idea makes sense, discuss it on Matrix with > **See also:** The ["Defining a Project (Ideas List)" page of the GSoC mentor guide](https://google.github.io/gsocguides/mentor/defining-a-project-ideas-list) -# Applying for the mentoring program +## Applying for the mentoring program Once we have fleshed our our project ideas, Kriti will submit Mathesar's application to the mentoring program. While we wait to hear back, you should: - create a set of `good first issue` tasks suitable for first-time contributors to the codebase. - mentally prepare to deal with increased communication work. -# Accepting contributions from applicants +## Accepting contributions from applicants Once the mentoring program (e.g. Google) announces the organizations participating in the program, potential applicants will start communicating with us. This stage of the program is the most intense. You should: @@ -45,14 +45,14 @@ You should: - review PRs quickly - answer questions about the project ideas and the product. -## Communication Tips +### Communication Tips - Point people to public channels and away from email and DMs so that others can answer questions too. - You may get low effort questions like "how do I get started?". Don't try to guess what people mean, ask for more specific questions. - In general, the effort involved in helping someone should be proportional to the effort they put in. - If you find yourself answering the same questions often, update the relevant documentation so you can point people to it instead. - Do not give individual applicants information about competing applications (e.g. how many proposals we got for a particular project idea). -# Reviewing proposals from applicants +## Reviewing proposals from applicants Applicants will start working on draft proposals and sharing them with you a few weeks before the deadline. You are responsible for reviewing all proposals for which you are the primary mentor. You should: @@ -61,7 +61,7 @@ You should: - review proposals in 1-2 days if possible. - ask for review from other team members if you think it would be useful. -## What does reviewing involve? +### What does reviewing involve? - Reviewing involves leaving comments on the proposal to help the applicant improve the proposal before final submission. - Review comments should focus on finding problems with the proposal, not suggesting specific solutions. - Comments should mostly be in the form of: @@ -79,7 +79,7 @@ You should: - Has the applicant thought through design and UX issues? - Are the applicant's code contributions strong enough that you feel confident that they can follow through on their plan? -# Choosing mentees +## Choosing mentees After the final proposals are in, you'll meet with the rest of the Mathesar team and decide which proposals are strong enough to accept. This is an internal decision, we do not communicate with applicants about their proposals at this point. @@ -90,19 +90,19 @@ During this period, you should: 1. Will one of you be the primary mentor or will all of you be equally involved? 2. How will checkins and notes be shared? -# Working with the mentees +## Working with the mentees At this point, 1. We've decided which applications to accept 2. The mentoring program has approved our selection 3. The accepted mentees have been announced -## Welcoming the mentee +### Welcoming the mentee - Reach out to your mentee ASAP and welcome them to the project. - Have an introductory call with the mentee and get to know each other. - Ask them questions about themselves and talk about yourself too. - Ensure that the mentee is added to our [Team Members](/team/members) and has the correct GitHub and wiki permissions. -## Finalizing the project plan and workflow +### Finalizing the project plan and workflow Before work on the project gets underway, you should: - collaborate with your mentee to finalize the implementation details and weekly deliverables for the project - create a document to keep any project information and notes, include: @@ -121,27 +121,27 @@ Before work on the project gets underway, you should: - How often should your mentee give you progress reports? - What is the best way for the mentee to get your attention when they are stuck? -## Mentoring Period +### Mentoring Period You're now ready to mentor! -### Weekly check-ins +#### Weekly check-ins - Take good notes so that your backup mentor can pick up where you left off easily if you’re unavailable. - Make sure the mentee is on-track with their weekly milestones and if not, work with them to figure out why and come up with a plan. - Ask how the mentee is doing generally. - Praise things they are doing well and provide constructive criticism on the things they could improve on. Both of these are important. -### Ongoing work +#### Ongoing work - Review all work/code promptly. You should aim to review within 1 business day. - If your mentee is blocked on their work for some other reason, help them become unblocked as soon as possible. - Check in on Matrix with the mentee once every day or two. - Remember that mentees are inexperienced and may not know they are stuck, when to ask for help, and/or how to articulate problems well. -### Feedback +#### Feedback - Submit your required program evaluations on time. - Ask for feedback on your mentorship every few weeks. - Your mentee might like to present their work at a CCI research meeting and get some feedback. It's up to you to facilitate this. -### Troubleshooting +#### Troubleshooting Talk to the program coordinator proactively if you're not sure what to do. Some things to pay attention to: - Your mentee is not active and engaged regularly. - Your mentee is not communicating enough or misses a check-in. diff --git a/docs/community/gsoc/past/2022/dependents-graph.md b/docs/community/gsoc/past/2022/dependents-graph.md index b0bb7970e..3c2527e14 100644 --- a/docs/community/gsoc/past/2022/dependents-graph.md +++ b/docs/community/gsoc/past/2022/dependents-graph.md @@ -1,7 +1,5 @@ # GSoC 2022: Dependents graph -# GSoC 2022: Dependents graph - **Author**: [Yurii Palaida](https://github.com/Jyuart) Mathesar is a tool that helps non-technical users to utilize the capabilities of a PostgreSQL database with an intuitive and user-friendly interface. @@ -13,13 +11,13 @@ My project during this Google Summer of Code was to construct this warning manua 1. Backend query for getting the graph (fully done) 2. UI-representation so that the user can understand what they are about to lose when deleting a referenced object (not ready) -# Deliverables +## Deliverables At the project finale, there were three new endpoints for getting dependents graphs for schema, table and table column objects, and a bunch of unit and integration tests to validate the query behavior. A separate specifications page describes both the technical intricacies of implementation and the high-level overview of the project. With it, it’ll be easy to add this graph to other resources in the project. -## Closed pull requests: +### Closed pull requests: - https://github.com/centerofci/mathesar/pull/1478 - an initial pull request that served as a proof of concept at the beginning (returns a full dependents graph for tables) - https://github.com/centerofci/mathesar/pull/1540 - the first refactoring to make code more readable and include more info into the query result @@ -29,7 +27,7 @@ A separate specifications page describes both the technical intricacies of imple - https://github.com/centerofci/mathesar/pull/1608 - endpoint for returning column dependents - https://github.com/centerofci/mathesar/pull/1638 - backend filters to completely remove dependents of a specific type from the result -# Main challenges +## Main challenges The main challenges while working on the project were: @@ -37,18 +35,18 @@ The main challenges while working on the project were: - Creating tests to validate the query results, especially the recursive parts of it - Factorization of the work. It was my first experience working on a project like this with planning the work by myself -# Further improvements +## Further improvements Next steps for improving the project: - Adding a UI layer to show a graph to a user (preferably as a modal window) - Adding SQL functions as dependents -# Acknowledgements +## Acknowledgements Special thanks to Mukesh Murali for constant support and help during our weekly meetings and the Mathesar team for being an excellent place for open-source newcomers. -# References +## References - The initial proposal for the project: [Construct Dependency Graph for Database Objects (GSoC 2022 Proposal by Yurii Palaida) (summerofcode.withgoogle.com)](https://summerofcode.withgoogle.com/media/user/746462d805d7/proposal/gAAAAABjPFsNHDKT8MmRc7wvBWHNqHVhZZa2zdgOwgCAVO1hVouvPx9F8Fem2qViSJH1jZBtN9IC84krrl5sxqew5zkjgGkcqXQBv0wGrexvNZCNX7lB1J0=.pdf) - A blog post with impressions on the first part of the project: [How I Spent My [Google] Summer [of Code] Part 1 | by Yurii Palaida | Aug, 2022 | Medium](https://jyuart.medium.com/how-i-spent-my-google-summer-of-code-part-1-d7ab7fdc04d7) diff --git a/docs/community/gsoc/past/2022/importing-data-into-existing-tables.md b/docs/community/gsoc/past/2022/importing-data-into-existing-tables.md index 99a0f376a..dff48ef08 100644 --- a/docs/community/gsoc/past/2022/importing-data-into-existing-tables.md +++ b/docs/community/gsoc/past/2022/importing-data-into-existing-tables.md @@ -1,10 +1,8 @@ # GSoC 2022: Importing data into existing tables -# GSoC 2022: Importing data into existing tables - **Author**: [Anish Umale](https://github.com/Anish9901) -# Introduction +## Introduction Mathesar is a tool that provides a intuitive and user-friendly interface to databases along with great data analysis and visualization capabilities. @@ -12,25 +10,25 @@ Mathesar can be used for data modeling, creating views, data storage and much mo My project during the Google Summer of Code was to enhance the capability of Mathesar's backend to support importing a CSV/TSV into an existing table. Take a look at the full project description [here](https://summerofcode.withgoogle.com/programs/2022/projects/oCtBUJHr). Below are the relevant links to the Pull Requests that were made by me for the implementation of this project. -# Completed tasks +## Completed tasks -## Import API and record insertion implementation +### Import API and record insertion implementation - Implementation for `/existing_import` API endpoint: https://github.com/centerofci/mathesar/pull/1442 - Implementation and tests for temporary table creation: https://github.com/centerofci/mathesar/pull/1457 - Implementation for `INSERT FROM SELECT` functionality : https://github.com/centerofci/mathesar/pull/1487 -## Overcoming challenges caused by CSV imports and real-world data +### Overcoming challenges caused by CSV imports and real-world data - Implementation and tests for column mapper: https://github.com/centerofci/mathesar/pull/1506 - Constraint violation handling during import: https://github.com/centerofci/mathesar/pull/1548 - Implemetation and tests for suggesting column mappings: https://github.com/centerofci/mathesar/pull/1698 -# Additional context +## Additional context - The issues related to this project are tracked here: https://github.com/centerofci/mathesar/issues/1416 - Link to my proposal: [Support Importing Data into Existing Tables](https://docs.google.com/document/d/1QIs9Wl0GmvS1XnDC0KK2Ovy3K3rv2adsWZCZ1deQSak/edit?usp=sharing) -# Acknowledgement +## Acknowledgement At the end, I would like to thank my mentor Brent Moran for his constant support, satisfying my curiosities and the informative and helpful weekly meetings through which this project was made possible, and also to everyone at Mathesar for providing me with a wonderful experience during the course of my internship. diff --git a/docs/community/gsoc/past/2022/json-type.md b/docs/community/gsoc/past/2022/json-type.md index fff8981c8..c571d0d89 100644 --- a/docs/community/gsoc/past/2022/json-type.md +++ b/docs/community/gsoc/past/2022/json-type.md @@ -1,7 +1,5 @@ # GSoC 2022: JSON data type -# GSoC 2022: JSON data type - **Author**: [Jinxiao Li](https://github.com/Jinxiao0302) > Jinxiao originally sent this project report to the developer mailing list, [see here](https://groups.google.com/a/mathesar.org/g/mathesar-developers/c/7iHlVobzW08) diff --git a/docs/community/gsoc/project-ideas/archive.md b/docs/community/gsoc/project-ideas/archive.md index d55749047..662e16e31 100644 --- a/docs/community/gsoc/project-ideas/archive.md +++ b/docs/community/gsoc/project-ideas/archive.md @@ -1,6 +1,4 @@ -# Archived Project Ideas - -# GSoC 2022 +# Archived Project Ideas from GSoC 2022 | Idea | Skills | Length | Difficulty | |-|-|-|-| @@ -19,5 +17,6 @@ | [Support More Data Import Sources](/community/mentoring/project-ideas/more-data-import-sources) | Python, Django, PostgreSQL | ~350 hours | Medium | | [Support Data Export](/community/mentoring/project-ideas/data-export) | Python, Django, PostgreSQL | ~175 hours | Medium | -# Other -- [Dark Mode](/community/mentoring/project-ideas/dark-mode) - written for GSoC 2023, scrapped for scope being too small. \ No newline at end of file +## Other + +- [Dark Mode](/community/mentoring/project-ideas/dark-mode) - written for GSoC 2023, scrapped for scope being too small. diff --git a/docs/design/design-principles.md b/docs/design/design-principles.md index 465f4d624..7c009fe49 100644 --- a/docs/design/design-principles.md +++ b/docs/design/design-principles.md @@ -6,30 +6,30 @@ Our design principles are a set of beliefs, views, or approaches we chose to gui {.is-info} -# Why do we need design principles? +## Why do we need design principles? - To improve our decision process as a team - To align on what matters - To promote productive discussions around design problems - To define specific criteria to measure design solutions -# Principle 1: Focus +## Principle 1: Focus Our team does not want to spend time on decisions that don't help our users or us. -## We are process-oriented +### We are process-oriented - Enable spaces that are appropriate for co-creation, participative design - Provide an environment in which designers and non-designers feel like their opinions are valued - Create resources so that the team and community can learn more about design -## We are results-oriented +### We are results-oriented - Create features that users will accept and care about - Confirm user satisfaction with the product through objective and subjective measurements, not just one of them -# Principle 2: Impact +## Principle 2: Impact We try our best to predict how users will respond to a design and find ways to maximize the benefits and minimize risks. We anticipate the various effects of the project result on the users. -## We value data and empirical support over assumptions +### We value data and empirical support over assumptions - As we implement features, we gather data, we observe, we iterate based on those observations - We make assumptions about what will happen to prototype and test our designs, but we are careful to question them and double-check that our beliefs and hypotheses are reasonable -# Principle 3: Adaptability +## Principle 3: Adaptability We consider the whole environment in which our product is used and what interactions are unique to each product component. We adapt to that context by consistently testing and refining our designs. -## Just enough design so that we can adapt to new ideas and fail fast +### Just enough design so that we can adapt to new ideas and fail fast - We can change the plan as circumstances change - We are in regular contact with the key stakeholders of the project diff --git a/docs/design/exploration.md b/docs/design/exploration.md index d5798b84c..49580067b 100644 --- a/docs/design/exploration.md +++ b/docs/design/exploration.md @@ -1,16 +1,16 @@ # Design Explorations -# Fall 2022 +## Fall 2022 The Mathesar team participated again as a client in UC Berkeley's [Product Design Studio](https://www.ischool.berkeley.edu/courses/info/290/pds) class in 2022. -## Attachment data type +### Attachment data type A single student worked on a design concept for an "attachment" data type in Mathesar. - [Final deliverable - Figma file](https://www.figma.com/file/MW6UQLmekJUQ5fV1LrNbXH/Mathesar---Attachment?node-id=0%3A1) - [Final presentation - Figma prototype](https://www.figma.com/proto/6qIIIfaaAbguxoYnCMbA8V/PDS%3A-Mathesar_Solo-presentation?node-id=1%3A80&scaling=contain&page-id=0%3A1&starting-point-node-id=1%3A80) - [Project kick off and research - FigJam file](https://www.figma.com/file/T20ZNFnGVjImXNdhQFx6cm/Mathesar---Data-Attachment?node-id=0%3A1&t=0gnp1vBt3Q7LbmYM-0) -## Sharing data +### Sharing data A group of four students worked on designing a "sharing" feature i.e. how Mathesar users could invite collaborators, and share data sets via URL or embedding. - [Final deliverable - Figma file](https://www.figma.com/file/LaL2nXhmKV4s3E60nkAn7P/Share-Feature?node-id=236%3A24477) @@ -18,27 +18,27 @@ A group of four students worked on designing a "sharing" feature i.e. how Mathes - [Final deliverable - Product spec](https://docs.google.com/document/d/1doB34Fh_tMp5PvfCWCRqT5Jn7AXj_uxXukqlTPCMDxc/) - [User Interviews and Competitive Analysis presentatipn](https://docs.google.com/presentation/d/1HQZRmcktwMD8hdYOvkfk0wZxFwF75ZOiTHCNs19ft84/) -# Fall 2021 +## Fall 2021 The Mathesar team participated as a client in UC Berkeley's [Product Design Studio](https://www.ischool.berkeley.edu/courses/info/290/pds) class in 2021. -## Data Aggregation +### Data Aggregation A single student worked on a design concept for how users could aggregate data within a table. We'll be using the work as inspiration for our Views feature and future visualization features. - [Design prototype *Figma prototype demonstrating the feature*](https://www.figma.com/proto/7M8TejfRMrZmxU9yQXDDzS/MATHESAR-2?page-id=0%3A1&node-id=62%3A10285&viewport=241%2C48%2C0.41&scaling=scale-down-width&starting-point-node-id=62%3A10285) -## Media Asset browsing +### Media Asset browsing A group of four students worked on design concepts for how Mathesar users could work with photos and videos more easily. We hope to use their work as inspiration for future plugins. - [User Research *Presentation covering research and user interviews*](https://docs.google.com/presentation/d/1g8cgNmavxpik891B_CXAcxFpWeMpc2BH/edit?usp=sharing&ouid=110253414265591589278&rtpof=true&sd=true) - [Final Presentation *Final work product, including completed designs*](https://docs.google.com/presentation/d/1niviyUEJINRQsOgSRfM65H8YuyYLtLLs/edit?usp=sharing&ouid=110253414265591589278&rtpof=true&sd=true) -# April 2021 +## April 2021 - [Inventory Use Case *User journey for creating a basic media inventory using Mathesar*](/design/exploration/use-cases/inventory-use-case) - [Inventory: Data Exploration *Data exploration features for the inventory use case*](/design/exploration/inventory-data-exploration) - [Data Management Skills *Notes on skills needed by users to interact with data*](/design/exploration/data-management-skills) -# UI Inspiration +## UI Inspiration These are screenshots, articles etc. related to UI/UX patterns that may be useful to us while designing Mathesar. - [Data Types](/design/exploration/data-types) diff --git a/docs/design/exploration/data-management-skills.md b/docs/design/exploration/data-management-skills.md index 8714fa1e8..92b1fe6c7 100644 --- a/docs/design/exploration/data-management-skills.md +++ b/docs/design/exploration/data-management-skills.md @@ -2,8 +2,8 @@ This research project explores the factors that influence the adoption and acquisition of data management skills and how Mathesar can minimize the negative impact of skill gaps in this area. -# Data management skills? -## What are data management skills? +## Data management skills? +### What are data management skills? Data management skills are learned abilities that allow people to accomplish different goals using data. These skills are applied to various scenarios, such as when working with data as part of a business process or creating data-driven strategies. It's important to note that data management skills are not necessarily about technology alone. There are also procedural and conceptual aspects that influence proficiency in this area. Most data management skills fall into the following categories: @@ -24,7 +24,7 @@ Most data management skills fall into the following categories: * Clearly understand a database usage purpose * Produce complete and reliable information of events in a process -## Adapting use cases to data management skill levels +### Adapting use cases to data management skill levels We rely on use cases to come up with different scenarios and situations where applying Mathesar can solve a user problem. However, if the use case is very complex it can introduce a lot of variables and make it harder to incrementally work on defining and implementing Mathesar's set of features and functionality. For example, in the case of tracking health data, as per Kriti's example: @@ -32,12 +32,12 @@ For example, in the case of tracking health data, as per Kriti's example: A user looking to accomplish this task will require almost all of the skills listed above, except maybe for SQL and workflow optimization ones. A user will need to obtain the data from different sources, determine the correct data types, combine datasets and identify patterns. -# The role of Mathesar in enabling data management skills +## The role of Mathesar in enabling data management skills Mathesar features should aim to alleviate the consequences of data management skill gaps and enable users to accomplish their goals. For example, filtering, sorting, and grouping features can help uncover patterns in large data sets. Providing aggregate metrics such as sums, counts, averages, or others for filtered views could further enhance user’s pattern-finding abilities. We might want to consider these details when thinking about the interface and interaction design aspects for the Mathesar product. However, no product will ever satisfy all user needs, and using Mathesar alone might not work for all user goals. For this reason, Mathesar seeks to simplify integration with other tools and offer extensibility options. -# Common Issues -## Database Design or Breaking Data into Tables +## Common Issues +### Database Design or Breaking Data into Tables Users tend to discover problems related to their initial design too late into the project and have a hard time fixing them without recurring to a lot of manual effort or starting from scratch. If the data is spread over several tables, it can also be much more time consuming to fix data issues. This can happen in cases where they are already using their database to solve an actual problem, making the fix a lot more complicated, for example, collaborators are already entering data. These problems often become visible when the solution needs to scale, such as when adding a new client to a business project. Once the initial solution flaws are uncovered the user is left with few options on how to resolve them. A hypothesis on why this happens is that they aren't clear on their database's purpose beyond solving the immediate problem, mainly centered on capturing the data rather than thinking about the entire design. They also lack the appropriate knowledge to diagnose and resolve the issue once they find it, implementing solutions that introduce additional manual work and increases the risk of data inconsistency, duplication, and time waste. @@ -48,7 +48,7 @@ User Quote: > "With Airtable, I’ll get good, easy, relationships, with a great UI, but all sorts of garbage in, garbage out (GIGO) problems with the non-relational attribute values." -## Database Relationships or Linked Data +### Database Relationships or Linked Data Common linked records issues occur when users manually link to other tables or have various linked records across multiple tables. There's a tendency for users to avoid separating entities into different tables. Some users consider doing this as overkill or see it as a potential factor that will slow them down in the future. They don't feel capable of keeping track of all tables and fear the complexity resulting from the load. Sometimes users refer to tables as main or child, which might demonstrate an attempt to establish a hierarchy or make the database more manageable. A hypothesis on why this happens could be that users can't easily plan the relationships between entities or lack the appropriate knowledge to make those decisions, such as knowing the difference between values or entity sets. It could also be that since they lack database querying skills, the idea of too many tables seems unmanageable. Users are reluctant to increase the size of a project if they feel incapable of managing it effectively and might choose sub-optimal ways to structure it. @@ -58,10 +58,10 @@ User Quote: > "Is there an easy way of knowing if fields in my tables are being used anywhere in the base?" -# Roadmap Considerations +## Roadmap Considerations Based on user research, the ideal roadmap will seek to balance core database management features with additional features to assist users with database design tasks, such as data cleansing, data modeling suggestions, automatic data type detection, relationship exploration tools, and more. We should also consider, for every task, how the user might revert their actions or modify the database structure based on emerging or changing requirements. -# Other Considerations +## Other Considerations (Hvorecky, Drlik & Munk, 2010) stress the role of interface design in the acquisition of database querying skills. Their study identified the factors that influence how people learn to interact with data in a relational database and found that query interfaces based on natural language increased user's satisfaction, accuracy and speed. In another study, they identified the different concepts and knowledge required for appropriate learning of database management skills and proposed the following order for concept introduction: diff --git a/docs/design/exploration/data-types.md b/docs/design/exploration/data-types.md index 68b4abf22..4165d6f32 100644 --- a/docs/design/exploration/data-types.md +++ b/docs/design/exploration/data-types.md @@ -1,6 +1,6 @@ # Data Types Inspiration -# Dates & Times +## Dates & Times Here's how Calendly communicates "dates with timezones" and "dates agnostic of timezones" to their users. ![screen_shot_2021-05-11_at_3.19.20_pm.png](/assets/design/exploration/data-types/screen_shot_2021-05-11_at_3.19.20_pm.png) diff --git a/docs/design/exploration/filters.md b/docs/design/exploration/filters.md index 2524052ad..6d512ef37 100644 --- a/docs/design/exploration/filters.md +++ b/docs/design/exploration/filters.md @@ -1,5 +1,6 @@ # Filters Inspiration -# Advanced Filters +## Advanced Filters + Example of advanced filtering with filter groups. ![filtersins.png](/assets/design/exploration/filters/filtersins.png) diff --git a/docs/design/exploration/inventory-data-exploration.md b/docs/design/exploration/inventory-data-exploration.md index c8c224889..8655e4df1 100644 --- a/docs/design/exploration/inventory-data-exploration.md +++ b/docs/design/exploration/inventory-data-exploration.md @@ -1,75 +1,71 @@ # Inventory: Data Exploration -# Inventory: Data Exploration - -# Inventory: Data Exploration - > Refer to [Inventory Use Case](/design/exploration/use-cases/inventory-use-case) for additional context. {.is-info} -# Context +## Context The user has created a new table in Mathesar via file import. The table is used to organize their music album collection. ![upload_24f01dd5f890ed625316f0f42e2e6c95.gif](/assets/design/exploration/inventory-data-exploration/upload_24f01dd5f890ed625316f0f42e2e6c95.gif) The user's goal is to create a top-level **releases** table and break **artists** into another table. -# Goals +## Goals - Create separate tables for related information - Move data that will repeat often into a reference table - Connect reference tables with foreign keys -## User creates a new table inside an existing schema +### User creates a new table inside an existing schema Once the user has created their initial table, they need to add an additional one to include the data they want to link. The user can enter the data manually or they can create a new table by import, the difference is that this time they add it to an existing schema. ![upload_314ee62b7fb18439e4860713da71af57.gif](/assets/design/exploration/inventory-data-exploration/upload_314ee62b7fb18439e4860713da71af57.gif) ![upload_0a739701669a8d3913b365ef516a7055.gif](/assets/design/exploration/inventory-data-exploration/upload_0a739701669a8d3913b365ef516a7055.gif) -### Notes +#### Notes - ID field is visible - If ID is detected during import the user can accept it - Assumption is that ID = primary key - Import from file can detect attributes and propose an append rather than replacing -### Questions +#### Questions - When creating a new table, do we show a sample field? Or no fields at all? - Can an existing table be replaced by file import? -## User opens a table +### User opens a table From a sidebar panel, the user can see a list of all tables inside a schema. To open a table, all they have to do is click on the corresponding item link. The table will open as a tab in the content area and be closed from the tab. There are two alternatives to solve this step, and each has its pros and cons. -### Open tables as tabs that can be closed +#### Open tables as tabs that can be closed ![9i3tkus.gif](/assets/design/exploration/inventory-data-exploration/9i3tkus.gif) -#### Pros +##### Pros - Can open tables from different schemas - Can access multiple schemas from sidebar -#### Cons +##### Cons - Sidebar takes horizontal space -### List all tables as tabs that can be selected +#### List all tables as tabs that can be selected ![ibeojth.gif](/assets/design/exploration/inventory-data-exploration/ibeojth.gif) -#### Pros +##### Pros - Save up space by removing sidebar -#### Cons +##### Cons - Can't fit too many tables in the same view -## User creates a relationship between two tables +### User creates a relationship between two tables ![upload_c3499aaef0865fe3837e3308a6adadef.gif](/assets/design/exploration/inventory-data-exploration/upload_c3499aaef0865fe3837e3308a6adadef.gif) -# Questions & Notes +## Questions & Notes -### Questions +#### Questions - How does the user know changes have been saved? - Interface needs to show auto-save status - Consider activity log @@ -78,7 +74,7 @@ There are two alternatives to solve this step, and each has its pros and cons. - Can users undo table deletion? - Yes. Users should be able to retrieve a table from an archive. -### Notes +#### Notes - Add views to sidebar - User breaks column into a new table (look at dabble DB example) - New view is created to show combined data, user redirected to that new table diff --git a/docs/design/exploration/use-cases.md b/docs/design/exploration/use-cases.md index 1e71ab337..0f4a1bdd7 100644 --- a/docs/design/exploration/use-cases.md +++ b/docs/design/exploration/use-cases.md @@ -1,4 +1,3 @@ # Use Cases -# Use Cases [inventory-use-case](/design/exploration/use-cases/inventory-use-case) \ No newline at end of file diff --git a/docs/design/exploration/use-cases/inventory-use-case.md b/docs/design/exploration/use-cases/inventory-use-case.md index 7b59ee70b..e2a0c7fca 100644 --- a/docs/design/exploration/use-cases/inventory-use-case.md +++ b/docs/design/exploration/use-cases/inventory-use-case.md @@ -1,6 +1,5 @@ # Inventory Use Case -# Inventory Use Case People usually need inventories to keep track of things they own or manage. Creating and using these inventories within Mathesar shouldn't be too different from creating any other spreadsheet. Most of the steps in this process aren't new to users, making inventory an ideal use case to build first. ## Use Case Goals diff --git a/docs/design/index.md b/docs/design/index.md index 74de0a6ac..27db77aa5 100644 --- a/docs/design/index.md +++ b/docs/design/index.md @@ -2,14 +2,14 @@ This is the homepage for Mathesar design work, closely related to [Product](/product) and [Engineering](/engineering). -# Documents +## Documents Outputs of our design process. - [Specs](/design/specs) - *List of design specs* - [Exploration](/design/exploration) - *Rough notes for initial research and discovery* - [Reports](/design/reports) - *Conclusions drawn after research* -# Workflow +## Workflow Design tasks are [tracked on GitHub](https://github.com/centerofci/mathesar/issues?q=is%3Aopen+is%3Aissue+label%3A%22work%3A+design%22) and are closely tied to our [Roadmap](/product/roadmap). We aim to complete design work for a milestone at least 2-3 weeks before the deadline to allow sufficient time for implementation. Design is usually at a couple of milestones ahead of backend work. @@ -20,10 +20,10 @@ More information: - [Design System](/design/process/design-system) - *Description of Mathesar's design system* - [Design Standards](/design/standards) - *Rules to follow for Mathesar's UI* -## Contributing +### Contributing You must be a member of our [design team](/team) to contribute to design tasks. Due to limited capacity, we are currently unable to accept design volunteers. -# Philosophy +## Philosophy High-level information about the philosophy behind our design. - [Design Principles.](/design/design-principles) - *Principles that guide our design* diff --git a/docs/design/process.md b/docs/design/process.md index 9787ab967..ce70bc874 100644 --- a/docs/design/process.md +++ b/docs/design/process.md @@ -6,79 +6,79 @@ There are five phases in our design process. {.is-info} -# Design Problem Framing +## Design Problem Framing During this phase, we try to define the boundaries and context of the design problem by drawing connections between the product's current situation and its desired future state. Once we understand the gap between these two, we can describe the design problem from the user's perspective. We look at the situation from their perspective and consider what they need. -## Goals +### Goals Frame the design problems that need to be solved to implement the roadmap. -## Activities +### Activities - **Research:** practical research on the problem from literature review, user testing with prototypes, user interviews, and collected product feedback. - **Data Analysis:** learn more about the problem through analyzing qualitative and quantitative data. - **Facilitated Discussion:** have a discussion to gain an understanding of the way each team member views the design problem. -## Questions -### How do we know what the desired future state is? +### Questions +#### How do we know what the desired future state is? The desired future state is defined by our product strategy and the required functionality that it aims to deliver as captured in our [roadmap](/product/roadmap). The product strategy is the "big picture" that drives our work, and it helps us communicate what the product stands for, why it exists and where it should go. -### What if the roadmap changes? +#### What if the roadmap changes? In a perfect world, we would build everything we outlined in our product roadmap. However, as we often learn the hard way, nobody has time to do everything in the roadmap at once. So we have to compromise and determine what we absolutely can build based on constraints like time and current team size. When prioritizing, we select the features that will significantly impact users or that we already know will require less effort for us to build. To understand the user needs, we develop [use cases](/design/exploration/use-cases). A use case scenario depicts how a user would use the product to solve a particular problem. We validate these use cases against our current roadmap version. If the features fail to solve the user needs, we revisit them to add the missing parts or simplify the use case. -### What are design problems? +#### What are design problems? Design problems are concerned with design aspects of the product that are lacking, unresolved, or otherwise preventing a desirable future state from being achieved. -# Point-of-view, Goals and Constraints +## Point-of-view, Goals and Constraints During the point-of-view phase, we turn the problem into an actionable, goal-oriented statement. 'Actionable' is the key word here, as we understand there's no "right" product feature or design solution; we have to decide which is best for a particular situation. The point of view is essential for decision-making and helps us focus our energies to prioritize. -## Goals +### Goals Transform the framed problems into a set of goals and use those to kickstart the possibility exploration process. -## Activities +### Activities - **Exploratory Wireframing** - **User Journey Maps** - **Storyboards** -# Explore Possibilities +## Explore Possibilities During this phase, we explore the universe of possible design solutions and identify those that can potentially help us meet the goals we're trying to achieve. Design solutions don't have to be fully worked out to start the selection process. -## Goals +### Goals Explore the different ways in which we can solve a design problem -## Activities +### Activities - **Possibility Definition** - **Define Selection Criteria** - **Possibility Selection** -## Questions -### How are ideas selected? +### Questions +#### How are ideas selected? We work towards selecting ideas in different ways, based on the implications of the decision being made. Some design solutions are critical for the product strategy, and others are less so. Identifying which ones are the most critical allows us to define the criteria we're going to use during the final selection process. -### How do we balance methodology and creativity? +#### How do we balance methodology and creativity? As is the case with most design projects, there isn't a single correct outcome. While methods, when applied properly, have a solid chance of leading to good results, creativity often trumps methodology when exploring the seemingly endless options and nuances of design ideas. We need to sacrifice our methodology to stay open to new possibilities, loosen up, and embrace the chaos from time to time. The fewer constraints we put on ourselves during the ideation process, the more creative we can get. -# Prototyping +## Prototyping During the prototyping phase, the ideas from the previous step will evolve into more realistic representations of the final solution. To this end, prototypes can be interactive, use actual data, or whatever means exist to make the concepts more tangible. Prototypes should be used to create a testable solution that the team can implement. It's essential to be attentive to sources of feedback when iterating through prototypes. We often over-design a prototype to the point where we are not testing the intended solution but simply refining it. To ensure that every iteration has a clear purpose, we must move from prototyping into testing as soon as possible and many times as necessary during the design process. -## Goals +### Goals Create a testable, working model of the solution that the team or users can experience. -## Activities +### Activities - **Select components and patterns** - **Design interactive prototypes** - **Share prototypes** -# Testing +## Testing During the testing phase, the prototypes produced in the previous step go through different forms of user-centered testing, where they are evaluated based on pre-established acceptance criteria. -## Goals +### Goals Evaluate how usable (i.e., can users use it?), desirable (i.e., do users want it?), and performant the prototypes are; collect that information to improve the final design or start an additional prototype iteration. -## Activities +### Activities - **Informal action analysis** - Take a look at the sequence of actions users have to perform to complete a task - Analyze each action based on how frequent they might be, how many facts does the user have to learn to perform an action etc. @@ -92,6 +92,6 @@ Evaluate how usable (i.e., can users use it?), desirable (i.e., do users want it - **Conduct user testing (comparative or explorative)** - **Conduct surveys or interviews to obtain user insights** -## Questions -### Do we need to always test with actual users? +### Questions +#### Do we need to always test with actual users? User-centered testing can be conducted with or without actual users depending on the requirements and context. However, in the end, both types of testing will always be required. diff --git a/docs/design/process/deliverables.md b/docs/design/process/deliverables.md index e208b3a11..68a22c03f 100644 --- a/docs/design/process/deliverables.md +++ b/docs/design/process/deliverables.md @@ -1,6 +1,5 @@ # Deliverables -# Deliverables ## Design Hand-Off The Design Hand-Off document contains the necessary information, links to assets, supporting documentation, and a high-level overview of the functionality to be delivered for implementing a design. The design hand-off is created as a throwaway document, to be used only during the implementation phase. Once the design is implemented, it should lead to subsequent updates to permanent design documents such as component libraries. diff --git a/docs/design/process/design-system.md b/docs/design/process/design-system.md index 145095c7b..c70e3a6a5 100644 --- a/docs/design/process/design-system.md +++ b/docs/design/process/design-system.md @@ -1,6 +1,5 @@ # Design System -# Design System - Documented elements, components, including both design and front-end guidelines - Includes underlying design principles ## Styles diff --git a/docs/design/process/review-guidelines.md b/docs/design/process/review-guidelines.md index 4a36e2371..ca4172557 100644 --- a/docs/design/process/review-guidelines.md +++ b/docs/design/process/review-guidelines.md @@ -4,7 +4,6 @@ The design team creates specs to describe the design solutions related to the Ma The spec creation process begins when a design issue on GitHub is started and finalizes when the spec is approved and merged. When a design issue is ready for review, a spec is created, and a pull request (PR) is opened. Finalizing a design spec means, in most cases, that the design issue has also been fully solved. If this is not the case, or the problem is solved partially, then the reason and additional requirements must be communicated in the associated GitHub issue and documented in the spec. Additional GitHub issues to track the unresolved parts of the design problem need to be created before the spec is finalized. -# Review Process Every spec goes through a review process so that members of the team can discuss it and ask questions. During these discussions, the reviewers' unique perspectives and expertise are captured to ensure the design solution is technically feasible, uncover missing implementation scenarios, and, most importantly, strengthen adherence to the product's vision. A productive review will result in a better design and a smoother implementation. ## Design Review Team diff --git a/docs/design/reports/inventory-use-case.md b/docs/design/reports/inventory-use-case.md index dc5e72a31..6e8f596fd 100644 --- a/docs/design/reports/inventory-use-case.md +++ b/docs/design/reports/inventory-use-case.md @@ -8,27 +8,27 @@ We selected the inventory use case because it combined simple data storage with To learn from this use case, [wireframes that depicted the various user steps needed to build an inventory](/design/exploration/use-cases/inventory-use-case) were created and shared for feedback. An additional wireframe round was conducted to dig deeper into the [data exploration process](/design/exploration/inventory-data-exploration). -# Conclusions +## Conclusions -## Installation and Configuration UX +### Installation and Configuration UX * Although ease of installation and configuration are key adoption drivers, they are not a design priority due to low definition from the engineering side and should be revisited once more information is available. * We have determined that the target user for the MVP will have sufficient technical skills to self-host, install and configure Mathesar related technologies such as the PostgreSQL database. * We have determined that ideally, we want to offer multiple installation options similar to what Wiki.js provides. -## Onboarding or First Steps +### Onboarding or First Steps * We are assuming, for the MVP, that a majority of first-time users will start from existing data. Thus the onboarding needs to consider their specific needs, such as import from file, file type support for standard file types, data type detection, and more. * The initial design supports importing from CSV as it is likely that most platforms support exporting data as CSV. Pasting content directly from a spreadsheet will also enable users to start exploring the tool with little effort. * We determined that it will be necessary for an optimal user experience to expose users to the concept of 'views' as soon as they start the database normalization process. The views automatically generated will help create a more cohesive experience for the user as they learn to navigate the different tables and relationships generated during the process. -## Import File into Existing Table +### Import File into Existing Table * We discussed the option of proposing a data table append if the same columns are detected in the imported file. -## Working from Tables and Views +### Working from Tables and Views * Unlike Dabble DB, users will be able to browse the different tables that make up their schema. However, it is still unclear how we'll handle modifications of table data at the view level. These interaction requirements are a potential UX priority. -## Error recovery and Prevention Experience +### Error recovery and Prevention Experience * Encouraging users to explore and try different things within the application is a primary concern, mainly because we aim to increase their knowledge regarding database design and normalization concepts. It will be necessary to prioritize features that enable users to recover from errors so that learning can take place. -# Proposed Next Steps +## Proposed Next Steps * Define the optimal experience, interactions, and UI for a user importing data from a CSV file into a new or existing table. * Define the optimal experience, interactions, and UI for a user locating, preparing, modifying, and sharing a view of their table data. diff --git a/docs/design/reports/tool-category.md b/docs/design/reports/tool-category.md index 2a9d1d626..83e931352 100644 --- a/docs/design/reports/tool-category.md +++ b/docs/design/reports/tool-category.md @@ -1,7 +1,5 @@ # Tool Category Exploration -# Mathesar Tool Category - ## Is Mathesar a Database GUI tool? Based on discussions with the team, the answer is no. While Mathesar shares many of the core features found on database GUI tools, it is not intended to support advanced database administration and operations. @@ -42,11 +40,11 @@ Data visualization tools deal with the graphic representation of data. They are * Dashboard builder * Sharing or embedding outside of the organization (social media, cloud, websites) -# Conclusions +## Conclusions * We don't want to over-specialize in solving a particular problem as we still haven't learned enough from target users and how they might apply Mathesar to meet their needs. * The roadmap should first focus on the core functionality required to transform various sources of data into normalized databases with minimum effort from users and only then move to the application of those databases into solving more specific problems. * We want to make sure that we solve the needs of a single app user before we introduce collaboration features. -# Proposed Next Steps +## Proposed Next Steps * Define UX principles based on our current knowledge of potential target users and their needs. * Consider how and when we might interact with potential target users during the design process. diff --git a/docs/design/resources.md b/docs/design/resources.md index 6e4508e24..515b79bfc 100644 --- a/docs/design/resources.md +++ b/docs/design/resources.md @@ -1,6 +1,6 @@ # Resources -# From Matrix +## From Matrix These links were shared on the `Design` channel on Matrix. diff --git a/docs/design/specs/add-update-delete-records.md b/docs/design/specs/add-update-delete-records.md index feb2d630f..e0246be71 100644 --- a/docs/design/specs/add-update-delete-records.md +++ b/docs/design/specs/add-update-delete-records.md @@ -1,32 +1,32 @@ # Adding, Update and Deleting Records -# Figma Prototype +## Figma Prototype -# Context +## Context Adding records will be an essential part of an inventory system as users will have to update their inventory to reflect changes. For example, if users added a new item to their list, we should allow them to update their inventory by adding records to the relevant database table. -# User Experience +## User Experience The user experience for adding, editing, and deleting records should make table modifications seamless, intuitive, and visual. For example, users should do so without following any specific data entry order and across multiple records at once when adding and editing records. Errors, if present, shouldn't block the user from performing other actions and should be easily corrected from the UI. -## Scenario: Adding a Record -### User opens a table +### Scenario: Adding a Record +#### User opens a table The user starts adding a record by opening the table in which they wish to add the record. They must have write permissions to insert the record. An empty row should be placed at the bottom of every table so that users can easily add rows. -#### Review Notes +##### Review Notes - ![](/assets/design/specs/add-update-delete-records/PTp51fp.png) -#### When the last row is not visible +##### When the last row is not visible The user can trigger the add row action from the top menu options. The table should then scroll to where the new row is positioned. ![](/assets/design/specs/add-update-delete-records/XK61ZO6.png =160x) -### user selects any new row cell +#### user selects any new row cell Users can select a cell and start editing its contents by double-click or on key-down on the selected cell. The user could also paste clipboard data into a selected cell. ![](/assets/design/specs/add-update-delete-records/6KnTJfR.png) @@ -35,7 +35,7 @@ Users can select a cell and start editing its contents by double-click or on key - Once they start to edit the new row, the row number is assigned, and an asterisk is used to represent the unsaved state - Another new row is added to the bottom once the existing one is assigned a row number -### user enters data into each field +#### user enters data into each field Once a cell is in edit mode, the user can modify its content as needed. The content has to be valid for each specific data type. However, users are allowed to enter any value and change the data type before saving. ![](/assets/design/specs/add-update-delete-records/IqIKvbi.png) @@ -44,7 +44,7 @@ Once a cell is in edit mode, the user can modify its content as needed. The cont - If multiple rows are added, users can fill out columns on more than one. However, all would have to be error-free for the save action to work - Only one column at the time can be filled (multiple select is not possible) -### User enters an invalid value +#### User enters an invalid value The user enters invalid data, and as a response, the system shows a visual indicator for the affected table cell. The visual indication will remain until the error is resolved. The user can hover over the affected cell to display an explanation of why it is failing. ![](/assets/design/specs/add-update-delete-records/6EjAxO9.png) @@ -54,41 +54,41 @@ Attempting to save a table with errors will result in a dialog asking the user t ![](/assets/design/specs/add-update-delete-records/kETg4x2.png =400x) -### user saves the new record +#### user saves the new record Once the table is free of errors, the user can click the save button to save the record. After this, the user will see the record added to the table. ![](/assets/design/specs/add-update-delete-records/vzJIXPL.png) -#### If the edited cell column is affected by a filter, sort, or group condition. +##### If the edited cell column is affected by a filter, sort, or group condition. If the value of the edited cell is affected by a table display property, the row should move to its new position on save and not after edit. -## Scenario: Updating a Record +### Scenario: Updating a Record -### user selects a cell from an existing record +#### user selects a cell from an existing record Users can do table modifications on existing records by enabling edit mode on any cell. ![](/assets/design/specs/add-update-delete-records/UJE4o2J.png) -## Scenario: Deleting a Record +### Scenario: Deleting a Record -### User selects a row +#### User selects a row Users can select rows by a single click on any table cell or by clicking on a row number indicator. ![](/assets/design/specs/add-update-delete-records/mDe3Vpr.png) -### User deletes a selected row +#### User deletes a selected row Deleting a row or multiple rows can be done from the 'Delete' dropdown menu. ![](/assets/design/specs/add-update-delete-records/i9t1LFe.png =140x) -### user deletes multiple rows +#### user deletes multiple rows To select multiple rows, users must select them from the number indicators rather than at the table cell level while pressing the shift key or command key for multi-selection. ![](/assets/design/specs/add-update-delete-records/ZC0uhJp.png) -## Interactions +### Interactions -### Save Status Indicators +#### Save Status Indicators Any changes to a table should trigger the save status to change. This is represented visually at the modified table object level and the table itself. Users can't save changes individually. And instead, they can be saved in batches. ![](/assets/design/specs/add-update-delete-records/3LD4REZ.png) @@ -97,7 +97,7 @@ Any changes to a table should trigger the save status to change. This is represe -### Selecting rows +#### Selecting rows Users can select entire rows if they wish to copy their contents, delete them, or perform other row-level actions. ![](/assets/design/specs/add-update-delete-records/GXqOHol.png) @@ -106,88 +106,88 @@ However, any selected cell will automatically set the row and columns to which i ![](/assets/design/specs/add-update-delete-records/WaEWViQ.png) -## Implementation Notes +### Implementation Notes - The table toolbar component introduced for the design of this feature could also be used to trigger the table properties panel discussed on the previous [feature specs](/design/specs/filter-sort-group) -## Additional Review Notes +### Additional Review Notes -### Accessing new record row +#### Accessing new record row Access to the new record row control is provided via the table's toolbar and table navigation controls. ![](/assets/design/specs/add-update-delete-records/sbz7eIR.png =340x) -#### Last row visible +##### Last row visible When the last row is visible, users can simply click on the new record row and activate it. -#### Last row not visible +##### Last row not visible When the number of rows exceeds the visible portion of the table, a user can navigate to the bottom of the page by using the page navigation control. ![](/assets/design/specs/add-update-delete-records/GmtmLaj.png =140x) -### Order and Filter Independence +#### Order and Filter Independence If a row's position or visibility is affected, a notice will be displayed when the user hovers over the row. ![](/assets/design/specs/add-update-delete-records/wvKnuSQ.png) -### Required Fields +#### Required Fields If a record has required fields, the system won't save the new record until all the necessary fields are filled. ![](/assets/design/specs/add-update-delete-records/cwG5AQ7.png =240x) -### Save Status +#### Save Status The saved status is displayed on the table toolbar and changes based on the save status of all modified rows. ![](/assets/design/specs/add-update-delete-records/3RYqaUH.png =240x) -### Disabled State while Syncing Changes +#### Disabled State while Syncing Changes While saving is in the process, the system will block the affected rows from editing. -### Contextual Menu +#### Contextual Menu Opening a menu on right-click was discussed and will be considered for a future iteration. ![](/assets/design/specs/add-update-delete-records/sbz7eIR.png =340x) -#### Last row visible +##### Last row visible When the last row is visible, users can simply click on the new record row and activate it. -#### Last row not visible +##### Last row not visible When the number of rows exceed the visible portion of the table, a user can navigate to the bottom of the page by using the page navigation control. ![](/assets/design/specs/add-update-delete-records/GmtmLaj.png =140x) -### Order and Filter Independence +#### Order and Filter Independence In the case that a row's position or visibility is affected, a notice will be displayed when the user hovers over the row. ![](/assets/design/specs/add-update-delete-records/wvKnuSQ.png) -### Required Fields +#### Required Fields If a record has required fields, the new record won't be saved until all required fields are filled. ![](/assets/design/specs/add-update-delete-records/cwG5AQ7.png =240x) -### Save Status +#### Save Status The save status is displayed on the table toolbar and changes based on the save status of all modified rows. ![](/assets/design/specs/add-update-delete-records/3RYqaUH.png =240x) -### Disabled State while Syncing Changes +#### Disabled State while Syncing Changes While saving is in process the affected rows will be blocked from editing. -### Contextual Menu +#### Contextual Menu Opening a menu on right-click was discussed and will be considered for a future iteration. diff --git a/docs/design/specs/boolean-data-type.md b/docs/design/specs/boolean-data-type.md index 3533ef36e..f000c2341 100644 --- a/docs/design/specs/boolean-data-type.md +++ b/docs/design/specs/boolean-data-type.md @@ -1,40 +1,40 @@ # Boolean Data Type -# Context +## Context Boolean data types are used to store TRUE or FALSE values. -# Prototype +## Prototype > This prototype might be outdated due to global component updates. Please refer to the link under 'Setting Options' for an updated version of the shared components. {.is-warning} [Boolean Data Type Prototype](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=4260%3A37440&node-id=4270%3A40031&viewport=324%2C48%2C0.35&scaling=min-zoom&starting-point-node-id=4270%3A40031&show-proto-sidebar=1) -# User Experience -## Scenarios -### User sets a column to 'Boolean' data type +## User Experience +### Scenarios +#### User sets a column to 'Boolean' data type The user can set the column data type to 'Boolean' by accessing the 'Data Type Options' in the columns header menu. Whether there are existing values or not, the outcomes will vary if they are valid boolean values. If there are valid URL values, the system will convert them to boolean types. There are only two boolean values. They are True and False. However, we might map existing values or integers as equivalents to true and false, for example, 'yes and no' or '0 and 1'. If there are no valid boolean values, the system will prevent the change from being made. -#### Setting Options +##### Setting Options The following is an interactive representation of the various options that users can set for this type: [Boolean Type Options](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=4260%3A37440&node-id=4270%3A41050&viewport=324%2C48%2C0.34&scaling=contain&starting-point-node-id=4270%3A41050) -### User enters a new 'Boolean' data type value +#### User enters a new 'Boolean' data type value Depending on the configuration, the user will enter a 'Boolean' value with two different controls. - Default Dropdown (TRUE, FALSE) - Custom Dropdown (TRUE Custom Value, FALSE Custom Value) - Checkbox (Checked, Unchecked) -### User filters a 'Boolean' data type column +#### User filters a 'Boolean' data type column Users can filter 'Boolean' data type columns by basic equality operators (is, is not) and whether the value is empty. -### User groups a 'Boolean' data type column +#### User groups a 'Boolean' data type column Users can group 'boolean' data types columns simply by adding them to the group columns list. The function will create a group for each boolean value (TRUE, FALSE). -## Additional Changes -### Disable Unique Constraint for Certain Data Types +### Additional Changes +#### Disable Unique Constraint for Certain Data Types The user won't be able to disallow duplicate values for a 'Boolean' type column. The setting should appear disabled under the column header menu. \ No newline at end of file diff --git a/docs/design/specs/create-edit-delete-views.md b/docs/design/specs/create-edit-delete-views.md index 91cd90b56..9f6b9f18d 100644 --- a/docs/design/specs/create-edit-delete-views.md +++ b/docs/design/specs/create-edit-delete-views.md @@ -3,41 +3,41 @@ > This spec is outdated and should not be followed. {.is-danger} -# Context +## Context A view is a database object based on one or more database tables and contains no data of its own. In the context of Mathesar, the creation and editing of these views is an essential part of the user experience, as it allows users to join and simplify tables into one or represent a subset of the data from a table. For the less technical users, views might be a stepping stone towards analyzing and visualizing their data. For that reason, the design aims to make views easy to discover and edit. -# Prototype +## Prototype [Prototype for creating, editing, and deleting views](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=4156%3A34396&node-id=4536%3A41534&viewport=324%2C48%2C0.76&scaling=contain&starting-point-node-id=4536%3A41534) -# User Experience -## Scenarios -### A user creates a view from scratch. +## User Experience +### Scenarios +#### A user creates a view from scratch. A user can create a view from scratch by clicking on the 'Add View' button. Since views require a table to be selected, a 'New View' dialog will be presented to the user. From here, they can name the view, select a table and one or multiple columns. -### A user creates a view from an open table. +#### A user creates a view from an open table. A user might want to create a view to retain applied filters or sorts or add columns from other tables when working on a table. To do so, the user can click on the 'Save as View' button on the table's toolbar, which will automatically create a view and open it. -#### Views from filtered tables +##### Views from filtered tables A user might want to preserve a particular combination of views, sorts, and groupings as a view, in which case they can create a view after applying the filtering, sorting, or grouping parameters or do so from the view and then proceed to save the view. [Prototype for creating a view from the filtered table](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=4156%3A34396&node-id=4800%3A54681&viewport=324%2C48%2C0.79&scaling=contain&starting-point-node-id=4800%3A54681&show-proto-sidebar=1) -### A user adds new columns to a view. +#### A user adds new columns to a view. Once in the view, a user might want to add additional columns. For this purpose, the same 'Add Column' control used in tables will be available. However, it will display a menu to select columns from available tables in the context of views. Available tables will be those that have a foreign key relationship with the already selected tables. Otherwise, they will not be listed. -### A user removes columns from a view. +#### A user removes columns from a view. A user can remove columns from a view by selecting the 'Delete Column' option in the column header menu. However, in a view, a column from a table will condition other table relationships. If the user removes the only reference to a table, this might impact the list of different tables from which the user can select columns. -### A user deletes a view. +#### A user deletes a view. A user can delete a view from the 'View Options' menu in the view toolbar. As with other database objects within Mathesar, the system should provide a warning if the view deletion affects other views. -### A user can see the tables and columns that are referenced in the view. +#### A user can see the tables and columns that are referenced in the view. A user might want to navigate to or modify the tables that are referenced in a view. They should be able to do so by following the 'Go to Referenced Table' option in each column's header menu. -### A user can see the query that generated a view. +#### A user can see the query that generated a view. In views created through complex queries, we might not allow editing. Still, users can see the query that generated them by clicking on the 'Open View Query' in the 'View Options' menu. -# Review Notes -## Using Color to Represent Table Relations +## Review Notes +### Using Color to Represent Table Relations The UI for views should incorporate ways to represent the different tables that make a view. Elements like color could be applied as demonstrated in the prototype. A future document will include more details in the global document once all design issues for this milestone are completed. \ No newline at end of file diff --git a/docs/design/specs/data-type-duration.md b/docs/design/specs/data-type-duration.md index 7700343f2..87d85ae3a 100644 --- a/docs/design/specs/data-type-duration.md +++ b/docs/design/specs/data-type-duration.md @@ -1,35 +1,35 @@ # Duration Data Type Specs -# Context +## Context Duration data types represent a period of time measured in hours, minutes, and/or seconds. -# Prototype +## Prototype > This prototype might be outdated due to global component updates. Please refer to the link under 'Setting Options' for an updated version of the shared components. {.is-warning} [Duration Data Type Prototype](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=3652%3A28432&node-id=3652%3A28433&viewport=1951%2C518%2C0.7335814833641052&scaling=min-zoom&starting-point-node-id=3652%3A28433) -# User Experience -## Scenarios -### User sets a column to 'Duration' data type +## User Experience +### Scenarios +#### User sets a column to 'Duration' data type The user can set the column data type to 'Duration' by accessing the 'Data Type Options' in the columns header menu. Depending on whether there are existing values or not, and if they are valid duration values, the outcomes will vary: If there are valid duration values, the system will convert them to duration types. For example, '120' might become '2:00' if interpreted as total minutes. If there are no valid duration values, the system will discard the existing values and default to an empty cell. -#### Setting Options +##### Setting Options The following is an interactive representation of the various options that users can set for this type: [Duration Type Options](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=4260%3A37440&node-id=4270%3A41231&viewport=324%2C48%2C0.34&scaling=min-zoom&starting-point-node-id=4270%3A41231&show-proto-sidebar=1) -### User enters a new 'Duration' data type value +#### User enters a new 'Duration' data type value Depending on the duration format configuration, an empty cell will provide a placeholder format indicator such as 'h:mm' when the cell is in an active state. Depending on the format, the user might input a value using the exact format or in the unit values of minutes or seconds. For example, '240' will be formatted as '4:00.' -### User filters a 'Duration' data type column +#### User filters a 'Duration' data type column Users can filter 'duration' data type columns with the same options as 'Number' data type, and it also allows natural language expressions to be used, such as 'greater than 2 hours. -### User groups a 'Duration' data type column +#### User groups a 'Duration' data type column Users can group 'duration' data types columns by different duration units such as hours, minutes, or seconds. Users can also apply group by ranges, with the same control used for number types. [Group by Ranges Control](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=4154%3A34308&node-id=4154%3A34363&viewport=324%2C48%2C0.51&scaling=min-zoom) -# Review Notes -### Duration Range Controls +## Review Notes +#### Duration Range Controls A control to define range duration is introduced as part of this spec. It consists of two select input controls that define both the minimum and maximum time units in which the system will represent duration. So, for example, given a duration of 5400 seconds, where the maximum is hours, and the minimum is minutes, the system will represent the value in the cell as '1h 30m'. If the maximum is also set to hours, then 1.5h should show, allowing users to select single unit formats. Both the minimum and maximum fields will allow values depending on the state of the other. So, for example, if a minimum is set to hours, then a maximum value of minutes cannot be allowed. diff --git a/docs/design/specs/data-types-text.md b/docs/design/specs/data-types-text.md index a846e7311..2137a1a5e 100644 --- a/docs/design/specs/data-types-text.md +++ b/docs/design/specs/data-types-text.md @@ -1,35 +1,35 @@ # Text Data Type -# Context +## Context Text data types allow users to add letters, symbols, or numbers as field values. The text data type is also the default type for new columns within Mathesar. -## Permitted Characters +### Permitted Characters Text data type lets users enter almost any character (letter, symbol, or number). -# Prototype +## Prototype [Text Data Type Figma Prototype](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=2965%3A22194&node-id=3026%3A19273&viewport=-2010%2C270%2C1.0617244243621826&scaling=contain&starting-point-node-id=3026%3A19273) -# User Experience +## User Experience -## Scenarios -### User sets text data type options +### Scenarios +#### User sets text data type options Each data type contains options that are specific to the selected type. Users can click on the data type dropdown and access them on the data type menu to access these options. -### User changes the text data type +#### User changes the text data type From the data type menu, users can also choose to change the data type. Clicking on change data type will open a menu with the complete list of data types. -### User filters a text data type column +#### User filters a text data type column Users can filter text data type columns based on the alphanumeric values of each field. When a text type column is filtered, the specific options for text will show under the filter parameters. -### User sorts a text data type column +#### User sorts a text data type column Users can sort records based on the values of text data type fields. The available options allow users to sort in alphabetical order in both ascending and descending orders. -### User groups a text data type column +#### User groups a text data type column Users can group records based on the values of text data type fields. The available options allow users to group by first letter or word of field values. -## Review Notes -### Filter, Sort and Group Actions +### Review Notes +#### Filter, Sort and Group Actions The design for filter, sort and group actions might require some updates to make the status of applied configurations more visible. Originally, these configurations were shown in a consolidated panel, but the solution is not optimal for some use cases. For example, when providing troubleshooting options, we might enable a filter to show affected rows, but the User, might not know how to return to the filter. A proposed solution is to iterate on the design for the filter, sort, and group features to optimize for discoverability and visibility of status. -### Preventing changes that produce errors +#### Preventing changes that produce errors Some changes like column constraints or data type configurations might produce errors if the content in the columns is invalid. Rather than allowing the change and triggering error warnings in all affected records, we want to prevent the change and guide users towards modifying the column content until it's valid. diff --git a/docs/design/specs/database-switching.md b/docs/design/specs/database-switching.md index 6dd7290d5..a2a5a4ee4 100644 --- a/docs/design/specs/database-switching.md +++ b/docs/design/specs/database-switching.md @@ -3,57 +3,57 @@ > This spec is outdated and should not be followed. {.is-danger} -# Context +## Context Users might have multiple databases, and they need to switch between them as necessary, in a seamless manner, without worrying about the current status of open tables or views. -# Prototype Link +## Prototype Link [Multiple Database Switching](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=1207%3A0&node-id=1212%3A0&viewport=516%2C327%2C0.3535313010215759&scaling=scale-down-width) -# Scenarios +## Scenarios -## Open Single Schema vs. Multiple Schemas +### Open Single Schema vs. Multiple Schemas Having users create multiple related tables inside a schema, rather than having their related data split into different schemas, is desired for our intended use cases. It also reduces complexity, and it's easier to manage. For this reason, a navigation component is proposed so that the system can open only one schema at a time. -## Errors Preventing Schema Changes to be Saved +### Errors Preventing Schema Changes to be Saved If a table within the open schema has unsaved changes, a warning will inform the user and provide the options to discard them and leave or stay and fix them. -## Persist Tabs for Schemas +### Persist Tabs for Schemas The status of tabs should be persistent when reopening a schema. ![](/assets/design/specs/database-switching/qMsmiZo.png =400x) -## Missing Default Database +### Missing Default Database When opening Mathesar, the default database is the one that was most recently open. If this database no longer exists, then Mathesar should show an error message and direct the user to open a different database or troubleshoot the connection. -# Interactions -## Indicating Tables with Errors +## Interactions +### Indicating Tables with Errors If a table contains errors, the interface should help identify those by adding a visual indicator to the corresponding tab. ![](/assets/design/specs/database-switching/mCwwg8S.png =400x) -## Showing Recent Objects +### Showing Recent Objects A list of recent objects is available to help users access their most frequently used objects, such as tables and views. ![](/assets/design/specs/database-switching/0vScHwP.png =240x) -# User Interface +## User Interface -## Database Navigation Menu +### Database Navigation Menu The database navigation menu provides a context for the various databases and schemas that users can access through Mathesar. From this menu, the user can search through all databases and navigate to schemas. ![](/assets/design/specs/database-switching/JGIqCOi.png) -# Review Notes -## Database Names +## Review Notes +### Database Names Mathesar will use the database connection key to identify databases within Mathesar. If we want a human-readable name in the future, we will need a way to capture that preference. -## Recent Tables +### Recent Tables Showing a list of the most recently updated tables can help users manage their work progress, and access recently created objects. As part of the implementation of this spec, we will store user-session information locally until we have the structure for user accounts in place. -## Loading of a Large Number of Tables +### Loading of a Large Number of Tables Some concerns exist about fully loading a list of tables that exceeds what can be managed without disrupting the users' experience in terms of performance. However, we don't think that our current use case will be affected by this. A task has been added to optimize the loading of tables after the MVP is released. -## Using Icons to Identify Databases +### Using Icons to Identify Databases Using visual identifiers to differentiate between databases can help users quickly find and access their databases. As part of implementing this spec, we will add the necessary functionality to display and generate the database icons. \ No newline at end of file diff --git a/docs/design/specs/eding-view-records.md b/docs/design/specs/eding-view-records.md index 06859f0a3..e8ec64b02 100644 --- a/docs/design/specs/eding-view-records.md +++ b/docs/design/specs/eding-view-records.md @@ -3,73 +3,73 @@ > This spec is outdated and should not be followed. {.is-danger} -# Context +## Context Users working within views may want to add new records to one or more source tables without dealing with multiple objects, following the spreadsheet-like experience that Mathesar aims to offer. This design problem presents some challenges in avoiding conflicts between objects, especially if there are dependencies. A proposed solution for this is described in this spec, taking into account two potential scenarios for views that can and cannot be updated. -# Prototype +## Prototype [Prototype for Editing Records within a View](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=4928%3A47261&node-id=5072%3A57556&viewport=324%2C48%2C0.93&scaling=contain&starting-point-node-id=5072%3A57556&show-proto-sidebar=1) -# User Experience +## User Experience -## Scenario 1: If the view allows editing (updatable view) -### User adds a record +### Scenario 1: If the view allows editing (updatable view) +#### User adds a record Users will be able to add records directly from views. However, they might need to add multiple records across more than one table, depending on how the view is structured. For that reason, some of the constraints applied to the referenced tables might influence the interactions. For convenience, users can add values to the fields of a new record directly in the table. However, a record form will also be available, allowing users to edit the complete record, as it exists in the referenced table. -#### The record table allows empty values for all fields +##### The record table allows empty values for all fields If the table allows for empty values, the user can leave it blank or enter a value. Doing so will not prevent the new record from being saved. -#### The record table does not allow an empty value for some of the fields +##### The record table does not allow an empty value for some of the fields If the table has fields that aren't in the view but can't be empty, the user will have to fill those out. Otherwise, the system cannot save the new record. For such cases, the record form will show and indicate to the user which fields cannot be empty. -### User removes a record +#### User removes a record A user will be able to remove a record from a view. This action might affect the underlying tables and their relations, for example, if the deleted record is referenced via a foreign key in other tables. Warnings are needed for such cases to inform the user about the potential conflicts that removing records might cause. -#### The record was linked as a foreign key +##### The record was linked as a foreign key If the deleted record was linked to other tables or views, the user could still delete it, but the system must display a warning with a list of those affected objects. -#### The record was not linked as a foreign key +##### The record was not linked as a foreign key If the deleted record was not linked to other tables or views, the user should delete it without warnings. -### User edits a record +#### User edits a record Users will be able to edit records by changing the values directly from the table. The input control will depend on the data type of the referenced column. -#### User edits the selected field from the record +##### User edits the selected field from the record A user can edit a single field from the table by selecting it and changing its contents. This action will change the record, but all other fields will be left the same. -#### User edits the entire record +##### User edits the entire record A user can edit all fields from a record by opening the record form, which can be accessed by clicking on the 'Edit Record' button from the view's toolbar. [Prototype for Edit Record Form](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=4928%3A47261&node-id=5118%3A61344&viewport=324%2C48%2C0.93&scaling=contain&starting-point-node-id=5118%3A61344&show-proto-sidebar=1) -## Scenario 2: If the view doesn't allow edit (non-updatable view) -### User adds, removes, or edits records that are part of a view +### Scenario 2: If the view doesn't allow edit (non-updatable view) +#### User adds, removes, or edits records that are part of a view If the view doesn't allow editing, the user will only have access to basic functionality such as filtering, sorting or grouping. [Prototype for Non-Updatable View](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=4928%3A47261&node-id=5225%3A54934&viewport=256%2C48%2C0.69&scaling=min-zoom&starting-point-node-id=5225%3A54934&show-proto-sidebar=1) -# Other Interactions -## User reorders columns in a view +## Other Interactions +### User reorders columns in a view A user might want to change the order in which columns are laid out in a view and can do so by dragging and dropping the columns into place. Note that this will require saving the view. Otherwise, the system will revert the order. The system should display a warning for a user that tries to close a view with unsaved changes. When being dragged, the column will indicate its new placement visually, as represented in the following example: [Visual indicator of new column placement](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=5182%3A54399&node-id=5182%3A54896&viewport=273%2C48%2C0.68&scaling=min-zoom) -# Global Updates +## Global Updates Some items from previous reviews for the 'Working with Views' milestone have been included in this prototype and can be accessed in the steps defined for view creation. [Prototype for Creating a View](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=4928%3A47261&node-id=5118%3A66661&viewport=324%2C48%2C0.93&scaling=contain&starting-point-node-id=5118%3A66661&show-proto-sidebar=1) -## Scenarios -### User adds a column +### Scenarios +#### User adds a column The user adds a column to a view by accessing the 'New Column' menu from the view table. The user can choose to select a column from a view or a table from the menu. -### User views details for a linked column in a table (foreign key) +#### User views details for a linked column in a table (foreign key) The user might want to view column details for a foreign key column in a table. To do so, they can open the column header menu, which will contain the referenced table, the primary key field from that table, the lookup field, and a link to the referenced table. -### User selects a lookup column for a table +#### User selects a lookup column for a table The user might want to use another column as a lookup rather than the default assigned by the system. To do so, they can access the 'Set Lookup Column' from the table options menu in the table toolbar. -### User sees a list of referenced tables for a view +#### User sees a list of referenced tables for a view The user might want to see a list of all tables that are referenced in a particular view. To do so, they can open the view options menu and select the 'Relationships' option. \ No newline at end of file diff --git a/docs/design/specs/email-data-type.md b/docs/design/specs/email-data-type.md index 0aec09274..fa9c8ffc8 100644 --- a/docs/design/specs/email-data-type.md +++ b/docs/design/specs/email-data-type.md @@ -1,36 +1,36 @@ # Email Data Type -# Context +## Context Email data types are custom Mathesar data types used to store email addresses. -# Prototype +## Prototype > This prototype might be outdated due to global component updates. Please refer to the link under 'Setting Options' for an updated version of the shared components. {.is-warning} [Email Data Type Prototype](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=4260%3A37440&node-id=4270%3A39806&viewport=324%2C48%2C0.34&scaling=min-zoom&starting-point-node-id=4270%3A39806) -# User Experience -## Scenarios -### User sets a column to 'Email' data type +## User Experience +### Scenarios +#### User sets a column to 'Email' data type The user can set the column data type to 'Email' by accessing the 'Data Type Options' in the columns header menu. Depending on whether there are existing values or not, and if they are valid email values, the outcomes will vary: If there are valid email values, the system will convert them to email types. A valid email will have a username and domain name joined by a '@' symbol. If there are no valid email values, the system will discard the existing values and default to an empty cell. -#### Setting Options +##### Setting Options The following is an interactive representation of the various options that users can set for this type: [Email Type Options](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=4260%3A37440&node-id=4317%3A50925&viewport=324%2C48%2C0.34&scaling=min-zoom&starting-point-node-id=4270%3A39806) -### User enters a new 'Email' data type value +#### User enters a new 'Email' data type value The user might enter a new email value with a valid format. If the value is not a valid email, an error should be displayed, preventing the row from being saved. -### User filters an 'Email' data type column +#### User filters an 'Email' data type column Users can filter 'email' data type columns by regular 'Text' type filters (except for length filters which are exclusive to text types) as well as 'Email' specific filters such as domain name. -### User groups an 'Email' data type column +#### User groups an 'Email' data type column Users can group 'email' data types columns by first letter or domain. -## Additional Changes -### New record row placement +### Additional Changes +#### New record row placement The new record row, originally designed to sit at the bottom of the table, will now be on top. Change is due to confusing placement within groups and compensating for the pagination change impact on the usability of adding new records. \ No newline at end of file diff --git a/docs/design/specs/filter-sort-group.md b/docs/design/specs/filter-sort-group.md index 36fc453a9..f8a974575 100644 --- a/docs/design/specs/filter-sort-group.md +++ b/docs/design/specs/filter-sort-group.md @@ -1,19 +1,19 @@ # Filter, Sort, and Group Tables -# Figma Prototype +## Figma Prototype -# Context +## Context In the [Inventory Use Case](/design/exploration/use-cases/inventory-use-case), the user is presented with problems requiring them to make sense of the data and then making decisions, i.e., creating a summarized view of multiple tables. We need to display these data views within Mathesar using the filter, sort, and group functionalities. -# Considerations -## Database objects +## Considerations +### Database objects Within Mathesar, we opted to show most database objects such as tables and views to the users. This approach ensures that the user can understand the database schema and progress through the various steps of database normalization. -### Table objects +#### Table objects Table objects give the user a direct representation of the data in a table format. Depending on the circumstances, users could have varying needs, and some might need few large tables or multiple smaller tables. How often users change the structure of a table will depend on how they are using it. When users have many small tables, they will most likely analyze them from a view. -### Tables and views +#### Tables and views It is likely that when users think of filtering, sorting, or grouping data, they want to be able to perform these operations on multiple tables at the same time. At the time of this writing, view objects are not implemented in Mathesar; however, we have included them in the roadmap. However, views influence how the design of filtering, sorting, or grouping data should be approached. For that reason, keep in mind the following considerations: @@ -23,19 +23,19 @@ However, views influence how the design of filtering, sorting, or grouping data - For existing views, having a consolidated view of all tables, filters, sorts, and groupings allows users to modify or find the sources easily. - If a table join is removed, the filters, sorts, or groups that rely on that table's columns will produce errors. Correcting these is much easier from a consolidated view. -## Future Consideration When Introducing Views +### Future Consideration When Introducing Views We'll need to think about two different types of views. One type is saved to the DB and is no longer associated with the originating table, while others remain associated with the table. The former can easily be written to, and the behavior is similar to "Create new table from table." To avoid confusion, we might need to differentiate them by name. -### Questions +#### Questions - When importing a database, do we ignore view objects? - We should support importing views as they are a crucial aspect of data structure. -# User Experience +## User Experience -## Impact +### Impact Column display properties such as filter, sort order, and grouping all need to be displayed within Mathesar as part of tool category requirements. These features will improve the user's ability to analyze, visualize and understand the data structure. -## Proposed User Flow +### Proposed User Flow The user opens an existing table within Mathesar. ![](/assets/design/specs/filter-sort-group/S1uJu5A5_.png) @@ -58,7 +58,7 @@ The user now adds a value to the filter, and the table refreshes to show the res ![](/assets/design/specs/filter-sort-group/r1Q7VsCcd.png) -### Refreshing Table Data on KeyPress Event +#### Refreshing Table Data on KeyPress Event The table should refresh its content based on criteria entered by the user. The input controls should include a loading state that displays after after each keypress. A delay can be set so that the user can type full words without triggering constant reloads. ![](/assets/design/specs/filter-sort-group/Hk8Kt0Nsd.png =360x) @@ -74,25 +74,25 @@ The user now, from the same panel, adds a group column and determines its direct From here, the user should be able to save this as a view. -## Scope of Initial Iteration +### Scope of Initial Iteration The initial iteration won't have any reference to views or table selection. -# Interactions +## Interactions -## Table Properties Panel +### Table Properties Panel The table properties panel contains the properties of the active table. It opens automatically whenever a new property is added, for example, when applying a new filter from one of the column headers. When closed, the panel stays next to the table in a minified state. It can be reopened if necessary by clicking on it. -### States -#### Open +#### States +##### Open ![](/assets/design/specs/filter-sort-group/rJYKrdyou.png =240x) -#### Closed +##### Closed ![](/assets/design/specs/filter-sort-group/SkfardkoO.png) -## Column Selector Controls +### Column Selector Controls Column selector controls are components that apply various properties to columns on a table. They allow users to select a column and set different properties, such as filtering, grouping, and sorting. On their default state, they display an empty state indicating that no column is selected. @@ -100,12 +100,12 @@ On their default state, they display an empty state indicating that no column is ![](/assets/design/specs/filter-sort-group/Bk59qfRcu.png =240x) -### Implementation Notes +#### Implementation Notes Once more options or table properties are available, we can stack icons for displaying different panels like the example below. ![](/assets/design/specs/filter-sort-group/HyaqfcVod.png =320x) -### Setting a Property +#### Setting a Property When filter, sort of group properties are added, a default field is set initially to the first column option on the select list. ![](/assets/design/specs/filter-sort-group/S1y7ZXC9O.png =240x) @@ -125,7 +125,7 @@ Users can add additional filters by clicking on the "Add Filter" option. ![](/assets/design/specs/filter-sort-group/SkSMQkrod.png =340x) -## Table Header Controls +### Table Header Controls In the header area of each table, there are column-specific options in each header cell. Users can access the options by clicking on the buttons. The button content will vary depending on the column status. For example, if a filter is applied, the filter icon will become visible. ![](/assets/design/specs/filter-sort-group/HyTm5Q0qd.png =240x) @@ -143,28 +143,28 @@ It should be evident to the user that they will clear multiple filters. ![](/assets/design/specs/filter-sort-group/HkowXkBj_.png =360x) -# User Interface -## Read-only Table Updates +## User Interface +### Read-only Table Updates Implementing this feature requires specific updates to read-only tables. -### Filtered Table +#### Filtered Table When a filter is active, the table header should provide a visual way of knowing which columns are being filtered. ![](/assets/design/specs/filter-sort-group/S1s58409d.png) -### Sorted Table +#### Sorted Table When a table is sorted, the table header provides a visual indicator. ![](/assets/design/specs/filter-sort-group/BkaxwEC5O.png) -### Grouped Table +#### Grouped Table When a column groups a table, there are grouping elements added to separate the rows. A count of records for each group is available. ![](/assets/design/specs/filter-sort-group/ByO-PVR9_.png) -## Implementation Notes: +### Implementation Notes: - We will create a separate issue to address UI improvements to provide more advanced visual indicators. -## Future Iterations: Advanced Filters +### Future Iterations: Advanced Filters Even though the lack of advanced filtering features like filter groups could hinder users' experience that have more complex needs, we consider that basic filtering covers the requirements outlined by the current use case. Nonetheless, we consider that advanced filtering will be part of the future roadmap. \ No newline at end of file diff --git a/docs/design/specs/import-status.md b/docs/design/specs/import-status.md index 4e96de5ac..79d965dce 100644 --- a/docs/design/specs/import-status.md +++ b/docs/design/specs/import-status.md @@ -1,61 +1,61 @@ # Import Status -# Context +## Context The initial design for [Add Table from File Import](https://wiki.mathesar.org/en/design/specs/table-import) defined all the steps needed to import a file, preview its content, make adjustments and save it as a table within Mathesar. However, certain aspects of the upload process and status lack definition for implementation as reported on the issue [#296](https://github.com/centerofci/mathesar/issues/296) on Github. This spec looks to address those gaps in the design. -# Prototype +## Prototype [Import Status Indicator](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=2306%3A11983&node-id=2306%3A11984&viewport=556%2C470%2C0.5827216506004333&scaling=contain) -# User Experience -## User Starts Import from File +## User Experience +### User Starts Import from File The user wants to add a table to an existing schema. From the data explorer view, they click on add table and choose the 'Import from File' method. -## User Uploads a File +### User Uploads a File The first step to creating a table from file import is to upload a valid file. The user selects a locally stored file, and the upload process begins. Once the file is ready to be imported, the user clicks on the 'Import' action. This action triggers a new state that persists while the file is being processed. Processing might take longer if the file contains many rows, as the resulting import will have gone through the type inference process. -## User Navigates to Another Tab +### User Navigates to Another Tab Given that a file might take a long time to process, a user could navigate away to continue work on another table or view. They might also want to import an additional table. In this case, the user needs the following: - A way to know the status of their imports - A way to navigate back to the corresponding import tab - A way to respond to errors or cancel an import from anywhere in the app -## User Expands the Import Status Details +### User Expands the Import Status Details The user at any time can expand the file import component that shows active imports. Once expanded, they should be able to see all the files that are actively being processed. -## User Navigates to a Tab Where a File Is Being Imported +### User Navigates to a Tab Where a File Is Being Imported By clicking on any of the files, the user can navigate back to the tab with the import in progress. From this view, a user might cancel the operation and go back to the previous step. -# Review Notes +## Review Notes -## Global Notifications +### Global Notifications Global notifications are needed to help users keep track of ongoing operations and navigate back to the particular pages. The location of these notifications should be a permanent one that is always visible to users, especially in scenarios such as moving from one database or schema to another. -## Notification States +### Notification States The content and layout of these notifications might change dynamically according to the number or type of operations. In a single operation, the notification might show specific details, such as the file's name being imported. Once more operations of the same type are added, it might change to offer a total count rather than details. When operations are of a distinct type, the design might reduce the notification to only showing the number of operations, and users will find the actual type information in the dropdown. -### Scenarios +#### Scenarios [Component Examples in Figma](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=2798%3A18566&node-id=2798%3A18763&viewport=1285%2C9%2C0.47174111008644104&scaling=min-zoom&starting-point-node-id=2798%3A18763) -#### If a single job is in progress +##### If a single job is in progress A single job in progress, such as importing a file, can be described with details such as job type and file name in the notification widget. -#### If multiple jobs of the same type are in progress +##### If multiple jobs of the same type are in progress Various jobs of the same kind might run concurrently, in which case a total count replaces details such as file names. The user can find the file names under the expanded dropdown. -#### If multiple jobs of different types are in progress +##### If multiple jobs of different types are in progress If the jobs in progress are of different types, the job type is replaced by the general term jobs rather than the job-specific verbs. -#### If multiple jobs are in progress with some finished +##### If multiple jobs are in progress with some finished If some jobs are finished, but some are still in progress, the status indicator will show the status of those in progress only. -#### If all jobs are finished +##### If all jobs are finished If all of the jobs are finished, the status indicator will change to indicate that all jobs are finished. -#### If any of the jobs failed +##### If any of the jobs failed If any of the jobs running fails, the status indicator will change to indicate an error requiring attention. diff --git a/docs/design/specs/lookup-field-component.md b/docs/design/specs/lookup-field-component.md index 9b87f64c7..650b0fbd6 100644 --- a/docs/design/specs/lookup-field-component.md +++ b/docs/design/specs/lookup-field-component.md @@ -1,29 +1,29 @@ # Lookup Field Component Specs -# Context +## Context The lookup field component was specified as part of the design for ['Add Table from Import'](/design/specs/table-import). Based on discussions held after the design review of the document, we determined the need to provide further detail on how users will use this component and what steps they must follow to complete the following tasks: - Add a table to an existing schema - Add a table to a new schema -# Scenario: Selecting a Schema +## Scenario: Selecting a Schema ![](/assets/design/specs/lookup-field-component/Cr6i2pU.png =320x) The lookup field component allows the user to choose a value from a list to perform a specific action. A common task within Mathesar will be the creation of database objects such as tables and views. These objects belong to a schema, which is the structure of a database. -## List Values +### List Values The available values, in this case, are all the schemas associated with the users' Mathesar account, where the user has read access to them. Because write access is required to create a table within the schema, we will not allow users to select schemas for which they have insufficient privileges. -## Allowing Multiple Values +### Allowing Multiple Values Our current use case doesn't contain instances where a lookup field might require multiple value selection. For this iteration, we will focus on the selection of a single value. --- -## Alternative #1 +### Alternative #1 -### Selecting from Existing Values +#### Selecting from Existing Values For a schema that already exists, the user will have to click on the desired schema to select it. ![](/assets/design/specs/lookup-field-component/jRBFNUO.png) @@ -32,21 +32,21 @@ In some cases, users might see an item listed but can't select it. This state co ![](/assets/design/specs/lookup-field-component/eej36bN.png =240x) -### Add a New Schema and Select It +#### Add a New Schema and Select It In some cases, a user might want to add the table to a new schema. To avoid leaving this view and restarting the process, the user can add it from the lookup menu. ![](/assets/design/specs/lookup-field-component/aP3hoGa.png) -#### Pros +##### Pros - Easier to transform into multi-select in the future as space can be handled better because 'Find a schema' is separated from 'Selected Schemas' - New schema action is more deliberate and obvious -#### Cons +##### Cons - Additional step to add a new schema -## Alternative #2 +### Alternative #2 -### Selecting from Existing Values +#### Selecting from Existing Values - Retrieve all schemas by clicking on the field @@ -56,20 +56,20 @@ In some cases, a user might want to add the table to a new schema. To avoid leav ![](/assets/design/specs/lookup-field-component/hdL78gs.png =240x) -### Add a New Schema and Select It +#### Add a New Schema and Select It - Type to create a new schema if no matches found ![](/assets/design/specs/lookup-field-component/b92JFFc.png =240x) -#### Pros +##### Pros - Fewer steps overall. User can both refine the list of schemas or create a new one without requiring additional steps -#### Cons +##### Cons - Without a descriptive text, the user might not understand that they can create a new schema -# Review Summary +## Review Summary -## Choosing Alternative #2 +### Choosing Alternative #2 Alternative #2 is preferred as it is more ARIA friendly. Clicking the input field to reveal full list of options: @@ -81,7 +81,7 @@ Typing the name of the schema to retrieve matching options: ![](/assets/design/specs/lookup-field-component/BJuBNu_su.png =300x) -## Discarding 'Add Schema' functionality from the lookup field for now +### Discarding 'Add Schema' functionality from the lookup field for now Some concerns exist around the need for confirmation steps and system feedback requirements to prevent errors during schema creation. Contemplating these aspects of the user experience in a narrow context is likely to result in a less than optimal design for the use cases we are discussing. **Concerns mentioned during the review:** @@ -91,5 +91,5 @@ Some concerns exist around the need for confirmation steps and system feedback r - Allowing users to extend current schema names to create new ones -## Simplifying Schema and Table Creation +### Simplifying Schema and Table Creation Reducing the steps users need to take to create a schema or table should be our optimization focus. Some parts of our experience rely on overlay components (modals) to collect the information necessary for the creation of database objects like tables and schemas. We want to simplify these components to streamline the experience in future designs. For example, we integrate table creation details into tasks that require them, such as importing a new table from a file. diff --git a/docs/design/specs/money-data-type.md b/docs/design/specs/money-data-type.md index b3dca2e5a..0beaefd3b 100644 --- a/docs/design/specs/money-data-type.md +++ b/docs/design/specs/money-data-type.md @@ -1,61 +1,61 @@ # Money Data Type Specs -# Context +## Context Money Data Types allow users to manage monetary values, preceded by a currency symbol of their choice. -# Prototype +## Prototype > This prototype might be outdated due to global component updates. Please refer to the link under 'Setting Options' for an updated version of the shared components. {.is-warning} [Figma Prototype for Money Data Type](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=3380%3A23047&node-id=3380%3A23048&viewport=-1070%2C505%2C0.4795173108577728&scaling=contain&starting-point-node-id=3380%3A23048) -# User Experience +## User Experience -## Scenarios +### Scenarios -### The user sets the type of a column with existing values to 'Money.' +#### The user sets the type of a column with existing values to 'Money.' The user opens the menu for the desired column and selects the 'Data Type Options' menu item. From the list, they can set the type to money. Under advanced options, the user may set the currency and decimal places. -#### Setting Options +##### Setting Options The following is an interactive representation of the various options that users can set for this type: [Money Type Options](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=4260%3A37440&node-id=4270%3A40881&viewport=324%2C48%2C0.21&scaling=contain&starting-point-node-id=4270%3A40881&show-proto-sidebar=1) -### The user filters a 'Money' data type column +#### The user filters a 'Money' data type column The user can choose from multiple filter options to filter monetary values. The options will be the same as those used for numeric types. -### The user groups a 'Money' data type column +#### The user groups a 'Money' data type column The user might also choose to group the data based on the values of the 'Money' data type column. -# Review Notes +## Review Notes - For the MVP we'll assume the number locale format based on the selected currency. Eventually we can add options so that, for example, US dollars can be displayed with dot separators instead of commas. - All locales will be included whenever there's a locale-related option. -## Update 23 Feb 2022 +### Update 23 Feb 2022 -### Compatibility with Postgres Money Type +#### Compatibility with Postgres Money Type Mathesar will allow users to view columns set to Postgres money type as a money type column. However, it will not allow users to set an existing column to Postgres money data type. To change from Postgres money data type to the custom Mathesar money type, the user would have to set the column to Number or other data type and then choose money again. -#### Postgres Money Type Prototype +##### Postgres Money Type Prototype [Figma Prototype - Postgres Money Type](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=7552%3A83433&node-id=7646%3A84762&viewport=241%2C48%2C0.33&scaling=contain) -### Support for Multi-Currency through custom Mathesar Money Type +#### Support for Multi-Currency through custom Mathesar Money Type Mathesar's custom money data type will allow users to set any currency and customize various display options. The custom money data type will be the only money type option that can be set in Mathesar. With Postgres money type being available only for existing database columns set to this type. -#### Custom Mathesar Money Type Prototype +##### Custom Mathesar Money Type Prototype [Figma Prototype - Custom Mathesar Money Type](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=7552%3A83433&node-id=7590%3A84021&viewport=241%2C48%2C0.46&scaling=contain) -#### Scenario: A user sets a field to money data type +##### Scenario: A user sets a field to money data type - The user sets a column type to `Money.` - The user opens the data type menu and goes to the `Display` section. @@ -63,7 +63,7 @@ Mathesar's custom money data type will allow users to set any currency and custo - Changing any of the default options for a currency will set the currency to custom. For example, changing the symbol for US dollar from `$` to `USD`. - Changing to any other currency will update the values of the formatting options to those corresponding to the currency. -#### Currency Format Options +##### Currency Format Options - Select Currency Symbol: Users can set the symbol that will be displayed along with the number. - Symbol Location: Users can select the position for the currency symbol. The options are 'Beginning' or 'End'. diff --git a/docs/design/specs/multiple-records-spec.md b/docs/design/specs/multiple-records-spec.md index b5081ecbb..7741fc743 100644 --- a/docs/design/specs/multiple-records-spec.md +++ b/docs/design/specs/multiple-records-spec.md @@ -3,33 +3,33 @@ > This spec is outdated and should not be followed. {.is-danger} -# Context +## Context When setting up a relational database, users will want to organize their data to avoid duplication and maintain the integrity of their data. Therefore relationships need to be created between tables, for example, to relate 'tracks' to 'albums' or 'albums' to 'artists.' In cases where records are multiple, users will rely on features to help them summarize or quantify those relationships. By introducing many-to-many relationships, users accustomed to the spreadsheet model will have to understand more advanced database concepts like junction tables, primary and foreign keys, etc. This increase in complexity will make user errors more likely, so the design needs to address how the features are introduced and how users learn those concepts. -# Prototype +## Prototype [Prototype for Associating Multiple Records](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=5192%3A55284&node-id=5279%3A55303&viewport=324%2C48%2C0.66&scaling=contain&starting-point-node-id=5279%3A55303) -# User Experience +## User Experience -## Scenarios +### Scenarios A user adds a 'related table' column that allows multiple records to be linked. From a table view, a new or existing column can be linked to a table. By default, the column will allow a single record to be linked unless the 'Allow Multiple' option is checked. When the user checks the 'Allow Multiple' option, a text is displayed explaining the system will create an additional table to map related keys for both tables. -### A user edits a multiple record field to add or remove records. +#### A user edits a multiple record field to add or remove records. Users can edit a multiple records field to add or remove records from the records lookup menu. Records that are already selected will be marked as such, and the user can click again to deselect. The user can also remove a record reference by clicking on the 'X' icon when the field is active. -### A user learns about junction or join tables and understands why they must be created. +#### A user learns about junction or join tables and understands why they must be created. When a user sets a field to 'Allow Multiple Records,' the system creates a table to map both sets of keys. This table looks like any other table. However, a naming convention is applied so that users can identify them. -### A user creates a view from a table that contains columns with multiple records. +#### A user creates a view from a table that contains columns with multiple records. When a view is added from a table that contains a column with multiple records, that same column is ported over to the view. The user can then add a column to summarize the records on that field. -### A user adds a summary column from a view. +#### A user adds a summary column from a view. When rows have fields with multiple associated records, a user might want to summarize any related table's fields. In that case, they can choose a summary type from the column selection menu. The default setting is 'Values,' which will display a comma-separated list of the values. -## Future Considerations +### Future Considerations In the future, more summary options will be available, including formulas. Users will require further instructions or examples to apply them correctly. Filters will also enable the creation of columns that limit the summarized records based on set criteria. For example, a user might want to create a column only to summarize award-winning releases or tracks with featured artists. There are hints to these elements in this prototype, but they will be specced in a future milestone. \ No newline at end of file diff --git a/docs/design/specs/non-mathesar-data-types.md b/docs/design/specs/non-mathesar-data-types.md index 43752e006..f666e8e09 100644 --- a/docs/design/specs/non-mathesar-data-types.md +++ b/docs/design/specs/non-mathesar-data-types.md @@ -1,28 +1,28 @@ # Non-Mathesar Data Types -# Context +## Context Non-Mathesar types are database types that don't have any special functionality within Mathesar. This could be because that functionality is not implemented, yet it's a standard Postgres type (Other), or because it's a custom data type and not included in standard Postgres data types (Custom). -## Limited Functionality +### Limited Functionality 'Non-Mathesar' data type can be edited or added, but there are no particular data input or display features. -# Prototype +## Prototype [Non-Mathesar Data Type Prototype](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=3981%3A32764&node-id=3983%3A33046&viewport=3203%2C274%2C0.7351959347724915&scaling=contain&starting-point-node-id=3983%3A33046) -# User Experience -## Scenarios -### User sets a column to 'Non-Mathesar' data type +## User Experience +### Scenarios +#### User sets a column to 'Non-Mathesar' data type Users cannot set 'Non-Mathesar' data types. Mathesar can only add these by connecting to an existing database. -### User enters a new 'Non-Mathesar' data type value +#### User enters a new 'Non-Mathesar' data type value Users can edit the existing values of a 'Non-Mathesar' data type column as they would with [text string types](/design/specs/data-types-text). -### User filters a 'Non-Mathesar' data type column +#### User filters a 'Non-Mathesar' data type column Users can filter the existing values of a 'Non-Mathesar' data type column as they would with [text string types](/design/specs/data-types-text). -### User groups a 'Non-Mathesar' data type column +#### User groups a 'Non-Mathesar' data type column Users can group the existing values of a 'Non-Mathesar' data type column as they would with [text string types](/design/specs/data-types-text). -# Review Notes -## Adjust size of cells based on content length +## Review Notes +### Adjust size of cells based on content length As part of the implementation of data types, we need to consider how the table will display content such as a JSON document or other longer content formats. \ No newline at end of file diff --git a/docs/design/specs/number-data-type.md b/docs/design/specs/number-data-type.md index 1784ea793..a640cd77c 100644 --- a/docs/design/specs/number-data-type.md +++ b/docs/design/specs/number-data-type.md @@ -1,43 +1,43 @@ # Number Data Type -# Context +## Context Number data types allow users to add numeric values in different formats. -# Prototype +## Prototype > This prototype might be outdated due to global component updates. Please refer to the link under 'Setting Options' for an updated version of the shared components. {.is-warning} [Number Data Type Figma Prototype](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=3043%3A25937&node-id=3118%3A23009&viewport=-201%2C-496%2C0.35054445266723633&scaling=contain&starting-point-node-id=3118%3A23009) -# User Experience +## User Experience -## Scenarios -### User sets number data type options +### Scenarios +#### User sets number data type options A user can access the data type configuration of a field through the column menu. Depending on which data type is selected, the content of the configuration panel will change. -#### Setting Options +##### Setting Options The following is an interactive representation of the various options that users can set for this type: [Number Type Options](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=4260%3A37440&node-id=4270%3A39634&viewport=324%2C48%2C0.21&scaling=contain&starting-point-node-id=4270%3A39634&show-proto-sidebar=1) -### User sets different data type formats +#### User sets different data type formats When setting a number type, a user can pick from different formats, including decimals, floats, integers. -### User filters the values of a number data type column +#### User filters the values of a number data type column A user can filter the values of a number data type column. The filtering options will vary depending on the type selected. -### User groups records according to numeric values of a column +#### User groups records according to numeric values of a column A user can create groups based on the numeric values of a column. The User can choose to group by unique values or automatic ranges. Range options can be set so that groups are created by size or number of groups. -#### User defines range manually +##### User defines range manually A user can set a min and max value for a range and the increment size -#### User defines ranges automatically +##### User defines ranges automatically A user can set the number of groups or the size for each group. If the parameter for the number of groups is set to 2, the range will be divided into two equal groups. If the group size parameter is set to 5, the values will be divided into ranges with an equal number of unique values. In this case, 5, not all groups will have the same number of equal values, as the total might not be divided into equal parts. [Examples of Grouping by Range Options](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=3458%3A26001&node-id=3469%3A27264&viewport=69%2C76%2C0.7793133854866028&scaling=min-zoom) -## Review Notes -### 'Friendly' and 'Database' type display +### Review Notes +#### 'Friendly' and 'Database' type display We want to make sure users of all levels can understand and use the appropriate data types. Because the distinction between database types is sometimes not evident to beginner levels, we want to map them to more familiar categorizations. The design ensures that information will be available but prioritizes the user-friendly types in terms of visibility. -### Number type alignment +#### Number type alignment Number types should be aligned to the right for easier reading of numbers with decimals. \ No newline at end of file diff --git a/docs/design/specs/pagination.md b/docs/design/specs/pagination.md index ba871b0df..3aebfe079 100644 --- a/docs/design/specs/pagination.md +++ b/docs/design/specs/pagination.md @@ -1,9 +1,9 @@ # Pagination Specs -# Context +## Context The team identified the need for a pagination component during the review of the design specs for [Read-Only Tables](/design/specs/read-only-table). The team decided to add pagination to read-only tables during the [May 19th team meeting](/meeting-notes/may-2021). The team chose pagination against the original requirement of having infinite scrolling to prevent issues with real-time data causing data duplication. -# Pagination Component Details +## Pagination Component Details ![](/assets/design/specs/pagination/HyZR_lN9d.png) @@ -11,7 +11,7 @@ The pagination component contains the controls for navigating across the parts ( The pagination component is always visible, even if the table does not reach the number of records required to be split into parts. -## Controls +### Controls The pagination component controls are: - Records per page selector - Link to first and last pages @@ -20,21 +20,21 @@ The pagination component controls are: - Page range and total records indicator - Logarithmic Page Navigation -## Scrolling Area +### Scrolling Area The scrolling settings of the table should allow the pagination component to be fixed at the bottom. ![](/assets/design/specs/pagination/1oghfOu.png) In this figure, the two red horizontal lines delineate the scrolling area. -## Page Size +### Page Size The ideal number of records per page will depend on the desired user experience. For real-time data, the minimum may be several thousand. For most tables, pagination won't be required as most data will fit on a single page. -### Questions +#### Questions What are reasonable max and minimum page sizes? -# UX Considerations +## UX Considerations -## Offset-Based Pagination vs. Cursor-Based +### Offset-Based Pagination vs. Cursor-Based Based on discussion with the team, the first version of the read-only table will use offset-based pagination. This is the preferred choice as it is already implemented and does not prevent the roadmap from being built and allow other methods to be used later. Some of the following points were discussed and shall be reconsidered later when we have more evidence of limitations imposed by our current pagination method: diff --git a/docs/design/specs/read-only-table.md b/docs/design/specs/read-only-table.md index 65c7dfde2..4255af9d8 100644 --- a/docs/design/specs/read-only-table.md +++ b/docs/design/specs/read-only-table.md @@ -3,40 +3,40 @@ > See the related [Figma prototype](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=0%3A1&node-id=1%3A2&viewport=604%2C346%2C0.19209809601306915&scaling=scale-down-width) {.is-info} -# User Experience -## Impact +## User Experience +### Impact Read-only tables the first step towards having an interactive table component. Tables, in general, will help Mathesar users to make sense of their database records, as they will be able to inspect them and manipulate them without the need to perform complicated queries. Tables are also used to represent data in other views, such as import of data from files. -# Interactions -## Browsing multiple tables +## Interactions +### Browsing multiple tables *Not covered yet* -## Overflowing content +### Overflowing content When tables exceed the number of rows that can fit in the viewport, the user will have to scroll in order to reveal the hidden content. Scrolling is preferred over other methods of showing partial content, such as pagination. because it’s less disruptive and also because some of the spreadsheet-like interactions only work if the user is able to perform actions on rows that might not be simultaneously visible. -# User Interface -## Components -### Table +## User Interface +### Components +#### Table ![z7s80vm.png](/assets/design/specs/read-only-table/z7s80vm.png) The table component uses columns and rows to display data in a grid. -#### Read-Only Variation +##### Read-Only Variation A read-only table only serves to display data but has no other interactions. Users can read or select the data that is displayed in the table rows but they can't modify or delete data. Other uses: - For data preview during import - For a tble with no permission to edit -#### States +##### States *Not covered yet* -#### Behavior +##### Behavior *Not covered yet* -### Tabs +#### Tabs ![](/assets/design/specs/read-only-table/FVrZz22.png ) The tabs component allows navigation between related groups of content. The tabs can represent table or view content types in their open state. @@ -46,12 +46,12 @@ Tabs allow only one instance of a table to be open at the same time. If the user To consider: - AWS Athena and how they handle multiple instances of a table. - Working on views without saving them so that user can discard them easily. -#### States +##### States ![](/assets/design/specs/read-only-table/UM72eeI.png =240x) When the content of a table or view is visible, the corresponding tab will have an active state. Based on the type of content represented by the tab, there will be a different icon displayed next to the content name label. -#### Behavior +##### Behavior - It is possible to have multiple tabs open at the same time, however there can only be one active tab. - Tabs should take into account width settings that avoid sub-optimal target sizes that could impact usability. See the example below for 'New Tab'. Additionally consider how longer names are truncated. @@ -65,12 +65,12 @@ Notes: - In future iteration maybe tabs can be reordered by drag-and-drop interaction. -### Sidebar Navigation +#### Sidebar Navigation ![](/assets/design/specs/read-only-table/WchoIDA.png =240x) The sidebar navigation component allows navigation between different content groups displayed in the sidebar. Unlike the tabs component, the elements cannot be reordered or closed. -#### States +##### States The sidebar navigation contains various navigation levels in a text-based hierarchical form which can be expanded or collapsed. The navigation controls to collapse or expand contain arrow icons as indicators of their state. When collapsed, the nested groups are hidden. Expanding shows the subsequent level content group. A level might contain only controls and no content, in that case an additional interaction is required to get to the next level of content. @@ -81,7 +81,7 @@ For content that exceeds the available space, labels should be truncated and a t ![](/assets/design/specs/read-only-table/D2oJz5s.png =240x) -#### Behavior +##### Behavior On launch, and if no content is active, the sidebar navigation is displayed with all the levels collapsed. The main content area is also empty with no tables opened. An empty state is displayed when no tables are open. @@ -98,18 +98,18 @@ Questions: Future Idea: - Additional list group to show recently updated tables -## Views -### Data Browser / Table View +### Views +#### Data Browser / Table View ![](/assets/design/specs/read-only-table/5AEnei2.png ) The data browser or table view is where most of Mathesar's functionality is accessed and used. The sidebar at the left allows users to navigate to tables and views. The right area is where content is displayed, in this case the content of tables and views. -#### Panel-based Content Area +##### Panel-based Content Area ![](/assets/design/specs/read-only-table/CZ0cHvM.png ) The content area will contain most of the interactive elements that make the core user experience of Mathesar. In some cases, it will require additional functionality to be present as the user works through different tasks. In other cases, the content area may have enhanced functionalities that are not visible to the user while they are working through a task but can be displayed according to certain interactions, such as a record form, or other widgets. For this reason, we want the main content to support a multi-panel layer, making it easy to mix different widgets within the same area. This will also help to make Mathesar more extensible in the future, as new functionality can be added without breaking the existing layout. -#### Sidebar Area +##### Sidebar Area The sidebar area will contain the main navigational controls for Mathesar. This area will also contain some account and user information, as well as options for account-related actions, such as logout. Unlike the main content area, the sidebar area doesn’t include any widgets or functionality related to data manipulation. However, it will be possible to delete, rename, and create schemas and tables from the sidebar, as well as searching the content of these objects. diff --git a/docs/design/specs/record-selector.md b/docs/design/specs/record-selector.md index 1224746f0..52064f1ad 100644 --- a/docs/design/specs/record-selector.md +++ b/docs/design/specs/record-selector.md @@ -1,5 +1,3 @@ -# record-selector - # Record selector UX design specs ## Design goals diff --git a/docs/design/specs/schemas.md b/docs/design/specs/schemas.md index 6da095865..356cc91b7 100644 --- a/docs/design/specs/schemas.md +++ b/docs/design/specs/schemas.md @@ -1,61 +1,61 @@ # Working with Schemas -# Context +## Context Users within Mathesar will have multiple data tables that they want to organize and manage. Schemas can be a helpful mechanism to segregate their data for different purposes. Users with more experience with databases will want to incorporate these for reasons that might go beyond just organizing their database objects. However, this organizational aspect will be a primary feature of the design solution. -# Prototype +## Prototype [Working with Schemas Figma Prototype](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=2144%3A12391&node-id=2146%3A12394&viewport=2334%2C1300%2C2.543393611907959&scaling=contain) -# User Experience +## User Experience -## User creates their first schema +### User creates their first schema A Mathesar user that has no schemas created will have to specify one to start creating tables. A default schema is created when users choose to begin with a Mathesar managed database. -## User chooses how they want to start adding tables to their schema +### User chooses how they want to start adding tables to their schema Once the schema is created, the user will have to create tables. If the schema is empty, they will have the option to choose from the list of table creation methods. In the future, this could accommodate multiple tables import, but for now, we'll assume it's a single table being created. -## User edits the schema details +### User edits the schema details For various reasons, a user might, at some point, edit the given name of a schema. They might also want to delete the schema altogether but must do so in a context where the system can inform them about the consequences. -## User navigates back to list of all schemas +### User navigates back to list of all schemas When working on a particular schema, a user might navigate back to a list of all schemas. -## User jumps to another schema from the top navigation +### User jumps to another schema from the top navigation A user can click on the top search bar to reveal a list of their recently opened schemas and databases. Typing the name of any existing schema or database should display a list of all matching items. -## User tries to delete a non-empty schema +### User tries to delete a non-empty schema Before a user can delete a schema containing other objects such as tables or views, they must be aware of this information and the content that the system will delete along with the schema. -## User deletes an empty schema +### User deletes an empty schema An empty schema can be deleted by a user with the appropriate permissions and no additional steps. -# Interactions -## Editing inline vs. edit modal +## Interactions +### Editing inline vs. edit modal There are cases where, for example, we might want to edit details, such as a table name inline (by clicking on the name label) rather than using a separate modal to provide a form with more information. In schemas, we might add additional settings that we want to make accessible to users, such as managing access privileges and permissions, etc. The requirement could also be solved by having a schema details dedicated view that is not contained within a modal. Additionally, a schema might not allow editing of its name, in which case, inline editing might make it harder to inform the user about these limitations. -## Preventing Deletion of Schema +### Preventing Deletion of Schema Deleting a schema could lead to problems when any of its tables had relations with tables from another schema. Users need to be aware of this when they proceed to delete the schema. However, preventing them from doing so might be harder to verify, and the user could find it difficult to break all schema references before proceeding. If we allow deletion, we'll need to either turn the schema references in other tables to a different type or represent the error once the user opens an affected table. -# User Interface -## Top navigation bar +## User Interface +### Top navigation bar Included in this spec is an initial draft of what our top navigation bar might look like when implemented. There are still details to resolve, like how we might incorporate searching or jump across different databases and schemas (similar to what Github does). -## Search bar navigation +### Search bar navigation The top search bar allows users to search through high-level objects such as schemas and databases that Mathesar manages. -# Review Notes +## Review Notes -## Search and Jump To Navigation +### Search and Jump To Navigation With the introduction of the top navigation, we identified the opportunity to have a global control for navigation across databases and schemas that do not rely on the sidebar being visible at all times. This change would simplify other aspects of the user experience, allowing users to navigate away from a schema while keeping track of global notifications and other async operations. When activated, the search and jump to navigation should display a list of recently navigated objects (schemas and databases). -## Public Schemas +### Public Schemas Public schemas within Mathesar will be considered to be a special type. The system will add Contraints to prevent deletion or edits that might disrupt the database functionality. The public schemas will also have a distinct visual icon to identify them. -## List of Databases +### List of Databases Changes introduced on this spec have invalidated the previously proposed solutions for database navigation. We will revisit the issues on this functionality in a later milestone. \ No newline at end of file diff --git a/docs/design/specs/table-creation-controls.md b/docs/design/specs/table-creation-controls.md index 5824db77c..e6d9ec2ce 100644 --- a/docs/design/specs/table-creation-controls.md +++ b/docs/design/specs/table-creation-controls.md @@ -1,31 +1,31 @@ # Table Creation Controls (discard modal update) -# Context +## Context -## Modal component removal +### Modal component removal At the time of its creation, the original design for milestone [2. Tables from File Import](https://github.com/centerofci/mathesar/milestone/1) included a modal component to display the table creation controls as part of the process of adding a new table. However, after team discussion and intending to simplify, we decided to drop the modal component and favor incorporating controls at the page level and in the context of other tasks happening in parallel, such as file import. -# Prototype +## Prototype ['Table Creation Controls' Prototype](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=1825%3A9345&node-id=1831%3A10912&viewport=570%2C566%2C0.10280735790729523&scaling=min-zoom) -# Scenarios -## User adds a new table from the sidebar +## Scenarios +### User adds a new table from the sidebar The way users add a new table remains unchanged. A new table is added by clicking on the add table button next to the tables list header. -## User starts the add table process and decided on the table creation method +### User starts the add table process and decided on the table creation method After the user starts the add table process, a new tab is displayed containing controls for selecting the table creation method. In the table toolbar area, a field exists to enter the table name. If left unchanged, it will default to a placeholder name, and it won't prevent the user from taking the following steps. -### Table status +#### Table status The system won't save the table until the empty table is created or the file import succeeds. While unsaved, the table tab and other navigational items representing the table should indicate the unsaved state. -### Schema Selection +#### Schema Selection Recent changes in the design might influence how schemas are presented within Mathesar. We assume that a single schema is being displayed, thus eliminating the requirement for a schema selector. ![](/assets/design/specs/table-creation-controls/ksN9Z6d.png =200x) -## User completes table creation +### User completes table creation Once the table creation process is over, the table name input is hidden while the table label remains. Clicking on the table label will show the input again. -# Review Notes -## Fixed Headers for Overflowing Content +## Review Notes +### Fixed Headers for Overflowing Content Controls that are located in headers must remain accessible to users at all times. When a list of items grows more extensive than the space available, the headers must remain fixed, and the list of items will scroll vertically. diff --git a/docs/design/specs/table-import.md b/docs/design/specs/table-import.md index cbd53dfe4..c63c2ff97 100644 --- a/docs/design/specs/table-import.md +++ b/docs/design/specs/table-import.md @@ -3,100 +3,100 @@ > This spec is a starting point and has been through basic engineering and product reviews. It is not ready for implementation yet. It will have further updates and reviews before we are ready to start implementing this. {.is-danger} -# Context +## Context Adding a new table from a file import allows users to input data into Mathesar without populating tables manually. This feature is also convenient for users who need to import data for testing Mathesar's functionality. -## Navigating to the Data Import page +### Navigating to the Data Import page Data import navigation link will be found on the active schema page. Once clicked the user will be taken to select upload method screen. -## Importing data into a new table +### Importing data into a new table ![](/assets/design/specs/table-import/uhmhbecvbb8cji2LVGFRWo.png) -### Uploading the Data File +#### Uploading the Data File The import screen has a detailed description on what file types are allowed and information about processing and next steps. -#### Download sample files +##### Download sample files There is a link for user to download sample files for reference of valid files to be uploaded. -#### Selection of an upload method +##### Selection of an upload method There are three radio buttons for selecting an upload method. Each radio button has a small description for the choice. Once the user select an option, the rectangular area on the right side has that respective upload method view. -#### Drag & Drop or Browse +##### Drag & Drop or Browse ![](/assets/design/specs/table-import/uhmhbecvbb8cji2LVGFRWo.png) Once the user selects this upload method, the user gets clickable area where the user can drag & drop a local file or click on it for browsing the file locally. -#### URI +##### URI ![](/assets/design/specs/table-import/r7fmqfwG2hmjTTbwvMRehr.png) Once the user selects this upload method, the user gets an input text block for URI where they can paste valid URI and click on continue to upload the file. -#### Copy & paste data +##### Copy & paste data ![](/assets/design/specs/table-import/uC1C6dxPCze6oiHHTAkAvt.png) Once the user selects this upload method, the user gets a textarea to paste data for the table. Once the data is valid, the user can upload by clicking on the continue button. -### Processing Uploaded File +#### Processing Uploaded File ![](/assets/design/specs/table-import/9d1wf4y7cgBUawWbdcoThs.png) This is the stage where the uploaded file is processed. The user sees the progress and updates related to the import here. -#### Status Indicators +##### Status Indicators On the processing screen there is a progress bar which indicates where the upload and import process is. There will also be small messages below the progress bar to keep user informed about the process/status. The user can also cancel the import by clicking on the cancel button. But the user will have to confirm the cancellation by the modal in the appropriate "Abandon scenario" below. -### Errors +#### Errors ![](/assets/design/specs/table-import/asGm1LMUCEvjCd1jBdcDEA.png) If there is any error in the import, the user will see an error message modal with the import screen in background. Cancelling the modal will take users back to import screen. -### Confirmating the uploaded table +#### Confirmating the uploaded table ![](/assets/design/specs/table-import/g1YFz8wYRm71tQ5W6skCX7.png) -#### Components +##### Components -##### Table name +###### Table name The user can rename the table on the confirmation stage. -##### Use first row as header +###### Use first row as header This is a check box. If checked, the user can use the first row as the header. -##### Table summary +###### Table summary There is a small table summary above the table. -##### Table +###### Table The table's first row are headers. This row has checkbox which is when checked the column is included in the table. The second row has the data type of the column. -##### Table height +###### Table height Since multiple scrolls on the screen is a bad UX. I propose limiting table's height to a certain percentage of the screen height. The percentage might be more clearer when we include styling part here. But as far as I think 25-35% of screen height for the table would suffice. -#### Changing data type +##### Changing data type ![](/assets/design/specs/table-import/agFL3gk3gc7pkgjc2GUcw3.png) When the settings beside the data types is clicked, the user is presented with a choice of compatible data types. The compatible data types will be similar to the table view. The data options will not be available at this point. -### Abandoning the import +#### Abandoning the import The user can abandon import process at ceratin points in the journey. -#### Abandoning the import at processing stage +##### Abandoning the import at processing stage ![](/assets/design/specs/table-import/8WvP45gNpqAm3UYUM1r3m2.png) If the user abandons the import at the processing stage, the user will be given a warning in form of modal to notify that if they abandon this they will lose the file. -#### Abandoning the import at confirmation stage +##### Abandoning the import at confirmation stage ![](/assets/design/specs/table-import/6XqnBjSAk2FUAK8DyexoU5.png) If the user abandons the import at the confirmation stage, the user will be given a warning in form of modal to notify that if they want to abandon it or not. -### Uncomfirmed table on the schema page +#### Uncomfirmed table on the schema page ![](/assets/design/specs/table-import/vr3pvTp1cUsMJw7gb8xNKY.png) If the table is unconfirmed, there will be a warning icon on the side of table listing which when hovered on will have a confirm warning. When clicked on the table listing the user will be taken to confirmation stage. -### Usage of an unconfirmed table +#### Usage of an unconfirmed table ![](/assets/design/specs/table-import/kLkhvgR9Uk1njGbmgh9msB.png) If the user tries to use an unconfirmed table, there will be a modal for confirming the table where the user can directly confirm the table or go to the confirmation view. They won't be able to use it without confirming it. diff --git a/docs/design/specs/table-operations.md b/docs/design/specs/table-operations.md index b75745e6f..1a57ccf7c 100644 --- a/docs/design/specs/table-operations.md +++ b/docs/design/specs/table-operations.md @@ -1,53 +1,53 @@ # Basic Table Operations Spec -# Context +## Context Tables are database objects that contain all the data in a database. To manage, update and structure their database, users need to perform basic table operations such as adding new tables, editing their properties, and deleting them if needed. This spec describes the various steps and interfaces a user would have to interact with to perform these tasks. -# Prototype +## Prototype [Table Operations Figma Prototype](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=2365%3A14712&node-id=2563%3A15775&viewport=-582%2C536%2C0.7798178791999817&scaling=contain) -# User Experience +## User Experience -## User adds a new table +### User adds a new table A user can add a new table by clicking on the 'Add Table' button located in the schema navigation sidebar. Clicking on the 'Add Table' button will automatically insert a new table to the top of the list. The newly inserted table will have a placeholder name such as 'Unnamed Table' or 'Table 1' to allow users to refer to the table later if no user-defined name is provided during the table creation process. -## User edits a new table name +### User edits a new table name Users can update a table name during the table creation process, even before the table is saved, by replacing the table's placeholder name in the text input control located at the top of the tab content panel. -## User edits an existing table name +### User edits an existing table name If the table has been saved, the user can always access the table name input by clicking on the table name heading on the top of the tab content panel. -## User adds an empty table +### User adds an empty table During the table creation process, a user might choose to add an empty table. Once they select this option, there are no other steps required, and the user can start modifying the table's content from scratch. Only a protected mathesar ID field is created, which gets populated once the user saves new data. To enter user-defined data, a user must create a new column field. -## User adds a table from imported data via clipboard content +### User adds a table from imported data via clipboard content A user might choose to create a new table from imported data. In which case, they have multiple options, such as uploading a file, pasting content from the clipboard, or downloading the file from a URL. In the case of clipboard content, the user can paste the contents of a CSV file or copy and paste from spreadsheet apps, such as Google Sheets or Excel. Mathesar will recognize the format and generate a table accordingly. -## User adds a new table from imported data via URL +### User adds a new table from imported data via URL A user might also have a link that points to a valid file that they want to import. In this case, the user can point to the file by entering a web address. -## User deletes a table +### User deletes a table The option to delete a table is available in the context menu located in the table's toolbar at the top of the tab panel. If the table is not empty, the user will have to confirm the deletion. -# Interactions +## Interactions -## Sequential Table Names +### Sequential Table Names A user might add multiple tables without user-defined names, in which case the system can assign a numerical appendix to the placeholder name. -## Input Errors +### Input Errors Inputs that contain validation errors should provide users with a clear reason for what is causing the error and how to fix it. These messages should become visible when the user interacts with the field, either hovering or focusing on it. -## Bulk Table Operations +### Bulk Table Operations Performing operations on a single table at a time can quickly become an issue if the user has many tables. Bulk operations will be considered in a future iteration. -# Review Notes +## Review Notes -## Placeholder Names +### Placeholder Names Naming tables should be optional at the moment of creation. The user should get a naming suggestion every time they create a new table. Mathesar should have the ability to auto-generate such names with incremental numbers. The decision to do so in the front-end or back-end will be decided later. -## Table Options Menu +### Table Options Menu A menu that contains table-related options can be accessed from the top toolbar. This menu should have additional functionality in the future, such as 'Duplicate Table,' which is only included now for reference. -## Showing Related Tables and Views in the Delete Dialog +### Showing Related Tables and Views in the Delete Dialog When a user decides to delete a table, they will have to review a list of all related tables and views before confirming their choice. \ No newline at end of file diff --git a/docs/design/specs/ui-styling.md b/docs/design/specs/ui-styling.md index 6522c9aae..3bfb42bfc 100644 --- a/docs/design/specs/ui-styling.md +++ b/docs/design/specs/ui-styling.md @@ -1,41 +1,41 @@ # User Interface Style -# Context +## Context Mathesar's user interface design encompasses its visual elements and interactions' aesthetic, responsiveness, efficiency, and accessibility. Essentially what the user sees when they interact with the product. -# General Guidelines -## Fonts +## General Guidelines +### Fonts Mathesar's user interface should incorporate a readable sans-serif font that is optimized for web and mobile interfaces. -### Scale +#### Scale The distance between the smallest and largest font size on a typographic scale should be minimal and just enough to create contrast and hierarchy between content. -### Contrast +#### Contrast The design should employ contrast to improve the readability of interface elements and increase the visual relevance of some interactive elements. -#### Accesibility +##### Accesibility The contrast of the design should be based on Web Content Accessibility Guidelines. (WCAG) -## Colors +### Colors The design should support both light and dark modes and apply colors in a way that emphasizes important elements that assist users in: - Identifying type of objects (table, views) - Differentiating states of objects (active, default, disabled) - Cell, row, and column positioning - Status of a task (saving, loading, adding, deleting) -### Themes +#### Themes The design should allow modification of its colors via themes so that users can suit it to their preferences. -### Palette +#### Palette -## Icons +### Icons -### Library vs. Custom +#### Library vs. Custom -## Interactions +### Interactions -### Menus -### Buttons -### Table Actions \ No newline at end of file +#### Menus +#### Buttons +#### Table Actions \ No newline at end of file diff --git a/docs/design/specs/url-data-type.md b/docs/design/specs/url-data-type.md index f2c13e9a0..4c4c637f4 100644 --- a/docs/design/specs/url-data-type.md +++ b/docs/design/specs/url-data-type.md @@ -1,17 +1,17 @@ # URL Data Type -# Context +## Context URL data types are custom Mathesar data types used to store URLs. -# Prototype +## Prototype > This prototype might be outdated due to global component updates. Please refer to the link under 'Setting Options' for an updated version of the shared components. {.is-warning} [URL Data Type Prototype](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=3750%3A28604&node-id=3763%3A30987&viewport=1049%2C-592%2C0.2776779234409332&scaling=contain&starting-point-node-id=3763%3A30987) -# User Experience -## Scenarios -### User sets a column to 'URL' data type +## User Experience +### Scenarios +#### User sets a column to 'URL' data type The user can set the column data type to 'URL' by accessing the 'Data Type Options' in the columns header menu. Depending on whether there are existing values or not, and if they are valid URL values, the outcomes will vary: If there are valid URL values, the system will convert them to URL types. For example, a valid URL could be: @@ -24,15 +24,15 @@ If there are valid URL values, the system will convert them to URL types. For ex If there are no valid URL values, the system will discard the existing values and default to an empty cell. -#### Setting Options +##### Setting Options The following is an interactive representation of the various options that users can set for this type: [URL Type Options](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=4260%3A37440&node-id=4270%3A39962&viewport=324%2C48%2C0.34&scaling=min-zoom&starting-point-node-id=4270%3A39962&show-proto-sidebar=1) -### User enters a new 'URL' data type value +#### User enters a new 'URL' data type value The user might enter a new 'URL' value with a valid format. If the value is not a valid URL, an error should be displayed, preventing the row from being saved. -### User filters an 'URL' data type column +#### User filters an 'URL' data type column Users can filter 'URL' data type columns by regular 'Text' type filters (except for length filters which are exclusive to text types) as well as 'URL' specific filters such as hostname. -### User groups a 'URL' data type column +#### User groups a 'URL' data type column Users can group 'URL' data types columns by first letter, URI scheme, or URI host. diff --git a/docs/design/specs/viewing-views-specs.md b/docs/design/specs/viewing-views-specs.md index e12590f4e..4e1b45c4d 100644 --- a/docs/design/specs/viewing-views-specs.md +++ b/docs/design/specs/viewing-views-specs.md @@ -3,33 +3,33 @@ > This spec is outdated and should not be followed. {.is-danger} -# Context +## Context Views can help users make sense of the data they have in tables and the references between them. However, when coming from the context of spreadsheet-like interfaces, a user might experience some difficulties incorporating views into their process. An optimal design solution would make table associations in the context of views easy to understand and modify if needed. -# Prototype +## Prototype [Prototype for Viewing Views](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=4816%3A56910&node-id=4816%3A57282&viewport=324%2C48%2C0.2&scaling=scale-down-width&starting-point-node-id=4816%3A57282) -# User Experience -## Scenarios -### A user understands that columns in a view are referenced +## User Experience +### Scenarios +#### A user understands that columns in a view are referenced Because views look exactly like tables, users who are new to views might have difficulty understanding why they can't edit something or why some fields might be missing from the referenced table or present from other tables. > Note that at this point, users can only select other columns and add them to the view without performing aggregations or data transformations. The design, as it is currently described, does not contemplate those scenarios. {.is-warning} -#### Using Color +##### Using Color The icons at the column header label could show the different referenced fields present in a given view by identifying them by colors. These interface elements could help users understand how many tables are referenced and which fields belong to the same table. -#### Displaying reference in a view column's menu +##### Displaying reference in a view column's menu The menu for columns in views has slight differences compared to that of tables. For example, it doesn't allow changing database settings such as data types. Users can, however, view the referenced column details, navigate to the parent table or change the referenced field. -#### Viewing a list of all referenced entities +##### Viewing a list of all referenced entities A user might want to see a complete list of all referenced entities rather than opening details for every column in a view. In that case, they can click on the 'Referenced Entities' option located in the 'View Options' menu. -### A user filters, sorts, or groups data in a view +#### A user filters, sorts, or groups data in a view Users can apply filters, sorts, or groups as they'd do in tables when working from a view. The only difference is that users can save the resulting query into the current view or a new one. A table cannot have saved filters. The only way to keep them is to create a view from a filtered table. -### A user views the query that created a view +#### A user views the query that created a view Users can access the system's query to generate a view from the 'View Options' menu in the view toolbar area. \ No newline at end of file diff --git a/docs/design/specs/views-one-to-many-relationships.md b/docs/design/specs/views-one-to-many-relationships.md index 788119c5c..c85c26c53 100644 --- a/docs/design/specs/views-one-to-many-relationships.md +++ b/docs/design/specs/views-one-to-many-relationships.md @@ -3,41 +3,41 @@ > This spec is outdated and should not be followed. {.is-danger} -# Context +## Context Users within Mathesar will want to create relationships between tables for different purposes. For example, they might have an 'artist_id' column in an artist's table, and they want to relate that with the artist's releases on another table. For that, each 'releases' table record is linked to an artist on the 'artist' table with the same 'artist_id.' -## Primary and Foreign Keys +### Primary and Foreign Keys Primary and foreign keys are the basis of a relational database. They allow tables to be referenced from other tables. Allowing not only to connect the data from the tables in meaningful ways but also to maintain data integrity. In the context of Mathesar, we attempt to help users incorporate these concepts in their database design while simplifying the experience so that users can create table relations without fully understanding how primary and foreign keys work. Ideally, users will want to relate a table to another, and throughout the process, discover the role that key constraints have in performing these actions. This will happen at first by understanding the purpose for the automatically generated primary key that Mathesar adds to every record and later when referencing this key from another table. Because Mathesar seeks to maintain access and visibility of all the tables in the database, there might be some friction in how users familiarize themselves with the concept of related tables at first. They will have to use views to reference other table's data to be more compatible with the spreadsheet standard. -# Prototype +## Prototype [One-to-Many Relationship Prototype](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=4218%3A36833&node-id=4218%3A37265&viewport=324%2C48%2C0.44&scaling=contain&starting-point-node-id=4218%3A37265) -# User Experience -## Scenarios -### A user changes a column's settings to link to another table +## User Experience +### Scenarios +#### A user changes a column's settings to link to another table A user can set a column to reference another table's data by selecting the option 'Link to Another Table' from the column's header menu. This action should open a modal where the user can choose a referenced table and set additional options. -### A user selects a referenced table for the new linked column +#### A user selects a referenced table for the new linked column A user can reference any table where a primary key is set as long as they are in the same schema. The table selector displays not only the table name but also the primary key column for reference. -### A user enters data into a linked column. +#### A user enters data into a linked column. Once the linked column has been successfully set up, the user can begin to enter data. The values of the related fields must match exactly any of the values specified in the referenced table's lookup field. -### A user deletes a linked record in the reference table. +#### A user deletes a linked record in the reference table. Records from a referenced table that have been linked in other tables can be deleted as long as the user unchecks the 'Allow Orphan Records' option while setting up the table relation. While there are reasons why a user might choose to do this, the default should remain to restrict the record's deletion. A warning would display, indicating that the user must first remove the record's key reference from the other table. -### A user transforms a linked column into a regular one. +#### A user transforms a linked column into a regular one. If users decide that they no longer want to reference a table from a column, they can unlink it. This action will not affect the content of the column's fields; however, the system will remove the foreign key constraints and set the data type to that of the referenced table's primary key type. Users can unlink a column by clicking on the 'Unlink Column' option in the column's header menu. -### A user sees a list of table constraints +#### A user sees a list of table constraints Table constraints need to reflect all applied constraints accurately. For that reason, every time a column is linked to another table, the system will add the foreign key constraint to the list. These constraints will be read-only. -### A user changes the default lookup field for a table +#### A user changes the default lookup field for a table For every table created within Mathesar, a lookup field is assigned by default. The default value will be assigned based on the column's position, with the first column after the ID column set as default. A user, for any reason, might want to change this, in which case they can select another lookup field by accessing the 'Set Lookup Field' menu item from the 'Table Actions' menu. -# Review Notes -## Context-sensitive save indicators +## Review Notes +### Context-sensitive save indicators We need to address how save indicators will be displayed for users, as well as a common location to provide context. \ No newline at end of file diff --git a/docs/design/specs/working-with-columns.md b/docs/design/specs/working-with-columns.md index 53e46fab7..3a753e6ec 100644 --- a/docs/design/specs/working-with-columns.md +++ b/docs/design/specs/working-with-columns.md @@ -3,56 +3,56 @@ > This spec is in the review process, and its contents are subject to change. {.is-warning} -# Context +## Context Working with columns is a central part of a user's database structuring experience, mainly when tables aren't imported, instead created within Mathesar. It is then on the user to add them, set the data types and other properties according to their needs. This spec describes the steps and components users would have to interact with to structure a table from scratch and populate it with data. -# Prototype +## Prototype [Working with Columns Figma Prototype](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=2750%3A17660&node-id=2816%3A18654&viewport=2205%2C368%2C0.5616371035575867&scaling=contain&starting-point-node-id=2816%3A18654) -# User Experience +## User Experience The user experience for adding columns looks to favor default settings so that a user can structure a table without worrying too much about explicitly defining columns properties at every step. -## User adds a new column +### User adds a new column Users can add new columns by using the add column button next to the last column or by toggling the menu on any column header to insert a new column at the location. -## User deletes a column +### User deletes a column Users can delete a column by toggling the column header menu and choosing the option to 'Delete Column.' In case the column deletion affects other tables or views, the user should receive a warning. -## User renames a column +### User renames a column Users can change a column name at any time without affecting other tables and views referencing it. The user can click on its name label or choose the 'Rename Column' option from the column's header menu to rename a column. -## User edits a column type +### User edits a column type Users can choose the column data type by choosing from the data types dropdown menu. -### Implementation Notes +#### Implementation Notes Ideally, users should only change the column data type if it matches their data. Still, when there are inconsistencies, the user will have to resolve them or cancel the data type re-assignment. We will deal with these types of errors when working with specific data types. -## User changes column settings to disallow empty values +### User changes column settings to disallow empty values Users can alter the column settings to allow or disallow empty (null or empty string) values. If changed, and if the column contains empty values, a warning message will appear, and the system will not save the change. The user can then choose to show a filtered view of the table showing the values that the user must change to alter the column constraint. -## User changes column settings to disallow duplicate values +### User changes column settings to disallow duplicate values Users can also change column settings to prevent duplicate entries. If set from the column options, the unique constraint will only affect the values on that specific column. -## User changes table unique constraint settings +### User changes table unique constraint settings Users can set table-level constraints by accessing the table properties menu found on the table toolbar area. Changing these settings will impact the entire table. -## User sets the default value for a column +### User sets the default value for a column A user might want to set a default value so that every new record contains the appropriate value. In this case, the user can choose from no value, a zero value for numerical types, or a default value. The options will vary depending on the set data type. -# Review Notes -## Labeling of Menus +## Review Notes +### Labeling of Menus Menus that list options for different objects, such as tables, columns, and records, should be easily discovered by users. We have simplified the column-related options to a single menu that users can access in context from the column header. As for table-related actions, we have updated the label to 'Table Actions' for increased clarity. Once all controls and options for the MVP are in place, we will revisit all labels to ensure we are applying the same consistent patterns across the entire app. -## NULL, Empty, Blank Fields +### NULL, Empty, Blank Fields To simplify the way we handle the filtering of columns based on the content of a field, we have nested the NULL condition under the 'Empty' definition, which also includes empty strings. -## Providing options to solve problems when presenting warnings (Help me fix this problem) +### Providing options to solve problems when presenting warnings (Help me fix this problem) Whenever possible, we want to guide users towards resolving problems that hinder their goals within Mathesar. We are introducing a pattern for specific warnings to present suggested actions based on the context. For example, in this case, we allow users to navigate to pre-filtered views to solve issues that prevent them from changing column settings. -## Column vs. Table Constraints +### Column vs. Table Constraints There were some concerns over having both table-level and column-level constraints. We are introducing a help/more info icon next to some options so that users can learn more about them. Once we have the design for the complete set of functionality for the MVP, we can look at the different ways we can educate users within Mathesar. -## Filters +### Filters Filters, as presented in this document, are no longer consistent with the latest design updates. The panel component has proven to be incompatible with many of our use cases, and we have opted for a dropdown component instead. diff --git a/docs/design/standards.md b/docs/design/standards.md index 86fa5f49b..33f201355 100644 --- a/docs/design/standards.md +++ b/docs/design/standards.md @@ -1,6 +1,6 @@ # Design Standards -# Casing +## Casing - Use **Title Case** for: - Page titles @@ -22,7 +22,7 @@ - Pagination - Image alt text -# Placement and positioning +## Placement and positioning - Buttons which move the user "forward" should be placed to the right of buttons which move the user "backwards". For example, if a modal dialog has buttons for "Cancel" and "Submit", "Cancel" should be on the left and "Submit" should be on the right. diff --git a/docs/engineering/glossary/ui-types.md b/docs/engineering/glossary/ui-types.md index 7ac0da864..df1d2eb0c 100644 --- a/docs/engineering/glossary/ui-types.md +++ b/docs/engineering/glossary/ui-types.md @@ -2,7 +2,7 @@ Please see the ["Data Types" product concept page](/product/concepts/data-types) for more information about the idea behind UI data types (a.k.a. "UI types" for brevity). -# Goals +## Goals The main goal of the UI Data Type system is to create a better user experience for non-technical users on the frontend. We aim to do this by: - **Making data types understood in simple, non-technical terms.** - e.g. users should not need to know or think about what a `DOUBLE PRECISION` is in order to set their column to accept decimal numbers. @@ -12,7 +12,7 @@ The main goal of the UI Data Type system is to create a better user experience f We'd like to minimize the number of UI Types so that the user can first make a decision about which UI Type to use and then adjust the parameters within that type to change the underlying PostgreSQL type if needed. -# Implementation +## Implementation A Mathesar type can be thought of as a set of one or more PostgreSQL data types. Every PostgreSQL type should be mapped to exactly one UI type, but a UI type can be mapped to many PostgreSQL types. Mathesar types are an abstraction only applicable to frontend clients, they should not be considered in any operations at the backend or database level. For example, filtering, sorting, and grouping operations happen using PostgreSQL types, not UI types. @@ -21,7 +21,7 @@ UI types are defined in the backend instead of the frontend for two reasons: - to enable alternate clients that play well with the abstractions we use for the "official" frontend - to enable users to extend the type system by installing types in the backend and automatically getting the user experience offered by the frontend without having to write frontend code. -## Criteria to Define UI Types +### Criteria to Define UI Types We will need to extend the Mathesar type system over time as we support more data types. When doing so, we should follow these criteria for what PostgreSQL types can be grouped into a single UI type. These criteria assume that you have selected a set of PostgreSQL types and are now wondering whether they make sense together as a UI type: - The set of types as a whole should be able to be described by a simple concept (e.g. **Number**, **Text**, **Date & Time**, **Email**) @@ -31,7 +31,7 @@ We will need to extend the Mathesar type system over time as we support more dat - It should be possible to cast data between all PostgreSQL data types in the set. - The types in the set should support the exact same filters and groups. -## List of UI Data Types +### List of UI Data Types Current mapping of UI data types to PostgreSQL types. We'll expand these over time as we support advanced functionality for more types in Mathesar. @@ -52,9 +52,9 @@ We'll expand these over time as we support advanced functionality for more types | **List** | [PostgreSQL Arrays](https://www.postgresql.org/docs/13/arrays.html) (single dimension only) | `VARCHAR[]` | We should support all database and display options for whatever data type that the array is set to. | | **Other** | `SMALLSERIAL`, `SERIAL`, `BIGSERIAL`, `BYTEA`, `POINT`,`LINE`,`LSEG`,`BOX`,`PATH`,`PATH`,`POLYGON`, `CIRCLE`, `CIDR`, `INET`, `MACADDR`, `MACADDR8`, `BIT`, `BIT VARYING`, `TSQUERY`, `TSVECTOR`, `JSON`, `JSONB`, `XML`, `PG_LSN`, `PG_SNAPSHOT`, `TXID_SNAPSHOT`, `INT4RANGE`, `INT8RANGE`, `NUMRANGE`, `TSRANGE`, `TSTZRANGE`, `DATERANGE`, multidimensional arrays, any other type that's detected in the DB | N/A, cannot be set at the moment. | These types are native PostgreSQL data types that we don't support any advanced functionality for yet. | -## Custom Types +### Custom Types Some common data types used by users (e.g. emails, URLs, etc.) do not have native PostgreSQL equivalents. For these data types, Mathesar ships with custom PostgreSQL types that users can install if they want. -# Further Reading +## Further Reading - The [Global Data Type Components design spec](/design/specs/global-data-type-components) shows the user experience of UI Data Types and PostgreSQL types in the UI. - ["Mathesar Data Types definition" on GitHub Discussions](https://github.com/centerofci/mathesar/discussions/959) diff --git a/docs/engineering/release-process.md b/docs/engineering/release-process.md index 7a31a13cf..ccec25275 100644 --- a/docs/engineering/release-process.md +++ b/docs/engineering/release-process.md @@ -2,16 +2,16 @@ These are the steps that we follow for creating a new Mathesar release. -# Pre-release +## Pre-release The owner of the release project will be responsible for publishing a new Mathesar release. For details on the Release management process, refer the [Release management ongoing responsibility document](/team/responsibilities/release-management.md). -## 1. Track the process in a GH issue +### 1. Track the process in a GH issue - Create a meta issue to track progress of the release process with the label `work: release`. - Eg., [Release 0.1.1 #2705](https://github.com/centerofci/mathesar/issues/2705). Follow the template of this issue. -## 2. Create the release branch and update version number +### 2. Create the release branch and update version number - Create a release branch out of `develop`. The name of the branch should be the release version, without any prefix. - Eg., for release `v0.1.2`, the name of the branch should be `0.1.2`. Do not prefix `v` here. - Update the version number in the branch in `mathesar/__init__.py`. @@ -22,7 +22,7 @@ For details on the Release management process, refer the [Release management ong ``` - Update the version number in the documentation for the Installation instructions. -## 3. Make images from the branch and push to Dockerhub - *Do not tag as `latest`*. +### 3. Make images from the branch and push to Dockerhub - *Do not tag as `latest`*. - Clone the branch locally. - Ensure you're logged into Dockerhub. (credentials are in 1Password) - Run the following commands to build and push the images with the version number. @@ -34,7 +34,7 @@ For details on the Release management process, refer the [Release management ong - These images are not tagged as latest will not affect installation flow for users. - Log out of Dockerhub to avoid accidental pushes during testing. -## 4. Test installing the new version +### 4. Test installing the new version - Clear out your docker containers, images, and volumes: ```sh docker rm -f $(docker ps -a | awk '{print $1}') @@ -60,7 +60,7 @@ For details on the Release management process, refer the [Release management ong - Ensure that the installation process does not throw any errors. -### (Optional) For releases which have changes to installation/upgrade setup: +#### (Optional) For releases which have changes to installation/upgrade setup: - In case if the release contains changes to installation/upgrade setup, we need to attempt all installation methods and upgrade processes additionally. - Ideally, this testing would already be taken care of during the course of the release projects. - To test upgrades for the docker-compose setup, follow the below steps: @@ -90,33 +90,33 @@ For details on the Release management process, refer the [Release management ong - It will show an error saying release notes aren't present. This is expected. - Ensure that the upgrade process does not throw any errors. -## 5. Testing +### 5. Testing - Perform a smoke test on the product – Install the library management dataset, [follow the library management demo video](https://www.youtube.com/watch?v=Edbba-h4L-M&t=17s) and ensure everything works as expected. - Certain releases might require extensive testing. This will be mentioned in the release project spec. -### If problems are encountered: +#### If problems are encountered: - If problems are encoutered during testing, make issues in the same release milestone. - The PRs for issues should be based off of the release branch, and merged into the release branch. - Once all issues are fixed, restart the process from Step 3: Making the images. -## 6. Write up Release notes +### 6. Write up Release notes - Write the release notes and get approval from Kriti. - These should be written in Markdown outside of GitHub. - These should not list the list of issues closed; GitHub will automatically generate that. -# Publishing the release +## Publishing the release -## 1. Merge into master +### 1. Merge into master - Merge the release branch into `master`. - Ensure the release branch is deleted after merge. This should happen automatically after merging. > Note that after merging the documentation change, if someone is using the docs off of the `master` branch, they'll get a 404 until the tag actually exists. Therefore, avoid going to lunch while things are in this state. {.is-warning} -## 2. Create a tag +### 2. Create a tag - Tag the commit you've just merged with the version number of the release. - Tags are created at https://github.com/centerofci/mathesar/tags. You can also tag locally and push the tag to GitHub. -## 3. Build, tag, and push release Docker images +### 3. Build, tag, and push release Docker images - Clone a fresh version of the repo from `master`. - `cd` to repository, check out the commit that you've tagged. - Make sure you're logged into DockerHub (credentials are in 1Password) @@ -128,10 +128,10 @@ For details on the Release management process, refer the [Release management ong ``` - Note that the release needs to be tagged as `latest`. -## 4. Create release in GitHub +### 4. Create release in GitHub - Releases are made here: https://github.com/centerofci/mathesar/releases - The release should be associated with the tag you made in the previous step and use the release notes. - Auto generate the list of closed issues using GitHub's UI and add them to the release notes. -## 5. Merge master into develop +### 5. Merge master into develop - After the release is made successfully, merge the `master` branch into `develop`. \ No newline at end of file diff --git a/docs/engineering/research/formulas.md b/docs/engineering/research/formulas.md index 4fe8424fc..e6768008a 100644 --- a/docs/engineering/research/formulas.md +++ b/docs/engineering/research/formulas.md @@ -1,5 +1,3 @@ -# formulas - # Formulas research This is a report which details some research that Sean did in 2023-06 to vet the feasibility of implementing Mathesar formulas using PostgreSQL generated columns. diff --git a/docs/engineering/resources.md b/docs/engineering/resources.md index 35aad6285..0b9fde545 100644 --- a/docs/engineering/resources.md +++ b/docs/engineering/resources.md @@ -2,33 +2,33 @@ This is a miscellaneous set of reading and resources that may or may not be relevant to Mathesar. **Feel free to add more!** -# APIs +## APIs - [Best practices for REST API design - Stack Overflow Blog](https://stackoverflow.blog/2020/03/02/best-practices-for-rest-api-design/) -# Deployment +## Deployment - [Best Practices Around Production Ready Web Apps with Docker Compose](https://nickjanetakis.com/blog/best-practices-around-production-ready-web-apps-with-docker-compose) -# Licensing +## Licensing - [Maintaining Permissive-Licensed Files in a GPL-Licensed Project: Guidelines for Developers](https://softwarefreedom.org/resources/2007/gpl-non-gpl-collaboration.html) -# Postgres +## Postgres Information on Postgres related projects and tools. -## Articles +### Articles - [Migration Opinions](https://github.com/graphile/migrate#opinions) opinions on writing database migrations in Postgres. Invaluable for long-running production production projects with breaking schema changes. - [Evaluating PostGraphile For Your Project](https://www.graphile.org/postgraphile/evaluating/): The section on "Schema Driven APIs" here has some great insights. - [Advice on Indexes in Postgres](https://www.graphile.org/postgraphile/postgresql-indexes/) - [10 Things I Hate About PostgreSQL](https://rbranson.medium.com/10-things-i-hate-about-postgresql-20dbab8c2791) -### Primary Keys +#### Primary Keys - [UUID, serial or identity columns for PostgreSQL auto-generated primary keys?](https://www.cybertec-postgresql.com/en/uuid-serial-or-identity-columns-for-postgresql-auto-generated-primary-keys/) - [Sequential UUID Generators](https://www.2ndquadrant.com/en/blog/sequential-uuid-generators/) -## Projects +### Projects - The [graphile](https://github.com/graphile) organization on GitHub is full of postgres-related projects written in TypeScript. Clean, straightforward codebases with very good documentation. -### Introspection + API Generation +#### Introspection + API Generation - [PostgREST](https://github.com/PostgREST/postgrest) - Introspects, generates, and serves OpenAPI-complaint REST apis from Postgres databases. - [Postgraphile](https://github.com/graphile/postgraphile) The same thing, but for GraphQL and written in TypeScript. They have really rich documentation that gets into a lot of interesting Postgres best practices and architectural patterns. - A package for realtime communication with Postgres `LISTEN / NOTIFY` https://github.com/graphile/graphile-engine/tree/v4/packages/pg-pubsub diff --git a/docs/engineering/specs/ddl.md b/docs/engineering/specs/ddl.md index 33f1cffc8..a6e74cbfa 100644 --- a/docs/engineering/specs/ddl.md +++ b/docs/engineering/specs/ddl.md @@ -6,13 +6,13 @@ Data Definition Language (DDL) operations are those involving creating, altering The main interest we'll have in these operations in this context is to allow the user to refine or modify their data model, and have that model reflected in the underlying DB model. We'll mostly focus on table creation and manipulation, since that's the main expected operation of this type. -# Goals +## Goals - User should be able to create tables - User should be able to define tables in terms of already existing tables (e.g., joins, or by splitting columns out of a table) - User should be able to recover previous models. - For DDL ops, it's not clear this should be an "undo" flow. The user might start with one big table, normalize their DB schema to reduce repetition for some manual input, then want to see everything back on one big table again. It's more of having different models with the same underlying data. -# DDL function signatures +## DDL function signatures - Since DDL operations do not consistently support transactions, we should prioritize safety and correctness for these functions. - In Python, these functions should take non-immutable types (e.g., strings) as input, and return non-immutable types as outputs. - Ideally, these immutable types should be strings. diff --git a/docs/engineering/specs/dml.md b/docs/engineering/specs/dml.md index fd6da8734..a10e75243 100644 --- a/docs/engineering/specs/dml.md +++ b/docs/engineering/specs/dml.md @@ -2,7 +2,7 @@ DML (Data Manipulation Language) operations involve adding (inserting), deleting, and modifying (updating) data in a database. This section deals with details about importing data, adding it to tables, and modifying/deleting records from tables. -# Goals +## Goals - User should be able to insert arbitrary data into tables. - Given a table with an appropriate column set, a user should be able to import more data to that table. - Given a table derived from a data import (say, of a CSV), and tables derived from that table through improved data modeling, a user should be able to modify any of the views of the data (i.e., one of the normalized tables, or the original non-normalized format), and maintain consistency. @@ -11,7 +11,7 @@ DML (Data Manipulation Language) operations involve adding (inserting), deleting - They might want to also add data manually using the improved model. - Undo. The user should be able to undo inserts (easy), deletes (kinda easy) and updates (a little more difficult). -# DML Function signatures +## DML Function signatures - These (as opposed to DDL functions) are allowed mutable types (e.g., an SQLAlchemy `Table` object as input and output) - We'll prioritize speed and efficiency over safety and accuracy for these. - We expect these functions to be run quite often, and for reactivity to be essential. diff --git a/docs/engineering/specs/list-data-type-frontend-specs.md b/docs/engineering/specs/list-data-type-frontend-specs.md index 15faaf773..518d74e4d 100644 --- a/docs/engineering/specs/list-data-type-frontend-specs.md +++ b/docs/engineering/specs/list-data-type-frontend-specs.md @@ -1,6 +1,5 @@ # List data type - Frontend specs -# List data type ## Creating a column From the table's view: 1. The user clicks on the "+" button. diff --git a/docs/engineering/specs/syncing.md b/docs/engineering/specs/syncing.md index 930746c3f..36159f299 100644 --- a/docs/engineering/specs/syncing.md +++ b/docs/engineering/specs/syncing.md @@ -2,28 +2,28 @@ We synchronize database objects between the database and the web service layers through reflection of those objects. For any object created through the Mathesar web interface, we do this by having the web service create a model instance in its service database corresponding to the created object.  However, for objects created via other means, we reflect these in the Mathesar UI by capturing the state of relevant objects in the database, and propagating that state upwards to the web service's models, and then eventually the UI. For more information about database reflection, see the [SQLAlchemy docs](https://docs.sqlalchemy.org/en/14/core/reflection.html). -# Goal +## Goal The UI should reflect the current state of the DB, subject to performance constraints. -# Database object models +## Database object models We include the `oid` field for each database object model (currently table or schema) in order to identify it in the database. -## Renew models whenever listing +### Renew models whenever listing Whenever we perform an action such as 'list all tables in schema' or 'list all schemata in database', we reflect all DB objects. However, we only do so at most every 5 minutes. This is accomplished by checking the Django cache for a particular key, `database_reflected_recently`. We don't store any actual _data_ in the cache, but rather in the `Schema` and `Table` models. The cache only serves to let us know when to re-reflect the underlying DB objects and make appropriate changes to the model tables. In the current codebase, we trigger the function to check the cache and reflect DB objects when needed whenever we access the queryset for either the `SchemaViewSet` or `TableViewSet` (in `mathesar/views/api.py`). To do this, we use the special `get_queryset` function. This gets picked up and automatically run when the ViewSet is called. Using this allows us to run arbitrary code before returning the queryset. In particular, we call the function `reflect_db_objects` in the same module. This function finds all DB objects by their `oid`, and notes any changes. -# Cache names of objects +## Cache names of objects Since we use the `name` property of DB objects more than anything else, we cache it using the Django cache framework. -# Importing a previously-existing DB +## Importing a previously-existing DB We'll "import" a previously existing DB simply by reflecting all schemata in the database, and then reflecting all tables in each schemata, adding the resulting objects to the `Schema` and `Table` model tables as we go. -# Objects which are always read on the fly +## Objects which are always read on the fly Records and Columns of tables are always read from the DB on the fly. diff --git a/docs/marketing/history.md b/docs/marketing/history.md index 366716399..44b3e1193 100644 --- a/docs/marketing/history.md +++ b/docs/marketing/history.md @@ -2,32 +2,32 @@ This is a list of links where Mathesar was featured. Only notable links or links that generated some discussion are featured here. -# Social media +## Social media -## Twitter +### Twitter - [Reid Hoffman's tweet](https://twitter.com/reidhoffman/status/1633512413776740353?s=20), 2023-03-08 -## Reddit +### Reddit | Subreddit | Link | Poster | Date | |-|-|-|-| | /r/opensource | [Post](https://www.reddit.com/r/opensource/comments/11kdb5e/we_just_released_mathesar_an_intuitive_ui_for/) | Kriti | 2023-03-06 | | /r/programming | [Post](https://www.reddit.com/r/programming/comments/11mw9u1/mathesar_slaps_a_webbased_spreadsheet_ui_on_your/) | not us | 2023-03-09 | | /r/selfhosted | [Post](https://www.reddit.com/r/selfhosted/comments/11n2fxx/mathesar_intuitive_ui_for_managing_data_for_users/) | Kriti | 2023-03-09 | -## LinkedIn +### LinkedIn - [Reid Hoffman's post](https://www.linkedin.com/posts/reidhoffman_mathesar-activity-7039278443552780288-gSbT/), 2023-03-08 -## Hacker News +### Hacker News | Link | Poster | Date | | - | - |-| | [Show HN: Mathesar – open-source collaborative UI for Postgres databases](https://news.ycombinator.com/item?id=34999774) | Kriti | 2023-03-02 | -## Discord +### Discord | Server | Link | Poster | Date | | - | - | - | - | | Svelte | [Post](https://discord.com/channels/457912077277855764/479653552869081089) | Sean | 2023-03-07 | -# Newsletters & Blogs +## Newsletters & Blogs - [Changelog.com](https://changelog.com/news/mathesar-slaps-a-webbased-spreadsheet-ui-on-your-postgres-database-qMA2) - [Python Weekly, issue 591](https://mailchi.mp/pythonweekly/python-weekly-issue-591?e=cbb5a51454) - [Postgres Weekly #496](https://postgresweekly.com/issues/496), 2023-03-08 @@ -35,7 +35,7 @@ This is a list of links where Mathesar was featured. Only notable links or links - [What's new in Svelte: April 2023](https://svelte.dev/blog/whats-new-in-svelte-april-2023) -# Launch Announcements +## Launch Announcements - [CCI website blog](https://centerofci.org/introducing-mathesar-an-open-source-database-interface-for-everyone/) - [Twitter: @mathesar_org](https://twitter.com/mathesar_org/status/1631384636096913421) - [Twitter: @centerofci](https://twitter.com/centerofci/status/1631383963053826048) diff --git a/docs/product/concepts/data-types.md b/docs/product/concepts/data-types.md index ca493c0b4..891d081e4 100644 --- a/docs/product/concepts/data-types.md +++ b/docs/product/concepts/data-types.md @@ -1,6 +1,6 @@ # Data Types -# About +## About A **data type** is an attribute of a column in a [Table](/product/concepts/tables). It describes the kind of data that can be stored by a record in that column. Examples of data types include text, number, date, email address, etc. @@ -16,25 +16,25 @@ Examples of grouping include: - numbers based on ranges (e.g. `1-100`, `101-200`, etc.) - emails based on domain names (e.g. `gmail.com`, `outlook.com`, etc.) -## Data Types in Mathesar +### Data Types in Mathesar All [Table](/product/concepts/tables) columns have a data type in the Mathesar UI. By default, we use the text data type since it has the least restrictions, but you can change the data type to anything else. Here's an early design of what selecting a data type will look like: ![screen_shot_2022-01-06_at_2.46.23_pm.png](/assets/product/concepts/data-types/screen_shot_2022-01-06_at_2.46.23_pm.png) You can pick from a set of options and depending on what option you pick (in this example, it's **Number**), you can choose additional settings to configure your column correctly. These additional settings are optional. -### Under the hood +#### Under the hood Unlike [Databases](/product/concepts/databases), [Schemas](/product/concepts/schemas), [Tables](/product/concepts/tables), and [Views](/product/concepts/views), data types are not a direct representation of the configuration in the database. We've simplified data types within Mathesar to make them easier to use. Based on the settings you choose, we pick the correct underlying data type to use in the database. If you're curious, the underlying database configuration is shown as `Database Type` at the bottom of the menu (seen in the screenshot above) -# Usage +## Usage - We recommend that you take the time to set the correct data type for each of your columns to help ensure data quality. For example, if you're storing people's ages in a column, setting the column to the `Number` type will: - Ensure that everything saved in that column is a number. You can't accidentally save someone's age as `34b` or `thirty four`. - Give you access to operations that work on numbers. You can add up everyone's ages, average them, find all the rows belonging to someone older than `25`, group rows by age groups, and so on. - **Note to Mathesar administrators**: Some UI data types such as emails and URLs require custom database types to be installed in order to be available for use. This will be covered in installation instructions for Mathesar users once they are written. -# Future Plans +## Future Plans In the future, users will be able to plug in their own data types into Mathesar. -# Resources +## Resources - [Code-focused wiki page on UI data types](/engineering/glossary/ui-types) - [PostgreSQL documentation for data types](https://www.postgresql.org/docs/current/datatype.html). \ No newline at end of file diff --git a/docs/product/concepts/databases.md b/docs/product/concepts/databases.md index 81b4cef52..e313d7348 100644 --- a/docs/product/concepts/databases.md +++ b/docs/product/concepts/databases.md @@ -1,14 +1,14 @@ # Databases -# About +## About A **database** is an organized collection of data, managed by software called a database management system. Please see ["What is a Database?" on Oracle's website](https://www.oracle.com/database/what-is-database/) if you'd like to know more about the general concept. -## Databases in Mathesar +### Databases in Mathesar Mathesar provides a friendly user interface for databases managed by the [PostgreSQL](https://www.postgresql.org/) database management software. This means that you can connect one or more PostgreSQL databases to Mathesar and use Mathesar to interact with your data. Within a database, you can store different kinds of data in different [Schemas](/product/concepts/schemas). Data is stored in [Tables](/product/concepts/tables) and can also be manipulated through [Views](/product/concepts/views). -# Usage +## Usage - Mathesar will create a new database for users unless one is already provided. - We encourage users to use [Schemas](/product/concepts/schemas) for storing different sets of unrelated data rather than creating multiple databases. \ No newline at end of file diff --git a/docs/product/concepts/filters.md b/docs/product/concepts/filters.md index fc57dae85..ce463067e 100644 --- a/docs/product/concepts/filters.md +++ b/docs/product/concepts/filters.md @@ -1,10 +1,10 @@ # Filters -# About +## About A **Filter** allows you to reduce the amount of data displayed in a [Table](/product/concepts/tables) or a [View](/product/concepts/views) based on specified criteria. -## Example +### Example Imagine this table containing movies. | ID | Title | Release Year | Watched? | @@ -35,9 +35,9 @@ Then you might want to see movies released after 1990 that you've watched, so yo | 2 | The Bourne Identity | 2002 | TRUE | | 7 | Big Trouble | 2002 | TRUE | -## Filters in Mathesar +### Filters in Mathesar You can filter data in a [Table](/product/concepts/tables) or a [View](/product/concepts/views) in Mathesar using either the "Filters" button or each column's menu. -# Further Reading +## Further Reading - If you're curious, you can look at our [engineering page about Filters](/engineering/glossary/filters). diff --git a/docs/product/concepts/schemas.md b/docs/product/concepts/schemas.md index 99d7d01d9..447e328e9 100644 --- a/docs/product/concepts/schemas.md +++ b/docs/product/concepts/schemas.md @@ -1,17 +1,17 @@ # Schemas -# About +## About A **schema** is a workspace within a [Database](/product/concepts/databases) that contains [Tables](/product/concepts/tables), [Views](/product/concepts/views), and other database objects. -## Schemas in Mathesar +### Schemas in Mathesar You can organize your data into schemas in Mathesar and switch between schemas. In the Mathesar UI, you can only open one schema at a time. Every database starts off with a schema called `public`. -# Usage +## Usage - If you have different sets of unrelated data, we recommend using one schema for each set of data. For example, you can use separate schemas for (a) tracking your movie collection, and (b) budgeting. - If you're familiar with [Airtable](https://airtable.com/), think of schemas as a "Base". -# Resources +## Resources - To learn more about how schemas work at the database level, visit the [PostgreSQL documentation](https://www.postgresql.org/docs/current/ddl-schemas.html). \ No newline at end of file diff --git a/docs/product/concepts/tables.md b/docs/product/concepts/tables.md index 8aa0a047e..449edf520 100644 --- a/docs/product/concepts/tables.md +++ b/docs/product/concepts/tables.md @@ -1,6 +1,6 @@ # Tables -# About +## About A **table** is where data in a [Database](/product/concepts/databases) is actually stored. @@ -8,10 +8,10 @@ Tables consist of **columns** and **records** (rows). - A **column** describes the data stored, including (but not limited to ) its [Data Type](/product/concepts/data-types). - A **record** is a single unit of data that can be stored in a table. Each record stores data corresponding to each column defined on the table. -## Tables in Mathesar +### Tables in Mathesar Creating a table is the first step to managing your data within Mathesar. -## Example +### Example | ID | Name | Country | Age | Birth | |-|-|-|-|-| @@ -23,19 +23,19 @@ In this table, we have **5 columns** and **3 records** (rows). - The columns are: `ID`, `Name`, `Country`, `Age`, and `Birth`. - Each record fits the parameters defined by the column. So every record has a number as `ID` and date & time as `Birth`. -# Usage +## Usage In order to avoid duplicating data and make data entry easier, we encourage users to set up a single table for each category of data and then create links betweeen them as needed. In the above example, it would be better to have a separate table for `Country` as follows. -#### People +##### People | ID | Name | Country ID | Age | Birth | |-|-|-|-|-| | 1 | Jayanta Caoimhe | 21 | 22 | March 26, 1999 (8:01 AM) | | 2 | Tatenda Birgitta | 23 | 8 | October 31, 2013 (9:11 PM) | | 3 | Barend Reinhild | 25 | 45 | October 2, 1976 (9:36 AM) | -#### Countries +##### Countries | ID | Country | |-|-| | 21 | Papua New Guinea | diff --git a/docs/product/concepts/views.md b/docs/product/concepts/views.md index 5a37c3adf..08616cb24 100644 --- a/docs/product/concepts/views.md +++ b/docs/product/concepts/views.md @@ -1,6 +1,6 @@ # Views -# About +## About Views are "virtual tables". Data is presented in rows and columns just like a table, but these rows and columns are calculated on the fly by pulling other data from wherever it is stored. @@ -8,7 +8,7 @@ Views can involve combining data from multiple tables or other views, filtering, Under the hood, views are defined by a database (SQL) query. -## Views in Mathesar +### Views in Mathesar We expect that [Tables](/product/concepts/tables) will be used for entering simple data quickly and Views will be used for looking at data, creating reports, or editing inter-related data easily. You should use Views when you'd like to: @@ -18,20 +18,20 @@ You should use Views when you'd like to: - compute data (e.g. subtract the value of one column from another column and show the result in a new column) -# Usage +## Usage [Tables](/product/concepts/tables) that are structured to avoid data duplication (i.e. are properly [normalized](https://en.wikipedia.org/wiki/Database_normalization)) are not the most useful for seeing the most relevant information in a single place. -## Views vs. Tables +### Views vs. Tables To think about the difference between Views and [Tables](/product/concepts/tables), here's an example. Imagine you want to track your movie watches in Mathesar. Questions you might be thinking about are: - On what day of the week do I usually watch movies? - When did I last see Brad Pitt in a movie? - How many movies did I watch that were released in the 90s vs. the 2000s. - What was the last foreign movie I watched? -### Table Structure +#### Table Structure In order to track the data necessary to answer these questions, here's a possible structure for your tables: -#### Movies +##### Movies | ID | Title | Release Year | Primary Language | |-|-|-|-| | 13 | Thelma & Louise | 1991 | English | @@ -40,7 +40,7 @@ In order to track the data necessary to answer these questions, here's a possibl | 41 | Crazy Rich Asians | 2018 | English | | .. | .. | .. | .. | -#### Actors +##### Actors | ID | Name | |-|-| | 34 | Michelle Yeoh | @@ -49,7 +49,7 @@ In order to track the data necessary to answer these questions, here's a possibl | 83 | Zhang Ziyi | | .. | .. | -#### Movie Actor Map +##### Movie Actor Map | ID | Movie ID | Actor ID | |-|-|-| | 67 | 13 | 45 | @@ -60,7 +60,7 @@ In order to track the data necessary to answer these questions, here's a possibl | 97 | 33 | 83 | | .. | .. | .. | -#### Movie Watch +##### Movie Watch | ID | Movie ID | Date | |-|-|-| | 91 | 13 | 2021-10-13 | @@ -70,7 +70,7 @@ In order to track the data necessary to answer these questions, here's a possibl | 203 | 13 | 2019-01-20 | | .. | .. | .. | -### The Role of Views +#### The Role of Views As is obvious, none of these tables answer your questions by themselves, even when filters, sorts, or aggregations are applied to an individual table. Also, when you watch a new movie, logging it would involve adding data to four separate tables. The job of views is to simplify that. Imagine a view with this structure: @@ -85,5 +85,5 @@ Imagine a view with this structure: Once you have set up this view, you could filter and sort to get answers to your questions, or add new movie watches easily by adding all relevant data from one place. -# Future Plans +## Future Plans In the future, we will offer alternate display modes for Views (e.g. calendar, map, kanban, etc.). diff --git a/docs/product/feedback/2023-03.md b/docs/product/feedback/2023-03.md index 4a62cb82e..5f83580b9 100644 --- a/docs/product/feedback/2023-03.md +++ b/docs/product/feedback/2023-03.md @@ -2,9 +2,9 @@ Collection of notable feedback gathered in March 2023. -# Hacker News +## Hacker News -## General +### General > Nothing constructive to say other than this is amazing. A very common idea but rarely done this well, great job! @@ -41,12 +41,12 @@ Collection of notable feedback gathered in March 2023. > > Then I saw - its actually built on Django! Neat. :) -## Documentation +### Documentation > Their local development docs is also nice: https://docs.mathesar.org/contributing/local-dev/ > > I'm jumping into a django/react project right now and found that there's so much hassle from integrating frontend + django + livereload + deployment. This repo is a good example. -## Access control +### Access control > Looks cool however I don’t like that it needs to be setup with a super-user and that it’s limited to your three predetermined access roles. I have a project in mind where this tool could be useful but everything is built with row level security policies and roles, the database includes sensitive data and authentication user for the connection have basically no access by itself, so it looks like Mathesar wouldn’t be useful here. > @@ -56,15 +56,15 @@ Collection of notable feedback gathered in March 2023. > > >Very nice to hear, I will follow your project. One of the projects I was thinking about is financial systems used by government actors such as correctional services. For these customers there’s strong legal requirements for data handling so a database super user with full access is a big no-no even for the most trusted developers internally. > > > > *Kriti*: We completely understand. We want to have the ability for Mathesar to gracefully handle DB users with different permissions (i.e. we'd disable features in the UI based on the permissions of the DB user set up during installation), but we couldn't get that done in time for launch. We'll continue working on this. -## Connecting Mathesar to existing DBs +### Connecting Mathesar to existing DBs > I'm sorry if this question is stupid, I'm still learning a little about technology. The little bit of knowledge I have tells me that my product team shouldn't directly access the same production database as my application. The idea for this product would be to create a copy of my production base and give access to it through this tool? Wouldn't the cost of this replica be too expensive? -## Version control / auditing +### Version control / auditing > I won't repeat supportive comments except to say well done. > > Feature request: historical tracking. E.g. on update, expire the old record with who & when. -## Installation +### Installation > Looks really cool! > > I tried the install script and it asked me for my computer password. It feels really dangerous to give a random script from the internet my password. Could you maybe change this, so this is not necessary? @@ -78,7 +78,7 @@ Collection of notable feedback gathered in March 2023. > > Edit: In case it matters, my personal preference is to install things as linux packages instead of Docker, but I understand that this is a stretch for early-access software. -## Other products +### Other products > Not to distract from this project — it's very cool! — but I'd love to know if there's something similar in principle to this, but that's focused less on collaborative querying, and more on collaborative database administration. > @@ -99,12 +99,12 @@ Collection of notable feedback gathered in March 2023. > > This might be the first free, user-friendly interface for Postgres out there. Closest would be TablePlus but it’s paid. -## Explorations +### Explorations > Looks really nice. Is there any way to export an exploration as SQL? I guess this can be useful when creating complicated views etc. -# Reddit +## Reddit -## Installation +### Installation > Looks fantastic, will def give this a go when a .deb or flatpak happens. > I tried to install this last week and after a couple attempts I had to abandon. I'd really love to try this but that interactive installer is terrible. @@ -117,10 +117,10 @@ Collection of notable feedback gathered in March 2023. > I found this one https://github.com/centerofci/mathesar/blob/develop/docker-compose.yml but since it is not mentioned in the docs, I need to read through and see what I can remove from it like I don't need caddy or watchtower and see if I can get it to work. I see it contains 3 profiles :-( way too complicated for trying right now. > > Thanks, I will follow your progress. I get your idea, but before I run a bash scrip off the internet, I need to check what it does and that is a pain in the a** if you don't use bash regularly. Lots of googling, checking what the next line of the script does, etc. -## Connecting Mathesar to existing DBs +### Connecting Mathesar to existing DBs > This is pure madness. Maybe for an office with 4 employees the blast radius is small enough - otherwise it's the pinnacle of thoughtless democratization of data inevitably resulting in anarchy. -## Demo +### Demo > This is timely as I'm in the market for tools like this. > > However: Demo login account not working :( @@ -130,17 +130,17 @@ Collection of notable feedback gathered in March 2023. > I tried the demo but after creating a schema and starting to add tables I just got blank pages with "stream timeout" and "upstream request timeout". Trouble started when I tried to rename a table, it spun on 'saving' for ages then a message popped up about a bad response from the server. After that nothing would load. I hope I didn't break it. Maybe it's just too popular! >> Thanks, it's working now and seems a bit faster too. -## Developer experience +### Developer experience > Does it have API and SDKs? > > You could generate it using swagger or similar I think, so that we have an automatic js sdk to query/update tables and so on. -## Other products +### Other products > Any benefits over Metabase? > > We use it it let buiness guys look into DB, visualize stuff. -## General or multiple topics +### General or multiple topics > Neat project, looks clean too! Definitely times in the past that I could have done with a web-based DB explorer that's more data-exploration focused and intuitive like this rather than being an admin-tool first. Best of luck with it! > Tried and looks solid.personally i don't like of database list , it should be better with grid of cards , instead of single column. @@ -155,7 +155,7 @@ Collection of notable feedback gathered in March 2023. >> >> Never give up, never surrender. -# GitHub +## GitHub **Category:** Missing Functionality **Attributes:** Undo, Redo, Quick Save, Backup/Restore, Error Recovery @@ -187,11 +187,11 @@ Collection of notable feedback gathered in March 2023. - Upvoted issues: - [Design UX for clipboard interactions](https://github.com/centerofci/mathesar/issues/2377) - upvoted by sponsor -## Installation +### Installation On a GitHub issue: > I opted for not using the script to generate the configuration. -# Other +## Other From Changelog's post: > You know how collaborating with Google Sheets, Airtable & friends is super easy because anybody with a web browser and the correct permissions can get in on it? With Mathesar, you can enable that kind of access to any Postgres database! > diff --git a/docs/product/principles.md b/docs/product/principles.md index 2f28c3a7d..ed061df9f 100644 --- a/docs/product/principles.md +++ b/docs/product/principles.md @@ -3,7 +3,7 @@ > See also [Design Principles](/design/design-principles) {.is-info} -# Product +## Product These principles apply to _what_ Mathesar is. @@ -20,7 +20,7 @@ These principles apply to _what_ Mathesar is. - We aim to actively guide non-technical users into using Mathesar (and databases in general) optimally. - We aim to create a standard PostgreSQL database that technical users can use with other PostgreSQL tooling. -# Process +## Process These principles apply to _how_ we build Mathesar. diff --git a/docs/product/roadmap.md b/docs/product/roadmap.md index e2e67b590..8618b8464 100644 --- a/docs/product/roadmap.md +++ b/docs/product/roadmap.md @@ -2,7 +2,7 @@ Our feature roadmap is tracked via [GitHub milestones](https://github.com/centerofci/mathesar/milestones?direction=asc&sort=due_date&state=open). You can find out more about each feature in our [Concepts](/product/concepts) page. -# About the Roadmap +## About the Roadmap Our initial roadmap is aimed at creating a very basic version of Mathesar that demonstrates our value proposition. To help us pick which features to build for the initial release, we are using three criteria: - Users should have the features needed to manage a basic collaborative media inventory using Mathesar. We do not have a specific set of features, but keeping a simple use case in mind helps us cut features that may be too advanced. @@ -17,10 +17,10 @@ Our initial roadmap is aimed at creating a very basic version of Mathesar that d Once we've released our alpha release, we will then expand the roadmap based on user feedback and enabling more complex use cases. -## Target users +### Target users We're initially targeting users of differing technical skill levels who want to collaborate on the same data. We assume that the person who sets up Mathesar for a group of users will be a developer or sysadmin, but the remaining users may have no pre-existing knowledge of database or database concepts. Mathesar will be designed so that developers can use the Mathesar API or SQL to work with the database instead of the GUI (or build an entirely new GUI). -# Future Features +## Future Features Please see [Feature Ideas](/product/feature-ideas) for a long and disorganized list of feature ideas that we're drawing from to create this roadmap. diff --git a/docs/product/specs/2022-01-views/03-the-query-builder.md b/docs/product/specs/2022-01-views/03-the-query-builder.md index 2781b454e..a1a5fe03c 100644 --- a/docs/product/specs/2022-01-views/03-the-query-builder.md +++ b/docs/product/specs/2022-01-views/03-the-query-builder.md @@ -2,23 +2,23 @@ This page describes how the query builder should work. -# Name +## Name In the UI, the query builder will be called the **Data Explorer** to make it more approachable for non-technical users. This should also help convey to users that they can explore their data here, they're not necessarily doing anything permanent. -# Navigating to the Query Builder +## Navigating to the Query Builder - The query builder should be accessible from anywhere in a schema. It should not be tied to a specific table or view. - The query builder should be able to be pre-populated with a query and linked to. - For example, if a user tries to set a unique constraint for a column that has non-unique values, we may want to open up the query builder with a pre-populated query that shows all duplicate rows. -# Base Table +## Base Table All queries will start from a single "base table". This table will determine which columns are available to be added to the output of the View. The user should be able to set the base table at the start of building their query. They might either explicitly set it or we could infer it from the first column they select. We might also want to show the base table in the query builder UI somehow. -# Selecting Columns +## Selecting Columns Users should be able to add columns to see in the query's output. Users can add columns in two ways: from a table or from a formula. -## From a Table +### From a Table - The user will see a list of [available columns](#available-columns). - Once the user has added a column, we make a best guess for the following attributes: - **Source Relationship**: This is the relationship of the column's table to the base table. @@ -35,7 +35,7 @@ Users should be able to add columns to see in the query's output. Users can add - Once added, the user can also edit formulas and filters. - The user can delete the column if they choose. -## From a Formula +### From a Formula - The user will see a list of available formulas organized by type of formula. - The user can select a formula. They will then be prompted for the variables to use in that formula. - The number of variables and the types of data they accept depend on the formula chosen. @@ -44,21 +44,21 @@ Users should be able to add columns to see in the query's output. Users can add - The user can also apply a filter to the column and edit a filter once applied. - The user can delete the column if they choose. -## Flowchart +### Flowchart Here's a flowchart of decisions that need to be made when adding columns. This is meant to be an illustrative example; we might end up making decisions in a different order or replacing some decisions with assumptions that the user can then change. ![view_flowchart.drawio.png](/assets/product/specs/2022-01-views/03-the-query-builder/view_flowchart.drawio.png) -# Query Refinement +## Query Refinement In addition to selecting output columns, the user should be able to add to the query in the following ways. -## Filtering +### Filtering The user can add filters to filter down the results of the query to a subset of rows. They can use any of the query's ouput columns in filters. The filters available for the column will depend its data type and will offer a similar experience to table or view filters. -## Sorting +### Sorting The user can sort the query results by one or more of the query's ouput columns. Query sorting should provide a similar experience to table or view sorting. -## Summarization +### Summarization The user should be able to summarize the query by one of the query's output columns. This involves the following steps: - The user selects a column to summarize on and the summary type. @@ -73,7 +73,7 @@ Once an summarization is applied, then any new columns added will also be aggreg To keep things simple, only one summarization can be applied at a time. This means that users are limited to one summarization step at a time, but they can use multiple columns to create that summary. -### Example 1: Summarize single column by "first letter" grouping option +#### Example 1: Summarize single column by "first letter" grouping option Consider this query output: @@ -93,7 +93,7 @@ The user applies a summary of "Movie Title" by first letter. The resultant outpu | R | 1 hr 41 min, 1 hr 57 min | Comedy, Crime, Drama, Thriller | | T | 2 hr 11 min, 2 hr 32 min | Adventure, Action, Drama, History | -### Example 2: Summarize multiple columns by distinct values +#### Example 2: Summarize multiple columns by distinct values Consider this de-normalized input table. @@ -120,22 +120,22 @@ The user applies a summary of "Distinct Values" with columns "student_id", "stud | 7890789078 | George | george@uni.com | | 7890789078 | George | george@uni.edu | -## Limit & Offset +### Limit & Offset The user can apply the following to the query: - A limit to the number of rows returned - An offset for where to start the rows returned -# Preview +## Preview - We should show users a live preview of their data as they build their query. - The preview should support changing display options for output columns based on their data type. -# Other Actions +## Other Actions - We should allow users to see a temporary view of their query (this won't be saved as a View but they won't see the "query building" part of the screen) - We should allow users to save their query as a permanent View. -# Implementation Details +## Implementation Details -## Available Columns +### Available Columns When adding query output columns, available columns are calculated as follows: - If a base table has not been set, we show all columns from all tables. @@ -145,10 +145,10 @@ When adding query output columns, available columns are calculated as follows: - If the base table has no relationships to itself within three levels, then we can hide columns from the base table that have already been added to the query's output columns - all columns from tables that the base table has FKs to or with FKs to the base table, up to three levels of FKs away. -## Formulas +### Formulas Please see the next page, [04. Formulas](/product/specs/2022-01-views/04-formulas). -## Column Input Filters +### Column Input Filters When applying filters to an input column (let's call it `X`), the user selects three things: - **Column to apply the filter to**: This could be - any column in the table (`T`) that `X` belongs to diff --git a/docs/product/specs/2022-01-views/04-formulas.md b/docs/product/specs/2022-01-views/04-formulas.md index 1a78a7c1d..fa4f15991 100644 --- a/docs/product/specs/2022-01-views/04-formulas.md +++ b/docs/product/specs/2022-01-views/04-formulas.md @@ -1,6 +1,6 @@ # 04. Formulas -# Structure +## Structure Formulas have the following attributes: - **Name**: A unique human-readable name @@ -13,7 +13,7 @@ Formulas have the following attributes: - **Data Editable?**: Whether data in cells generated by this formula is editable. - **Data Type**: The data type of the column that applying this formula will result in. -## Finding Formulas +### Finding Formulas In order to make finding the right formula easier, we should categorize formulas by the type of variable they accept. - For example, if the user is trying to add a formula to a `DATE` column, we would only show them the formulas that accept the `DATE` data type. - When the user starts by adding a formula column, we should provide an interface that helps users find the formula they want easier. We could provide an autocomplete interface based on formula name, categorize formulas based on type, and/or consider other options. @@ -22,7 +22,7 @@ See below for a _very_ rough representation of the idea. ![view_builder_4.png](/assets/product/specs/2022-01-views/04-formulas/view_builder_4.png) -## Editing Formula Data +### Editing Formula Data When a query is turned into a View, we will allow users to edit data from the View in some cases. Each formula that is editable will define its own editing behavior, but here are some general guidelines: - Formulas that transform the original data don't result in editable data. - e.g. if we apply a "Extract Year" formula to a `DATE` column to transform, say, `2020-01-03` into `2020`, then the `2020` will not be editable. @@ -31,74 +31,74 @@ When a query is turned into a View, we will allow users to edit data from the Vi - e.g. if we apply a "List" formula to list the genres related to a given movie, we can add and remove genres to that list, which will create/delete records in the appropriate underlying tables. - in the future, we may also support editing the genre names themselves. -# Variable Types +## Variable Types To reduce repetition in the formula definitions, variable types are defined here and only the type name is referenced in the lists of formulas. -## Single Record Column Reference +### Single Record Column Reference A column which has only one record related to the query's reference point. This could be a column in the query, a column from the query's base table, or a column that the base table has an FK relationship to (up to three levels deep). If there are multiple ways to get to the column (i.e. there are multiple relationships between the query's base table and the column), then the column reference should also include the relationship to use. -## Multiple Record Column Reference +### Multiple Record Column Reference A column which has multiple records related to the query's reference point, This is generally a column that has a reverse FK relationship (up to three levels deep) to the query's base table. If there are multiple ways to get to the column (i.e. there are multiple relationships between the query's base table and the column), then the column reference should also include the relationship to use. Column references to multiple related records also accept input filters, in case the query only needs to use a subset of the related records. -## Query Column Reference +### Query Column Reference A Single Record Column Reference that's a column in the same query. -## Filters +### Filters A set of filters that can be applied to a column. -## Single Record Text-Like +### Single Record Text-Like Either a **Single Record Column Reference** or a literal string. If using a column reference, it can be of any data type but the data in the column will be treated like text. -## Multiple Record Text-Like +### Multiple Record Text-Like A **Multiple Record Column Reference**. The column can be of any data type but the data in the column will be treated like text. -## Single Record Number-Like +### Single Record Number-Like Either a **Single Record Column Reference** or a literal number. If using a column reference, the data type must be representable as a number (e.g. Number, Money, Duration UI types). -## Multiple Record Number-Like +### Multiple Record Number-Like A **Multiple Record Column Reference**. The data type of the column must be representable as a number (e.g. Number, Money, Duration UI types). -## Single Record Boolean-Like +### Single Record Boolean-Like Either a **Single Record Column Reference** of data type boolean or a literal boolean. -## Single Record Date-Like +### Single Record Date-Like Either a **Single Record Column Reference** of data type date or a literal date. -## Single Record Datetime-Like +### Single Record Datetime-Like Either a **Single Record Column Reference** of data type datetime or a literal datetime. -## Single Record Time-Like +### Single Record Time-Like Either a **Single Record Column Reference** of data type time or a literal time. -## Single Record Date or Time-Like +### Single Record Date or Time-Like Either a **Single Record Column Reference** of data type date/datetime/time or a literal of one of the same types. -## Single Record Duration-Like +### Single Record Duration-Like Either a **Single Record Column Reference** of data type duration or a literal duration. -## Single Record List-Like +### Single Record List-Like Either a **Single Record Column Reference** of data type list or a literal list. -## Integer +### Integer Either a **Single Record Column Reference** of data type integer or a literal integer. -## Choice +### Choice A selection from a pre-determined list of choices. -## Regular Expression +### Regular Expression Literal text expressing a [regular expression](https://www.postgresql.org/docs/current/functions-matching.html#FUNCTIONS-POSIX-REGEXP). -# List of Formulas +## List of Formulas This is a list of view formulas that we should support in the alpha release of Mathesar, categorized into types. - [Record Aggregations *Formulas that aggregate a column across multiple records*](/product/specs/2022-01-views/04-formulas/4a-record-aggregations) diff --git a/docs/product/specs/2022-01-views/04-formulas/4a-record-aggregations.md b/docs/product/specs/2022-01-views/04-formulas/4a-record-aggregations.md index 54a0f4132..748f5e7f2 100644 --- a/docs/product/specs/2022-01-views/04-formulas/4a-record-aggregations.md +++ b/docs/product/specs/2022-01-views/04-formulas/4a-record-aggregations.md @@ -2,7 +2,7 @@ These formulas aggregate the values of a single column across multiple records of the same type. These are used as aggregation types when a multi-record column is added to a query. -# Count +## Count - **Data Type**: Integer - **Description**: Show a count of all values in the column. - **Variables Accepted**: @@ -11,7 +11,7 @@ These formulas aggregate the values of a single column across multiple records o - **Type** Multiple Record Column Reference - **Data Editable?**: No -## Example Query +### Example Query ```sql select movie.title as title, count(actor.name) as num_actors from movie @@ -20,7 +20,7 @@ inner join actor on movie_actor_map.actor_id = actor.id group by movie.title; ``` -# List +## List - **Data Type**: List (list item data type depends on the data type of the column being summarized. - **Description**: Show a list of all values in the column. - **Variables Accepted**: @@ -29,7 +29,7 @@ group by movie.title; - **Type** Multiple Record Text-Like - **Data Editable?**: Yes -## Editing behavior +### Editing behavior Data generated using list formulas are editable in two ways: - **Editing existing items** The user can always edit the contents of an existing item. - We are just editing the relevant record in the underlying table. @@ -50,7 +50,7 @@ To illustrate editing behavior, let's consider the **Movie Actor** view in [Appe Although the illustration above uses a mapping table, it also applies to other forms of relationships. -## Example Query +### Example Query ```sql select movie.title as title, array_agg(actor.name) as actors from movie @@ -59,7 +59,7 @@ inner join actor on movie_actor_map.actor_id = actor.id group by movie.title; ``` -# Average +## Average - **Data Type**: Same as the type of column accepted - **Description**: Show an average of of all values in the column. - **Variables Accepted**: @@ -68,7 +68,7 @@ group by movie.title; - **Type** Multiple Record Number-Like - **Data Editable?**: No -# Minimum +## Minimum - **Data Type**: Same as the type of column accepted - **Description**: Show the minimum value of all values in the column. - **Variables Accepted**: @@ -77,7 +77,7 @@ group by movie.title; - **Type** Multiple Record Number-Like - **Data Editable?**: No -# Maximum +## Maximum - **Data Type**: Same as the type of column accepted - **Description**: Show the maximum value of all values in the column. - **Variables Accepted**: @@ -86,7 +86,7 @@ group by movie.title; - **Type** Multiple Record Number-Like - **Data Editable?**: No -# Median +## Median - **Data Type**: Same as the type of column accepted - **Description**: Show the median value of all values in the column. - **Variables Accepted**: @@ -95,7 +95,7 @@ group by movie.title; - **Type** Multiple Record Number-Like - **Data Editable?**: No -# Sum +## Sum - **Data Type**: Same as the type of column accepted - **Description**: Show the sum of all values in the column. - **Variables Accepted**: @@ -104,7 +104,7 @@ group by movie.title; - **Type** Multiple Record Number-Like - **Data Editable?**: No -# Product +## Product - **Data Type**: Same as the type of column accepted - **Description**: Show the product of all values in the column. - **Variables Accepted**: diff --git a/docs/product/specs/2022-01-views/04-formulas/4b-random-generators.md b/docs/product/specs/2022-01-views/04-formulas/4b-random-generators.md index 7648688d7..55123a05c 100644 --- a/docs/product/specs/2022-01-views/04-formulas/4b-random-generators.md +++ b/docs/product/specs/2022-01-views/04-formulas/4b-random-generators.md @@ -2,7 +2,7 @@ These formulas generate random data. -# Random Number +## Random Number - **Data Type**: Integer or Decimal, depending on variable. - **Description**: Generates a random number based on supplied parameters. @@ -21,19 +21,19 @@ These formulas generate random data. - **Default Value**: TRUE - **Date Editable?**: No -## Implementation +### Implementation We should build a custom function using the `random()` PostgreSQL function. [Docs are here](https://www.postgresql.org/docs/current/functions-math.html), see Table 9.6. -# Random UUID +## Random UUID - **Data Type**: UUID - **Description**: Generates a random UUID - **Variables Accepted**: None - **Date Editable?**: No -## Implementation +### Implementation The `gen_random_uuid()` PostgreSQL function. [Docs are here](https://www.postgresql.org/docs/current/functions-uuid.html). \ No newline at end of file diff --git a/docs/product/specs/2022-01-views/04-formulas/4c-text-formulas.md b/docs/product/specs/2022-01-views/04-formulas/4c-text-formulas.md index 64040aac6..6cb229e66 100644 --- a/docs/product/specs/2022-01-views/04-formulas/4c-text-formulas.md +++ b/docs/product/specs/2022-01-views/04-formulas/4c-text-formulas.md @@ -2,7 +2,7 @@ These formulas operate on text and text-like types. They are based on [PostgreSQL string functions](https://www.postgresql.org/docs/current/functions-string.html). -# Character Count +## Character Count Returns number of characters in the text - **Date Type**: Integer @@ -14,7 +14,7 @@ Returns number of characters in the text - **PostgreSQL Mapping**: `length` function -# Concatenate +## Concatenate Concatenates two strings together. - **Date Type**: Text @@ -28,7 +28,7 @@ Concatenates two strings together. - **Editable?**: No - **PostgreSQL Mapping**: `||` operator -# Contains +## Contains Checks if a text contains another text - **Date Type**: Boolean @@ -47,7 +47,7 @@ Checks if a text contains another text - **PostgreSQL Mapping**: Use `LIKE` operator -# Lowercase +## Lowercase Converts text to lowercase - **Date Type**: Text @@ -58,7 +58,7 @@ Converts text to lowercase - **Editable?**: No - **PostgreSQL Mapping**: `lower` function -# Overlay +## Overlay Overlays a string at the specified position with another string - **Date Type**: Text @@ -79,7 +79,7 @@ Overlays a string at the specified position with another string - **Editable?**: No - **PostgreSQL Mapping**: `overlay` function -# Repeat +## Repeat Repeats a string a given number of times. - **Date Type**: Text @@ -93,7 +93,7 @@ Repeats a string a given number of times. - **Editable?**: No - **PostgreSQL Mapping**: `repeat` function -# Replace +## Replace Replaces all occurrences of a substring with another string. - **Date Type**: Text @@ -110,7 +110,7 @@ Replaces all occurrences of a substring with another string. - **Editable?**: No - **PostgreSQL Mapping**: `replace` function -# Reverse +## Reverse Reverses the text - **Date Type**: Text @@ -121,7 +121,7 @@ Reverses the text - **Editable?**: No - **PostgreSQL Mapping**: `reverse` function -# Starts With +## Starts With Returns a boolean that indicates whether a string starts with another string - **Date Type**: Boolean @@ -135,7 +135,7 @@ Returns a boolean that indicates whether a string starts with another string - **Editable?**: No - **PostgreSQL Mapping**: `starts_with` function -# Substring +## Substring Gets a substring of text at the given position - **Date Type**: Text @@ -155,7 +155,7 @@ Gets a substring of text at the given position - **PostgreSQL Mapping**: `substring` function with this signature: `substring ( string text [ FROM start integer ] [ FOR count integer ] ) → text` -# Title Case +## Title Case Converts text to title case. - **Date Type**: Text @@ -166,7 +166,7 @@ Converts text to title case. - **Editable?**: No - **PostgreSQL Mapping**: `initcap` function -# Trim +## Trim Trims characters from the start or end of text (or both). - **Date Type**: Text @@ -185,7 +185,7 @@ Trims characters from the start or end of text (or both). - **Editable?**: No - **PostgreSQL Mapping**: `trim` function -# Uppercase +## Uppercase Converts text to uppercase - **Date Type**: Text diff --git a/docs/product/specs/2022-01-views/04-formulas/4d-number-formulas.md b/docs/product/specs/2022-01-views/04-formulas/4d-number-formulas.md index 90c7d8a9e..c48fa7287 100644 --- a/docs/product/specs/2022-01-views/04-formulas/4d-number-formulas.md +++ b/docs/product/specs/2022-01-views/04-formulas/4d-number-formulas.md @@ -2,7 +2,7 @@ These formulas operate on text and text-like types. They are based on PostgreSQL [mathematical functions and operators](https://www.postgresql.org/docs/9.1/functions-math.html) and [comparison operators](https://www.postgresql.org/docs/9.1/functions-comparison.html). -# Absolute Value +## Absolute Value Returns the absolute value of the provided number. - **Date Type**: Number @@ -13,7 +13,7 @@ Returns the absolute value of the provided number. - **Editable?**: No - **PostgreSQL Mapping**: `abs()` function or `@` operator -# Add +## Add Adds two numbers together. - **Date Type**: Number @@ -28,7 +28,7 @@ Adds two numbers together. - **PostgreSQL Mapping**: `+` operator -# Ceiling +## Ceiling Returns the ceiling (nearest integer greater than or equal to) of the provided number. - **Date Type**: Number @@ -39,7 +39,7 @@ Returns the ceiling (nearest integer greater than or equal to) of the provided n - **Editable?**: No - **PostgreSQL Mapping**: `ceil` or `ceiling` function. -# Comparison +## Comparison Compares two numbers and returns the result - **Date Type**: Boolean @@ -56,7 +56,7 @@ Compares two numbers and returns the result - **Editable?**: No - **PostgreSQL Mapping**: `>`, `>=`, `=` `!=`, `<=`, `<` operators -# Cube Root +## Cube Root Returns the cube root of the provided number. - **Date Type**: Number @@ -67,7 +67,7 @@ Returns the cube root of the provided number. - **Editable?**: No - **PostgreSQL Mapping**: `cbrt()` function or `||/` operator -# Divide +## Divide Divides a number by another number. - **Date Type**: Number @@ -81,7 +81,7 @@ Divides a number by another number. - **Editable?**: No - **PostgreSQL Mapping**: `/` operator. Note that we should convert integers to decimals before dividing. -# Factorial +## Factorial Returns the factorial of the provided number. - **Date Type**: Number @@ -92,7 +92,7 @@ Returns the factorial of the provided number. - **Editable?**: No - **PostgreSQL Mapping**: `!` or `!!` operator -# Floor +## Floor Returns the floor (nearest integer less than or equal to) of the provided number. - **Date Type**: Number @@ -103,7 +103,7 @@ Returns the floor (nearest integer less than or equal to) of the provided number - **Editable?**: No - **PostgreSQL Mapping**: `floor` function. -# Logarithm +## Logarithm Calculate the logarithm of a number. - **Date Type**: Number @@ -118,7 +118,7 @@ Calculate the logarithm of a number. - **Editable?**: No - **PostgreSQL Mapping**: `log` function -# Logarithm (Natural) +## Logarithm (Natural) Calculate the natural logarithm of a number. - **Date Type**: Number @@ -129,7 +129,7 @@ Calculate the natural logarithm of a number. - **Editable?**: No - **PostgreSQL Mapping**: `ln` function -# Modulo +## Modulo Divides a number by another number and returns the remainder - **Date Type**: Number @@ -143,7 +143,7 @@ Divides a number by another number and returns the remainder - **Editable?**: No - **PostgreSQL Mapping**: `%` operator or `mod` function. -# Multiply +## Multiply Multiplies two numbers together. - **Date Type**: Number @@ -157,7 +157,7 @@ Multiplies two numbers together. - **Editable?**: No - **PostgreSQL Mapping**: `*` operator -# Power +## Power Calculate the exponent of a number. - **Date Type**: Number @@ -171,7 +171,7 @@ Calculate the exponent of a number. - **Editable?**: No - **PostgreSQL Mapping**: `power` function or `^` operator -# Round +## Round Round to a given decimal place. - **Date Type**: Number @@ -187,7 +187,7 @@ Round to a given decimal place. - **PostgreSQL Mapping**: `round` function -# Square Root +## Square Root Returns the square root of the provided number. - **Date Type**: Number @@ -198,7 +198,7 @@ Returns the square root of the provided number. - **Editable?**: No - **PostgreSQL Mapping**: `sqrt()` function or `|/` operator -# Subtract +## Subtract Subtracts a number from another number. - **Date Type**: Number @@ -212,7 +212,7 @@ Subtracts a number from another number. - **Editable?**: No - **PostgreSQL Mapping**: `-` operator -# Truncate +## Truncate Truncate to a given decimal place. - **Date Type**: Number diff --git a/docs/product/specs/2022-01-views/04-formulas/4e-boolean-formulas.md b/docs/product/specs/2022-01-views/04-formulas/4e-boolean-formulas.md index 55b9cea45..be1478255 100644 --- a/docs/product/specs/2022-01-views/04-formulas/4e-boolean-formulas.md +++ b/docs/product/specs/2022-01-views/04-formulas/4e-boolean-formulas.md @@ -2,7 +2,7 @@ These formulas operate on or output boolean types. They are based on PostgreSQL [logical operators](https://www.postgresql.org/docs/9.1/functions-logical.html). -# And +## And Compares values to see if both are true. See this table for return values: | a | b | a AND b | @@ -26,7 +26,7 @@ Compares values to see if both are true. See this table for return values: - **Editable?**: No - **PostgreSQL Mapping**: `AND` operator -# Is False +## Is False Returns whether a particular set of filters doesn't apply to a column. - **Date Type**: Boolean @@ -40,7 +40,7 @@ Returns whether a particular set of filters doesn't apply to a column. - **Editable?**: No - **PostgreSQL Mapping**: Custom -# Is True +## Is True Returns whether a particular set of filters applies to a column. - **Date Type**: Boolean @@ -54,7 +54,7 @@ Returns whether a particular set of filters applies to a column. - **Editable?**: No - **PostgreSQL Mapping**: Custom -# Not +## Not Returns the opposite boolean value of the input value. - **Date Type**: Boolean @@ -65,7 +65,7 @@ Returns the opposite boolean value of the input value. - **Editable?**: No - **PostgreSQL Mapping**: `NOT` operator -# Or +## Or Compares values to see if either one is true. See this table for return values: | a | b | a OR b | diff --git a/docs/product/specs/2022-01-views/04-formulas/4f-datetime-formulas.md b/docs/product/specs/2022-01-views/04-formulas/4f-datetime-formulas.md index fdc26ece1..ba2823caa 100644 --- a/docs/product/specs/2022-01-views/04-formulas/4f-datetime-formulas.md +++ b/docs/product/specs/2022-01-views/04-formulas/4f-datetime-formulas.md @@ -2,7 +2,7 @@ These formulas operate on date & time types. They are based on PostgreSQL [date/time functions and operators](https://www.postgresql.org/docs/9.1/functions-datetime.html). -# Add Duration to Date +## Add Duration to Date Adds a duration to a date or datetime. - **Date Type**: Datetime or Time (depends on input) @@ -16,7 +16,7 @@ Adds a duration to a date or datetime. - **Editable?**: No - **PostgreSQL Mapping**: `+` operator -# Subtract Duration from Date +## Subtract Duration from Date Subtracts a duration from a date or datetime. - **Date Type**: Datetime or Time (depends on input) @@ -30,7 +30,7 @@ Subtracts a duration from a date or datetime. - **Editable?**: No - **PostgreSQL Mapping**: `-` operator -# Date Difference (Age) +## Date Difference (Age) Subtracts a datetime type from a datetime type and returns the resulting duration - **Date Type**: Duration @@ -44,7 +44,7 @@ Subtracts a datetime type from a datetime type and returns the resulting duratio - **Editable?**: No - **PostgreSQL Mapping**: `-` operator -# Current Date +## Current Date Always shows current date. - **Date Type**: Date @@ -52,7 +52,7 @@ Always shows current date. - **Editable?**: No - **PostgreSQL Mapping**: `current_date` function -# Current Time +## Current Time Always shows current time. - **Date Type**: Time @@ -60,7 +60,7 @@ Always shows current time. - **Editable?**: No - **PostgreSQL Mapping**: `current_time` function -# Current Date & Time +## Current Date & Time Always shows current date and time. - **Date Type**: Datetime @@ -68,7 +68,7 @@ Always shows current date and time. - **Editable?**: No - **PostgreSQL Mapping**: `current_timestamp` function -# Truncate +## Truncate Truncates date to specified precision. - **Date Type**: Datetime @@ -95,7 +95,7 @@ Truncates date to specified precision. - **Editable?**: No - **PostgreSQL Mapping**: `date_trunc` function -# Extract +## Extract Extracts a specific part of a date from a datetime. - **Date Type**: Text @@ -130,7 +130,7 @@ Extracts a specific part of a date from a datetime. - **Editable?**: No - **PostgreSQL Mapping**: `extract` function. This then needs to be processed if needed into a friendly representation based on the display options of the column (e.g. `1` for month might become `January`) -# Convert Timezone +## Convert Timezone Converts a datetime into a specified timezone. - **Date Type**: Datetime diff --git a/docs/product/specs/2022-01-views/04-formulas/4g-list-formulas.md b/docs/product/specs/2022-01-views/04-formulas/4g-list-formulas.md index 61cf79ddc..4de1d8a53 100644 --- a/docs/product/specs/2022-01-views/04-formulas/4g-list-formulas.md +++ b/docs/product/specs/2022-01-views/04-formulas/4g-list-formulas.md @@ -2,7 +2,7 @@ These formulas operate on list types. They are based on PostgreSQL [array functions and operators](https://www.postgresql.org/docs/9.1/functions-array.html) and [row and array comparisons](https://www.postgresql.org/docs/9.1/functions-comparisons.html). -# Append +## Append Adds a list item to a list - **Date Type**: List @@ -16,7 +16,7 @@ Adds a list item to a list - **Editable?**: No - **PostgreSQL Mapping**: `||` operator or `array_append` function -# Concatenate +## Concatenate Turns two lists into one big list. - **Date Type**: List @@ -30,7 +30,7 @@ Turns two lists into one big list. - **Editable?**: No - **PostgreSQL Mapping**: `||` operator -# Contains List +## Contains List Checks if all items in a list are also in another list. - **Date Type**: Boolean @@ -44,7 +44,7 @@ Checks if all items in a list are also in another list. - **Editable?**: No - **PostgreSQL Mapping**: `@>` operator -# Contains Item +## Contains Item Checks if a specific item is in a list. - **Date Type**: Boolean @@ -58,7 +58,7 @@ Checks if a specific item is in a list. - **Editable?**: No - **PostgreSQL Mapping**: `IN` construct -# Overlap +## Overlap Checks if two lists have any items in common. - **Date Type**: Boolean @@ -72,7 +72,7 @@ Checks if two lists have any items in common. - **Editable?**: No - **PostgreSQL Mapping**: `&&` operator -# Convert to Text +## Convert to Text Converts a list into text. - **Date Type**: Text @@ -91,7 +91,7 @@ Converts a list into text. - **Editable?**: No - **PostgreSQL Mapping**: `array_length` function -# Length +## Length Returns the count of a list - **Date Type**: Integer diff --git a/docs/product/specs/2022-01-views/04-formulas/4h-cumulative-formulas.md b/docs/product/specs/2022-01-views/04-formulas/4h-cumulative-formulas.md index 8a7907859..13af856e3 100644 --- a/docs/product/specs/2022-01-views/04-formulas/4h-cumulative-formulas.md +++ b/docs/product/specs/2022-01-views/04-formulas/4h-cumulative-formulas.md @@ -2,7 +2,7 @@ These formulas show cumulative values that build on previous rows. -# Previous Row +## Previous Row Shows data from a previous row, in case you want to see it side-by-side with the current row. - **Date Type**: Same as Input Column @@ -17,7 +17,7 @@ Shows data from a previous row, in case you want to see it side-by-side with the - **Editable?**: No - **PostgreSQL Mapping**: We need to write a custom function. -# Rolling Average +## Rolling Average Shows an average of the data in a given column over the past X rows. - **Date Type**: Decimal @@ -31,7 +31,7 @@ Shows an average of the data in a given column over the past X rows. - **Editable?**: No - **PostgreSQL Mapping**: We need to write a custom function. -# Percentage Change +## Percentage Change Shows the percentage changed from the previous value in the row. - **Date Type**: Decimal @@ -42,7 +42,7 @@ Shows the percentage changed from the previous value in the row. - **Editable?**: No - **PostgreSQL Mapping**: We need to write a custom function. -# Percentile +## Percentile Shows the percentile of the current value compared to all values in the column. - **Date Type**: Decimal @@ -53,7 +53,7 @@ Shows the percentile of the current value compared to all values in the column. - **Editable?**: No - **PostgreSQL Mapping**: We need to write a custom function. -# Running Total +## Running Total Shows the running total of all values in the column so far. - **Date Type**: Same as input column diff --git a/docs/product/specs/2022-01-views/04-formulas/4i-regex-formulas.md b/docs/product/specs/2022-01-views/04-formulas/4i-regex-formulas.md index 37407fcd7..c2f1b1f64 100644 --- a/docs/product/specs/2022-01-views/04-formulas/4i-regex-formulas.md +++ b/docs/product/specs/2022-01-views/04-formulas/4i-regex-formulas.md @@ -2,7 +2,7 @@ These formulas use regular expressions. They are based on [PostgreSQL string functions](https://www.postgresql.org/docs/current/functions-string.html). -# Match +## Match Returns the first text that matches a given regular expression. - **Date Type**: Text @@ -16,7 +16,7 @@ Returns the first text that matches a given regular expression. - **Editable?**: No - **PostgreSQL Mapping**: `regexp_match` function -# Matches +## Matches Returns all matches in a text that matches a given regular expression. - **Date Type**: List @@ -30,7 +30,7 @@ Returns all matches in a text that matches a given regular expression. - **Editable?**: No - **PostgreSQL Mapping**: `regexp_matches` function -# Replace +## Replace Replaces matches of a given pattern with the replacement text. - **Date Type**: Text @@ -51,7 +51,7 @@ Replaces matches of a given pattern with the replacement text. - **Editable?**: No - **PostgreSQL Mapping**: `regexp_replace` function -# Split +## Split Splits text into a list using a regular expression as the delimiter - **Date Type**: List diff --git a/docs/product/specs/2022-01-views/05-view-structure.md b/docs/product/specs/2022-01-views/05-view-structure.md index 9f533230f..93d208937 100644 --- a/docs/product/specs/2022-01-views/05-view-structure.md +++ b/docs/product/specs/2022-01-views/05-view-structure.md @@ -4,34 +4,34 @@ Once a query is built using the [Query Builder](/product/specs/2022-01-views/03- This page describes how Views should work. -# Navigating to Views +## Navigating to Views Users should be able to: - See all views in a given schema - Find the view they want - Open a view -# Interacting with a Single View +## Interacting with a Single View Once the user has opened a view, it should support the following features. -## View Data +### View Data - The user should be able to see the View's columns and rows. - Users should be able to apply filters, sorts, and groups to the view data, similar to tables. -## Editing View Data +### Editing View Data - The user should be able to edit data in rows if the column is editable. - Columns that use [Formulas](/product/specs/2022-01-views/04-formulas) have different editing behavior depending on the formula. - Columns that are direct representations of data from an underlying table should be editable. - The user should be able to open up a form to edit the record of any cell with a single record as a source. -## Column Information +### Column Information The user should be able to see all column information for each view column. Please see [06. View Columns](/product/specs/2022-01-views/06-view-columns) for details. -## Query +### Query Users should be able to see the underlying SQL query that powers the view. This is read-only, but can be copied and pasted. We could also potentially show a read-only breakdown of the query into [Query Builder](/product/specs/2022-01-views/03-the-query-builder) features, but I'm not sure if this is feasible or would be a good idea. -## View Structural Updates +### View Structural Updates Users should be able to perform the following actions: - Save filters and sorts applied in the UI to the View query (permanently applying those sorts/filters) - Save filters and sorts applied in the UI to a new View diff --git a/docs/product/specs/2022-01-views/08-appendix.md b/docs/product/specs/2022-01-views/08-appendix.md index a1701f3b9..5fb619e34 100644 --- a/docs/product/specs/2022-01-views/08-appendix.md +++ b/docs/product/specs/2022-01-views/08-appendix.md @@ -1,11 +1,11 @@ # 08. Appendix -# Appendix A: Movie Tables & Views +## Appendix A: Movie Tables & Views These tables and views are used to illustrate concepts in other parts of this spec. -## Tables -### Movie +### Tables +#### Movie | ID | Title | Release Year | Primary Language | |-|-|-|-| | 13 | Thelma & Louise | 1991 | English | @@ -13,7 +13,7 @@ These tables and views are used to illustrate concepts in other parts of this sp | 33 | Crouching Tiger, Hidden Dragon | 2000 | Mandarin | | 41 | Crazy Rich Asians | 2018 | English | -### Person +#### Person | ID | Name | Role | |-|-|-| | 34 | Michelle Yeoh | Actor | @@ -22,7 +22,7 @@ These tables and views are used to illustrate concepts in other parts of this sp | 83 | Zhang Ziyi | Actor | | 84 | Ang Lee | Director | -### Movie Person Map +#### Movie Person Map | ID | Movie ID | Person ID | |-|-|-| | 67 | 13 | 45 | @@ -33,8 +33,8 @@ These tables and views are used to illustrate concepts in other parts of this sp | 97 | 33 | 83 | | 99 | 33 | 84 | -## Views -### Movie Actors +### Views +#### Movie Actors | Title | Release Year | Primary Language | Actors | |-|-|-|-| | Thelma & Louise | 1991 | English | Brad Pitt, Geena Davis | diff --git a/docs/product/specs/undo-quick-save-functionality.md b/docs/product/specs/undo-quick-save-functionality.md index 6f3107349..929a67476 100644 --- a/docs/product/specs/undo-quick-save-functionality.md +++ b/docs/product/specs/undo-quick-save-functionality.md @@ -1,7 +1,5 @@ # Quick Save Functionality -# Quick Save Functionality - ## Objective Implement a quick save functionality to protect users from unintended actions and allow them to recover their work to a specific point in time. diff --git a/docs/projects/2023/04/public-links-research.md b/docs/projects/2023/04/public-links-research.md index f9f5019a9..0c2bf3b4c 100644 --- a/docs/projects/2023/04/public-links-research.md +++ b/docs/projects/2023/04/public-links-research.md @@ -1,7 +1,5 @@ # Research: Publicly shareable links -# Research: Publicly shareable links - **Name**: Research: Publicly shareable links **Status**: Complete **Follow up**: [Shareable links implementation project](/projects/shareable-links-implementation) diff --git a/docs/projects/2023/04/t-shirts.md b/docs/projects/2023/04/t-shirts.md index e18b8adcb..758ef36e4 100644 --- a/docs/projects/2023/04/t-shirts.md +++ b/docs/projects/2023/04/t-shirts.md @@ -1,5 +1,3 @@ -# Mathesar T-Shirts - # Mathesar T-shirt Project **Status**: Complete diff --git a/docs/team/meeting-notes/2021/04/2021-04.md b/docs/team/meeting-notes/2021/04/2021-04.md index 2ba0fbac6..5653ddcde 100644 --- a/docs/team/meeting-notes/2021/04/2021-04.md +++ b/docs/team/meeting-notes/2021/04/2021-04.md @@ -1,10 +1,10 @@ # April 2021 meeting notes -# 2021-04-26 -## Welcome Pavish! +## 2021-04-26 +### Welcome Pavish! - Welcome! -## Last week retrospective +### Last week retrospective - Ghislaine: wireframes & roadmap update - Went well - Discovered a lot of things while making wireframes @@ -25,7 +25,7 @@ - Started discussion re: front-end framework and repo structure - Finalized Svelte/Django templates + monorepo -## This week's plan +### This week's plan - Ghislaine: - Wireframes for data explorer - Move current work to wiki @@ -46,7 +46,7 @@ - Set up workflows required for client - Set up Docker -## Community readiness check-in +### Community readiness check-in - License - Hopefully finalized next week - Ticket creation @@ -54,13 +54,13 @@ - Other community building ideas? - Too early -## Internship update +### Internship update - FYI, we have an intern from May 17 to Aug 20 (`@eito-fis`) -## Team event +### Team event - Galaxy Quest -## Discussion +### Discussion - How to install Mathesar? - Use docker for now - Installation instructions for deployment, we'll figure this out as its own task: @@ -68,20 +68,20 @@ - How to handle large amounts of data? - Two approaches: canvas vs. replace data in elements -# 2021-04-19 -## Frontend hiring update +## 2021-04-19 +### Frontend hiring update - Pavish is onboard, pending logistics - 2 month notice, starts June 21st - Will join meetings and do some part-time work starting April 26th -## Wiki https://wiki.mathesar.org/ +### Wiki https://wiki.mathesar.org/ - GitHub repo: https://github.com/centerofci/mathesar-wiki - Move mathesar-notes to it? - Affirmed by all - Set up private area for our competitor notes, strategy, meeting notes, etc. - Define rules for what is sensitive information in the wiki -## This week's plan +### This week's plan - Ghislaine - Initial wireframes and roadmap update - Brent @@ -102,14 +102,14 @@ - CRUD for tables, schemas - CRUD for records -## Ticket creation +### Ticket creation - Everyone to create tickets for their work - Deferred to later discussion - Should we create an issue template for internal feature tickets? (existing templates only cover external feature requests) - When should we start creating tickets in advance for the next sprint or for contributors? -# 2021-04-13 -## Team collaboration process +## 2021-04-13 +### Team collaboration process - Standups - Weekly meeting - Agenda: planning for the next week (sprint) @@ -132,13 +132,13 @@ - In a couple of weeks, we'll talk about the process with collaborating with the community - Brent: think about "create a type" issue template -## Frontend hiring update +### Frontend hiring update - Two candidates in the pipeline - Perhaps Ghislaine would like to talk to the Frontend Engineer - TODO: Share interview notes with Ghislaine - TODO: Prepare Interview Questions -## Roadmap discussion +### Roadmap discussion - Goals - Timeline - Will be decided after we agree on MVP goals @@ -157,7 +157,7 @@ - Ghislaine will do some research and write up user journey - Then we'll measure roadmap against it and refine roadmap -## Kriti's use cases for Mathesar +### Kriti's use cases for Mathesar - Book collection inventory - would be great to support barcode scanning that looks up books - DVD/Bluray collection inventory @@ -166,7 +166,7 @@ - would be great to be able to upload Apple Health exports, Migraine Buddy exports, MyFitnessPal exports etc. and find patterns in data, correlate different types of data - Track lectures/courses that I want to watch, have already watched, etc. -## Plan for this week +### Plan for this week - User journey and roadmap refinement - Continue code on essential things - Flag things that are potentially technically difficult diff --git a/docs/team/meeting-notes/2021/05/2021-05.md b/docs/team/meeting-notes/2021/05/2021-05.md index a67f97f32..23dad765e 100644 --- a/docs/team/meeting-notes/2021/05/2021-05.md +++ b/docs/team/meeting-notes/2021/05/2021-05.md @@ -1,13 +1,13 @@ # May 2021 meeting notes -# 2021-05-25 +## 2021-05-25 -## Welcome Eamon! +### Welcome Eamon! - Eamon started yesterday - Introductions all around - Nice work on link-rot issue! -## New Design Review channel +### New Design Review channel - `#design-review:matrix.mathesar.org` - for design review (like code review) - Review process: @@ -26,7 +26,7 @@ - Ghislaine will summarize above process on the wiki - Please prioritize reviews, like any other work that blocks people -## Design / Development Process follow up +### Design / Development Process follow up - Goal is for design to be two features ahead of development - There should always be three features (let's call them A, B, and C) in progress: - A is being implemented @@ -37,28 +37,28 @@ - A, B, C are separate types of work, so shouldn't conflict. - Let's try it! -## Standups +### Standups - Linking to issues and PRs in your standup is encouraged, but please describe them in addition so that people can get context without have to click through -## Typescript port +### Typescript port - GH discussion is open: https://github.com/centerofci/mathesar/discussions/145 - We could have a brief discussion on call if the team has not yet gone through the GH discussion - Concern about how many people know Typescript, is it contributor friendly? - (Lots) -## Retrospective +### Retrospective -### Kriti +#### Kriti - Set up Matrix bot - File import API (including schema creation API and overhaul of file storage and copying) - Various discussions -### Pavish +#### Pavish Did not have enough time to work during weekdays. Not as productive as I hoped. - Built Tab and Tree Components - Ported code to TypeScript -### Brent +#### Brent - Finished PRs to implement custom logic for casting between types - Finished PRs to use that casting in type inference algorithm - Finished PRs to use type inference algorithm to determine types for table columns @@ -66,13 +66,13 @@ Did not have enough time to work during weekdays. Not as productive as I hoped. - Submitted PR to allow getting valid grouping filters, then filtering table by them to create groups of records. - Started / contributed to discussions about types, lossy type conversions, and assumptions about user roles. -### Ghislaine +#### Ghislaine - Worked on prototype for ‘Add new table from file import’ - We had a design review and changes were implemented - Documentation updates to inventory use case - Had to update my knowledge on figma prototyping -## Active work plan +### Active work plan Implementation: Read only tables Review/Prep: CSV import @@ -80,7 +80,7 @@ Design: Filtering, sorting, grouping & Pagination Next: Editing tables -### Kriti +#### Kriti - Document general implementation principles for API - Finish up file import API work, including table creation from file import. - Work on TSV file imports with Joi @@ -88,7 +88,7 @@ Next: Editing tables I have more communication training and interviews this week, so I don't have as much time. -### Pavish +#### Pavish - Define clear route boundaries on client for table view and import - Switch to new api for import - Maintain open tab and tables state in url @@ -97,31 +97,31 @@ I will have only about an hour during the weekdays, this week and next. Will hav Next week - on call, may have to drop out during meeting. -### Brent +#### Brent - Finish up current PR review process (regarding filtering) - Kriti: I merged this already - Work on syncing objects between data DB and models (webapp) - Catch up with Eamon about endpoints for functions - Maybe help with API work -### Ghislaine +#### Ghislaine - Work on pagination update for read-only tables - Update design process for reviews and definition of done - Start work on design for filtering, sorting and grouping of table data -### Eamon +#### Eamon - Download image automation - Meet with Brent about endpoints - Start endpoints work -## Upcoming work for backend +### Upcoming work for backend - We have three people on the backend currently, so we'll need to get ahead of frontend a little bit for the next few weeks - Next issue for whoever is free on the backend first: https://github.com/centerofci/mathesar/issues/69 - Other backend issue: come up with install instructions for Mathesar -# 2021-05-21 +## 2021-05-21 -## Meetings starting next week +### Meetings starting next week - Fewer meetings starting next week - Meetings so far are frequent, we are relying too much on synchronous discussion - Async discussions are better, we can think about things more, and it's documented @@ -131,7 +131,7 @@ Next week - on call, may have to drop out during meeting. - Will also give us more uninterrupted time - Team events after Pavish starts full time for team building -## Eamon starting Monday +### Eamon starting Monday - New Summer intern - He'll be in meetings, research sync, LWT, etc. - We'll treat him as a member of the team @@ -146,16 +146,16 @@ Next week - on call, may have to drop out during meeting. - We'll need to make sure meeting times work -# 2021-05-19 +## 2021-05-19 -## Import from file user flow +### Import from file user flow (Ghislaine demoed [wireframes](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=230%3A0&node-id=309%3A173&viewport=1890%2C570%2C1.3593106269836426&scaling=scale-down-width) on Figma) -### Remote URL vs. Local file upload +#### Remote URL vs. Local file upload How wiki.js shows it: ![](/assets/meeting-notes/may-2021/H1XXmRMFu.png ) -### Feedback +#### Feedback - "Import Data" panel - need to show a file uploading / loading indicator in "Import Data" step - we need to ask user whether to consider first row as header @@ -174,7 +174,7 @@ How wiki.js shows it: - Make it very clear that the window shouldn't be closed - Needs explanatory text / guiding user through steps and adding confirmations -### Discussion about combining views +#### Discussion about combining views Screenshot from Dabble DB ![](/assets/meeting-notes/may-2021/ryhXWAGYu.png ) @@ -185,11 +185,11 @@ Screenshot from Dabble DB - Once they click on the table, it takes them to the DabbleDB kind of view for the table - Sidebar should have separate icon for this -### New design components needed +#### New design components needed - System notifications - Progress bar and errors -## Roadmap updates +### Roadmap updates - Roadmap should help us define the basic product functionality - We should stop some product definition work before we have the MVP - Let's focus on basic features first before building hairy features @@ -204,7 +204,7 @@ Screenshot from Dabble DB - Installation - Multiple Databases -## Paginated view vs. Infinite scrolling +### Paginated view vs. Infinite scrolling - Paginated might support the interactions we require for editing records. - We won't aim to have a full spreadsheet-ui experience - We'll only support spreadsheet like operations on visible records @@ -218,42 +218,42 @@ Grouping on Dabble DB (December 2007 etc. are the groups) Ghislaine will update read only spec with pagination controls -## Maubot +### Maubot - GitHub Updates and Wiki Updates (private) rooms set up - Let Kriti know if you want any plugins installed, list on README https://github.com/maubot/maubot -# 2021-05-17 -## Last week retrospective +## 2021-05-17 +### Last week retrospective -### Kriti +#### Kriti Not a very productive week. - Meetings/conversations/discussions - Matrix server setup -### Pavish +#### Pavish Was only able to work for a couple days - Discussions on readonly table - Started working on table view - Analyzed virtual scroll implementations -### Brent +#### Brent - Type casting, altering columns - Implemented altering a column to a desired supported type - Started discussions around different aspects of types / type casting from a UX perspective - Implemented restricted / custom type casting logic based on outcomes of those discussions - Overall, made less progress than hoped, but realized that some details needed clarification / buy-in before implementation made sense. -### Ghislaine +#### Ghislaine - Readonly table wireframes and specs - Setup design figma file and start defining components - Update design wiki to include design documents -## This week's plan +### This week's plan We'll be continuing with read only tables, table creation via data imports are next, followed by table editing (DML). -### Kriti +#### Kriti - Set up Matrix bot - File import API - Sync DB and webapp if DB changes out from under webapp @@ -261,22 +261,22 @@ We'll be continuing with read only tables, table creation via data imports are n Will also be working on CCI IT interviews and communication training. -### Pavish +#### Pavish - Try and complete the read-only table view, with virtual scroll, accessibility and selection handling - Discuss on ways to load data for table - Handling row position change - Merging buckets based on PK on UI -### Ghislaine +#### Ghislaine - Add table via data import from CSV / Paste - Define structure for figma component library - Define basic typography styles - Update design wiki to include design patterns -### Brent +#### Brent - Continue work on type casting, and type inference. We'll be restricting attention to supported types only. -## Interaction Patterns for Adding Tables +### Interaction Patterns for Adding Tables Three questions: - Do we at some point want people to add multiple tables at the time? - Yes, zip file of multiple CSVs or excel file where each sheet becomes a table @@ -286,37 +286,37 @@ Three questions: - Useful during table creation from scratch (blank). - Blank tables, will discuss later. -### Other Discussion +#### Other Discussion - When we import a CSV, along with allowing changing types, we'd also allow changing column namesj during an intermediary step in the UI - The immediate table creation in the backend is just a backend implementation detail, the UI should still show a limbo state -## UI Library and Font Choice +### UI Library and Font Choice - right now, just using an Apple system font - We probably want it to be an open-licensed font - We need to make sure it has all the characters necessary - It's also important that we have something that does a good job with digits: 0 vs O, etc. (also consistent sizing) -### Google Fonts +#### Google Fonts Google Fonts are open and could be one option - Pavish likes Open Sans -### System Fonts +#### System Fonts System fonts might be good, better for performance (no need to load font) - https://meta.stackexchange.com/questions/364048/we-are-switching-to-system-fonts-on-may-10-2021 - https://markdotto.com/2018/02/07/github-system-fonts/ -### Discussion +#### Discussion - Allowing user to use monospace font might be useful, especially for data entry - Current font size does not work for small screens, Ghislaine will work on defining this better when defining the typography - We will use relative sizes - Ghislaine will find related article before next check in - Use TypeScale to define font size https://type-scale.com/ -## Wednesday's meeting +### Wednesday's meeting - Wednesday meeting moved two hours later -## Technical spec / design / implementation process +### Technical spec / design / implementation process ![upload_f6576614be01e5b8aeaac90dbb9eaa5c.png](/assets/meeting-notes/may-2021/upload_f6576614be01e5b8aeaac90dbb9eaa5c.png) @@ -330,13 +330,13 @@ System fonts might be good, better for performance (no need to load font) - Some things depend on UI (e.g. how are we conceiving editing a table, by row or by cell) - Actually, editing a table is product decisions, not design decisions -### Conclusion +#### Conclusion Design work should happen serially, one feature at a time. - We can try to have conversations in parallel, but it could get confusing, so let's hold off for now and do one thing at a time. - We might have cycles where some weeks are focused more on product decisions and research, others on implementation - We can always start a GitHub discussion if inspiration strikes -## Handling data load for table +### Handling data load for table - How to merge rows in UI when there's no primary key? - Maybe have a special read-only paginated (no-infinite scroll) display for tables without a primary key. - Will continue discussion async @@ -348,8 +348,8 @@ Design work should happen serially, one feature at a time. - We might want to wonder why the user is scrolling 500k rows, they may want to compare data between rows that are far apart and be frustrated that it takes time to load - This is probably a separate feature, we currently just don't want to break mysteriously with large tables. -# 2021-05-14 -## Import from CSV +## 2021-05-14 +### Import from CSV Discussion of functionality - We'll support: - Import local file @@ -381,7 +381,7 @@ Discussion of functionality - Not going to go into modifying types yet - Provide a summary for tables to show fields and types -## Custom type casts +### Custom type casts - Postgres is far too liberal while casting types - e.g. casting to boolean, "yesterday" becomes "yes", which is True - decimals --> durations casts to integers first @@ -422,8 +422,8 @@ Discussion of functionality - also need to identify whether column is distinct/unique - default value for column -# 2021-05-12 -## Design Hand-off Document +## 2021-05-12 +### Design Hand-off Document - Document Sections (UX, Interactions and UI) - Wiki Entry for [Deliverables](https://wiki.mathesar.org/en/design/process/deliverables) - Throwaway vs. permanent documents @@ -432,18 +432,18 @@ Discussion of functionality - We'll discuss the spec asynchronously - Implementation phase will be documented after we actually implement a spec -## New Matrix server +### New Matrix server - matrix.mathesar.org - Accounts limited to core team -## More wiki updates +### More wiki updates - New navigation - Concepts page updates - https://wiki.mathesar.org/product/concepts - Design inspiration section: - https://wiki.mathesar.org/design/exploration/data-types -## New GitHub issues +### New GitHub issues Frontend workflow issues - https://github.com/centerofci/mathesar/issues/123 - https://github.com/centerofci/mathesar/issues/124 @@ -460,13 +460,13 @@ Icon library issue - Icon set should offer SVG - Font Awesome offers SVG -# 2021-05-10 -## Ghislaine's Design Process +## 2021-05-10 +### Ghislaine's Design Process (Ghislaine shared Miro board via screenshare) The process is documented on the wiki: https://wiki.mathesar.org/design/process -### Steps +#### Steps - Discovery - Definition - Design @@ -477,17 +477,17 @@ The process is documented on the wiki: https://wiki.mathesar.org/design/process - Testing - Development -### Explanation +#### Explanation - Kriti & Brent did discovery and definition before Ghislaine joined, Ghislaine had to do some of her own work on this. - "Definition" is our product roadmap -### Discussion +#### Discussion - We don't want to go in circles on definition, we should take our product roadmap as our strategy for now - We shouldn't be adding things to the roadmap, but we'll need to clarify or remove certain things. - We'll review the roadmap before next time to make sure essential architectural things are on it: - e.g. undo functionality, localization -## Design Principles & Closing Design Issues +### Design Principles & Closing Design Issues - Ghislaine has rough notes that she's still organizing - Principles are a manual for making decisions so that the designer doesn't have to be involved in every decision - Two different targets for design: @@ -497,7 +497,7 @@ The process is documented on the wiki: https://wiki.mathesar.org/design/process - Competing options - we decide based on something that's implementable sooner and have the optimal impact on the users - e.g. increased effort for users has a big impact (may not be positive) -### Principles draft +#### Principles draft - Change plan if circumstances change - Sufficient documentation to justify design decisions - Shared sense of ownership on design @@ -507,12 +507,12 @@ The process is documented on the wiki: https://wiki.mathesar.org/design/process - Make invisible work visible to the user to build and maintain trust - The work and how to do it is based on knowledge, not belief -### Discussion +#### Discussion - It's important to facilitate users becoming developers, so integrating both process and result is essential - We can try to help users create the results they want through their own development - Having a design system will be helpful so that developers don't have to worry about design, and design system changes can be handled separately -## Upcoming Features +### Upcoming Features What's next after read only tables? - Table creation from file import - Records editing (DML) @@ -520,8 +520,8 @@ What's next after read only tables? TODO: Kriti to add DDL and DML to wiki -## Last week retrospective -### Pavish +### Last week retrospective +#### Pavish * Tickets and implementation for client routing takeover. See current PR. * PR raised also: * includes changes for npm dependency reinstall on starting containers (based on our discussion in Matrix channel) @@ -529,7 +529,7 @@ TODO: Kriti to add DDL and DML to wiki * loads pre-rendered data for implemented routes + through API on second visit * handles scss preprocessing -### Kriti +#### Kriti * Mainly wiki updates, took longer than expected. * Some API work * finished records API @@ -537,26 +537,26 @@ TODO: Kriti to add DDL and DML to wiki * database keys API (to unblock Pavish) * Licensed Mathesar under GPL. -### Brent +#### Brent * Finished testing of old prototype code * Got into types. * Implementation of type casting: Quick, easy (maybe 80 LOC) * Testing of type casting: Complex, and raises a number of questions (ongoing) * Overall, the main difficulty is mostly UX concerns; the implementations are generally easy. -### Ghislaine +#### Ghislaine * Wireframes and UI exploration. * Created issues for design tasks. * Started draft for UX principles, but wanted to experiment a bit with the process before moving forward * Defined initial UI design in Figma. * Wiki updates. -## This week's plan +### This week's plan General plan is to focus on layout and read-only table view, and if no work is needed on that front, focus on supporting upcoming features decided above (probably file import). * Question (from Brent): Is there any support needed in the DB that doesn't currently exist? * No, but types support the upcoming import flow -### Pavish +#### Pavish * Create tickets and work on reusable components required for UI, without finalized css * Textbox (text, password, number, email) * Buttons @@ -567,14 +567,14 @@ General plan is to focus on layout and read-only table view, and if no work is n * Discuss and decide on table view read-only UI * Will not be available during usual working hours on Tuesday and Wednesday, since I have conflicting meetings with my current job -### Brent +#### Brent * Continue with types, unless there's something more pressing (it's not really related to the week goal, so I can flex if needed) * Specifically, I want to bring some precision to the mapping between the types in the roadmap and implementation, and make sure we're on the same page for each and every one. * (Note from Kriti: that would be great) * Finish type casting (it's actually done, but the previous applies) * Move on to type inference (easy once we've made all necessary decisions about each type implementation) -### Kriti +#### Kriti * Sync DB and webapp if DB changes out from under webapp * API updates needed for read-only table view * File import API @@ -585,12 +585,12 @@ General plan is to focus on layout and read-only table view, and if no work is n I'll be spending some time on hiring IT support for CCI. -### Ghislaine +#### Ghislaine * Finalize first version of design process (diagrams, additional activity details) * Complete UI for read-only tables * Present UX principles and add first draft to wiki -## Read-Only Tables +### Read-Only Tables What decisions do we need to make in order to design and develop read-only tables? - How users locate tables - Sidebar navigation @@ -614,11 +614,11 @@ What decisions do we need to make in order to design and develop read-only table - How user modifies table reading - Open another table -### Questions from Engineering +#### Questions from Engineering - How do we handle an existing database with thousands of tables or schemas in the sidebar? - How do we handle a table with hundreds of thousands of records? -### Discussion +#### Discussion - AWS Athena as an example - Left pane has your tables - You can create tabs for different queries (on any tables or combinations of tables from the left pane) @@ -627,27 +627,27 @@ What decisions do we need to make in order to design and develop read-only table - You can save a query so that you can close a tab, and get back to it (it reopens in an editable state) - Tabs from last time are still open when you log back into the account. -# 2021-05-07 -## Wiki restructure walkthrough +## 2021-05-07 +### Wiki restructure walkthrough - New Product section - new Concepts page - New Engineering section - Community & Meeting Notes section moved to the root -### Wiki purpose +#### Wiki purpose - Spending time on the wiki now to set up structure - We should all get into the habit of updating the wiki/documentation regularly, to make it accessible for future contributors / onboarding -### Wiki updates review process +#### Wiki updates review process - We want to keep review process minimal, since we'll be updating the wiki frequently - Major wiki changes should be reported in code review channel and appropriate people tagged - Use your discretion -### Future ideas +#### Future ideas - Blog hosted on the wiki (can post to Hacker News, etc.) - Blog post page type is on the wiki.js roadmap -### Keeping the wiki up to date +#### Keeping the wiki up to date How do we make sure the wiki stays up to date? - Wiki should not need to stay in sync with the code, it should be for higher level documents/specs - We should update wiki when: @@ -658,7 +658,7 @@ How do we make sure the wiki stays up to date? - Kriti will keep an eye on making sure the wiki is up to date - We should figure out how to post wiki updates to Matrix -## Figma designs +### Figma designs (Ghislaine demoed Figma designs) - Designs are exploratory but general feedback is welcome - Icons should always be accompanied by labels @@ -666,7 +666,7 @@ How do we make sure the wiki stays up to date? - Going simple on UI design - Icons are Noun Project -### Questions and Discussion +#### Questions and Discussion - What does the pagination look like? - Header, etc. should be sticky - Are views in Mathesar separate from database views? @@ -680,17 +680,17 @@ How do we make sure the wiki stays up to date? - Will we show the ID in the record view? - Yes -### Ideas +#### Ideas - Pinning columns would be good to help users identify important columns - Can we get back to the record you were editing if you open a record form and go back to the record view? - It's doable -### Next steps +#### Next steps - We'll start with designing the general layout and read-only table - Pavish & Ghislaine will make a list of what decisions block this from their end - We'll also decide on Monday what we'll work on after the read-only view so we can start planning on decisions that need to happen on backend/design front -## Local Development +### Local Development - Image is constructed after package install - typical for prod - requires rebuilding when new packages are installed @@ -698,18 +698,18 @@ How do we make sure the wiki stays up to date? - Improve documentation ASAP - Will continue discussion async -# 2021-05-05 -## Internship update +## 2021-05-05 +### Internship update - Eamon is now starting on May 24. -## Hand-off design to development +### Hand-off design to development -### Questions +#### Questions - What does design need to consider as part of the hand-off to development process? - How does the implementation planning process look like for design solutions? - How do we test and refine design solutions as part of this process? -### Discussion +#### Discussion - Waiting on the entire design to be done before starting frontend developmment seems like overkill - Pavish and Ghislaine can work in parallel - e.g. Pavish can start on the basic table structure while Ghislaine is defining more complex interactions @@ -721,7 +721,7 @@ How do we make sure the wiki stays up to date? - Review meetings should take care of testing/refining desigh solutions - Once we see it live, there will be some refinements noticed that will involve additional issues being created. -## Staging environment +### Staging environment - We should set up a staging environment with real data - Consider the team using Mathesar to keep track of project related information - User interview ideas @@ -730,7 +730,7 @@ How do we make sure the wiki stays up to date? - Set it up on RDS or GCP equivalent so that we can make sure it works - It would be good for all of us to have our own private instances of Mathesar as well that we use regularly -## Design Prototyping Sandbox +### Design Prototyping Sandbox What environment can we create so that design interactions can be built and experienced as prototypes by the team or internal/external stakeholders. - Would be good for Ghislaine to have access to our components so that she can design with HTML - Single source of truth for all styles @@ -744,13 +744,13 @@ Solution: for now, just download latest CSS and apply to local HTML files Ghislaine will match CSS class names to Figma components. -## Design Principles & Closing Design Issues +### Design Principles & Closing Design Issues - Ghislaine is working on these on parallel with Figma designs - We'll discuss on Friday -## Mathesar Philosophy +### Mathesar Philosophy -### Exposing DB Structure via Object View of Data +#### Exposing DB Structure via Object View of Data - Databases are different from spreadsheets because they're actually _less_ table oriented - Fundamental structure is record, everything is relationship between records - Tabular view is useful for some things, but is limited @@ -760,14 +760,14 @@ Ghislaine will match CSS class names to Figma components. - Ghislaine will share paper on spreadsheet vs. record design from MIT - We need a record view -### Plugins +#### Plugins - People should be able to build their own views and types as plugins, probably more - Maybe aggregations or groupings, other types of data manipulations - Too early to discuss plugin architecture in any detail - Mathesar is a "swiss army knife" for data, people should be able to build their own set of tools, not just have a pre-configured set of tools - We should handle reflection really well etc. to make Mathesar useful for power users -## Routing +### Routing (Pavish demoed local Svelte-rendered Mathesar for CSV upload form) - Currently working on table view - Routing is handled client-side @@ -777,13 +777,13 @@ Ghislaine will match CSS class names to Figma components. - We will switch to using serializers to get data and pass it to the template via context - this will also ensure that the format matches the API and allows consistency when working with the API -## Design section on wiki +### Design section on wiki (Kriti demoed work on Design section on wiki) - Ghislaine will update wiki later with Design Principles & Design Process -# 2021-05-03 +## 2021-05-03 -## Meetings +### Meetings - Meetings are three times a week now - We should continue to use Mondays for planning the week out + any discussion. - Wednesdays and Fridays should be for general updates/discussion/talking through problems. ideally, we'll have an agenda in advance (nothing formal, but someone should have a topic they want to talk about or brainstorm/bounce ideas off of people) and cancel the meeting if there's nothing to talk about. @@ -792,15 +792,15 @@ Ghislaine will match CSS class names to Figma components. - The plan is to have fewer meetings in the long term, doing things asynchronously is better for community involvement, documentation, etc. - It's important to have more meetings at this stage until we all fully grok the project and get to know each other better. -## Last week retrospective +### Last week retrospective -### Pavish +#### Pavish - Set up frontend development environment and workflow - everything needed to get started with frontend - Documentation - only updated README, see currently open PR - Kicked off discussions for production build and E2E integration tests - Too early for this right now, but we should keep it in mind -### Ghislaine +#### Ghislaine - A round of wireframes for data exploration, discussions with Kriti - Research revealed that BI platform vs. web analytics etc. all solve similar problems differently - Went back to Dabble DB to look at it again with more information about what's under the hood for us @@ -808,7 +808,7 @@ Ghislaine will match CSS class names to Figma components. - they made different layout decisions - Created a document: [Initial Research and Wireframing Conclusions](https://hackmd.io/@mathesar/SkyvIqKDu) -### Brent +#### Brent - Moved stuff over from the prototype repo to main repo - Prototype used SQLAlchemy 1.3, current repo uses 1.4, which implements the "2.0 API" and deprecates a bunch of things - Took a while to port over, especially `copy` method, which was deprecated for being non-deterministic/imprecise, leading to unexpected behavior @@ -820,7 +820,7 @@ Ghislaine will match CSS class names to Figma components. - Put together demo for Ghislaine and Pavish - A bunch of bug fixes -### Kriti +#### Kriti - Worked mainly on the API - Mostly done - CRUD on records (no PUT (not necessary)) @@ -833,13 +833,13 @@ Ghislaine will match CSS class names to Figma components. - Simplified Issue templates a bit - Meetings, 1:1s, planning, licensing discussions -## This week's plan +### This week's plan -### Pavish +#### Pavish - Implement routing on client (take over from server after intial page load) - Table view using Svelte -### Ghislaine +#### Ghislaine - Learned enough from the wireframing process, we can go higher-fidelity - Will work on creating UI for inventory use case in Figma - No design system yet, since it'll just slow things down @@ -847,11 +847,11 @@ Ghislaine will match CSS class names to Figma components. - Write down Mathesar principles to make decisions - Talk about how to close design issues -### Brent +#### Brent - Writing tests for last week's functionality - Types and type inference -### Kriti +#### Kriti - Update wiki, roadmap, usecases & concepts. Better documentation. - Sync webapp and db tables - GPL for Mathesar @@ -863,7 +863,7 @@ Ghislaine will match CSS class names to Figma components. - API to actually create table - If time permits, allow TSV import (to be co-ordinated with Brent) -## Community readiness check-in +### Community readiness check-in - License - GPL - Roadmap @@ -871,16 +871,16 @@ Ghislaine will match CSS class names to Figma components. - Tickets - Still a few weeks away from making publicly contributable tickets -## Other Discussion +### Other Discussion -### URL Routing +#### URL Routing - Routes might need to be duplicated in both backend (Django URLs) and frontend, since we need to handle routing from both places depending on whether the user is already in the application -### Exposing DB Structure vs. Object View of Data +#### Exposing DB Structure vs. Object View of Data - Not mutually exclusive to expose DB structure and let people work in different views - Discussion will continue async -### CSV Uploads & Type Inference +#### CSV Uploads & Type Inference - Current workflow is to upload a CSV file directly, we want to change it to store the CSV file, show 20-30 lines to the user, infer types, allow users to change types, and then create the table. - Type inference should be in the database, not Python so the fastest way to infer is to make a table full of strings first. - Type inference - public function signatures @@ -889,11 +889,11 @@ Ghislaine will match CSS class names to Figma components. - Automated flow --> upon upload, show types to the user - Discussion will continue async -### Closing Design Issues +#### Closing Design Issues - How to close design issues on GitHub? What needs to be done? - Discussion will continue async -### Matrix-related Discussions +#### Matrix-related Discussions - Tech discussions should happen in the Mathesar public channel where possible. - Set up a separate code review channel for PR review requests. - Mittens says "miaow" diff --git a/docs/team/meeting-notes/2021/06/2021-06.md b/docs/team/meeting-notes/2021/06/2021-06.md index 5c7621a4b..7f5ef5ead 100644 --- a/docs/team/meeting-notes/2021/06/2021-06.md +++ b/docs/team/meeting-notes/2021/06/2021-06.md @@ -1,34 +1,34 @@ # June 2021 meeting notes -# 2021-06-30 +## 2021-06-30 Please see [2021-06-30 retrospective & plan discussion](https://github.com/centerofci/mathesar/discussions/306) -# 2021-06-23 +## 2021-06-23 We moved to using GitHub Discussions instead of having a synchronous meeting. Please see: [2021-06-23 retrospective & plan discussion](https://github.com/centerofci/mathesar/discussions/278). -# 2021-06-15 +## 2021-06-15 -## UI Design for MVP +### UI Design for MVP - How do we determine the expected/frequent interface actions? - Needs and usage patterns of different users - Interface Specs + User Model (Goals, Outcomes, Actions, Reactions) - Usability Testing and Interaction Costs -### Discussion +#### Discussion - Let's not try to come up with a generic approach for how to approach all design specs, we don't need it at this time and it'll slow us down. - We might need to consider usage patterns in some cases, if it affects implementation. - We shouldn't make assumptions about the user. - We then discussed in context of the filtering/sorting/grouping design review. -## Filtering/Sorting/Grouping Design Review +### Filtering/Sorting/Grouping Design Review - The layout is not final, Ghislaine needs to finish editing records, etc. to come up with the final layout. - Pavish is not going to worry about layout while implementing, filters will be implemented with a button to show/hide panel. - Interactions are more important than layout at this stage. - Pavish should feel free to make implementation decisions as needed and create intermediate stages where the UI doesn't match the UI that Ghislaine designs, the MVP and design should match by the end of shipping the MVP. -## Development Workflow +### Development Workflow - We probably don't need a weekly planning session, we can just pick issues from the next milestone once we're done with what we're working on. - Kriti will aim to keep issues specced out a few milestones ahead. - When you're ready to work on something: @@ -39,18 +39,18 @@ Please see: [2021-06-23 retrospective & plan discussion](https://github.com/cent - We'll probably have around 300 issues to resolve in 5 months, which means we need to be closing 3-4 issues each per week. - Obviously this is a rough/imperfect measurement, but might be useful to keep in mind. -## Retrospective +### Retrospective This covers work since our last meeting. General comments: - We did a good job on async discussions last week, both on design review and figuring out implementation on various issues. -### Product +#### Product - GitHub issues with product specs were created through Initial Data Types milestone (which is #8 on the roadmap). - Some issues for future milestones were also created, but only milestones #1-#8 should be viewed as complete - that is, relatively complete. It's expected that new issues may come up during implementation. -### Design +#### Design - Design for filtering, sorting and grouping of tables was completed and fully reviewed/finalized. - Design specs for lookup field component were created and are actively undergoing review. - Initial research for 'Add a Record' design. @@ -58,7 +58,7 @@ General comments: - started with typography and tested it with certain usecases - Started working on color palette with adjectives for the product -### Development +#### Development - DB Syncing may have been too large in scope for single PR - many conflicts whenever merging master into syncing branch - more time spent keeping aligned with other work than producing the feature @@ -67,16 +67,16 @@ General comments: - PR for supporting TSV file imports almost ready for merge, after various discussions and changes in implementation approach. - Work on table pagination in the frontend is ongoing. -### Infrastructure +#### Infrastructure - Wiki automation scripts cleaned up and finished (for now). -## Active Work +### Active Work This is work planned for the upcoming week. -### Product +#### Product No product work planned for this week, other than any incidental work that comes up during design. -### Design +#### Design - Finalize design for [2. Tables for File Import milestone](https://github.com/centerofci/mathesar/milestone/1): - Review and finalize design for lookup field component - Design for [4. Editable Tables milestone](https://github.com/centerofci/mathesar/milestone/4): @@ -85,7 +85,7 @@ No product work planned for this week, other than any incidental work that comes - Deleting records - Work on the testcases for the color palette and the spacing/grids guide in the component library -### Development +#### Development - DB Syncing is almost done for schemata - We should use a PR to validate the different approach (i.e., with name as a cached property rather than field) before completing same for tables - Complete DB syncing for tables @@ -100,24 +100,24 @@ No product work planned for this week, other than any incidental work that comes - Finish TSV file upload - Filters for record list API -### Infrastructure +#### Infrastructure - Set up staging environment for Mathesar. - Set up API documentation site. -## Meetings and meeting time +### Meetings and meeting time - Current time overlaps with Openverse developer chat, which Dhruv participates in and Brent might like to go to. - We're cancelling this meeting in lieu of weekly plan GitHub discussions - People will schedule impromptu calls as needed to collaborate on specific work items, please don't hesitate doing this. - We'll do social events for team bonding - Galaxy Quest next Friday -# 2021-06-08 +## 2021-06-08 -## Welcome Dhruv! +### Welcome Dhruv! - Dhruv is going to be contributing to engineering work - Previously worked with Kriti and Brent at Creative Commons -## Meeting format and communication check-in +### Meeting format and communication check-in - How well are the weekly meetings working for everyone? - Better than 3 times a week - Synchronous design review would be useful @@ -143,7 +143,7 @@ No product work planned for this week, other than any incidental work that comes - If we notice that a convo on Matrix is growing long, we should be assertive about moving it over to GH discussions - Threads and longer messages are better for people to participate in asynchronously. -## New GitHub organization +### New GitHub organization - [Milestones](https://github.com/centerofci/mathesar/milestones?direction=asc&sort=due_date&state=open) to represent roadmap items. - Everything we need for the MVP is there - Deadlines should mean whole stack is done by then @@ -159,39 +159,39 @@ No product work planned for this week, other than any incidental work that comes - This will help with quickly sorting through things in the backlog view - New Future project for post-MVP work. -## New Matrix channels +### New Matrix channels - Kriti set up `#code:matrix.mathesar.org` and `#design:matrix.mathesar.org` for conversations related to code or design. -## Retrospective +### Retrospective -### Dhruvi +#### Dhruvi - Did some reading about Design systems - Started working on the typography - Had 1:1 with Ghislaine and took feedback - Could not do much due to College submissions -### Kriti +#### Kriti - Updated documentation for new contributors - Started converting roadmap to GitHub issues - Various discussions/conversations/meetings/PR review etc. -### Pavish +#### Pavish - Raised PR for readonly table - Participated in some discussions/conversations - Could not work much last week -### Ghislaine +#### Ghislaine - Worked on filtering, sorting and grouping of tables - 1:1 with Dhruvi - Initial feedback on filtering functionality layout and interactions -### Brent +#### Brent - Worked on DB syncing - This will be a bit complex, and involve some changes to the schema and table models - So far, the model changes are done, as well as some db-layer functions - Discussions -### Eamon +#### Eamon - Finished most wiki automation scripts - Image organization - Link rot detection @@ -199,49 +199,49 @@ No product work planned for this week, other than any incidental work that comes - Finished table creation from datafile endpoint - Read lots of documentation -## Upcoming work +### Upcoming work -### Dhruvi +#### Dhruvi - Work on Typography iterations - Work on Color Schemes - Have college exams this week so will be engaged there -### Kriti +#### Kriti - Continue converting roadmap to GitHub issues (lots left to do) - Setting up a Mathesar staging environment (needs to be behind auth). - Set up API documentation if time permits -### Pavish +#### Pavish - Work on GH issues that were spilled over from readonly table PR - Pagination - Non-existent tables handling when present in url -### Ghislaine +#### Ghislaine - Specs for filtering, sorting and grouping - Review structure of design wiki and organize if needed - Specs for lookup field component - Start design for adding a new record to a table -### Brent +#### Brent - DB syncing should be done in short order - Going through many GH tickets, putting in order, starting some - Focusing on backend work for CSV upload milestone. -### Eamon +#### Eamon - Finish cleaning up wiki scripts - Start filtering and sorting endpoints for tables and schemas -# 2021-06-01 +## 2021-06-01 -## Welcome Dhruvi! +### Welcome Dhruvi! - Dhruvi is volunteering part-time to help with design - Previously interned at Creative Commons - Introductions -## Design review guidelines +### Design review guidelines Please read [the wiki page](/design/process/review-guidelines). -## Yet another workflow update +### Yet another workflow update - We have a lot to do to get to the MVP, we need to get ahead on product/design work. - Kriti will focus effort on converting roadmap to backlog of GitHub issues. - Both for design and development. @@ -259,7 +259,7 @@ Please read [the wiki page](/design/process/review-guidelines). - Given two options, if both rely on assumptions about users, choose the one that's simpler to implement. - There are probably exceptions to these, we don't know what they are. -### Discussion +#### Discussion - Applicable to cursor based pagination vs. limit/offset pagination. - Note when we make decision between different implementations so that we can make sure to architect things in a way that we can change implementations later more easily. - Use Engineering Decisions wiki page. @@ -267,24 +267,24 @@ Please read [the wiki page](/design/process/review-guidelines). - It's not a user assumption when one option ends up with users losing data, and another doesn't. - Write down heuristics as we discuss them, not ahead of time. -## New Labels +### New Labels See: https://github.com/centerofci/mathesar/labels - Added prefixes to different types of labels to make usage easier. -## Retrospective +### Retrospective -### Brent +#### Brent - Finished filtering and grouping logic in data layer - Many discussions - PR reviews - Reading Django docs - Working on DB object syncing flow -### Dhruvi +#### Dhruvi - Introductory call with Ghislaine -### Eamon +#### Eamon - Wiki automation scripts - Downloading images - Organizing images @@ -292,7 +292,7 @@ See: https://github.com/centerofci/mathesar/labels - Reviewed Django and Django-REST - Setup development environment -### Ghislaine +#### Ghislaine - Pagination component specs - Add table import feedback/review - Discussions on pagination and naming convention for objects @@ -300,30 +300,30 @@ See: https://github.com/centerofci/mathesar/labels - Prepare first issue for Dhruvi - Started work on Filter, Sort and Group Tables -### Kriti +#### Kriti - API principles: https://wiki.mathesar.org/engineering/standards/api - Many different conversations/discussions - Ticket creation Time taken up by communication training, IT manager interviews, Memorial Day -### Pavish +#### Pavish Couldn't work much last week. - Implemented table & tab sync with url - Some discussions -## Upcoming Work +### Upcoming Work -### Brent +#### Brent - Continuing data syncing - I'll be out tomorrow with dilated eyes until later in the day - If time, minor performance modification w.r.t. getting records -### Dhruvi +#### Dhruvi - Getting familiar with the concepts and roadmap - Start working on the first task (Create a Design library) -### Eamon +#### Eamon - Finish automation scripts (?) - Check for private images on public pages - Fix link rot detection @@ -332,13 +332,13 @@ Couldn't work much last week. - [Table creation](https://github.com/centerofci/mathesar/issues/146) - [TSV Support](https://github.com/centerofci/mathesar/issues/62) -### Ghislaine +#### Ghislaine - Organize and close github design issues - Review design wiki structure - Design for filter, sort and group data - Collaborate w Dhruvi on component library task -### Kriti +#### Kriti FYI: Reassigned table creation API & TSV file issue to Eamon - Convert roadmap into specced out GitHub issues @@ -347,7 +347,7 @@ FYI: Reassigned table creation API & TSV file issue to Eamon Time taken up by IT manager interviews and follow up until end of next week. -### Pavish +#### Pavish Will not be able to allocate enough time this week as well. - Continue working on readonly table view - Include import view within tab diff --git a/docs/team/meeting-notes/2021/07/2021-07.md b/docs/team/meeting-notes/2021/07/2021-07.md index 8dd2777f3..73f691adc 100644 --- a/docs/team/meeting-notes/2021/07/2021-07.md +++ b/docs/team/meeting-notes/2021/07/2021-07.md @@ -1,16 +1,16 @@ # July 2021 meeting notes -# 2021-07-27 +## 2021-07-27 Please see [2021-07-27 planning discussion](https://github.com/centerofci/mathesar/discussions/490) on GitHub Discussions. -# 2021-07-21 +## 2021-07-21 Please see [2021-07-21 planning discussion](https://github.com/centerofci/mathesar/discussions/461) on GitHub Discussions. -# 2021-07-14 +## 2021-07-14 Please see [2021-07-14 planning discussion](https://github.com/centerofci/mathesar/discussions/361) on GitHub Discussions. -# 2021-07-07 +## 2021-07-07 Please see [2021-07-07 planning discussion](https://github.com/centerofci/mathesar/discussions/336) on GitHub Discussions. diff --git a/docs/team/meeting-notes/2021/08/2021-08.md b/docs/team/meeting-notes/2021/08/2021-08.md index f0443a44d..439220104 100644 --- a/docs/team/meeting-notes/2021/08/2021-08.md +++ b/docs/team/meeting-notes/2021/08/2021-08.md @@ -1,16 +1,16 @@ # August 2021 meeting notes -# 2021-08-31 +## 2021-08-31 Please see [2021-08-31 planning discussion](https://github.com/centerofci/mathesar/discussions/614) on GitHub Discussions. -# 2021-08-25 +## 2021-08-25 Please see [2021-08-25 planning discussion](https://github.com/centerofci/mathesar/discussions/604) on GitHub Discussions. -# 2021-08-17 +## 2021-08-17 Please see [2021-08-17 planning discussion](https://github.com/centerofci/mathesar/discussions/574) on GitHub Discussions. -# 2021-08-10 +## 2021-08-10 Please see [2021-08-10 planning discussion](https://github.com/centerofci/mathesar/discussions/539) on GitHub Discussions. -# 2021-08-03 +## 2021-08-03 Please see [2021-08-03 planning discussion](https://github.com/centerofci/mathesar/discussions/519) on GitHub Discussions. \ No newline at end of file diff --git a/docs/team/meeting-notes/2021/09/2021-09.md b/docs/team/meeting-notes/2021/09/2021-09.md index dede532b3..42d4d776d 100644 --- a/docs/team/meeting-notes/2021/09/2021-09.md +++ b/docs/team/meeting-notes/2021/09/2021-09.md @@ -1,34 +1,34 @@ # September 2021 meeting notes -# 2021-09-28 +## 2021-09-28 Please see [2021-09-28 weekly planning](https://github.com/centerofci/mathesar/discussions/684) on GitHub Discussions. -# 2021-09-22 +## 2021-09-22 Please see [2021-09-22 weekly planning](https://github.com/centerofci/mathesar/discussions/677) on GitHub Discussions. -# 2021-09-15 +## 2021-09-15 Please see [2021-09-15 weekly planning](https://github.com/centerofci/mathesar/discussions/665) on GitHub Discussions. -# 2021-09-07 +## 2021-09-07 Please see [2021-09-07 weekly planning](https://github.com/centerofci/mathesar/discussions/644) on GitHub Discussions. -# 2021-09-06 +## 2021-09-06 **Meeting topic**: "State of Mathesar", part 2 - progress so far and next steps. **Attendees**: Brent, Ghislaine, Kriti, Pavish Please see the previous meeting's notes below to get full context for this meeting. -## Process Retrospective +### Process Retrospective -### Product definition +#### Product definition Current process: Kriti making tickets -#### Issues +##### Issues - Lots of tickets, huge volume - Can't hash out the details ahead of time @@ -44,13 +44,13 @@ Current process: Kriti making tickets - Design tickets have the same issue with missing details and interdependencies, but it's assumed at the design-level tickets - Issues open for community contributors (e.g. marked help wanted) need to be fully detailed. -#### New Process +##### New Process - Kriti will continue making tickets - Hash out problems with Kriti as soon as they show up when you're implementing it. - Ad hoc calls or back and forth on the ticket. - Set up a new column in the Active project to put blocked tickets in, that way async communication can also happen and people can move on to other tickets. -### Design work +#### Design work - We're focusing on designing features, not about how to guide non-technical users through the designs. - Do we need to complete the features first before guiding the users first? - We can't guide users until the product is fully finished. @@ -64,7 +64,7 @@ Current process: Kriti making tickets - By the time we ship alpha or beta, we should have one global prototype. - UI revamp will affect them. -### Design review and collaboration +#### Design review and collaboration - Better notifications for design review deadlines - Review cycle has been shortened to 2 days for all designs - This is to match PR review cycles @@ -80,7 +80,7 @@ Current process: Kriti making tickets - UX is something you often notice only when it's missing / pissing you off - Currently not catching "global" flows (i.e., creating a table vs. view might confuse in combination) -### Frontend development +#### Frontend development - Need to flesh out frontend tickets - APIs and design changes needed for the ticket - Having parallel file imports took a week, we probably didn't need it. @@ -90,7 +90,7 @@ Current process: Kriti making tickets - Sync design with frontend - Staging needs to be up, hopefully next week -### Backend development +#### Backend development - How to take a better approach to iteration? - Previous discussion about product planning process covers this. - e.g. money type - currently, inference will be fairly naive. we can pull some parts out of current tickets because cost/benefit is not worth it. @@ -100,7 +100,7 @@ Current process: Kriti making tickets - Refactoring (ongoing) will be helpful - Weird global variables like engines and connections to deal with -### Frontend & backend collaboration +#### Frontend & backend collaboration - For all new frontend tickets, the APIs that are involved should be documented - (already discussed) - API PRs that involve new formats or make changes (e.g. Colin's recent PR), tag Pavish for review @@ -109,7 +109,7 @@ Current process: Kriti making tickets - https://pactflow.io/blog/what-is-contract-testing/ - Mentioned previously: frontend should look at APIs before starting a new milestone -### Work planning +#### Work planning - This involves: - Standups - GitHub workflow (labels, milestones, projects, etc.) @@ -128,7 +128,7 @@ Current process: Kriti making tickets - [Issue triage wiki page](/team/guide/issue-triage) - Weekly planning format and GitHub workflow is working very well -### Communication +#### Communication - Written communication - Check messages frequently - for long-form, make sure to think through things before replying @@ -139,7 +139,7 @@ Current process: Kriti making tickets - Ad-hoc calls - :+1: -### Hiring +#### Hiring - Going well after first round interviews were divided between Kriti and Pavish - Continue to not put first round interviews on a single person - Should we continue to have contribution task? @@ -150,18 +150,18 @@ Current process: Kriti making tickets - It is worth seeing how well they work with us because a bad hire would be very bad for us at this stage. - Get backend engineer job up soon. -### Community management +#### Community management - Some sort of mailing list or way of notifying people about designs, issues you need help with. - Label for community input - for discussions and issues - Can't spend a lot of active time on growing the community right now until alpha release comes out. - Automated script for community-friendly issues to create a mailing list - Eventually monthly community meetings or something like that -### Team events +#### Team events - Great, period between it is fine - Take turns organizing -## Deadline Review +### Deadline Review - Review of [current roadmap](https://github.com/centerofci/mathesar/milestones?direction=asc&sort=due_date&state=open) and update deadlines as needed. - Undo/Redo - High cost, high benefit @@ -169,7 +169,7 @@ Current process: Kriti making tickets - Deadlines currently left unchanged since it's hard to anticipate how much time we'll need in advance - We can't move many deadlines without cutting things, so we'll need to figure out what to cut in a month or so if we move out too many deadlines -## Action Items +### Action Items - Everyone: - use new standup format - Completed, Active, Dependencies @@ -194,17 +194,17 @@ Current process: Kriti making tickets - review frontend tickets and related APIs before starting new milestones - update frontend tickets with API and design changes needed before starting new milestones -# 2021-09-01 +## 2021-09-01 **Meeting topic**: "State of Mathesar", part 1 - progress so far and next steps. **Attendees**: Brent, Ghislaine, Kriti, Pavish -## Introduction +### Introduction - We've been focusing mainly on day-to-day work for a while now. - This meeting's goal is to take some time to look at the bigger picture. -## State of Mathesar -### Where we are +### State of Mathesar +#### Where we are - The entire team has been working together for about 2.5 months - 6 milestones (4 feature milestones) and 200+ issues closed - Until Monday, we had 20 more feature milestones to go. @@ -212,13 +212,13 @@ Current process: Kriti making tickets - This was anticipated, our roadmap was fairly ambitious. - Now we have 13 more to go, with the timeline extended to December. -### Our goals +#### Our goals - Our timeline has not changed, ship an alpha version of Mathesar in 2021. - Timeline can be extended from November to December, but we can't go longer than that. - We only have funding (currently) through the end of 2022, it's essential that we have as much time as possible to find Mathesar some users. - Our product goal is to show the value proposition of Mathesar in our alpha release. -### Getting to our goals +#### Getting to our goals Steps for getting to our goal (and agenda for this meeting): - Make sure we're on the same page about the vision for Mathesar @@ -230,7 +230,7 @@ Steps for getting to our goal (and agenda for this meeting): - A secondary goal is to increase community-friendliness. - Ensure our milestones and associated deadlines make sense. -## Vision for Mathesar +### Vision for Mathesar Also doubles as the value proposition for Mathesar. @@ -246,7 +246,7 @@ See also: [Product Principles](https://wiki.mathesar.org/product/principles) - Are we sticking to these well? Any feedback? - We're all in agreement about the vision and product principles -## Planned Features +### Planned Features - Should we have features between alpha and beta or should beta just be focused on stabilizing the features in the alpha release. - Alpha doesn't include viz yet, but having those for beta might be valuable enough - maybe also plugins @@ -258,7 +258,7 @@ See also: [Product Principles](https://wiki.mathesar.org/product/principles) - We need time for public launch related tasks, e.g. branding, documentation - Kriti will make updates to milestones based on categorization below -### Alpha +#### Alpha * Editable Tables * Working with Tables * Initial Data Types @@ -291,7 +291,7 @@ See also: [Product Principles](https://wiki.mathesar.org/product/principles) * Our user experience is not as simple as Airtable in some ways, might be jarring. * Focus on benefits from data integrity improvements (e.g. in COVID data) -### Beta +#### Beta * API v1 * Undo and Redo (DDL) * (new milestone) @@ -300,7 +300,7 @@ See also: [Product Principles](https://wiki.mathesar.org/product/principles) * Beta Release * (new milestone) -### Post-Beta +#### Post-Beta * Calendar Visualization * Kanban Visualization * Data Export diff --git a/docs/team/meeting-notes/2021/10/2021-10.md b/docs/team/meeting-notes/2021/10/2021-10.md index d42e503a7..070c41fc3 100644 --- a/docs/team/meeting-notes/2021/10/2021-10.md +++ b/docs/team/meeting-notes/2021/10/2021-10.md @@ -1,14 +1,14 @@ # October 2021 meeting notes -# 2021-10-26 +## 2021-10-26 Please see [2021-10-26 weekly discussion](https://github.com/centerofci/mathesar/discussions/762) on GitHub Discussions. -# 2021-10-19 +## 2021-10-19 Please see [2021-10-19 weekly discussion](https://github.com/centerofci/mathesar/discussions/739) on GitHub Discussions. -# 2021-10-15 +## 2021-10-15 Topic: Views prototype design review Attendeees: Brent, Ghislaine, Kriti, Pavish, Sean @@ -44,11 +44,11 @@ Improvements to process: - Define design tickets in terms of user scenarios - Also specify functionality and technical constraints -# 2021-10-12 +## 2021-10-12 Please see [2021-10-12 weekly discussion](https://github.com/centerofci/mathesar/discussions/727) on GitHub Discussions. -# 2021-10-08 +## 2021-10-08 - Kriti's availability - Kriti's workload has been too heavy, leaving little time for focused work. @@ -69,6 +69,6 @@ Please see [2021-10-12 weekly discussion](https://github.com/centerofci/mathesar - Backend interviews ongoing - Interviews will happen in parallel with code tasks -# 2021-10-05 +## 2021-10-05 Please see [2021-10-05 weekly planning](https://github.com/centerofci/mathesar/discussions/693) on GitHub Discussions. diff --git a/docs/team/meeting-notes/2021/11/2021-11.md b/docs/team/meeting-notes/2021/11/2021-11.md index fdbf3d3ea..7fd1f5ea4 100644 --- a/docs/team/meeting-notes/2021/11/2021-11.md +++ b/docs/team/meeting-notes/2021/11/2021-11.md @@ -1,15 +1,15 @@ # November 2021 meeting notes -# 2021-11-30 +## 2021-11-30 **Topic**: "State of Mathesar": Mathesar progress and workflow check in. **Attendees**: Brent, Dominykas, Ghislaine, Kriti, Mukesh, Pavish, Sean Meeting notes follow. -## Alpha release goals & timeline +### Alpha release goals & timeline -### Goals +#### Goals The goal for the alpha release is to demonstrate the value proposition of Mathesar: - Works with existing databases - Provides great UX for the features implemented @@ -21,7 +21,7 @@ The goal for the alpha release is to demonstrate the value proposition of Mathes We want to implement enough features for users to be able to handle a simple inventory case. -### Roadmap & Timeline +#### Roadmap & Timeline Here's the timeline as I see it (reflected on our [Roadmap](https://github.com/centerofci/mathesar/milestones?direction=asc&sort=due_date&state=open)): @@ -41,7 +41,7 @@ Notes: - Consider aiming at a specific Normal Form for data modeling milestone. - Pavish has some ideas for data modeling UX, will share closer. -### Discussion +#### Discussion - We should be aiming to release an alpha as soon as possible. Can we shorten the above timeline? - Data Modeling could be moved to later, doesn't seem essential - Useful for CSV import flow @@ -58,7 +58,7 @@ Notes: - Separate launch milestone - We won't have a formal timeline, but we should be able to ship sooner if we only focus on tables, data types, and views before moving on to alpha release prep. -### Alpha Launch Plan +#### Alpha Launch Plan - Write documentation - Show HN - ProductHunt @@ -69,7 +69,7 @@ Notes: - Google Summer of Code etc. - Keep track of stories of people using Mathesar to help with funding -## Long term vision for Mathesar +### Long term vision for Mathesar The alpha release is probably going to look like a database GUI but that is not our eventual goal. Mathesar is an ambitious product and we should all be on the same page about what we're aiming to do. - Help users "make sense" of data without knowing much. @@ -78,7 +78,7 @@ The alpha release is probably going to look like a database GUI but that is not - Allow users to learn and explore, learning more about databases and data analysis. - Extendable by users through plugins and automation. -## Workflow +### Workflow - GitHub Project workflow - sync between labels and status is one-way: - update the label, not the status (this should update the status) @@ -96,7 +96,7 @@ The alpha release is probably going to look like a database GUI but that is not - Focus on the part of the task that is completed or new requirements uncovered - Useful to coordinate frontend -## Communication +### Communication - Product and design review process - Code architecture and spec process - Issues @@ -110,18 +110,18 @@ We're out of time, please provide feedback on communication async. We should have a State of Mathesar meeting every month, it's useful. - Consider inviting community eventually (--Brent) -# 2021-11-23 +## 2021-11-23 Please see [2021-11-23 weekly planning](https://github.com/centerofci/mathesar/discussions/840) on GitHub Discussions. -# 2021-11-17 +## 2021-11-17 Please see [2021-11-17 weekly planning](https://github.com/centerofci/mathesar/discussions/829) on GitHub Discussions. -# 2021-11-11 +## 2021-11-11 Please see [2021-11-11 weekly planning](https://github.com/centerofci/mathesar/discussions/820) on GitHub Discussions. -# 2021-11-02 +## 2021-11-02 Please see [2021-11-02 weekly planning](https://github.com/centerofci/mathesar/discussions/794) on GitHub Discussions. \ No newline at end of file diff --git a/docs/team/meeting-notes/2021/12/2021-12.md b/docs/team/meeting-notes/2021/12/2021-12.md index c932e4df4..91625de2b 100644 --- a/docs/team/meeting-notes/2021/12/2021-12.md +++ b/docs/team/meeting-notes/2021/12/2021-12.md @@ -1,13 +1,13 @@ # December 2021 meeting notes -# 2021-12-20 +## 2021-12-20 Please see [2021-12-20 weekly planning (covers two weeks)](https://github.com/centerofci/mathesar/discussions/905) on GitHub Discussions. -# 2021-12-13 +## 2021-12-13 Please see [2021-12-13 weekly planning](https://github.com/centerofci/mathesar/discussions/882) on GitHub Discussions. -# 2021-12-06 +## 2021-12-06 Please see [2021-12-06 weekly planning](https://github.com/centerofci/mathesar/discussions/866) on GitHub Discussions. diff --git a/docs/team/meeting-notes/2022/01/2022-01.md b/docs/team/meeting-notes/2022/01/2022-01.md index 62424fdc8..d20ec2155 100644 --- a/docs/team/meeting-notes/2022/01/2022-01.md +++ b/docs/team/meeting-notes/2022/01/2022-01.md @@ -1,21 +1,21 @@ # January 2022 meeting notes -# 2022-01-31 +## 2022-01-31 Please see [2022-01-31 weekly planning](https://github.com/centerofci/mathesar/discussions/1033) on GitHub Discussions. -# 2022-01-25 +## 2022-01-25 **Topic**: Functions/Filters API for the frontend - [see this issue](https://github.com/centerofci/mathesar/issues/1001) **Attendees**: Brent, Dominykas, Kriti, Mukesh, Pavish, Sean (partial) -## API Goals +### API Goals We have two different goals for the APIs. - Provide necessary abstractions for the front end, e.g. filtering, grouping. This is specific to _our_ front end. - Provide low level APIs to interact with database objects and concepts (without Mathesar-specific abstractions) These goals may necessitate separate APIs. After some discussion, we decided on having two separate API paths: -### Abstractions API +#### Abstractions API This is for Mathesar-specific functionality, examples include: - Mathesar data types - Filters @@ -28,7 +28,7 @@ Goals: - Define things in terms of other abstractions (e.g. Filters should be related to Mathesar Types, not DB types) - Dogfood DB APIs -### DB API +#### DB API This is for direct access to PostgreSQL functionality, examples include: - Tables - Schemas @@ -40,28 +40,28 @@ Goals: - Allow DB reflection as much as possible - (Eventually) allow composition -## What is a Filter? +### What is a Filter? - For the purposes of the alpha release, we're defining filters as anything that can look at a single row and return a boolean. - Functions that need global context (other rows or previous functions) do not count as filters - "Has Duplicates" is not a filter. -## Next Steps +### Next Steps After much discussion, we decided on the following next steps: - Dominykas will submit a PR for review that just contains the new functions API and get that merged - Dominykas will set up a new PR for replacing current filtering functionality with new filters API, will also move Mathesar Types into abstractions namespace - Kriti will create a design issue for "Has Duplicates" not being a filter -# 2022-01-24 +## 2022-01-24 Please see [2022-01-24 weekly planning](https://github.com/centerofci/mathesar/discussions/1011) on GitHub Discussions. -# 2022-01-18 +## 2022-01-18 **Topic**: “State of Mathesar”: Mathesar progress and workflow check in. **Attendees**: Brent, Dominykas, Ghislaine, Kriti, Mukesh, Pavish, Sean Meeting notes follow. -## Alpha release check-in +### Alpha release check-in - Current plan is to complete the following milestones: - Working with Tables - Initial Data Types @@ -82,7 +82,7 @@ Meeting notes follow. - Questions and concerns? - FK work should be in a different milestone (not Views). Should move into "Working with Tables". Still will have it for alpha release. -## Upcoming Hiring +### Upcoming Hiring - Does anyone have any thoughts on where we could use more help within the team? - We have budget for a couple extra hires. - Kriti: need technical writing help. Tutorials, marketing. Could be part time. Community management work too. Content marketer. @@ -96,12 +96,12 @@ Meeting notes follow. **Conclusions:** No hiring for the next couple of months -## Team workflow check-in +### Team workflow check-in Skipping these since we talked about them recently: - Weekly planning discussions - Standup -### Review vs. Focused work balance +#### Review vs. Focused work balance - How do we make sure that everyone has enough time for focused work but specs (for code, design, product), discussions, and code get reviewed speedily? - Most of the team is struggling with balancing review tasks with focused work - We spend a lot of time having discussions due to turnaround time. @@ -132,7 +132,7 @@ Conclusions: - Schedule meetings ad-hoc (9AM Eastern, 2PM UTC, 10PM HKT) - Summarize discussions and specs resolved in the weekly planning discussion -### Comms Assignee +#### Comms Assignee - Lean on the comms assignee more - Comms assignee feels like a "cleanup crew"- - it feels like a mistake when they message you - Would be nice to have the comms assignee be the point person, they're expected to ping you, it doesn't feel like something you've missed. @@ -141,7 +141,7 @@ Conclusion: - Let's see how the reduced reviewers work before changing comms assignee. We'll also have different stuff in our inbox with reduced reviewers. - Remove yourself from auto-review-request for PRs if it will be helpful -### Async communication improvements +#### Async communication improvements - Make sure to document decisions. - Please provide context when writing questions or comments. Assume your audience hasn't looked at this for a week. - There's a lot of repetition @@ -150,7 +150,7 @@ Conclusion: - Avoid threads in discussions where possible - Reminder that emojis don't send notifications, so if you want people to know you've acknowledged something, also use text. -## Code for Japan hackathon planning +### Code for Japan hackathon planning - Code for Japan works on civic projects for Japan. We're signed up as a project. We want to increase awaerness of Mathesar from within Japan and get more contributors. Will be good prep for GSoC. - Workshop to help attendees set up Mathesar locally - Mukesh, Pavish, Brent @@ -169,7 +169,7 @@ Conclusion: - Some good content already exists in the Mathesar Google Drive. - Should test out development on Windows before the event. -## Google Summer of Code planning +### Google Summer of Code planning - Links: - [Website](https://summerofcode.withgoogle.com/) - [2022 announcement](https://opensource.googleblog.com/2021/11/expanding-google-summer-of-code-in-2022.html) @@ -201,7 +201,7 @@ Action items: - Think about project ideas - Kriti will make wiki page for them -## Team Events +### Team Events - How are they going? - What would you like to see more of? - What would you like to see less of? @@ -217,7 +217,7 @@ Action items: - Kriti will schedule next one - Charades -## Action Items summary +### Action Items summary These are action items across all topics discussed: - Kriti @@ -243,11 +243,11 @@ These are action items across all topics discussed: - Please think of Google Summer of Code project ideas -# 2022-01-17 +## 2022-01-17 Please see [2022-01-17 weekly planning](https://github.com/centerofci/mathesar/discussions/979) on GitHub Discussions. -# 2022-01-10 +## 2022-01-10 Please see [2022-01-10 weekly planning](https://github.com/centerofci/mathesar/discussions/962) on GitHub Discussions. -# 2022-01-03 +## 2022-01-03 Please see [2022-01-03 weekly planning](https://github.com/centerofci/mathesar/discussions/938) on GitHub Discussions. diff --git a/docs/team/meeting-notes/2022/02/2022-02.md b/docs/team/meeting-notes/2022/02/2022-02.md index 98ccd5a13..549b33966 100644 --- a/docs/team/meeting-notes/2022/02/2022-02.md +++ b/docs/team/meeting-notes/2022/02/2022-02.md @@ -1,15 +1,15 @@ # February 2022 meeting notes -# Asynchronous discussions +## Asynchronous discussions - [2022-02-28 weekly planning](https://github.com/centerofci/mathesar/discussions/1102) - [2022-02-21 weekly planning](https://github.com/centerofci/mathesar/discussions/1084) - [2022-02-14 weekly planning](https://github.com/centerofci/mathesar/discussions/1066) - [2022-02-07 weekly planning](https://github.com/centerofci/mathesar/discussions/1049) - 2022-02-03: [Shipping more quickly](https://github.com/centerofci/mathesar/discussions/1046) -# 2022-02-23 +## 2022-02-23 -## Discouraging Money type and directing user towards Number type with Currency display option +### Discouraging Money type and directing user towards Number type with Currency display option - **Added by**: Pavish - **Summary**: * The design spec: [Update number type to support custom currency format](https://github.com/centerofci/mathesar-wiki/pull/36/files) introduces a Currency display option for Number. We also have a separate type for Money, which is restricted to one currency based on server locale. @@ -18,7 +18,7 @@ * We'd like this discussion to yield a solution we'd want to follow for the alpha - **Participants:** Kriti, Ghislaine, Brent, Pavish -### Notes +#### Notes - Create DB type for Money that's just an alias to Numeric - Move currency formatting options to it - The only time we'll use PostgreSQL money type is if custom type is not installed @@ -28,12 +28,12 @@ - Which display options to use will be discussed as part of spec review - previous custom money type will be renamed to `multicurrency` -#### Next steps +##### Next steps - Brent will make backend ticket and work on it - Kriti will update design ticket - Ghislaine will do a second round of the spec and re-request review -## Query Builder & Formulas +### Query Builder & Formulas - **Added by**: Kriti - **Summary**: I'd like to go through the query builder flow and how formulas will work in Views. I'm still figuring out how to represent formulas and I'd like to talk through the following questions: - Should we have a textual representation of formulas or should they be GUI form only? @@ -47,7 +47,7 @@ - e.g. ![](/assets/meeting-notes/2022-02/SkCTNfXeq.png) - **Participants:** Kriti, Ghislaine, Brent, Pavish, Mukesh, Dominykas, Sean -### Notes +#### Notes Questions from Brent: - Will we present foreign keys as directional? - Yes, it's been discussed @@ -109,10 +109,10 @@ Long term query builder features: - Could we represent the query builder as a graph in the long term for a more powerful experience? - We shouldn't try to make the GUI query builder work for all use cases -#### Next Steps +##### Next Steps - Kriti will refine formulas further and open a GitHub discussion -## Which column identifier should we use? +### Which column identifier should we use? - **Added by**: Mukesh - **Summary**: Based on [Issue #839](https://github.com/centerofci/mathesar/issues/839), we have planned to make changes to way column's are referenced/accessed at the `db` layer. The options are: @@ -123,7 +123,7 @@ Long term query builder features: - Mukesh suggests using `column names`. As the column names are derived from `attnum` and number of functions that alter a column name are very few, we can be careful when dealing with such functions and use conventions to get around it. This would make the column access same as sqlalchemy and reduce any unwanted overhead - **Participants:** Mukesh, Brent, Kriti, Dominykas -### Notes +#### Notes Concerns with using `attnums`: - Not the way SQLAlchemy does things @@ -155,21 +155,21 @@ If we adopt the convention of only calling one SQLAlchemy function per Mathesar We also need to do this for tables and oids. -#### Next steps +##### Next steps - Use `attnums`, either directly or through column objects. - Refactor the entire codebase for priorities 1 and 2 right now. - Make issues for 3 and 4 - We'll reevaluate priority of 3 and 4 later. -# 2022-02-16 +## 2022-02-16 -## UX for failure to save a cell +### UX for failure to save a cell - **Added by**: Sean - **Summary**: To implement [#775](https://github.com/centerofci/mathesar/issues/775), I need some clarification on our desired UX for the situation where a user tries to create a blank record within a table that does not specify a default value for a NOT NULL column. We'll likely want to reuse this UX pattern in situations where the user edits an existing cell and enters invalid data (which is arguably simpler to consider, though not a pressing open issue). I'd like to take a quick stab a clarifying this UX synchronously, or figure out the next steps towards doing more async design work if needed. - **Participants:** Sean, Ghislaine, Pavish, Kriti, Dominykas -### Notes +#### Notes - We need cell-level errors for editing - Proposal: remove highlighting entire row, only highlight error cell @@ -179,7 +179,7 @@ We also need to do this for tables and oids. - We can use the same pattern for displaying individual errors - We'll still have the whole row red since nothing would be saved at this point -### Outcome +#### Outcome Sean will implement front end changes to match the following specs: @@ -203,14 +203,14 @@ Sean will implement front end changes to match the following specs: - All cells will have a green background. -## Visual design and improvisation +### Visual design and improvisation - **Added by**: Sean - **Summary**: I'd like to clarify the intended specificity of our visual designs. Rough like a wire frame? Pixel perfect like a mockup? Somewhere in the middle? This has been confusing to me thus far, and I've gotten mixed messages. - [Originating discussion](https://github.com/centerofci/mathesar/discussions/1046#discussioncomment-2106543) - **Participants:** Sean, Ghislaine, Kriti, Pavish, Mukesh, Dominykas -### Notes +#### Notes - There's a tradeoff between being overly specific and not following the design at all - It's taken us a while to get the product and design process collaboration right @@ -232,7 +232,7 @@ Sean will implement front end changes to match the following specs: - Document error states associated with wireframes -## E2E testing strategies +### E2E testing strategies - **Added by**: Sean - **Summary**: We've had some disagreement regarding E2E testing. @@ -245,7 +245,7 @@ Sean will implement front end changes to match the following specs: - **Page Object Model** -- Mukesh has brought this testing pattern up several times with me. Playwright [supports it](https://playwright.dev/python/docs/pom). Is it something we'd like to invest in soon? Or maybe later? - **Participants**: Sean, Mukesh, Pavish, Brent, Dominykas -### Notes +#### Notes - **Naming Convention** - According to Pavish `E2E` and `integration` test would be written in the same fashion on the frontend with the only difference being integration test would mock the backend API, so with regards to the terminology, we should be calling our current testing strategy with playwright as End-to-End testing. And Sean seems to be on the same page @@ -265,7 +265,7 @@ Sean will implement front end changes to match the following specs: - Brent understands the concern Mukesh brought up -### Decisions +#### Decisions - We will use "End to end" or "E2E" (and _not_ "integration") when referring to the tests that we run via Playwright. - It's okay to use pytest fixtures which call Django functionality to set up prerequisites for E2E tests. (Mukesh still feels this is not "proper" E2E testing, but accepts this pattern for the time being.) @@ -274,13 +274,13 @@ Sean will implement front end changes to match the following specs: -# 2022-02-10 +## 2022-02-10 **Topic**: Weekly sync meeting We're trying out weekly synchronous meetings to resolve things faster. Anyone can add agenda items ahead of time and we'll cancel the meeting if no agenda items are added 12 hours before the meeting. -## Backend plan for Initial Data Types milestone +### Backend plan for Initial Data Types milestone - **Added by**: Kriti - **Summary**: We have a lot of backend work to complete for the Initial Data Types milestone, and the frontend is catching up to the backend quickly. We should coordinate on how we can split up the remaining items in the most efficient way. @@ -311,7 +311,7 @@ Notes: - Default values testing and fixes - Whoever is done first will start working on the foreign key APIs. -## Google Summer of Code project idea brainstorming +### Google Summer of Code project idea brainstorming - **Added by**: Kriti - **Summary**: I'd like to spend some time brainstorming project ideas for Google Summer of Code. We can also review the existing ideas if time permits. diff --git a/docs/team/meeting-notes/2022/03/2022-03.md b/docs/team/meeting-notes/2022/03/2022-03.md index 54ac30501..0ad4ba2f1 100644 --- a/docs/team/meeting-notes/2022/03/2022-03.md +++ b/docs/team/meeting-notes/2022/03/2022-03.md @@ -1,20 +1,20 @@ # March 2022 meeting notes -# Asynchronous discussions +## Asynchronous discussions - [2022-03-28 weekly planning](https://github.com/centerofci/mathesar/discussions/1232) - [2022-03-21 weekly planning](https://github.com/centerofci/mathesar/discussions/1198) - [2022-03-14 weekly planning](https://github.com/centerofci/mathesar/discussions/1162) - [2022-03-07 weekly planning](https://github.com/centerofci/mathesar/discussions/1142) -# 2022-03-25 +## 2022-03-25 -## State of Mathesar check-in +### State of Mathesar check-in - **Added by**: Kriti - **Summary**: Check in on alpha release goals and discuss progress. Also discuss hiring. - **Participants:** Brent, Dominykas, Ghislaine, Kriti, Mukesh, Pavish, Sean, Han -### Notes +#### Notes - Alpha release check in - Milestones left: - Initial Data Types @@ -60,7 +60,7 @@ - Not enough codebase for another backend engineer to make sense any time soon - Could contract out for public marketing website, including copy and graphic design, etc. -## Data Explorer UX +### Data Explorer UX - **Added by**: Ghislaine - **Summary**: An overview of Data Explorer's (visual query builder) user flow in preparation for spec review. Recommended reading before meeting: [Data Explorer Spec](https://github.com/centerofci/mathesar-wiki/pull/38) @@ -68,41 +68,41 @@ Ghislaine went over the wireframes and people asked questions about it and made some design suggestions. No major changes were suggested, a more detailed review will take place asynchronously on the pull request. -# 2022-03-07 +## 2022-03-07 -## Column Identifier Discussion +### Column Identifier Discussion Sync call to disuss on how to move forward with conflicting changes with Brent's work on grouping API and Mukesh's work on [Mathesar 896 Change records api parameters to use column id instead of name #1047](https://github.com/centerofci/mathesar/pull/1047). - **Participants:** Brent, Mukesh -### Questions +#### Questions 1. Will there be DDL outside of columns operation, should attnum be used outside columns operations - No 2. DML should use column name or id? -### Notes: +#### Notes: - Prefer to have attnums everywhere for consistency if possible. - View are treated as table in postgres and view columns are stored in similar fashion, with each view column having a attnum as reference. - Creating auxillary hidden views without the knowledge of the users won't be a good idea as it would interfere with user's database and won't be optional like custom types. - Suggestion to use Use autogenerated pseudo identifier for temporary aliased columns. - We could have a feature where the frontend could supply the alias of the column, this could solve the issue dom was talking about. But it would be a problem if only backend has information about a computed/aliased column. For example if a function generates a temporary column. -### Conclusion +#### Conclusion - Put a pause on the making changes to the grouping response in PR. - Records operations should be the only DML. Answers question (1) - Maybe we need a directory to separate DML and DDL operations, some of the constraint operation can use a column DDL operation. - Add it as a topic to our weekly meeting. -# 2022-03-01 +## 2022-03-01 -## Display options Discussion +### Display options Discussion Sync call to discuss about display options validation especially around `datetime`, based on [Matrix Discussion](https://matrix.to/#/!UZILDSNKobkelUYwBp:matrix.mathesar.org/$vY0BFdwHvKT-9NcKJ8-y7cZSmQ0QsOlJGg4piJN4fYA?via=matrix.mathesar.org) - **Participants:** Kriti, Pavish, Mukesh, Dominykas, Sean -### Notes +#### Notes - Validation - We do generally want display options to be validated by the backend. diff --git a/docs/team/meeting-notes/2022/04/2022-04.md b/docs/team/meeting-notes/2022/04/2022-04.md index 80584291b..a0eb3042e 100644 --- a/docs/team/meeting-notes/2022/04/2022-04.md +++ b/docs/team/meeting-notes/2022/04/2022-04.md @@ -1,29 +1,29 @@ # April 2022 meeting notes -# Asynchronous Discussions +## Asynchronous Discussions - [2022-04-04 weekly planning](https://github.com/centerofci/mathesar/discussions/1259) -# 2022-04-13 +## 2022-04-13 - **Topic**: New Team Workflow - **Summary**: We'll be experimenting with splitting up into smaller teams and running a 3 week "cycle" from Apr 18 to May 6. This meeting is to discuss workflow changes and communication norms. - **Participants:** Brent, Dominykas, Ghislaine, Kriti, Mukesh, Pavish, Sean -## Helpful reading +### Helpful reading Our new workflow is inspired by the way Basecamp works. - [The Basecamp Guide to Internal Communication](https://basecamp.com/guides/how-we-communicate) - [Group Chat: The Best Way to Totally Stress Out Your Team](https://basecamp.com/guides/group-chat-problems) - [The concept of hill charts](https://basecamp.com/features/hill-charts), we'll be considering them to track progress - Book: *[Shape Up](https://basecamp.com/shapeup/webbook)* (free to read online) -## Meeting structure +### Meeting structure - We're going to stick to the scheduled time for each topic (agenda and times have been omitted in notes for brevity) - Kriti will run the meeting - We need volunteers to: - take notes - Brent - keep time - Sean -## Our current problems +### Our current problems - Our pace is too slow, we're not completing features as quickly as we could. - We need to release soon and get Mathesar into real users' hands - All our discussions involve too many people @@ -34,7 +34,7 @@ Our new workflow is inspired by the way Basecamp works. - Kriti is a bottleneck - People should be empowered to make decisions independently -## The new plan +### The new plan To address these problems, we're going to try a 3 week work cycle starting next Monday. - From Apr 18 to May 6. - We'll split into smaller teams, each with a very specific goal. @@ -45,17 +45,17 @@ To address these problems, we're going to try a 3 week work cycle starting next - If it works for us, we'll continue with working in cycles with cooldowns in between - Our eventual goal: 6-week cycles with 2-week cooldowns -## Team responsibilities +### Team responsibilities - Each team will be assigned a project, either a set of features or one large feature. - Teams will be small (~2 members) - Teams are empowered to make whatever decisions are needed to complete their project. -### Goals +#### Goals - Team members do not have to do _all_ the work related to their project, but the team is responsible for making sure it gets done. - This may change once we have a larger codebase where projects can be less tightly coupled. - Team members should use completing all functionality in the [design specs](https://wiki.mathesar.org/en/design/specs) in the frontend as the success criteria for their goal unless otherwise explicitly decided -### Communication +#### Communication - As a rule of thumb, team members should be communicating: - frequently between themselves - rarely outside the team @@ -67,10 +67,10 @@ To address these problems, we're going to try a 3 week work cycle starting next - You need specialized knowledge that would take you a long time to acquire but someone else has at the tip of their tongue (e.g. someone who is familiar with particular parts of the codebase) - If you are talking to members of other teams, keep the number of people involved as small as possible to facilitate quicker conversations and decisions -## The Upcoming Cycle +### The Upcoming Cycle Now that we've gone over the concept of cycles generally, it's time to plan for this specific cycle. -### Goals +#### Goals - **Product goals**: - Finish the next two feature milestones: - Initial Data Types @@ -88,7 +88,7 @@ Now that we've gone over the concept of cycles generally, it's time to plan for - Make decisions quickly -### Teams +#### Teams We will split into four teams, with the following team goals: - **Sean & Mukesh** @@ -112,7 +112,7 @@ We will split into four teams, with the following team goals: - Come up with use cases and personas for Mathesar - General product plan for UI Styling & Deployment milestones, informed by use cases and personas -### Cooldown +#### Cooldown The plan for our first cooldown is to plan out the next cycle, including: - holding a retrospective on the first cycle went - check in on the concerns and distractions we discussed in this meeting @@ -124,10 +124,10 @@ The plan for our first cooldown is to plan out the next cycle, including: - figuring out next steps for UI Styling and Deployment milestones - figuring out the teams, goals, and timeline for the next cycle -## Potential problems +### Potential problems In this section, we brainstormed potential obstacles to reaching our goals for the cycle and talked through solutions. [(Private) brainstorming document](https://docs.google.com/spreadsheets/d/1yfomWgvF3riSARXb82KmjxRLYS7-8sZheqDytbR42dI/edit#gid=0). -### Distractions +#### Distractions - **Eliminated entirely** - GSoC draft proposal review - Final submission date is Apr 18 @@ -174,7 +174,7 @@ A word about GSoC: - Develop long-term contributors - Get word out -### Concerns +#### Concerns - Visibility of internal work might suffer, we're open source - We don't get any community engagement in our day-to-day work discussions - It might actually be _better_ to be intentional about what we release to the community @@ -188,7 +188,7 @@ A word about GSoC: - User involvement / research - Group chat v small group and direct chat -## New tooling discussion +### New tooling discussion There was a proposal to replace the communication/organization tools used by the core team with [Basecamp](https://basecamp.com/). We would use GitHub and Matrix only for community-related work. Benefits: @@ -206,7 +206,7 @@ Concerns: **Decision**: Table the conversation until after the first cycle. -## Next steps and action items +### Next steps and action items We discussed a lot of things! Here are the key changes that will be happening: - The cycle starts on Monday - **Priorities for this week**: @@ -229,10 +229,10 @@ We discussed a lot of things! Here are the key changes that will be happening: - No more weekly planning discussion - No more comms assignee -## Appendix: pre-meeting notes +### Appendix: pre-meeting notes This section preserves notes added prior to the meeting. -### Pavish's concerns +#### Pavish's concerns **First cycle teams and goals** I've been thinking over this the past couple days. We are often overestimating our capacity and underestimating tasks. I've been guilty of doing this myself. I don't want us repeating it for this new workflow. @@ -294,7 +294,7 @@ We are often overestimating our capacity and underestimating tasks. I've been gu * The only major value of it is for everyone in the team to be upto date on what I'm doing. I assume the standups and weekly meetings sufficient for that. * I see a lot of value in using hill charts, so that we can also track progress in such cases more efficiently. -### Brent's concerns +#### Brent's concerns - I think we can avoid converstion within ourselves, but it's a bit difficult to avoid with external community members. We should think about how to mitigate this. - To me, the most valuable part of this, more than the deadlines or specific goals, is the focus on smaller-group communication. This is the part I personally want to focus on for our initial trial of this style, and where I'm focusing my thoughts here. Concerns with that part of things: - I think public visibility is crucial for open source. @@ -303,7 +303,7 @@ We are often overestimating our capacity and underestimating tasks. I've been gu - 'watch-only' rooms for each smaller team? I.e., each smaller team communicates in a way that invites others to view but not participate. May be unworkable. - Don't deal with in this cycle -### Dominykas' concerns +#### Dominykas' concerns - I agree wish Pavish about examining first cycle goals in detail to better estimate how long they will take; - We've not been shy about doing long-form write ups, which is good; - but I've been often disappointed with the quality of my own writing; diff --git a/docs/team/meeting-notes/2022/05/2022-05.md b/docs/team/meeting-notes/2022/05/2022-05.md index 2a03938d5..4d338972b 100644 --- a/docs/team/meeting-notes/2022/05/2022-05.md +++ b/docs/team/meeting-notes/2022/05/2022-05.md @@ -3,7 +3,7 @@ > We switched to a new team workflow in [April 2022](/meeting-notes/2022-04). May 2022 meetings were focused on planning out Cycle 2 and involved much more whiteboarding and brainstorming. {.is-info} -# 2022-05-31 +## 2022-05-31 **Topic**: Cycle 2 planning meeting **Attendees**: Brent, Dominykas, Ghislaine, Kriti, Mukesh, Pavish, Sean @@ -11,24 +11,24 @@ We discussed the goals and storyboard for a potential Mathesar demo. Please see [cycle_2_user_flow.pdf](/cycle_2_user_flow.pdf) -# 2022-05-11 +## 2022-05-11 **Topic**: Cycle 2 planning meeting **Attendees**: Brent, Dominykas, Ghislaine, Kriti, Mukesh, Pavish, Sean -## GSoC candidate and mentor selection +### GSoC candidate and mentor selection *Notes not shared since they involved personally identifiable information about candidates*. -### User flow idea pitches and selection +#### User flow idea pitches and selection We used a FigJam whiteboard to write down and pitch ideas (see homework from previous meeting). -### Exercise: provisional persona +#### Exercise: provisional persona We did a quick exercise on a FigJam whiteboard where we tried to brainstorm a potential user persona for the users we were trying to target Mathesar towards. -# 2022-05-09 +## 2022-05-09 **Topic**: Cycle 2 planning meeting **Attendees**: Brent, Dominykas, Ghislaine, Kriti, Mukesh, Pavish, Sean -## Retrospective +### Retrospective - Based on your experience with the previous cycle, write down (**on your own computer, do not share yet**): - What you'd like to keep in future cycles - What you'd like to change in future cycles @@ -61,10 +61,10 @@ We did a quick exercise on a FigJam whiteboard where we tried to brainstorm a po - Planning needs to be improved (although not focus of the sprint) - No place for unexpected discoveries that came out of brainstorming -## Presentation +### Presentation Kriti presented a draft presentation of Mathesar's upcoming goals and roadmap. The presentation was too early and rough to be shared publicly. -## Next Steps +### Next Steps - Homework: Review assigned final GSoC proposals (since the deadline ws coming up) - Write down 1-3 ideas for Mathesar use cases. Be prepared to pitch your idea in 1 min or less during the meeting (you'll have 1 min per idea). Examples: - Warehouse manager wants to manage inventory diff --git a/docs/team/meeting-notes/2022/07/2022-07.md b/docs/team/meeting-notes/2022/07/2022-07.md index d3e5cb62b..cefdb5148 100644 --- a/docs/team/meeting-notes/2022/07/2022-07.md +++ b/docs/team/meeting-notes/2022/07/2022-07.md @@ -1,10 +1,10 @@ # July 2022 meeting notes -# 2022-07-27 Cycle 3 check-in +## 2022-07-27 Cycle 3 check-in We checked in on everybody's workload and the progress of [features involved in the demo](https://docs.google.com/spreadsheets/d/1IqW3GiwYibvS3gleIKHhTa51WF_coOg2BqJA5ffPtVI/edit#gid=0). -### Brent +#### Brent - Will run out of tasks before next meeting - Not worth it to work on frontend tasks, so plan is to work on bonus backend features (Data Modeling Suggestions) - Now assigned to help with any backend work for the Data Import @@ -12,42 +12,42 @@ We checked in on everybody's workload and the progress of [features involved in - Will discuss Schema Homepage with Ghislaine before starting work on feature - Will discuss product plan for Data Modeling Suggestions with Kriti & Ghislaine before starting work on feature -### Dhruvi +#### Dhruvi - Data Import is progressing - Brent now assigned as a design approver to help with backend concerns - Once Pavish is back, will need to discuss the format of deliverable needed for implementation -### Dom +#### Dom - Will be done with Data Explorer and Filtering work very soon - Next priority: Check in with Sean if frontend work is available - Otherwise: Start on Dynamic Defaults backend work - Discuss with Kriti & Ghislaine before starting work -### Ghislaine +#### Ghislaine - On track with existing work - Table Inspector planned to be done for Rajat to start work on next week - No additional work needed -### Mukesh +#### Mukesh - Backend work on Column Extraction will be open for review soon - Record Summary frontend and backend work pending, will be good until next week's meeting -### Pavish +#### Pavish *Skipped since Pavish is on vacation.* -### Rajat +#### Rajat *Skipped since Rajat doesn't start until Monday.* -### Sean +#### Sean - First priority is to get frontend tasks ready for Dom, Rajat, Mukesh - Current work is on track and no additional work is needed -# 2022-07-22 Cycle 3 workflow +## 2022-07-22 Cycle 3 workflow **Topic**: Cycle 3 workflow and loose ends discussion **Attendees**: Kriti, Brent, Ghislaine, Mukesh, Pavish, Sean -## Communication +### Communication The Cycle 3 team needs to: - know what everyone's currently working on @@ -72,7 +72,7 @@ Considerations based on what was reported during the retrospective: - A shared schema/dataset is useful, we should formalize a workflow around it. - Small group conversations are useful, but they can get inefficient if information only gets transferred in 1:1s -### Communication decisions +#### Communication decisions See the *Moving forward* column for how we plan to communicate about various things. | Type | Purpose | What we've tried | Moving forward | @@ -91,15 +91,15 @@ See the *Moving forward* column for how we plan to communicate about various thi | Community | How to help | GitHub issues, wiki | keep current workflow | | Community | How to collaborate | wiki, Matrix, GitHub issues | keep current workflow | -### Notes +#### Notes - Everyone except Mukesh hates GitHub Discussions - Document decisions, but not so much that it slows work down. - Meeting notes should go on the wiki if you took them - Specs should go on the wiki -## Organizing work +### Organizing work -### Design process +#### Design process - Design owner meets with design approvers to - understand the requirements - decide on format of the deliverable @@ -112,14 +112,14 @@ See the *Moving forward* column for how we plan to communicate about various thi - Backend will replace using prototype with using other design deliverables like spec, etc. - Ghislaine will work on styling the product when nothing is blocked -### Front end blockages +#### Front end blockages Design and backend work blocking frontend work was a concern raised in the retrospective. How do we resolve this in Cycle 3? Not a concern for Cycle 3 since design and backend is currently ahead and frontend engineers are involved in design. We might need to think about it for Cycle 4. May also be less of a concern as the product matures and we can have "thinner" vertical slices with fewer dependencies. -### Dataset organization +#### Dataset organization During the retrospective, we talked about having a separate repo for sample schemas plus a process for changing it. It would be useful to have for Cycle 3. Brent will set it up @@ -132,7 +132,7 @@ It would be useful to have for Cycle 3. Brent will set it up - Actually, we'll decide to use a separate repo and anything that needs to go into the Mathesar repo for tests etc. can be moved to it - Brent will make a GitHub issue to track this work -### Eliminating unnecessary work +#### Eliminating unnecessary work During the retrospective, we seemed to all agree that we need: - a tighter scope - moving faster @@ -141,10 +141,10 @@ We did a good job of this during the paramaterized queries discussion. How can w Weekly discussions will help – ask "how can we move faster or tighten scope?" at each weekly meeting. -## Loose ends +### Loose ends Other things that came up in the retrospective. -### 2022 roadmap +#### 2022 roadmap Any questions or comments about the roadmap? - Add performance & UX issues to Cycle 4 @@ -153,11 +153,11 @@ Any questions or comments about the roadmap? - DML performance matters more than DDL performance - Start Cycle 5 work in Cycle 4 (already the plan) -### Demo script +#### Demo script - Many people wanted a fully-fleshed out demo script - Kriti will work on this during Cycle 3 -### Document to organize insights from storyboards +#### Document to organize insights from storyboards Do we want to do anything formal for this? Depends on what people need from the storyboard - unified insights doesn't seem that useful. This will be left up to individuals. @@ -168,7 +168,7 @@ Maybe move storyboard to spreadsheet with links to images if needed? We got way too excited about refactoring the storyboards and decided to not make any changes in the end. If there's a problem with discoverability, we will reevaluate. -### API contract testing +#### API contract testing What problem are we looking to solve here and is it worth prioritizing? E2E tests shouldn't test against the real API. Contract testing seems like a good idea in the long run. @@ -176,7 +176,7 @@ E2E tests shouldn't test against the real API. Contract testing seems like a goo Not relevant for Cycle 3. -# 2022-07-22 dependencies meeting +## 2022-07-22 dependencies meeting **Topic**: Decide scope of Yurii's dependency project in the product and UI design **Attendees**: Kriti, Brent, Mukesh, Ghislaine @@ -187,9 +187,9 @@ Two types of dependencies: We need to portray `CASCADE` deletes (no-max-depth deletion of dependencies) differently from deleting Mathesar objects. -## Brainstorming about dependencies in the UI +### Brainstorming about dependencies in the UI -### Brent's wish-list +#### Brent's wish-list - Show "what would be deleted" - Be able to use our own dependency tree to do the cascade delete, so that we don't end up deleting dependencies not shown on the UI - User should understand the difference between data deletions and data view or structure deletions @@ -207,7 +207,7 @@ We need to portray `CASCADE` deletes (no-max-depth deletion of dependencies) dif - etc. - Dependencies of every type of object that can be directly deleted through Mathesar should be visible (even if we don't have mathesar models for dependent objects) -### Kriti's wish-list +#### Kriti's wish-list - We should track dependencies that are types of objects not handled by Mathesar's UI (functions, indexes, whatever) - We should show object types that we do have in the UI in as much detail as possible - We should tell users when there are dependencies on object types that we don't show in the UI (functions, etc.) and list them if we can @@ -215,20 +215,20 @@ We need to portray `CASCADE` deletes (no-max-depth deletion of dependencies) dif - e.g. Mathesar queries, record summary templates - We need to handle issues with objects that the user doesn't have permissions for -### Mukesh's wish-list +#### Mukesh's wish-list - We should be using Django objects in place of database identifier - Other dependencies should just contain the name(best case) - dependencies should be categorized - Filters for getting only certain objects -### Ghislaine's Wish-List +#### Ghislaine's Wish-List - Balance between risk of losing data and user inconvenience. We should avoid having the user take extra steps for minimal risk actions like columns, or summaries - We need to handle bulk deletion scenarios. A user deleting multiple tables. Would we delete in steps and show dependencies for each? or a full list for all? - Assuming that a constraint is deleted, user should be made aware of this when opening the table, not just at moment of deletion - Something like "information about table changes" when opening the table - Could this need a way to relink the column with all the FK? -## Scope of the GSoC project +### Scope of the GSoC project - UI scope should be limited to using dependencies during deletion and related operations, we will not have any other UI that uses dependencies. - Brent, Yurii, and Mukesh will meet to discuss possible merging of dependencies and table relationships - The scope will include tracking dependencies of all objects that the Mathesar API handles, i.e. @@ -239,17 +239,17 @@ We need to portray `CASCADE` deletes (no-max-depth deletion of dependencies) dif - Constraints - The dependents tracked will include ALL objects, even if they're not handled by the Mathesar API -### Not in scope +#### Not in scope - Separate page to show entire schema / DB depdendency graph - Tracking dependencies of records - Viewing the dependency graph of a single object without triggering a deletion -### Type of deletion +#### Type of deletion - For the best UX, we should allow the users to delete multiple objects at once. It's annoying when projects only allow deletion of one object at once. - We do need to support automatic deletions of dependent objects as long as we have clarity on what's getting deleted - If we don't have clarity, we should make that very very clear. -### Priorities for the GSoC project +#### Priorities for the GSoC project - Backend parity with Postgres dependency tracking (so that we don't have to resort to `CASCADE`) - Backend for tracking Mathesar objects: - mapping tables and reverse dependencies @@ -269,9 +269,9 @@ We can ship the project in a few different milestones. **Milestone 5:** Parity with Postgres dependency tracking so that we can stop using `CASCADE` -# 2022-07-20 weekly meeting +## 2022-07-20 weekly meeting -## Embedded Queries vs Parameterized Queries +### Embedded Queries vs Parameterized Queries - **Summary**: Figure out where the feature boundary between embedded and parameterized queries is and what's actually essential for Cycle 3. - **Participants:**: Kriti, Sean, Ghislaine, Pavish, Brent, Mukesh, Dhruvi @@ -279,13 +279,13 @@ We're all in agreement about the Record Page, which is a page that shows an indi The goal of this meeting is to figure out how much of this to implement in Cycle 3, since we have a lot of work to do and we want to do the minimum necessary to get the demo use case working. -### Product and design concerns +#### Product and design concerns [Record Page](https://wiki.mathesar.org/en/design/specs/record-page) design spec so far. The product goal of embedded queries is to show a summary of related records on a record page. The data shown should match the links available via Data Explorer UI for consistency. -### Sean's long-term goals for the record page UX +#### Sean's long-term goals for the record page UX - Let's work from the Patrons record page as an example. - A section of the Patrons record page displays related records which link to the patron. - That section contains a list of queries. @@ -306,32 +306,32 @@ should match the links available via Data Explorer UI for consistency. - Kriti would like a way to eventually display the related records in a list form (e.g. genres associated with a book). But we'll consider that use-case later. - We may eventually want to design functionality for the user to add new related records from within the record page. For example, I may want to record a new checkout for a patron directly on the patron's page. We'll consider that use-case later. -### Backend concerns +#### Backend concerns - Need to be able to add/remove initial columns according to user desire from a stored query - Don't really need parameterized queries for the embedded queries. We can filter for the desired id using query string parameters when actually calling the query. - Links to record: - call table endpoint, using filter for appropriate ID -### Decisions +#### Decisions - We recognized that for our needs on the record page, we can handle the "parameterization" of queries using the "filters" functionality that we already have. - The "auto-generated queries" on the record page will be displayed using our basic records API. No need to create a query resource at all! Just fetch the records and apply a filter to the FK column. - For cycle 3 we'll only focus on "auto-generated queries". The "manually-generated queries" functionality will be designed/implemented later. - The output of the auto-generated queries can be further filtered, beyond the auto-added FK filter condition. Any additional filter conditions that the user adds will not persist. But this ad-hoc filtering functionality also gets us a bit closer to the final goal of displaying checked-out books on the Patrons record page -- all without using the data explorer (or Mathesar "queries") at all! -### Next steps +#### Next steps - The "Embedded Queries" feature is now folded into the "Record Page" feature. Because we're not actually using "queries" for the functionality, we may use a name like "Table Widgets" (or similar) to refer to this functionality going forward. - The "Parameterized Queries" feature is removed entirely as it seems like we may never need it. When the time comes for us to implement "manually-generated queries", we will likely create basic query objects and then filter their results using the filtering functionality when displaying the query (_not_ by altering the query definition). - Brent is assigned to the Record Page backend since it doesn't involve the Data Explorer anymore. The only thing we need to do is to make the "joinable tables" API work in both directions. - Kriti will update the storyboard to remove the two features and update the flow according to the new implementation we decided on -# 2022-07-19 Cycle 3 planning +## 2022-07-19 Cycle 3 planning - **Participants:**: Kriti, Sean, Ghislaine, Pavish, Brent, Mukesh, Dominykas, Rajat, Dhruvi We discussed the [Cycle 3 storyboard](https://www.figma.com/file/F0FmNaNz8hvrgxPax3Bix1/Cycle-3-reference?node-id=2%3A103), prioritized features, and assigned work to various team members. There were questions raised about the features "Embedded Queries" and "Parameterized Queries", which we are going to schedule a separate meeting to iron out. Team members who are working on Cycle 3 can view the [work assignment spreadsheet here](https://docs.google.com/spreadsheets/d/1IqW3GiwYibvS3gleIKHhTa51WF_coOg2BqJA5ffPtVI/edit#gid=0). -# 2022-07-18 Cycle 2 retrospective +## 2022-07-18 Cycle 2 retrospective - **Participants:**: Kriti, Sean, Ghislaine, Pavish, Brent, Mukesh, Dominykas We discussed what went well and what could have gone better in Cycle 2, plus ideas for how to improve our workflow in Cycle 3. We used a whiteboarding tool during the meeting and did not take additional notes since the meeting focused on team workflow. diff --git a/docs/team/meeting-notes/2022/08/2022-08.md b/docs/team/meeting-notes/2022/08/2022-08.md index bd45d6789..05c7017c3 100644 --- a/docs/team/meeting-notes/2022/08/2022-08.md +++ b/docs/team/meeting-notes/2022/08/2022-08.md @@ -1,6 +1,6 @@ # August 2022 meeting notes -# 2022-08-31 weekly meeting +## 2022-08-31 weekly meeting - **Topic**: New proposal for backend architecture, see [Brent's email](https://groups.google.com/a/mathesar.org/g/mathesar-developers/c/Nu0IXek3BXU) + implementation plan. - **Participants:** Mukesh, Dom, Brent, Kriti, Sean, Pavish @@ -34,10 +34,10 @@ Once we're done with these, any available backend engineers can start incrementa Next steps for now are that Mukesh and Dom will meet and divide up the backend performance work between them. Brent will start on Users & Permissions work. -# 2022-08-30 Cycle 4 planning +## 2022-08-30 Cycle 4 planning **Attendees**: Brent, Dominykas, Ghislaine, Kriti, Pavish, Sean, Mukesh, Rajat -## Retrospective +### Retrospective - Please see this [FigJam file](https://www.figma.com/file/9PlBgRW20mWbpXC5JLIKYG/Cycle-3-retrospective?node-id=0%3A1) (only accessible to core team) - Lots of things went well, more than last time. Some common sentiments: - Communication patterns are better @@ -53,7 +53,7 @@ Next steps for now are that Mukesh and Dom will meet and divide up the backend p Please see the FigJam for all the notes. -## Cycle 4 plan +### Cycle 4 plan We went over the items in the [Cycle 4 spreadsheet](https://docs.google.com/spreadsheets/d/1ZC5m6uf6s9vHOmah317fmPAg2by4zvYOk-WRrdH5zEA/edit#gid=0) to: - Discuss all the items planned for Cycle 4 - Update progress @@ -72,7 +72,7 @@ Everyone had enough work except for Brent (now assigned to Users & Permissions) We will triage the issues in the Cycle 4 milestone on GitHub when we get to the planning phase of "Live Demo Readiness". -## Workflow changes +### Workflow changes Our workflow will mostly remain the same. - We'll continue to have weekly meetings, although we'll try to make them shorter and more relevant for everyone. - We'll maintain a document for things to talk about in the next cooldown period so that we don't distract ourselves with non-urgent or irrelevant conversation during the cycle. @@ -84,14 +84,14 @@ Other issues from the retrospective should be addressed by: - Thinking of the Cycle 4 spreadsheet as a prioritized list, not as a set of goals that we have to get to 100% on everything. - Figuring out next steps for performance and testing issues, which are explicitly tracked on the spreadsheet. -# 2022-08-30 Front end team -## Imperative upwards data flow from input components +## 2022-08-30 Front end team +### Imperative upwards data flow from input components - Sean would like to standardize a pattern for input components to use events or props to inform their parent of changes to their value. - **Decision:** For consistency, all our input components will dispatch `artificialInput` and `artificialChange` events. This pattern will allow consuming components to listen only to those events in order to access the input's value directly (within the `detail` property of the event). - **Next steps:** Sean will create a ticket for this. -## Separating layout CSS from aesthetics CSS +### Separating layout CSS from aesthetics CSS - Rajat would like to to encapsulate layout CSS properties like display, padding, and margin in re-usable component. - I propose the following component: **Stack**. This can be used to stack things on top of each other or next to each other. `{children}`. @@ -106,24 +106,24 @@ Other issues from the retrospective should be addressed by: - **Decision**: We'll give this a try incrementally. - **Next steps**: Rajat will create the component(s). -## Testing +### Testing - Pavish wants more test coverage for front end to prevent regressions. - We all discussed various strategies. - We will try to write more unit tests for components using Testing Library. We will use the 'msw/node' package to mock API data when needed. [Example](https://testing-library.com/docs/react-testing-library/example-intro/). - We will also explore the possibility of using Playwright from node with mocked data to perform higher-level tests against the whole app. -## New coding standards proposed +### New coding standards proposed - Sean has [proposed](https://github.com/centerofci/mathesar-wiki/pull/57/files) two new coding standards. - Prefer `await` over `.then` when possible - Prefer `function` over `const` - **Decision**: Approved. Sean merged the PR. -# 2022-08-24 Cycle 3 check-in +## 2022-08-24 Cycle 3 check-in **Attendees**: Brent, Dominykas, Ghislaine, Kriti, Pavish, Sean, Mukesh, Dhruvi -## Cycle 3 progress +### Cycle 3 progress - Data Explorer (backend 100%, frontend very close) - Column extraction (backend 100%, frontend 20%) - Record summary (backend 90% frontend 70%) @@ -135,17 +135,17 @@ Other issues from the retrospective should be addressed by: - Styling (frontend 15%) - Schema page (0, 0, but Ghislaine has started work) -## Work assignment changes +### Work assignment changes - Consider changing owner of record summary feature from Mukesh to Sean - Sean and Mukesh will decide on this after a meeting later today -## Plan for Cycle 4 +### Plan for Cycle 4 - Once we get to 100% on all the required features, we will go through the demo and find UX issues that are blocking it - Hopefully Thursday or Friday next week - We'll prioritize those issues for Cycle 4 - Cycle 4 will also handle performance issues, including better handling of SQLAlchemy metadata and performant reflection -# Back end meeting 2022-08-15 +## Back end meeting 2022-08-15 **Attendees**: Brent, Dominykas, Mukesh We realized that there's a real feeling of time crunch that makes Dom reluctant to request code review, and all of us reluctant to spend enough time on doing the review for large PRs, or even moderately-sized ones. Turnaround is quite slow due to TZs, and even getting a fairly easy PR merged can take multiple days, which is a problem in our current situation. This is why Brent is going to push for sync review when when he feels his willingness to spend the time on it waning. It will be a time-saver in the long run that way. @@ -167,10 +167,10 @@ Mukesh's action items: - Continue using TDD, help others understand where it's most useful. -# 2022-08-10 Cycle 3 check-in +## 2022-08-10 Cycle 3 check-in **Attendees**: Brent, Dominykas, Ghislaine, Kriti, Pavish, Rajat, Sean, Mukesh -## Cycle 3 progress +### Cycle 3 progress We made progress on the following: - Data Explorer (backend and frontend both over 90%) - Navigation (design finalized, implementation almost complete) @@ -183,13 +183,13 @@ We made progress on the following: - Data Modeling Suggestions (requirements worked out) - Dynamic Defaults (requirements and backend plan worked out) -## Work assignment changes +### Work assignment changes - Mukesh assigned to Column Extraction front end - Dom will switch to frontend issues after Sean finishes Navigation - Brent will focus on general backend support for Cycle 3 and take over any work from Dom or Mukesh as needed - Dhruvi may need extra work, we'll figure that out during the week since she's not here today -## Collaboration needed +### Collaboration needed - Data Explorer - Brent and Dom will meet to discuss bug - Table Inspector @@ -200,13 +200,13 @@ We made progress on the following: - Column Extraction - Spec should be ready by Friday to unblock Mukesh -## Cycle 3 extension +### Cycle 3 extension We decided to extend Cycle 3 by 1 week to Aug 26. Since Record Page and Data Import are still at 0% and won't be started until the end of the next week at the earliest, giving ourselves another week should get us much closer to completing our work. This is a one-time extension, Cycle 3 will definitely end on Aug 26. -# 2022-08-05 Dynamic Defaults +## 2022-08-05 Dynamic Defaults **Topic**: Backend planning for Dynamic Defaults feature **Attendees**: Dominykas, Brent, Kriti @@ -267,13 +267,13 @@ GET http://localhost:8000/api/db/v0/tables/2/columns/ ... ``` -## Needed tickets +### Needed tickets - Guarantee wrapper - showing non-dynamic, dynamic (Mathesar), dynamic (3rd-party) for API -## Reference: Dynamic Defaults Proto-Spec +### Reference: Dynamic Defaults Proto-Spec -### Problem +#### Problem We are considering implementing Dynamic Defaults as it increases the usability of adding new records. @@ -289,7 +289,7 @@ The dynamic default options will depend on the field's data type. We should consider implementing dynamic defaults using the same formulas that we plan to implement in the future -### Proposed User Flow +#### Proposed User Flow - User selects a column - The inspector panel displays the properties for that column - User toggles the "Default Value" option @@ -304,16 +304,16 @@ Formulas to use from [our Formulas](https://wiki.mathesar.org/en/product/specs/2 - A specific date and time: static default (not dynamic) - show date time picker -# 2022-08-04 Data Modeling & Schemas +## 2022-08-04 Data Modeling & Schemas **Topic**: Resolve product and design questions for Brent's upcoming work **Attendees**: Kriti, Ghislaine, Brent -## Data modeling suggestions +### Data modeling suggestions ["Suggest Candidate Columns to Create Separate Table" internship report](https://drive.google.com/file/d/16BSTdr5B7NDGzgKI6oh2LQ_D4Jad5JvD/view) -### Questions +#### Questions - Better to extract too few columns or too many? - How fiddly should the feedback loop of deciding which columns to extract be? @@ -329,7 +329,7 @@ Formulas to use from [our Formulas](https://wiki.mathesar.org/en/product/specs/2 - Have the user guide more of the column extraction -### Discussion +#### Discussion - Brent's first proposed process is preferable from a UX perspective, having the user make repeated decisions is not ideal - Second round is not necessary, let's stick to one round. - It's better to be conservative with suggestions, better to suggest fewer columns than potentially unrelated data @@ -338,7 +338,7 @@ Formulas to use from [our Formulas](https://wiki.mathesar.org/en/product/specs/2 - Not even if they're directly correlated to categorical data columns (e.g. if there's a person's name and birthday, we only suggest name, not birthday) - Brent will check for easy wins if there's not too much effort involved -## Schema homepage +### Schema homepage - Schemas will now have descriptions, stored in DB comments - Mathesar won't own the description, other clients can edit it - UX should make it clear that this data can be edited outside of Mathesar (maybe mention that it's stored as a DB comment) @@ -346,15 +346,15 @@ Formulas to use from [our Formulas](https://wiki.mathesar.org/en/product/specs/2 - We can easily get the count for both Mathesar-specific data like Explorations and for DB objects - We can be more precise with DB objects -# 2022-08-04 Table Inspector meeting +## 2022-08-04 Table Inspector meeting **Topic**: Resolve major questions remaining before finalizing the [table inspector spec](https://github.com/centerofci/mathesar-wiki/pull/51) **Attendees**: Ghislaine, Kriti, Sean, Rajat -## Spec Overview +### Spec Overview We took a quick look at the current spec and content. -## Selection Modes +### Selection Modes - Do we agree or have any concerns with the proposed selection modes? - Selection triggers might not be the best way to trigger inspector modes. - A tabbed panel that groups properties by level (table, column, record, cell) might be better. @@ -366,7 +366,7 @@ We took a quick look at the current spec and content. - Are we planning to provide keyboard and touch device interactions for selections in this cycle? - No -## Contextual Menus and Inspector Interactions +### Contextual Menus and Inspector Interactions - Will the user be able to trigger the inspector panel via contextual menu actions? - Yes, but will not be part of Cycle 3. - We discussed the concept of adding an option like "Show Column Properties" in the inspector to open it with a chosen tab. @@ -375,24 +375,24 @@ We took a quick look at the current spec and content. We want to do this, but not in Cycle 3. -## Defining Actions and the Actions Panel +### Defining Actions and the Actions Panel - Do we agree with the proposed use of actions to represent data transformation or modeling tasks? - Yes, we agreed - We need to make sure actions are consistent, e.g. Set to NULL is probably a property because it's related to the cell value -## Ways to Enable Inspector +### Ways to Enable Inspector - Do we agree or have any concerns with the proposed inspector states and triggers? - Not selection triggered - User can toggle -## Decisions +### Decisions Out of Scope (for this spec / Cycle 3) - Context menu changes for opening the inspector - Keyboard and touch interactions - Selecting disjoint cells and columns (will defer to keyboard interactions) -## Reference -### Sean's proposed "Cell-only selection" +### Reference +#### Sean's proposed "Cell-only selection" For the sake of brainstorming, I present a rough design which unifies the selection behavior for cells, rows, and columns. I'm not attached to this design, but rather putting it forward to demonstrate an alternate approach that may lead to even better design ideas collaboratively. @@ -411,11 +411,11 @@ For the sake of brainstorming, I present a rough design which unifies the select -# 2022-08-03 Cycle 3 check-in +## 2022-08-03 Cycle 3 check-in -## Check in on everyone's work +### Check in on everyone's work -### Brent +#### Brent - Was blocked on summarization until today, unblocked now - Made progress on setting up library dataset, pretty much done - Not sure if it works on Windows, but that's not relevant for Cycle 3 @@ -423,18 +423,18 @@ For the sake of brainstorming, I present a rough design which unifies the select - Meeting with Kriti & Ghislaine tomorrow to discuss product work - Schema homepage on backburner since it's quick -### Dhruvi +#### Dhruvi - Data Import work is moving along - Deliverable will be a spec -### Dominykas +#### Dominykas - Filtering almost done, need to meet with Pavish - Will be scheduled soon - Dynamic Defaults - Thinking about implementation constraints - Will meet with Kriti and/or Ghislaine to discuss product concerns this week -### Ghislaine +#### Ghislaine - Navigation spec should be merged today - Table Inspector - Draft of spec ready @@ -446,43 +446,43 @@ For the sake of brainstorming, I present a rough design which unifies the select - Styling - not yet started, hopefully this week -### Mukesh +#### Mukesh - Column Extraction pretty much done, awaiting final review from Brent - Record Summary backend work is close as well - Record Summary frontend work is not yet started, will take up the rest of the week -### Pavish +#### Pavish - Data Explorer will occupy time until next meeting, including Filtering - Grouping & summarization in Data Explorer are next - Data Import has not been started -### Rajat +#### Rajat - Currently working on introductory tasks, making progress - Next task: Table Inspector - Read spec - Meet with Ghislaine & Sean -### Sean +#### Sean - Need to resolve Navigation work assignment (see next agenda item) - Record Selector work is moving along - Record Page has not been started yet, would be good to do after Navigation -## Navigation work +### Navigation work Difficult for Sean to coordinate with Pavish due to TZs. Navigation work seems to involve fiddly modifications of lots of code that Pavish originally wrote, thus it would be quicker with coordination. -### Options +#### Options - Sean and Pavish find a better meeting time (difficult) - Pavish takes navigation, give some work to Sean in return -### Decision +#### Decision - Sean and Pavish will meet and discuss in a separate call -## Renaming Queries to Explorations in the UI +### Renaming Queries to Explorations in the UI Thumbs up all around -## Data Import work +### Data Import work - Design constraint: - We want to make sure that the user understands that they cannot navigate away from the page during the import process. - A modal is one way to do this, but it's just a suggestion diff --git a/docs/team/meeting-notes/2022/09/2022-09.md b/docs/team/meeting-notes/2022/09/2022-09.md index fa8398e1a..078f16820 100644 --- a/docs/team/meeting-notes/2022/09/2022-09.md +++ b/docs/team/meeting-notes/2022/09/2022-09.md @@ -1,15 +1,15 @@ # September 2022 meeting notes -# 2022-09-28 weekly meeting +## 2022-09-28 weekly meeting -## Team goals discussion +### Team goals discussion **Attendees**: Entire core team We discussed the [team goals document](https://docs.google.com/document/d/1kAkL6-5jM4HUnAs840wk05hrdnwm6Zw0wpdbYVh7DcY/) (only accessible to the core team), which outlines priorities for the rest of 2022 and criteria for what is critical for the live demo and first release. The core team will be using this document as a guide from now on. We will need to come up with a new set of goals and priorities once we have completed our first release. -## Live demo readiness check in & next steps +### Live demo readiness check in & next steps **Attendees**: Entire core team What are next steps for getting ready for the live demo? @@ -33,14 +33,14 @@ What are next steps for getting ready for the live demo? - We can bring in CCI / external parties to do this - We'll organize this later -## Hacktoberfest +### Hacktoberfest **Attendees**: Entire core team Should we participate in Hacktoberfest? No, we need to focus on the live demo. Maybe next year. -## Backend problems discussion +### Backend problems discussion **Attendees**: Kriti, Brent, Mukesh, Dom, Sean Dom started this topic as "Importance of refactorability" with the following explanation: @@ -100,13 +100,13 @@ Problems: **Next steps**: Kriti will schedule backend meeting. -# 2022-09-22 Styling planning +## 2022-09-22 Styling planning **Attendees**: Pavish, Sean, Rajat, Ghislaine We discussed on styling deliverables and planning out frontend implementation. -## Plan +### Plan * Ghislaine will provide high-level information on all different types of layouts, so the frontend team can start implementing the lower level components * For each page in the figma designs, one or more of the frontend devs will take control of reviewing them thoroughly. This will be a general review. * Rajat will be incharge of the entire styling implementation. He will be working on most of it, and he can also delegate the tasks to the rest of the frontend team. The call rests on him. @@ -118,13 +118,13 @@ We discussed on styling deliverables and planning out frontend implementation. * Sean and Pavish will act in a supporting role, taking up any issue Rajat wants to delegate, answer any questions, or help designing the architecture. -# 2022-09-21 weekly meeting +## 2022-09-21 weekly meeting -## Demo video plan +### Demo video plan - The new plan is to make a short product introduction video using the Figma mockups we're creating for styling the product. - This will allow engineering to focus on the live demo and allow us to launch the marketing website sooner. -## Live demo readiness plan +### Live demo readiness plan Three stages: - **Stage 1:** Continue to work on usability testing using the library storyboard and get everything to work and look good. - **Stage 2:** Usability testing on all other features we've implemented so far, get it all to work and look good. @@ -132,13 +132,13 @@ Three stages: We will probably need to cut scope for the live demo. We'll talk through what's essential at next week's meeting. Kriti will send an agenda and things to think about beforehand. -## Issue/PR triage +### Issue/PR triage - We're removing `CODEOWNERS` files from repos to avoid unwanted notifications. - Sean will take over triaging issues and making sure they are assigned to someone for review. - Everyone is still responsible for assigning reviewers for their own PRs, Sean is just a last resort. - Rajat will be the backup person for triaging issues in case Sean is unavailable. -## Current work check-ins +### Current work check-ins - We're abandoning the "everyone go around and talk about your work" part of this meeting. We'll instead focus on blockers, dependencies, and questions that the entire team is needed for. - Brent: Users & Permissions is on pause because of live-demo readiness bugs, is this okay? - Yes, this is fine. Once Dom or Mukesh is freed from performance work, we should then have someone dedicated to Users & Permissions @@ -152,15 +152,15 @@ We will probably need to cut scope for the live demo. We'll talk through what's - Mukesh is making good progress on the performance issues, has reduced queries from 400 to 200. Remaining queries are related to Dom's work. - Code is not very readable but since it's related to Django-SQLAlchemy syncing, and we plan to remove that whole part of our architecture fairly soon, readability is not a concern. -# 2022-09-16 demo readiness +## 2022-09-16 demo readiness **Attendees**: Brent, Ghislaine, Kriti, Pavish, Sean (partial) We went through usability testing notes on Figma and decided which issues were problems. Relevant issues were later transferred into GitHub. -## Table Page +### Table Page - no changes needed to URL -## Table Inspector +### Table Inspector - Table constraints: move to separate location - Location for demo video - For live demo, separate constraints by type @@ -173,11 +173,11 @@ We went through usability testing notes on Figma and decided which issues were p - unique constraint should be positive in both places or negative in both places - Reason for two places: multicolumn uniqueness constraints -## Screen 8 +### Screen 8 - Improve navigation (general) - specifically, navigating to import place -## Screen 20 +### Screen 20 - Column name running out - We'd like to persist column width settings for demo video - Record selector discoverability @@ -190,49 +190,49 @@ We went through usability testing notes on Figma and decided which issues were p - White space - we agree this is a problem -## Screen 22 +### Screen 22 - Want to add type when creating column - Improve modal for linking table - improve table load (or get rid of that) when creating link - one-to-one record not working -## Screen 26 +### Screen 26 - Styling - assess and improve - queries - more help ("why are these there?") - Brent TODO file bug for missing records (or wrong count) -## Screen 27 +### Screen 27 - Bug for NOW() (confusing behavior) -## Screen 28 +### Screen 28 - Icons aren't obvious or clear in their use - sequential loading of related records is confusing -## Screen 30 +### Screen 30 - Dropdown options are confusing - preproc is confusing -## Screen 32 +### Screen 32 - Go with count for default aggregation -## Screen 34 +### Screen 34 - Help user understand single vs. multiple results - Help user understand why some not available -# 2022-09-14 demo readiness +## 2022-09-14 demo readiness **Attendees**: Brent, Ghislaine, Kriti, Pavish, Rajat, Sean We did some live usability testing, but didn't get into any action items. Sean volunteered to split some tickets into "demo video" and "live demo". -# 2022-09-14 weekly meeting +## 2022-09-14 weekly meeting We talked through progress for Cycle 4. Nothing major to report. -## Scope and expectations for cycle +### Scope and expectations for cycle - **Topic summary**: keeping scope and expectations limited for current cycle (and any before release) - Triggered by https://github.com/centerofci/mathesar/issues/1632 but not specific to it @@ -240,7 +240,7 @@ We talked through progress for Cycle 4. Nothing major to report. - Action item: If putting something into Demo video, live demo, or initial release milestones, please indicate why it's absolutely crucial for those milestones -# 2022-09-07 demo video readiness +## 2022-09-07 demo video readiness **Attendees**: Kriti, Ghislaine, Pavish, Brent, Rajat (partial), Sean (partial) - Demo should start with the Database page. @@ -255,25 +255,25 @@ We talked through progress for Cycle 4. Nothing major to report. We switched to taking notes [directly on the storyboard](https://www.figma.com/file/F0FmNaNz8hvrgxPax3Bix1/Cycle-3-storyboard?node-id=2%3A57) at this point. -## GitHub issue +### GitHub issue We created a GitHub issues with todos to do before the next meeting. Please see https://github.com/centerofci/mathesar/issues/1604 -## Live demo issues +### Live demo issues We won't be handling this just yet, but making notes so we don't forge - error handling checking and improvements in the backend -## Next steps +### Next steps - Work on https://github.com/centerofci/mathesar/issues/1604 - Next meeting on Wednesday - We'll continue going through the storyboard and creating todos until we do a first pass of the full storyboard - Then we'll go through and do a second pass on the storyboard -# 2022-09-07 weekly meeting +## 2022-09-07 weekly meeting **Attendees**: Kriti, Ghislaine, Pavish, Brent, Rajat, Sean, Mukesh, Dominykas -## Weekly check-in and planning +### Weekly check-in and planning - **Data Explorer** - done, remaining polish will be folded into **Demo Video Readiness** - **Table Inspector**: @@ -310,13 +310,13 @@ We won't be handling this just yet, but making notes so we don't forge - We still have a bunch of features to build (column extraction, etc.) - **Demo Video Production** and **Mathesar Website**: no real updates to report -## Data explorer navigation +### Data explorer navigation - **Summary**: Continuing from [Can we remove the "Close" button on Explorations?](https://github.com/centerofci/mathesar/issues/1601) - **Participants:** Sean, Pavish, Kriti, Ghislaine Summary of decisions is here: https://github.com/centerofci/mathesar/issues/1601#issuecomment-1239754189 -# 2022-09-02 Record Summaries in Data Explorer +## 2022-09-02 Record Summaries in Data Explorer * **Topic**: Record summaries in Data Explorer * **Participants**: Brent, Mukesh, Pavish, Sean @@ -328,7 +328,7 @@ The discussion split into the following sub-topics: 3. Storyboard ordering for the Demo video. 4. Allowing operations across schemas in Mathesar. -### 1. If, and if so, how should Record Summaries be displayed in Data Explorer. +#### 1. If, and if so, how should Record Summaries be displayed in Data Explorer. **When a user adds the id column of a table in the Data Explorer, should we show the id direcly as an integer or should we show a Record Summary?** * Arguments supporting keeping id columns as integers and not showing Record Summary @@ -348,7 +348,7 @@ The discussion split into the following sub-topics: * **Next Steps** - Since we cannot complete implementing Record Summaries for the demo video, we started Discussion #2 to figure out how we handle the summarization scenario from the storyboard. -### 2. What should the default aggregation be, when the user clicks on the Summarize option after grouping a table, as per screen 31 and 32 of our [storyboard figjam file](https://www.figma.com/file/F0FmNaNz8hvrgxPax3Bix1/Cycle-3-reference). +#### 2. What should the default aggregation be, when the user clicks on the Summarize option after grouping a table, as per screen 31 and 32 of our [storyboard figjam file](https://www.figma.com/file/F0FmNaNz8hvrgxPax3Bix1/Cycle-3-reference). * Option1: **We select a single additional column and aggregate it to count**. - Needs no additional work. @@ -365,7 +365,7 @@ The discussion split into the following sub-topics: - This is a product level decision. - Brent and Pavish will discuss this on the upcoming 'Demo video readiness check-in call' on Tuesday (2022-09-06). -### 3. Storyboard ordering for the Demo video. +#### 3. Storyboard ordering for the Demo video. The previous discussion yielded another one on the user flow in the demo video. We introduce Data Explorer in Storyboard screens 31 and 32 through summarizing a grouped table result. * Summarization is not the best way to introduce Data Explorer since it involves several configurations being displayed to the user, which may come across as Data Explorer being hard to use or unintuitive. @@ -375,7 +375,7 @@ The previous discussion yielded another one on the user flow in the demo video. * **Next steps** - Brent and Pavish will discuss this on the upcoming 'Demo video readiness check-in call' on Tuesday (2022-09-06). -### 4. Allowing operations across schemas in Mathesar. +#### 4. Allowing operations across schemas in Mathesar. We took some liberty discussing bugs when this came into question, which resulted from the discrepancy in scoping queries between the backend and the frontend. * Currently queries on the backend are not scoped within a Schema. They exist directly under the Database level. diff --git a/docs/team/meeting-notes/2022/11/2022-11-09-weekly.md b/docs/team/meeting-notes/2022/11/2022-11-09-weekly.md index a9d5d0e15..04a92ca78 100644 --- a/docs/team/meeting-notes/2022/11/2022-11-09-weekly.md +++ b/docs/team/meeting-notes/2022/11/2022-11-09-weekly.md @@ -1,24 +1,24 @@ # 2022-11-09 weekly meeting -# Cycle 5 progress check-in +## Cycle 5 progress check-in - **Required participants:** Entire core team -## Sean +### Sean - Reining in linked table dialog - Working on record summary UI - Will work on styling after -## Dom +### Dom - Working on DE summarization suggestions - Was worried because spec kept changing, but now pretty confident - DE work will probably take rest of cycle, might have a little time at the end -## Pavish +### Pavish - DE will take rest of cycle - Not sure if can get to Data Import page or Table Page help this cycle - We can talk about Sean / Rajat taking it on if it's higher priority -## Ghislaine +### Ghislaine - No concerns - Things that could slow me down – iterating over previous designs that should be finalized - Linked table design needs to be finalized @@ -27,7 +27,7 @@ - Pavish has fixed this in his PR via updating state of the button - Website work coming up -## Rajat +### Rajat - Not in a good state, lots of half-done things - Table inspector urgent priority issue - PR created - Will be in a better state by the end of the week @@ -36,7 +36,7 @@ - Table Inspector - half of table page -## Brent +### Brent - On hold on bug squashing unless something really urgent pops up - In live demo mode - Kriti & Mukesh provided feedback on current PR, needed to re-org PR @@ -59,7 +59,7 @@ - Explain that installation is happening during login - Banner for live demo -## Mukesh +### Mukesh - Progress steady with users and permissions - Aiming to finish backend work before end of the cycle - Then work on deployment related tasks @@ -72,7 +72,7 @@ - We may not want to auto-deploy to live demo server - Yes, that's the plan -## Kriti +### Kriti - Working with lawyer on user agreement - Working with demo video team - process starts tomorrow - Speccing out deployment tasks in more detail diff --git a/docs/team/meeting-notes/2023/01/2023-01-20-partial-user-input-of-dates.md b/docs/team/meeting-notes/2023/01/2023-01-20-partial-user-input-of-dates.md index 1cf45edab..8062bc359 100644 --- a/docs/team/meeting-notes/2023/01/2023-01-20-partial-user-input-of-dates.md +++ b/docs/team/meeting-notes/2023/01/2023-01-20-partial-user-input-of-dates.md @@ -1,6 +1,6 @@ # 2023-01-20-partial-user-input-of-dates -# 2023-01-20 Meeting about how to handle partial user input of dates +A meeting about how to handle partial user input of dates ## Meeting details diff --git a/docs/team/meeting-notes/2023/02/2023-02-08-launch-planning.md b/docs/team/meeting-notes/2023/02/2023-02-08-launch-planning.md index e7708f4c5..53f66ec81 100644 --- a/docs/team/meeting-notes/2023/02/2023-02-08-launch-planning.md +++ b/docs/team/meeting-notes/2023/02/2023-02-08-launch-planning.md @@ -1,12 +1,12 @@ # 2023-02-08 launch planning meeting -# General update and Q&A +## General update and Q&A Kriti gave an update on - Launch goals - Funding plan - Usability testing strategy -## Launch goals +### Launch goals - Get early adopters that are really excited about Mathesar and can help us alpha-test it - Post Mathesar on HN, Reddit - Get people to install and use it @@ -18,7 +18,7 @@ Kriti gave an update on - Reducing target audience size - Only aiming now for HN-user types, engineers (since they are the ones deciding whether to install Mathesar) -## Funding +### Funding - For Non-profit projects, the important thing is impact - Theory of change - Can't do anything until we launch @@ -26,7 +26,7 @@ Kriti gave an update on - Need to show people are interested in it. - Kriti wants to do pitches in March/April -## Usability testing +### Usability testing - Using tool: Playbook UX - We provide tasks. People record themselves doing it. - We also ask questions via the tool. @@ -47,12 +47,12 @@ Kriti gave an update on - Creating an exploration at prompt - Each test is giving us a 20-minute video of someone using Mathesar -# Launch plan +## Launch plan We're going to launch on **Feb 27**. Blockers NEED to get done before launch. -## Blockers +### Blockers - Users & Permissions (Pavish, Rajat, Sean) - Pavish & Kriti met Tue to cut scope a bit - Deployment (Brent, Dom, Mukesh) @@ -72,31 +72,31 @@ Blockers NEED to get done before launch. - Think about versioning (semantic versioning may not be appopriate for applications) - Document upgrade process (Brent) -## Nice to have +### Nice to have - Upgrades in UI (Sean) - Additional deployment types (Brent, Dom, Mukesh) - "High" items in Backlog milestone (Pavish, Rajat, Sean, Ghislaine) - Pre-launch publicity (Kriti) - Process for publishing releases on DockerHub -## Process +### Process - Currently ad-hoc process for launch - We'll discuss improving velocity in a more permanent way after launch - Considering meetings 2-3 times a week to stay focused. - Everyone agrees, we'll set these up. -## GSoC / community work +### GSoC / community work - We'll stop reviewing community work until launch. - Anish will handle community communication until launch. - Kriti will support as needed. - Everyone else should ignore community work until we launch. - If we get into GSoC, we'll review and update project ideas after launch. -## Next steps +### Next steps - Update launch milestone in GitHub to be accurate. - Kriti will set up meetings -# Current status +## Current status - Users and permissions - Try to get this done before any other frontend work, it's in blockers - Rajat's PR is open for styling diff --git a/docs/team/meeting-notes/2023/02/2023-02-10-launch-check-in.md b/docs/team/meeting-notes/2023/02/2023-02-10-launch-check-in.md index d20450139..9a0c673d8 100644 --- a/docs/team/meeting-notes/2023/02/2023-02-10-launch-check-in.md +++ b/docs/team/meeting-notes/2023/02/2023-02-10-launch-check-in.md @@ -1,6 +1,6 @@ # 2023-02-10 launch check-in -# General check in +## General check in - **GH project**: Kriti updated the GH project, made issues for things we need to do. GH proj should be primary source of truth. - **Users/Perms:** Pavish has assigned out all the rest of the work. It's coming along nicely. Should be completed by the end of next week. No other back-end issues are blocking Users/Perms FE work now. Mukesh is on standby to fix backend issues if needed. We should do some manual QA testing after we're done. - **Installation**: Docker setup merged. Install script in draft PR form. We adjusted some tasks within GH during the meeting. We're focusing only on "Deployment type 1". Maybe Dom could work on other deployment types? @@ -20,18 +20,18 @@ - Users & Permissions documentation - Might also do in-app documentation -# How do permissions affect edits to metadata +## How do permissions affect edits to metadata - **Summary**: We have user roles: "Manager", "Editor", and "Viewer". Can an Editor modify metadata like Explorations, and column display settings? I predict that some users will want to grant this permission and some will not. Short of adding another role, we should take our best guess as to the behavior that most users will want, making sure we're all on the same page as a team. -## Notes +### Notes - Editors _can_ edit metadata. - Schema/table names and descriptions are _not_ considered metadata (since they're stored in the user database). - We may want more granular permissions later, but we hope this will be okay for now -# Planning for upgrades via UI +## Planning for upgrades via UI - **Summary**: tie up the loose ends with the design for the in-app upgrade process -## Notes +### Notes - Disagrements on fetching latest version info - Kriti doesn't want a cron job since it adds deployement complexity. Instead, we could fetch latest versions when an admin user is logged in. - Dom has already impelented caching. Is the cron job already implemented? diff --git a/docs/team/meeting-notes/2023/02/2023-02-13-launch-check-in.md b/docs/team/meeting-notes/2023/02/2023-02-13-launch-check-in.md index 268e001cd..9e4f391d7 100644 --- a/docs/team/meeting-notes/2023/02/2023-02-13-launch-check-in.md +++ b/docs/team/meeting-notes/2023/02/2023-02-13-launch-check-in.md @@ -1,8 +1,8 @@ # 2023-02-13 launch check-in -# General check-in +## General check-in -## Users & Permissions +### Users & Permissions - Pavish: looking pretty good, PRs are awaiting review - Rajat: Working on Table Inspector permissions – hasn't started, has been reviewing designs @@ -10,26 +10,26 @@ - Other permissions issues shouldn't be started until 2443 is merged - Rajat should prioritize PR review -## Deployment and Installation +### Deployment and Installation - Brent: Working through `install.sh`, reviewing PR #2444, relevant to documentation - Moved some tickets from 'blockers' to 'nice to have' - There's a PR for compressing static assets -## Load testing live demo +### Load testing live demo - Dom's getting started with that. -## Upgrade +### Upgrade - Sean's getting started - Final say on user flow will live in #277 -## Product Usability testing +### Product Usability testing - Done for now - People were having real trouble renaming a table, wanted to put a table name in when creating from scratch. - Had trouble changing the table name later. - Ghislaine will create an issue for setting table name when creating a table - Will be launch nice to have -## Website +### Website - Waiting on docs and demo video to be done for integrating - Some issues with OpenGraph tags - Some issues reported by Google search console @@ -45,23 +45,23 @@ - How to get back to the site from the demo? - Maybe even for general installations of the app. -## Analytics +### Analytics - Nice to put some on live demo website - Mukesh will work on this after Kriti creates an issue -## Error logging and reporting +### Error logging and reporting - Might be useful for tracking down bugs, etc. - Only useful for demo at the moment, need to think about self-hosted -## Users & Permissions QA +### Users & Permissions QA - Anish will document what needs to be tested - Kriti will provide feedback -## Launch milestone updates +### Launch milestone updates - Kriti will make some issues for new things mentioned above - We'll kick out extra users & permissions and deployment types from launch nice-to-haves -# Schema Sharing Modal Design +## Schema Sharing Modal Design **Attendees**: Pavish, Kriti, Rajat - The schema sharing modal design doesn't show people with DB access, should we show it? diff --git a/docs/team/meeting-notes/2023/02/2023-02-17-launch-check-in.md b/docs/team/meeting-notes/2023/02/2023-02-17-launch-check-in.md index c58e5d957..927f6ceeb 100644 --- a/docs/team/meeting-notes/2023/02/2023-02-17-launch-check-in.md +++ b/docs/team/meeting-notes/2023/02/2023-02-17-launch-check-in.md @@ -1,17 +1,17 @@ # 2023-02-17 launch check in -# Upcoming meetings +## Upcoming meetings - Monday's launch check in is moved to Tuesday because of US holiday - Next week's community team event is moved one week since we have a lot to do before launch. It's now on March 3. -# General check in +## General check in -## Users & Permissions +### Users & Permissions - PRs open for items assigned to both Rajat and Sean. - Pavish should have PRs ready by Monday. - QA: Anish is working on the document. We could start it on Tuesday. -## Installation & Deployment +### Installation & Deployment - Docs and install script are done. Kriti will take a look at it after it's merged. - We'll get feedback from people from Upwork once ready. - Kriti has interviewed and selected a bunch of people to test the installation process. @@ -19,93 +19,93 @@ - Kriti will make sure issues exist for these - Update existing Deployment Type 2 issue -## Live demo +### Live demo - Analytics PR is merged. - Mukesh is trying to figure out how to integrate it with the FE. - Next steps: Kriti will deploy and test it. -## Website +### Website - There's a PR to update CTAs, to inform about the sass version, docs integration etc., - Most blockers are complete. -## Documentation +### Documentation - Need to add HTTPS redirect - Improvements waiting to be merged -## Usability improvements +### Usability improvements - All remaining issues are assigned. -## Upgrades +### Upgrades - Sean: Coming along well. No additional help is needed at the moment. - There's a bit of work on the FE since the logic is shifted to FE. - There should be a PR on Monday. - Inorder to test, there should be atleast two releases published to GH. -## Release +### Release - Brent is assigned to resetting migrations and creating first release - ETA early next week -## Publicity +### Publicity - Kriti is coming up with plans for publicity. - HN, email posts, social media posts etc., - We'll discuss about how to distribute comments on thread between team members next week. -## Priorities per person +### Priorities per person -### Anish +#### Anish - QA plan for users & permissions - Usability issues -### Brent +#### Brent - Keep an eye on deployment/documentation feedback - Double-check that we can deploy (type 1) on GCP, with domain, https etc. work - Reset migrations - Publish 2 test releases (comms with Sean) - Update script/docs to handle deployment type 2 -### Dom +#### Dom - Upgrade support for Sean - Load testing live demo -### Ghislaine +#### Ghislaine - Website & design -### Kriti +#### Kriti - A number of things related to usability testing, website, publicity, sponsorship etc., -### Mukesh +#### Mukesh - Analytics - Help Brent with installation - Talk to Kriti if further work needed -### Pavish +#### Pavish - Users & Permissions issues -### Rajat +#### Rajat - Users & Permissions review - Usability issues -### Sean +#### Sean - Upgrades - Live demo -# Version number format +## Version number format - **Added by**: Sean - **Summary**: I need to know the format we're using for the version number. With our recent decesion to push more upgrade logic to the front end, the front end needs to parse the version number to determine whether the latest version is an upgrade. -### Notes +#### Notes - Kriti did some research on versioning, let's use SemVer - First testing release 0.0.1, second testing release: 0.0.2 - First actual alpha release: 0.1.0 -# Adding Analytic Events to the frontend +## Adding Analytic Events to the frontend - **Added by**: Mukesh - **Attendees**: Mukesh, Sean, Pavish, Kriti (partial) - **Summary**: Need input from frontend team to decide on architecture to implement custom events for demo server. -### Notes +#### Notes - Decided against implementing analytics in the backend because frontend has a lot of events that are not visible to backend. - Analytics events are better captured on the frontend, as we have a better context of the user actions and can also capture events that don't make any backend API calls. - Kriti: if this is going to be very complicated to implement, we can skip it for launch. diff --git a/docs/team/meeting-notes/2023/02/2023-02-21-launch-check-in.md b/docs/team/meeting-notes/2023/02/2023-02-21-launch-check-in.md index b47b49c51..7a5bc72d6 100644 --- a/docs/team/meeting-notes/2023/02/2023-02-21-launch-check-in.md +++ b/docs/team/meeting-notes/2023/02/2023-02-21-launch-check-in.md @@ -1,8 +1,8 @@ # 2023-02-21 launch check in -# General check in +## General check in -## Users & Permissions +### Users & Permissions - There's a open PR with rest of pending items - If we want to change UX as per Kriti's comments, won't take long - pending confirmation @@ -13,7 +13,7 @@ - There's a PR -- pending review; - nice-to-have -## Installation & Deployment +### Installation & Deployment - SSL wasn't working, but it's fixed - PR is in, not quite working, but it'll be sorted by tomorrow - Mukesh's approach is better @@ -29,27 +29,27 @@ - Deployment type 3: - Mostly should work, needs either documentation on environment variables, or convenience scripts to wrap commands in proper environment (e.g., read from .env file) -## Live demo +### Live demo - Load testing has multiple issues - When initializing multiple users at once, demo server doesn't return requests - Front end issues are further out in the queue -## Website +### Website - 404 page PR is submitted - Integrating documentation is happening today -## Documentation +### Documentation - Integrating into website - Documenting type 2 and 3 deployments - Update `README.md` (issue #2495) - Ghislaine working on styling - could integrate feedback from usability testers -## Usability improvements +### Usability improvements - PRs are in for all blocking issues - People should be reviewing today or tomorrow -## Upgrades +### Upgrades - Sean opened a PR over the weekend. - The releases exist, but - We should delete them @@ -58,63 +58,63 @@ - Make some new releases, - Make sure it works through manual QA. -## Release +### Release - Migrations are reset - Create and publish first release -## Publicity +### Publicity - The HN post is in the works -## Priorities per person +### Priorities per person -### Anish +#### Anish - Reviewing #2520 - Community work - QA for Users and Permissions -### Brent +#### Brent - Testing deployment type 1 with SSL - Deployment type 2 - Propose release process - Implement deployment usability testing fixes as needed - Website bio double-check -### Dom +#### Dom - Rewrite upgrade endpoint from GET to POST in caddyfile - Demo bottleneck hunting -### Ghislaine +#### Ghislaine - Style Wiki and Documentation - Update bios on website - Alternative design for CTA - Table rename prompt design -### Kriti +#### Kriti - Keep people unblocked - Plan for QA and docs - Write README, HN post, etc. -### Mukesh +#### Mukesh - Get the analytics PR #2513 merged into the frontend codebase - Start working on Deployment Type 3 work - Log more analytic events -### Pavish +#### Pavish - Review and merge upgrades PR - Get users & permissions PR merged - fix review comments if any - Review other launch PRs - Avoid merging / worrying about PRs not involved with launch -### Rajat +#### Rajat - General usability testing - Docs for users and permissions - QA for users and permissions -### Sean +#### Sean 1. PR review for Pavish/Rajat 1. Live demo usability improvements -# Testing Docker images, Github Releases +## Testing Docker images, Github Releases **Summary**: Follow up on [Brent's email](https://groups.google.com/a/mathesar.org/g/mathesar-developers/c/-AALJgNGxjQ/m/6DQ2QAWZEgAJ), decide on next steps - Process proposed in email seems very bureaucratic diff --git a/docs/team/meeting-notes/2023/02/2023-02-22-launch-check-in.md b/docs/team/meeting-notes/2023/02/2023-02-22-launch-check-in.md index 394288cea..3ed9421ab 100644 --- a/docs/team/meeting-notes/2023/02/2023-02-22-launch-check-in.md +++ b/docs/team/meeting-notes/2023/02/2023-02-22-launch-check-in.md @@ -1,8 +1,8 @@ # 2023-02-22 launch check-in -# General check in +## General check in -### Users & Permissions +#### Users & Permissions - Frontend work mostly merged - PR is open for UX change - Should be merged soon, pending review @@ -11,7 +11,7 @@ - Should have the documentation before tomorrow's meeting - Pavish wants to add some tootips to help users understand what permissions do -## Installation & Deployment +### Installation & Deployment - Everything is working for Type 1 - SSL is working, tested on GCP. Turned off in localhost. - Brent's working on Type 2 @@ -19,86 +19,86 @@ - Kriti talked with Mukesh about deployment type 3 - We havea temp working on documenting the steps Ansible goes through for type 3 -## Live demo +### Live demo - We narrowed the problems down to reflection being very inefficient. - Demo analytics has been merged - If time, add more analytics events -## Website +### Website - Kriti posted new 404 in matrix yesterday - PR is submitted (draft) for integrating docs into the website. - Should be merged after the docs look nicer - Draft PR for social proof section. -## Documentation +### Documentation - Wiki is now styled with our colors, etc. -## Usability improvements +### Usability improvements - "Use 404 page in app" is in progress -## Upgrades +### Upgrades - Sean is addressing review feedback - Kriti will figure out QA plan once merged. -## Release +### Release - Document release process -## Publicity +### Publicity - No update -## Priorities per person +### Priorities per person -### Anish +#### Anish - Completing QA spreadsheet - Getting #2520 merged in - Community work -### Brent +#### Brent - Deployment type 2 - Propose/document release process - Deployment usability test fixes - Website bio -### Dom +#### Dom - Find and fix demo server bottlenecks - Figure out how to make demo server unlikely to break (reliable) -### Ghislaine +#### Ghislaine - Update docs styling - Alternative CTA design -### Kriti +#### Kriti - Keep people unblocked - Deployment usability testing - Deployment Type 3 - Testing upgrades - Update README, HN post, etc. -### Mukesh +#### Mukesh - Help Dom with live demo throughput issue - Deployment Type 3 - install.sh improvements -### Pavish +#### Pavish - Make changes based on outcome of permissions agenda item - Re-review and merge Upgrades PR - Ensure schema access control modal UX PR is merged (address review feedback if any) - Add more analytics events - Add in-app help tooltips for permissions, if time permits -### Rajat +#### Rajat - Get consistent 404 page PR merged - Usability testing. - Documentation for users and permissions. - QA user and permissions. - QA the platform in general. -### Sean +#### Sean - Review [Update schema access control modal UX](https://github.com/centerofci/mathesar/pull/2540) - Live demo UX improvements - Review [Consistent 404 pages across client and server](https://github.com/centerofci/mathesar/pull/2529) - Review [Add Deployment docs](https://github.com/centerofci/mathesar/pull/2497) -# Permissions - clarifications +## Permissions - clarifications - **Summary**: 1. Can a schema manager edit schema name & description? - We have options to do this at both the schema page & db page. @@ -110,11 +110,11 @@ We also discussed https://github.com/centerofci/mathesar/issues/2537 - conclusion was that the backend behavior/product spec makes sense but we need a better UX. We won't worry about it for launch - users and permissions just needs to be working; not necessarily really smooth. -# Demo server readiness +## Demo server readiness - **Summary**: What steps do we need to take to make demo work during launch? - **Participants:** Dom, Brent, Kriti, Mukesh, Pavish, Sean (partial) -## Problems +### Problems - Performance is a problem: - Request timeouts due to reflection - bogging down on reflection @@ -127,15 +127,15 @@ We also discussed https://github.com/centerofci/mathesar/issues/2537 - conclusio - Figure out how to set up load balancer if we need it. - Note: ensure the ArXiv data loader doesn't write to the template -## Load tests +### Load tests - https://github.com/centerofci/mathesar-scripts/tree/master/demo-loadtest -## Process +### Process - Getting the demo server 100% reliable before Monday is not a reasonable goal. - We shouldn't be trying to identify all issues at once. - We need to rapidly iterate on fixes and load testing. -## Tasks +### Tasks 1. Figure out setting up (sticky sessions) load balancer and additional servers in GCP - Mukesh 2. Optimize Postgres settings - session timeout, connection limit, etc. - Dom - Connections may be memory intensive, pay attention to that. diff --git a/docs/team/meeting-notes/2023/02/2023-02-23-launch-check-in.md b/docs/team/meeting-notes/2023/02/2023-02-23-launch-check-in.md index 5c1a2a7dd..fd55952c0 100644 --- a/docs/team/meeting-notes/2023/02/2023-02-23-launch-check-in.md +++ b/docs/team/meeting-notes/2023/02/2023-02-23-launch-check-in.md @@ -1,6 +1,6 @@ # 2023-02-23 launch check in -# General check in +## General check in - Two working days left! - Kriti extended current iteration to 2023-02-27 - Some items in Launch nice-to-haves are moved to next week's iteration (e.g. load testing optimizing reflection) @@ -9,7 +9,7 @@ - What if demo site is not ready for lots of traffic? - We still launch. If it crashes, then oh well. Demo is just a nice-to-have. -## Users & Permissions +### Users & Permissions - QA plan is coming along. - Rajat will review the QA plan. - Anish and Rajat will handle the QA work. @@ -17,18 +17,18 @@ - Mukesh and Anish are doing some review work for users and permissions - Reviewers are encouraged to push changes to the PR just so we can get the PRs merged quickly -## Documentation +### Documentation - Still some outstanding work for documenting users and permissions - Kriti is reviewing users & permissions docs - Sean reviewing README PR -## Installation & Deployment +### Installation & Deployment - Deployment type 2 is working, tested locally, tested on GCP test server. PR is submitted, awaiting review. - Documented differences (in same PR) so users can understand the permissions needed by the user. - We have hired someone from Upwork to write some more installation docs -## Live demo +### Live demo - We need to discuss some design/UX issues - Timing for improvements to live demo: We are okay pushing some imprvements to the live demo after the release, but we want to get as much in before the release as possible - Load balancer is in progress @@ -36,78 +36,78 @@ - We'll chat about load balancing implementation details later - We're hoping to have some improvements completed tomorrow -## Website +### Website - Waiting to work out installation issues before we integrate the docs -## Upgrades +### Upgrades - Still need to QA the upgrade process -## Release +### Release - no updates -## Publicity +### Publicity - no updates -## Misc +### Misc - Issue with "Schemas (0)" displaying sometimes for demo users and local installations - Sean experiencing this locally too - We've had some reports from live demo users that have hit this bug - Sean will hop on a call today with a back-end engineer to troubleshoot -## Priorities per person +### Priorities per person -### Anish +#### Anish - Finish all the QA testing tasks - Takeover #2520 - Community work -### Brent +#### Brent - Recreating schema missing/uncreatable bug - Solving schema missing / uncreatable bug - Writing up release plan - Keeping an eye on Deployment type 2 reviews, working towards merge -### Dom +#### Dom - Test in-app updating (with real Github releases) - Fix Arxiv dataset in demo - Work on reflection in demo -### Ghislaine +#### Ghislaine - Update style for docs - Alternative design for CTA -### Kriti +#### Kriti - Help move forward installation and deployment - Help with upgrades if needed - Demo analytics testing - Publicity work -### Mukesh +#### Mukesh - Review deployment type 2 - Work on Load balancer for demo server - Have a basic loadbalancer setup - Figure out the health check to scale theinstances - Point the mathesar domain to the loadbalancer IP -### Pavish +#### Pavish - Test Upgrades - On-call for Users & Permissions issues - Add more Analytics events -### Rajat +#### Rajat - Review the QA plan - Do the remaining QA items for users and permissions - Review related changes on users and permissions documentation. -### Sean +#### Sean - Live demo usability - [Figure out how to navigate from the live demo back to Mathesar.org](https://github.com/centerofci/mathesar/issues/2468) - [Allow users to sign up for Mathesar mailing list from live demo](https://github.com/centerofci/mathesar/issues/2494) - Review [Deployment docs](https://github.com/centerofci/mathesar/pull/2497) - Review [README updates](https://github.com/centerofci/mathesar/pull/2536) -## Upgrade testing procedure +### Upgrade testing procedure **Participants**: Pavish, Dom, Sean, Kriti **Summary**: figure out how to test upgrades and who's going to work on it. @@ -123,14 +123,14 @@ https://github.com/centerofci/mathesar/issues/2534 has been updated accordingly -## Live Demo navigation changes UX +### Live Demo navigation changes UX **Participants**: Sean, Kriti, Ghislaine Sean, Kriti, and Ghislaine looked at in-progress work and finalized UX for changes to the live demo banner. Related issues: - https://github.com/centerofci/mathesar/issues/2468 - https://github.com/centerofci/mathesar/issues/2494 -## Live Demo load-balancing strategy +### Live Demo load-balancing strategy **Attendees**: Kriti, Mukesh, Dom, Brent, Sean - We need to figure out when we trigger adding a new server in our autoscaling policy @@ -146,7 +146,7 @@ Sean, Kriti, and Ghislaine looked at in-progress work and finalized UX for chang - Setting up infrastructure is the most important thing, we can change autoscaling policy anytime -## Schema bug - debugging session +### Schema bug - debugging session **Participants**: Brent, Sean, Kriti, Mukesh - Related to https://github.com/centerofci/mathesar/issues/2523 diff --git a/docs/team/meeting-notes/2023/03/2023-03-02-launch-check-in.md b/docs/team/meeting-notes/2023/03/2023-03-02-launch-check-in.md index b8fc6de98..a201ec37a 100644 --- a/docs/team/meeting-notes/2023/03/2023-03-02-launch-check-in.md +++ b/docs/team/meeting-notes/2023/03/2023-03-02-launch-check-in.md @@ -1,6 +1,6 @@ # 2023-03-02 launch check-in -# Publicity Plan +## Publicity Plan - [Draft document](https://docs.google.com/document/d/1s8WL0Uc9ak4jjHpOP6Mg0r2xsYN-SjbW5pcthF8ejLY/edit#) (not publicly accessible) - Decide what we're posting when. - HN & CCI blog later @@ -9,7 +9,7 @@ - Coordinate on Matrix Marketing channel if we're responding - Tag people if you don't know the answer -# Demo server plan +## Demo server plan - Load balancer not sorted out - Session stickiness doesn't work, user is switched to a new server when CPU limit is hit. - Upgrade Postgres on demo server and use session timeout @@ -23,11 +23,11 @@ - OIDs may not work with pgbounder - Outcome: come up with a plan, present to Kriti for sign off -# Work Plan & Process +## Work Plan & Process - What should we be working on for the next few days? - How will we track work and priorities in GitHub? -## Notes +### Notes - Demo mode improvements - Community - Community PR review @@ -55,14 +55,14 @@ - 0.1.1 milestone for now - Use weekly iterations -# Further planning +## Further planning What do we need to figure out now that we've launched? We won't talk about these now, but it would be good to get a list of things we need to talk about next week. - Launch retrospective - Permanent Git workflow - Process for building new features -# Release process improvement idea +## Release process improvement idea - **Added by**: Brent - **Summary**: Given the current release debacle, I think we should have a testing of the release strategy. - **Expected time**: 10-20 minutes diff --git a/docs/team/meeting-notes/2023/03/2023-03-07-priorities-workflow-meeting.md b/docs/team/meeting-notes/2023/03/2023-03-07-priorities-workflow-meeting.md index cc9abbb48..2916cff17 100644 --- a/docs/team/meeting-notes/2023/03/2023-03-07-priorities-workflow-meeting.md +++ b/docs/team/meeting-notes/2023/03/2023-03-07-priorities-workflow-meeting.md @@ -1,6 +1,6 @@ # 2023-03-07 priorities & workflow meeting -# Current top goal: user growth +## Current top goal: user growth **Goal** Get people using Mathesar! This will help with sustainability (funding & future revenue). @@ -14,7 +14,7 @@ How we do this: - Do usability testing with existing users, feed any improvements into our release cycle - Improving our community -## Questions & notes +### Questions & notes - How do we know how many users we have? - We still need to figure out how to measure this. - We have analytics for the website, but this doesn't tell us how many people are using Mathesar @@ -43,12 +43,12 @@ How we do this: - Maybe we can prioritise features that people have been asking for a long time but it hasn't yet been implemented. - Right now we'll prioritize feedback from people actually using Mathesar. But later we'll try to branch out and get more feedback from other users too. -# Project-based workflow +## Project-based workflow This is a new proposed structure for all new work in Mathesar. Each new feature, or other initiative is a "project". Even funding can be a project! -## Attributes +### Attributes Projects have the following attributes: - **Responsibilities** - **Owner**: Person that's directly responsible for the project. @@ -62,7 +62,7 @@ Projects have the following attributes: - **Issues**: Associated GitHub issues - **Wiki pages**: Associated wiki pages -## Process +### Process - We set up a place on the wiki to document projects. - We have regular meetings/emails to decide on what projects we're going to work on, and who will own them. - The owner writes up a document following the project template. The detail in the document should match the timeline of the project @@ -70,7 +70,7 @@ Projects have the following attributes: - Contributors and approvers review & approve the project. - We work on the project, cutting scope as needed to ship it within the timeline. -## Questions & notes +### Questions & notes - Kriti wants to not be involved in everything. She can be involved in prioritization. Projects will be more autonomous. - Pavish: - How do we decide on the timeline on writing up the document? @@ -94,7 +94,7 @@ Projects have the following attributes: - No ongoing project - Kriti: We should try to scope projects to take 3 - 4 weeks to complete -# Release strategy +## Release strategy - When should we do releases? - Options: - Specific cadence @@ -113,7 +113,7 @@ Projects have the following attributes: - Kriti will take responsibility for the next release. She will delegate heavily - Pavish: minor versions would be better suited for a regular schedule. Major releases could be done without a regular schedule -# Specific project ideas +## Specific project ideas I'm not suggesting we prioritize all of these right now. This is just to give an idea of what projects could be, and pick priorities from them. We could even add others. - Funding - high priority @@ -137,7 +137,7 @@ I'm not suggesting we prioritize all of these right now. This is just to give an - e.g. establish process for issue & PR triage - Individual features on our roadmap -## Questions & notes +### Questions & notes - Kriti will start an email thread about project ideas to help us plan - Pavish: - I think we should prioritize ironing out issues when connecting with existing DBs. Based on the comments, a number of users were primarily interested in using Mathesar for their existing DBs (we have to take into account that these users are primarily developers). @@ -145,7 +145,7 @@ I'm not suggesting we prioritize all of these right now. This is just to give an - I saw somewhere a contributor is attempting to fix an issue related to this, but that just disables editing tables which has multi-column PKs. This might be fine for a while. - We need to improve the reflection & metadata mechanism, a button to manually reload may not be feasible for the first stable release. -## Git workflow +### Git workflow We need to decide on our permanent Git workflow for releases. Options: @@ -155,7 +155,7 @@ Options: *Not discussed at the meeting, will be discussed via email.* -## Release testing strategy +### Release testing strategy - **Added by**: Brent - **Summary**: Given the current release debacle, I think we should have a testing of the release strategy. - **Expected time**: 10-20 minutes diff --git a/docs/team/meeting-notes/2023/03/2023-03-20-handling-regressions.md b/docs/team/meeting-notes/2023/03/2023-03-20-handling-regressions.md index bbfa879e5..f6c0b62b0 100644 --- a/docs/team/meeting-notes/2023/03/2023-03-20-handling-regressions.md +++ b/docs/team/meeting-notes/2023/03/2023-03-20-handling-regressions.md @@ -1,19 +1,19 @@ # Handling regressions in 0.1.1 -# 2023-03-20 Handling regressions in 0.1.1 +## 2023-03-20 Handling regressions in 0.1.1 Meeting attendees: Pavish, Sean, Rajat -## Brainstorm: Best strategy to revert the column_reorder changes +### Brainstorm: Best strategy to revert the column_reorder changes - If there aren't merge conflicts, we'll try to revert entirely - If there are, we can comment it out - When picking the feature, we'll open a new PR - Sean will be commenting on the contributor's PR mentioning why we had to revert. We'll also ask them if they're interested in continuing it. -## Brainstorm: Best strategy to review full changesets for releases +### Brainstorm: Best strategy to review full changesets for releases - All of us will look at the full changeset ([PR](https://github.com/centerofci/mathesar/pull/2723/files)) and comment if we notice any red flags or have questions -## Brainstorm: Frontend testing strategy - E2E tests +### Brainstorm: Frontend testing strategy - E2E tests - We're scratching everything clean and starting from point zero - We'll rethink the entire testing strategy from the beginning - Do we need E2E test or do we come up with integ tests? @@ -23,7 +23,7 @@ Meeting attendees: Pavish, Sean, Rajat - We'll think on this individually and have another call before `0.1.2` - It won't be possible to introduce a new testing strategy by then, but we can still decide on what it needs to be -## Brainstorm: Release process updates to prevent issues like these +### Brainstorm: Release process updates to prevent issues like these - Staging should on develop (check if it is) - A buffer period makes sense, but only if we're dog-fooding Mathesar more - The core team should be using Mathesar for something (the `develop` branch) diff --git a/docs/team/meeting-notes/2023/07/2023-07-28-installation-meeting.md b/docs/team/meeting-notes/2023/07/2023-07-28-installation-meeting.md index 37261f90e..af674e0c8 100644 --- a/docs/team/meeting-notes/2023/07/2023-07-28-installation-meeting.md +++ b/docs/team/meeting-notes/2023/07/2023-07-28-installation-meeting.md @@ -1,21 +1,21 @@ # 2023-07-28 installation meeting -# Links +## Links - [Meeting notes: Parts I & II](https://wiki.mathesar.org/en/meeting-notes/2023-06/2023-06-13-installation-planning-meeting.md) - [Meeting notes: Part III](https://wiki.mathesar.org/en/meeting-notes/2023-07/2023-07-06-installation-meeting.md) - [Meeting notes: Part IV](https://wiki.mathesar.org/en/meeting-notes/2023-07/2023-07-11-installation-meeting) - [2023-07 installation improvements project page](https://wiki.mathesar.org/en/projects/installation-improvements-0_1_3.md) - [Mukesh's installation research](https://hackmd.io/SFWrMLWMR72P-iQ_M30JFA) (private) -# Pre-meeting prep +## Pre-meeting prep Please read the following proposed outline for the documentation -## Assumptions (for the reader; not part of outline) +### Assumptions (for the reader; not part of outline) - Users are comfortable with self-hosting, we do not need to educate them on self-hosting basics - For PaaS - Considered to be used for production, so all best practices like using Postgres as internal db, env variables are used by default -## Table of contents +### Table of contents - Introduction & Overview - Content: homepage of docs.mathesar.org - Installation @@ -43,7 +43,7 @@ Please read the following proposed outline for the documentation - Environment variables - Connecting to DBs on localhost -## Install with Docker +### Install with Docker - Pre-requisites: - Install Docker - Root access if you're on Linux @@ -64,7 +64,7 @@ Please read the following proposed outline for the documentation - Point to "Environment variables" page - Uninstall process -## Install with PaaS +### Install with PaaS - Pre-requisites: - Have an account on the PaaS platform (Depends on the platform, some platforms **might** allow you to set up without an account) - Steps: @@ -80,7 +80,7 @@ Please read the following proposed outline for the documentation - Point to "Environment variables" page - Uninstall process -## Install on Debian +### Install on Debian - Pre-requisites: - Postgres server - Steps: @@ -100,7 +100,7 @@ Please read the following proposed outline for the documentation - Point to "Environment variables" page - Uninstall process -## Install using Python binary +### Install using Python binary - Pre-requisites: - Python Interpreter - Postgres server @@ -120,7 +120,7 @@ Please read the following proposed outline for the documentation - Point to "Environment variables" page - Uninstall process -## Install with Helm +### Install with Helm - Pre-requisites: - Kubernetes - Helm @@ -141,13 +141,13 @@ Please read the following proposed outline for the documentation - Point to "Environment variables" page - Uninstall process -## Environment Variables +### Environment Variables List of environment variables and descriptions -## Connecting to DBs on localhost +### Connecting to DBs on localhost This will explain how to connect to localhost DBs if you're using Docker (content is already on docs.mathesar.org) -## Stuff we're removing from current docs (not part of outline) +### Stuff we're removing from current docs (not part of outline) - Guided script installation - plus appendices - Docker compose installation @@ -156,9 +156,9 @@ This will explain how to connect to localhost DBs if you're using Docker (conten - Administration section (uninstall & upgrade Mathesar) - Will be folded into individual installation types -# Agenda +## Agenda -## Do the personas make sense? Do we need any additional narrowing down or clarification? +### Do the personas make sense? Do we need any additional narrowing down or clarification? Top - Someone trying Mathesar out quickly (and can use Docker) @@ -184,17 +184,17 @@ Not prioritizing at all - until more than one person asks Discourage - Someone installing everything on localhost (not just trying it out) -### Additional discussion +#### Additional discussion - What about people using load balancers? - This is outside Mathesar's purview, doesn't matter - PaaS probably covers load balancers anyway -### Conclusion +#### Conclusion Personas are fine, see additional detail added above. -## Does the proposed outline make sense? +### Does the proposed outline make sense? -### Discussion +#### Discussion - "Install with Python binary" is a confusing header. - Maybe use "Install from binary"? - Maybe replace with PyPI installation? @@ -214,7 +214,7 @@ Personas are fine, see additional detail added above. - We'll keep the uninstall and update pages -## What work do we need to do to enable this outline? +### What work do we need to do to enable this outline? - Get Mathesar working with a wide band of Python - Create a Debian package - Create a PyPI package diff --git a/docs/team/responsibilities/marketing.md b/docs/team/responsibilities/marketing.md index ee3902766..f03328f02 100644 --- a/docs/team/responsibilities/marketing.md +++ b/docs/team/responsibilities/marketing.md @@ -1,6 +1,6 @@ # Marketing -# Team +## Team | Role | Assignees | |-|-|-| @@ -9,23 +9,23 @@ | **Website helpers** | Ghislaine, Sean | | **Aggregation helpers** | Rajat, Ghislaine | -# Guide +## Guide This section serves as a handbook for people working on these responsibilities. -## All members +### All members - Everyone should be on the `marketing@mathesar.org` mailing list. - This list receives the “firehose” of Syften notifications, including all mentions of competitors and people looking for “spreadsheet-like” solutions. - Analytics and Twitter credentials are in 1Password. -## Owner +### Owner - Make progress on our [Mathesar launch publicity checklist](https://github.com/centerofci/mathesar-website/issues/78), delegate tasks as needed. - We’ll hold off on making new announcements until our installation process is improved - Manage changes to Mathesar.org, delegate tasks as needed. - Review all external comms. -## Social media helpers +### Social media helpers -### Respond to Syften notifications +#### Respond to Syften notifications Syften notifications are auto-assigned to the "Marketing" group in Freshdesk. Please close the ticket in Freshdesk once a notification has been handled or if there is nothing to do. - **If Mathesar is mentioned**: @@ -48,11 +48,11 @@ Syften notifications are auto-assigned to the "Marketing" group in Freshdesk. Pl - **If a comment or post can be considered user feedback**: - Please flag it to the owner of the [user feedback](/team/responsibilities/user-feedback) responsibility. -### Document noteworthy publicity +#### Document noteworthy publicity - Keep track of where we’re getting traffic from (using Syften, GitHub Insights and our analytics), and track notable sources in the [Marketing History](/marketing/history.md) page - Also post noteworthy publicity to the `Mathesar - Marketing` channel on Matrix. -### Make release announcements +#### Make release announcements Release announcements should include highlights from release notes. We should avoid the announcements following a template because people tend to ignore repetitive things. - Post a message in the `Mathesar - General` channel on Matrix announcing the release @@ -60,14 +60,14 @@ Release announcements should include highlights from release notes. We should av - Tweet when we publish a new release - *TODO: also figure out where / how to post on Reddit for new releases* -## Website helpers +### Website helpers - Implement changes to the website as requested by the owner. -## Aggregation helpers +### Aggregation helpers - Add Mathesar to aggregators (tracked [in this issue](https://github.com/centerofci/mathesar-website/issues/84)). - Feel free to ask the owner to review any copy written for this. - Do research on more relevant aggregators that Mathesar could be added to and add them to the issue. -# Notes & Resources +## Notes & Resources - See [Marketing](/marketing) section of the wiki. - Eventually, the plan is to create an “evangelism guide” ([example](https://about.gitlab.com/handbook/marketing/community-relations/developer-evangelism/social-media/)) diff --git a/docs/team/responsibilities/release-management.md b/docs/team/responsibilities/release-management.md index b51e0bef3..00fe65e6f 100644 --- a/docs/team/responsibilities/release-management.md +++ b/docs/team/responsibilities/release-management.md @@ -1,6 +1,6 @@ # Release Management -# Team +## Team | Role | Assignees | |-|-| | **Overall process owner** | Kriti | @@ -9,7 +9,7 @@ **Note**: Each release will have different owners. No specific person has been assigned as a helper, but the release will be a top priority for everyone during cooldown. -# Guide +## Guide This guide is common for the owner and the helpers of the Release management responsibility. The owner is responsible for ensuring the work gets complete, and the helpers assist the process and cover for the owner when they are not available. **Examples used in the guide** @@ -18,7 +18,7 @@ This guide explains the release management process citing the versions 0.1.2 and > v0.1.2 is the current ongoing project which hasn't been released yet. > v0.1.3 is the next release project. -## Planning a release +### Planning a release 1. Create necessary milestones - Create 1 milestone ahead of the next release. When planning for v0.1.3, we'll have the milestone created for v0.1.4. - Note that the milestone for v0.1.3 will already exist when v0.1.2 is in progress. @@ -44,7 +44,7 @@ This guide explains the release management process citing the versions 0.1.2 and - Move issues not planned for the release out of the milestone. - All other issues people are working on, which may end up with the release, should go in the ["Next release" milestone](https://github.com/centerofci/mathesar/milestone/71). The release will not be blocked by items present in this milestone. -### Timeline for the plan +#### Timeline for the plan 1. When to start planning for the next release? - The release plan needs to begin when the current release is still underway, preferably during the last week. - The process for v0.1.3 should begin during the last week of the deadline for the release of v0.1.2. @@ -52,18 +52,18 @@ This guide explains the release management process citing the versions 0.1.2 and - The plan for the upcoming release should be finalized and release spec should get approved before 4 working days from the date of the current release. - If v0.1.2 is released on `2023-05-08`, the release project spec for v0.1.3 needs to be approved by EOD `2023-05-12`. -## Making a release +### Making a release 1. Once all the items needed for the release is merged into `develop`, follow the [Release process document](https://wiki.mathesar.org/en/engineering/release-process) to publish the release. 1. Ensure that all private servers running Mathesar maintained by the core team are upgraded. 1. Coordinate with Marketing team to [make release announcements](https://wiki.mathesar.org/en/team/responsibilities/marketing#make-release-announcements). -## After a release +### After a release 1. Keep an eye out for user reported issues with the new version for the next week. 1. Pay extra attention towards: - Installation and upgrade related issues - Regressions -## Handling hotfix releases +### Handling hotfix releases 1. In case we encounter critical issues in a published release, we'll make emergency hotfix releases. - This will depend on the severity of the issues and the user impact. 1. Hotfix releases should be the next minor version. The ongoing release version will become the next release after that. @@ -74,8 +74,8 @@ This guide explains the release management process citing the versions 0.1.2 and - `develop` will not be involved for hotfix releases. 1. All other processes from the [Release process document](https://wiki.mathesar.org/en/engineering/release-process) will remain the same as a regular release. -## Incorporating user feedback into release plan +### Incorporating user feedback into release plan Yet to be planned -## Deciding on major/minor releases +### Deciding on major/minor releases Yet to be planned \ No newline at end of file diff --git a/docs/team/responsibilities/repo-admin.md b/docs/team/responsibilities/repo-admin.md index bfa64fd36..87d257df1 100644 --- a/docs/team/responsibilities/repo-admin.md +++ b/docs/team/responsibilities/repo-admin.md @@ -1,22 +1,22 @@ # Repo admin -# Team +## Team | Role | Assignees | | ----------- | ------------- | | **Owner** | Rajat | | **Helpers** | Pavish, Anish | -# Responsibilities at a Glance +## Responsibilities at a Glance - Receive the firehose of GitHub notifications and take action on items as necessary. - Triage new issues and PRs - Actively shepherd PRs toward closing to help prevent them from going stale - Troubleshoot GitHub actions and make improvements where necessary -## Owner's Tasks +### Owner's Tasks -### Acting on GitHub notifications for issues and PRs +#### Acting on GitHub notifications for issues and PRs Make sure your notifications setting for all of the Mathesar repositories is set to **All Activity**. @@ -51,15 +51,15 @@ Go through each of your notifications for the Mathesar repositories and follow t - If a comment or issue can be considered user feedback or helpful for marketing materials, please flag it to the owners of these responsibilities ([user feedback](/team/responsibilities/user-feedback), [marketing](/team/responsibilities/marketing.md)) respectively. -### Acting on notifications from GitHub Discussions +#### Acting on notifications from GitHub Discussions Flag discussion-related notifications to the marketing and user feedback teams for a response. This can be done by sending a notification to the [Marketing](https://matrix.to/#/#marketing:matrix.mathesar.org) channel and tagging the owner of [user feedback](/team/responsibilities/user-feedback) and [marketing](/team/responsibilities/marketing.md) responsibilities. -### Assigning reviewers fairly +#### Assigning reviewers fairly Depending if the PR is related to the backend or frontend, assign it to a core team member who has the least no of reviews already assigned. -### Triage +#### Triage Use the following script to list issues/PR that need triage. @@ -77,6 +77,6 @@ gh -R centerofci/mathesar-wiki issue list --search 'is:open label:"status: triag gh -R centerofci/mathesar-wiki pr list --search "is:open no:assignee -is:draft" ``` -## Helper's Tasks +### Helper's Tasks - Take action on GitHub notifications every Monday since that's when we have one of the largest influx. - Fill in for the owner by doing the tasks mentioned above when he is out of the office. From 918aed41eb75aa2ae4cc1e363a9e5636ab15ef7b Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Wed, 23 Aug 2023 13:15:56 -0400 Subject: [PATCH 26/35] Fix broken internal links from moving GSoC content --- docs/community/gsoc/project-ideas/index.md | 28 +++++++++++----------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/community/gsoc/project-ideas/index.md b/docs/community/gsoc/project-ideas/index.md index 185cada54..beb5b6370 100644 --- a/docs/community/gsoc/project-ideas/index.md +++ b/docs/community/gsoc/project-ideas/index.md @@ -9,20 +9,20 @@ These ideas are for **Google Summer of Code 2023**. | ID | Idea | Skills | Length | Difficulty | Primary mentor | Secondary mentor | |---|---|---|---|---|---|---| -| 1 | [JSON editor](./project-ideas/json-editor.md) | HTML, CSS, TypeScript, JavaScript, Svelte, UX design | Medium (~175 hours) or Long (~350 hours) depending on experience | Medium / High | Sean | Pavish | -| 2 | [Phone Number data type](./project-ideas/phone-number-data-type) | **Necessary:** Python, SQL, JavaScript

**Bonus**: Django, SQLAlchemy, Svelte, TypeScript | Medium (~175 hours) or Long (~350 hours) depending on experience | Medium | Mukesh | Rajat | -| 3 | [UI for importing data into existing tables](./project-ideas/ui-import-data-existing-table) | **Necessary:** HTML, CSS, JavaScript, Svelte.

**Bonus:** TypeScript, UX design | Medium (~175 hours) or Long (~350 hours) depending on experience level | Medium | Pavish | Anish | -| 4 | [Persist UI configuration](./project-ideas/persist-ui-configuration) | **Necessary:** Python, SQL, JavaScript.

**Bonus:** Django, SQLAlchemy, Svelte, TypeScript | Medium (~175 hours) | Medium | Dom | Pavish | -| 5 | [Location data type(s)](./project-ideas/location-data-type) | **Necessary:** Python, SQL, SQLAlchemy, PostGIS

**Bonus:** Django, Svelte, TypeScript | Long (~350 hours) | High | Mukesh | Pavish | -| 6 | [Single select data type](./project-ideas/single-select-data-type) | **Necessary:** Python, Svelte, JavaScript

**Bonus**: Django, TypeScript | Long (~350 hours) | Easy | Pavish | Mukesh | -| 7 | [List data type](./project-ideas/list-data-type) | **Necessary:** Python, SQL, JavaScript

**Bonus**: Django, SQLAlchemy, Svelte, TypeScript | Long (~350 hours) for both frontend & backend

Medium (~175 hours) for backend only | Medium | Brent | Pavish | -| 8 | [Make casting functions inlinable](./project-ideas/make-casting-functions-inlinable) | Python, PostgreSQL, SQLAlchemy | Long (~350 hours) | Medium | Dom | Brent | -| 9 | [Kanban view](./project-ideas/kanban-view) | JavaScript, frontend frameworks, Python, Django | Long (~350 hours) | High | Rajat | Brent | -| 10 | [Database views](./project-ideas/db-views) | Python, JavaScript, SQLAlchemy, Svelte.js, PostgreSQL | Long (~350 hours) | Medium | Brent | Rajat | -| 11 | [API documentation](./project-ideas/api-documentation) | Python, Django | Medium (~175 hours) | Easy | Mukesh | Kriti | -| 12 | [Add more summarization functions](./project-ideas/more-summarizations) | Python, SQLAlchemy, PostgreSQL, JavaScript, Svelte | Medium (~175 hours) | Easy | Brent | Sean | -| 13 | [Support importing Excel and JSON files](./project-ideas/import-excel-json-files) | Python, SQL, Django, SQLAlchemy | Long (~350 hours) | Medium | Dom | Anish | -| 14 | [Automatically suggest improvements to table normalization](./project-ideas/auto-suggest-normalization) | PostgreSQL, Database theory, a bit of statistics | Long (~350 hours) | High | Brent | Dom | +| 1 | [JSON editor](./json-editor.md) | HTML, CSS, TypeScript, JavaScript, Svelte, UX design | Medium (~175 hours) or Long (~350 hours) depending on experience | Medium / High | Sean | Pavish | +| 2 | [Phone Number data type](./phone-number-data-type) | **Necessary:** Python, SQL, JavaScript

**Bonus**: Django, SQLAlchemy, Svelte, TypeScript | Medium (~175 hours) or Long (~350 hours) depending on experience | Medium | Mukesh | Rajat | +| 3 | [UI for importing data into existing tables](./ui-import-data-existing-table) | **Necessary:** HTML, CSS, JavaScript, Svelte.

**Bonus:** TypeScript, UX design | Medium (~175 hours) or Long (~350 hours) depending on experience level | Medium | Pavish | Anish | +| 4 | [Persist UI configuration](./persist-ui-configuration) | **Necessary:** Python, SQL, JavaScript.

**Bonus:** Django, SQLAlchemy, Svelte, TypeScript | Medium (~175 hours) | Medium | Dom | Pavish | +| 5 | [Location data type(s)](./location-data-type) | **Necessary:** Python, SQL, SQLAlchemy, PostGIS

**Bonus:** Django, Svelte, TypeScript | Long (~350 hours) | High | Mukesh | Pavish | +| 6 | [Single select data type](./single-select-data-type) | **Necessary:** Python, Svelte, JavaScript

**Bonus**: Django, TypeScript | Long (~350 hours) | Easy | Pavish | Mukesh | +| 7 | [List data type](./list-data-type) | **Necessary:** Python, SQL, JavaScript

**Bonus**: Django, SQLAlchemy, Svelte, TypeScript | Long (~350 hours) for both frontend & backend

Medium (~175 hours) for backend only | Medium | Brent | Pavish | +| 8 | [Make casting functions inlinable](./make-casting-functions-inlinable) | Python, PostgreSQL, SQLAlchemy | Long (~350 hours) | Medium | Dom | Brent | +| 9 | [Kanban view](./kanban-view) | JavaScript, frontend frameworks, Python, Django | Long (~350 hours) | High | Rajat | Brent | +| 10 | [Database views](./db-views) | Python, JavaScript, SQLAlchemy, Svelte.js, PostgreSQL | Long (~350 hours) | Medium | Brent | Rajat | +| 11 | [API documentation](./api-documentation) | Python, Django | Medium (~175 hours) | Easy | Mukesh | Kriti | +| 12 | [Add more summarization functions](./more-summarizations) | Python, SQLAlchemy, PostgreSQL, JavaScript, Svelte | Medium (~175 hours) | Easy | Brent | Sean | +| 13 | [Support importing Excel and JSON files](./import-excel-json-files) | Python, SQL, Django, SQLAlchemy | Long (~350 hours) | Medium | Dom | Anish | +| 14 | [Automatically suggest improvements to table normalization](./auto-suggest-normalization) | PostgreSQL, Database theory, a bit of statistics | Long (~350 hours) | High | Brent | Dom | *For ideas from previous years, see our [Project Idea Archive](/community/mentoring/project-ideas/archive).* From bc1b7668e2fd855bbfd6432704f74cb576d9236c Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Wed, 23 Aug 2023 13:28:51 -0400 Subject: [PATCH 27/35] Insert blank lines between paragraphs and lists. Replace `^(\s*[^\s\-#\n].*\n)-` with `$1\n-` Plus, some post-processing manual cleanup --- docs/community/gsoc/applicant-guide.md | 3 +++ docs/community/gsoc/mentee-guide.md | 1 + docs/community/gsoc/mentor-guide.md | 6 +++++ .../community/gsoc/past/2023/list-datatype.md | 20 +++++++++++++++- .../auto-suggest-normalization.md | 1 + .../automatic-hint-reflection.md | 1 + .../gsoc/project-ideas/data-export.md | 1 + docs/community/gsoc/project-ideas/db-views.md | 2 ++ .../gsoc/project-ideas/dependency-graph.md | 1 + .../project-ideas/import-excel-json-files.md | 1 + .../gsoc/project-ideas/list-data-type.md | 3 +++ .../gsoc/project-ideas/location-data-type.md | 1 + .../project-ideas/more-data-import-sources.md | 1 + .../project-ideas/phone-number-data-type.md | 1 + .../gsoc/project-proposal-template.md | 1 + docs/design/process/design-system.md | 2 ++ docs/design/process/review-guidelines.md | 1 + docs/design/specs/Formulas.md | 1 + docs/design/specs/boolean-data-type.md | 1 + docs/design/specs/foreign-key-constraints.md | 1 + docs/design/specs/listing-views.md | 2 ++ docs/design/specs/lookup-field-component.md | 2 ++ docs/design/specs/pagination.md | 2 ++ docs/design/specs/read-only-table.md | 5 ++++ docs/design/specs/ui-styling.md | 1 + docs/design/specs/visual-query-builder.md | 24 +++++++++---------- docs/engineering/glossary/filters.md | 1 + docs/engineering/glossary/ui-types.md | 2 ++ docs/engineering/release-process.md | 5 ++++ docs/engineering/specs/dateandtime.md | 2 ++ docs/engineering/specs/ddl.md | 1 + docs/engineering/specs/import-preview-api.md | 1 + .../installation-improvements-plan-0_1_4.md | 5 ++++ docs/jobs/past/2021-04-designer.md | 2 ++ docs/jobs/past/2021-04-frontend.md | 2 ++ docs/jobs/past/2021-09-frontend.md | 1 + docs/jobs/past/2021-10-backend.md | 3 +++ docs/jobs/past/2022-05-frontend.md | 2 ++ docs/jobs/past/2022-06-localizationmd | 1 + docs/product/concepts/data-types.md | 2 ++ docs/product/concepts/tables.md | 2 ++ docs/product/concepts/views.md | 2 ++ docs/product/feature-ideas.md | 13 ++++++++++ docs/product/index.md | 1 + docs/product/roadmap.md | 1 + .../2022-01-views/02-feature-requirements.md | 3 +++ .../2022-01-views/03-the-query-builder.md | 2 ++ .../specs/2022-01-views/04-formulas.md | 3 +++ .../04-formulas/4a-record-aggregations.md | 1 + .../04-formulas/4j-custom-formulas.md | 1 + .../specs/2022-01-views/05-view-structure.md | 2 ++ .../specs/2022-01-views/06-view-columns.md | 4 ++++ .../specs/2022-01-views/08-appendix.md | 1 + docs/product/specs/2022-01-views/index.md | 3 +++ .../product/specs/publicly-shareable-links.md | 4 ++++ docs/product/specs/users-permissions.md | 6 +++++ .../projects/2023/04/user-feedback-kickoff.md | 1 + .../2023/07/2023-07-product-strategy.md | 4 ++++ .../07/installation-improvements-0_1_3.md | 4 ++++ docs/projects/2023/07/list-datatype.md | 3 +++ docs/projects/2023/07/sql-ddl-operations.md | 4 ++++ docs/projects/2023/08/preexisting-postgres.md | 6 +++++ docs/projects/future/sql-alchemy-remove.md | 3 +++ docs/projects/future/sql-dml-operations.md | 4 ++++ docs/projects/future/sql-dql-operations.md | 4 ++++ docs/team/guide/events.md | 2 ++ docs/team/guide/tools.md | 2 ++ docs/team/guide/workflow.md | 2 ++ docs/team/meeting-notes/2021/05/2021-05.md | 16 +++++++++++++ docs/team/meeting-notes/2021/06/2021-06.md | 3 +++ docs/team/meeting-notes/2021/10/2021-10.md | 3 +++ docs/team/meeting-notes/2021/11/2021-11.md | 2 ++ docs/team/meeting-notes/2022/01/2022-01.md | 10 ++++++++ docs/team/meeting-notes/2022/02/2022-02.md | 13 ++++++++++ docs/team/meeting-notes/2022/04/2022-04.md | 8 +++++++ docs/team/meeting-notes/2022/07/2022-07.md | 6 +++++ docs/team/meeting-notes/2022/08/2022-08.md | 13 ++++++++++ docs/team/meeting-notes/2022/09/2022-09.md | 4 ++++ .../2022/10/2022-10-04-backend.md | 4 ++++ .../2022/10/2022-10-05-weekly.md | 5 ++++ .../2022/10/2022-10-19-weekly.md | 4 ++++ .../2022/11/2022-11-17-weekly.md | 1 + .../2022/11/2022-11-28-planning.md | 1 + .../2023/01/2023-01-05-planning.md | 8 +++++++ .../2023/02/2023-02-08-launch-planning.md | 1 + .../2023/02/2023-02-15-launch-check-in.md | 1 + .../2023/02/2023-02-22-launch-check-in.md | 1 + .../2023/02/2023-02-23-launch-check-in.md | 1 + .../2023/02/2023-02-24-launch-update-email.md | 1 + .../2023/02/2023-02-27-deployment-check-in.md | 5 ++++ .../2023-03-07-priorities-workflow-meeting.md | 4 ++++ ...03-17-installation-improvements-meeting.md | 5 ++++ .../2023/03/backend-meeting-2023-03-13.md | 1 + .../2023/03/core-team-meeting-2023-03-15.md | 1 + ...23-04-03-installation-plan-finalization.md | 1 + .../2023/05/2023-05-03-team-meeting.md | 7 ++++++ ...023-06-13-installation-planning-meeting.md | 5 ++++ .../2023/07/2023-07-03-team-meeting.md | 1 + .../07/2023-07-06-installation-meeting.md | 2 ++ .../2023/07/2023-07-06-team-meeting.md | 6 +++++ .../07/2023-07-11-installation-meeting.md | 2 ++ .../07/2023-07-28-installation-meeting.md | 5 ++++ .../2023/08/2023-08-09-team-meeting.md | 1 + .../2023/08/2023-08-10-team-meeting.md | 5 ++++ .../2023/08/2023-08-18-team-meeting.md | 5 ++++ docs/team/responsibilities/fundraising.md | 1 + docs/team/worklogs/ghislaine.md | 5 ++++ 107 files changed, 359 insertions(+), 13 deletions(-) diff --git a/docs/community/gsoc/applicant-guide.md b/docs/community/gsoc/applicant-guide.md index 63a19bcf8..78b79f8d7 100644 --- a/docs/community/gsoc/applicant-guide.md +++ b/docs/community/gsoc/applicant-guide.md @@ -6,6 +6,7 @@ If you're interested in applying to be a GSoC Contributor for the Mathesar proje ### Step 0: Figure out if Mathesar is the right organization for you Some things you should know about Mathesar: + - Mathesar is a fairly new project and we **don't have documentation** aimed at helping new contributors understand our codebase. - The core team **doesn't have time** to help each individual contributor understand our codebase or how to solve a particular issue **during the GSoC application process**. We get a lot of applicants, and it would be infeasible to answer everyone's questions in detail. @@ -18,6 +19,7 @@ The [Google Summer of Code contributor guide](https://google.github.io/gsocguide You'll need to understand Mathesar well in order to submit a successful application. Mathesar is a new project and we're still working towards releasing our first version. The best ways to learn about us is to: + - Install Mathesar locally, [following the instructions in our README](https://github.com/centerofci/mathesar). - Read about Mathesar on our [main website](https://mathesar.org). @@ -73,6 +75,7 @@ Once you've received feedback from your mentors and you're happy with your propo ## Selection Criteria Here are a few things we consider when selecting which applications to accept: + - **Quality of the proposal**: This is the most important thing. A good proposal includes attention to detail, externally measurable milestones, consideration for future maintainability and community involvement, and a demonstration of your skills. - **Community involvement**: One of our major goals is to build an active development community and attract long-term contributors. We see engaging in the community, whether it's asking questions, helping other contributors, contributing code, filing bugs, or whatever else, as a sign that you're genuinely interested in our work. - **Contributions**: We appreciate seeing your contributions, they help us gauge your ability to orient yourself to a new codebase, or the quality of your writing. Contribution quality is instrumental in giving us the confidence that you have the skills necessary to implement your proposal. diff --git a/docs/community/gsoc/mentee-guide.md b/docs/community/gsoc/mentee-guide.md index f98ec31f7..0afc02e25 100644 --- a/docs/community/gsoc/mentee-guide.md +++ b/docs/community/gsoc/mentee-guide.md @@ -5,6 +5,7 @@ This guide is for accepted mentees. If you are an applicant, read our [Applicant ## Post-Announcement Program acceptance announcements have been made and you've been selected! Congratulations! Here's what we expect you to do before the program period officially starts: + - Continue to refine your project plan and timeline with your mentors. - Define communication channels and set up a weekly check-in with your mentor. - Set up your computer and development environment. diff --git a/docs/community/gsoc/mentor-guide.md b/docs/community/gsoc/mentor-guide.md index f7894636e..6b6f10f5f 100644 --- a/docs/community/gsoc/mentor-guide.md +++ b/docs/community/gsoc/mentor-guide.md @@ -15,6 +15,7 @@ Mentoring programs are usually structured into the following stages: We need a list of potential project ideas that applicants can submit a proposal to implement. Project ideas should be: + - a self-contained feature or improvement for Mathesar - scoped so that a single person can reasonably implement it in the timeframe of the mentoring program - For GSoC, this is either 350 hours or 175 hours @@ -31,6 +32,7 @@ If you're wondering if your project idea makes sense, discuss it on Matrix with ## Applying for the mentoring program Once we have fleshed our our project ideas, Kriti will submit Mathesar's application to the mentoring program. While we wait to hear back, you should: + - create a set of `good first issue` tasks suitable for first-time contributors to the codebase. - mentally prepare to deal with increased communication work. @@ -38,6 +40,7 @@ Once we have fleshed our our project ideas, Kriti will submit Mathesar's applica Once the mentoring program (e.g. Google) announces the organizations participating in the program, potential applicants will start communicating with us. This stage of the program is the most intense. You should: + - welcome new contributors and help them get started with: - applicant information - local project setup @@ -56,6 +59,7 @@ You should: Applicants will start working on draft proposals and sharing them with you a few weeks before the deadline. You are responsible for reviewing all proposals for which you are the primary mentor. You should: + - track draft proposals and review status in our [our internal spreadsheet](https://docs.google.com/spreadsheets/d/1FSahyG8f6pkWj_hv7oMi6g49ANIpKJWDVtUS-Qwz0ZQ/) - ask applicants to submit draft proposals directly to you via Matrix and add them to the spreadsheet when you get them. - review proposals in 1-2 days if possible. @@ -104,6 +108,7 @@ At this point, ### Finalizing the project plan and workflow Before work on the project gets underway, you should: + - collaborate with your mentee to finalize the implementation details and weekly deliverables for the project - create a document to keep any project information and notes, include: - an up-to-date implementation plan and weekly milestones @@ -143,6 +148,7 @@ You're now ready to mentor! #### Troubleshooting Talk to the program coordinator proactively if you're not sure what to do. Some things to pay attention to: + - Your mentee is not active and engaged regularly. - Your mentee is not communicating enough or misses a check-in. - You have concerns or even just a bad feeling about something. diff --git a/docs/community/gsoc/past/2023/list-datatype.md b/docs/community/gsoc/past/2023/list-datatype.md index 8e70f2eae..d69c1c02f 100644 --- a/docs/community/gsoc/past/2023/list-datatype.md +++ b/docs/community/gsoc/past/2023/list-datatype.md @@ -24,6 +24,7 @@ The Array class also uses an optional `dimensions` argument, with a default valu ## Methodology ### Restricting the dimensions to one Our initial goal was to support 1-D arrays. For this, we assumed the following: + - Having access to a length and dimensions properties - An ARRAY[...] column contains records with a maximum number of dimensions and length @@ -42,6 +43,7 @@ In summary, we don't have control over any dimensions nor length properties, bec #### Custom Mathesar Type Similar data types like JSON and JSON Arrays have been implemented as custom data type classes in Mathesar. As such, they are reflected as Domains on the DB. Implementing Arrays in this way has some issues: + - As any data type can have its Array version, this implies that Mathesar will have to create a Domain for every possible scalar type. - We would not have an Array type for any other scalar type installed on a user's DB (any custom type that Mathesar is not aware of). - Other aspects tied to a data type, such as cast functions, will also be multiplied by this factor. @@ -49,10 +51,12 @@ Similar data types like JSON and JSON Arrays have been implemented as custom dat #### Type decorator in SA Another option was to implement the Array as a class that inherits from SA's TypeDecorator [2]. The catch here is to access to the dimension's argument handled by SA, and in compiling time, making sure that we pass a value of 1. Again, this workaround also has some disadvantages: + - Mathesar is currently trying to reduce its dependence on SQLAlchemy. - We need to support columns being written to in the database via other clients (i.e., where the enforcement won't happen). That dimension can't be reflected from the database. Also while trying to integrate this class to the project, I faced difficulties such as: + - Mapping between this and the results of Array aggregation operations. I managed to solve it by using the kwarg `_default_array_type` of the `arr_agg()` method of SA, and set as its value my TypeDecorator class. - Issues with casting that affected other functions, like `get_constraint_record_from_oid()`. This function is used to retrieve attnums of columns that have constraints, and outputs a list. After installing the new decorator, this function casted the array to text, breaking tests like the ones in `test_constraint_api.py`. @@ -68,6 +72,7 @@ Given that none of the ideas we had to attempt restricting arrays to 1 dimension **Filters** As reviewed earlier, opearations over n-dimensional arrays become confusing. + - Length: it needs to know over what dimension to count. ``` a = ARRAY[1, 1, 3] @@ -77,6 +82,7 @@ b = ARRAY[[1, 1, 1], [2, 3, 1]] # for dimension 1, length=2 # for dimension 2, length=3 ``` + - Contains: Postgres will internally store an array as a 1-dimensional one [5], so when comparing if a multidimensional array is contained in another one, it can behave weird. ``` SELECT array[[442,2],[443,2]] @> array[443,2] -- returns True @@ -90,7 +96,7 @@ So, it's like, before comparing, Postgres engine unnests the arrays involved in Grouping records of a given column is currently supported. In the backend, the SA function array_agg() is used for this purpose, and it returns an object of SA's Array [6] type. However, if we now deal with arrays as records, grouping them can lead to inconsistencies in the inner dimensions of the Array. For example: ``` | name | emails | ------------------------------------------------------- +|-------|--------------------------------------------| | alice | '{"alix@gmail.com"}' | | alice | '{"alice@hotmail.com', "bbb@outlook.com"}' | @@ -120,6 +126,7 @@ where 125 is the id of the column to be updated, and the value is an array. Reading is also working well for 1-D arrays. **Next steps:** + - Test through API client: create and delete column. - Tests for n-d case, in particular, when reading the data, how does the mapping of SA work (i.e how the formed array look like)? - Type options dict properties: length and dimensions, should be discarded. @@ -127,6 +134,7 @@ Reading is also working well for 1-D arrays. #### Filters These filters are supported: + - ArrayLengthEquals - ArrayLengthGreaterThan - ArrayLengthGreaterOrEqual @@ -140,6 +148,7 @@ The filters are implemented with sql functions, which need to be passed a dimens In the case of `ArrayContains`, we have to make sure it uses the correct operator, e.g. the proper [SA comparator class](https://docs.sqlalchemy.org/en/14/dialects/postgresql.html#sqlalchemy.dialects.postgresql.ARRAY.Comparator.contains). **Next steps:** + - Fix dimension value to 1 for all the filtering operations. - Test output for n-d cases. - Test for other scalar types. @@ -148,15 +157,18 @@ In the case of `ArrayContains`, we have to make sure it uses the correct operato Status: currently not supported. Next steps: + - Disable grouping by an Array column. - After: develop custom criteria that avoids dimensions mismatch, for example, a criteria that first computes a single value per row in an Array column. Reducing each record of an Array column to a single value will result in, when grouping, a 1-D array. #### Other operations Not supported: + - Distinct - Sort by **Next steps:** + - Disable them for Array columns. - After: use a criteria that reduces an array to a single value, and then sort. @@ -167,6 +179,7 @@ Here is where most new things to be implemented take place. Status: currently not supported. Any data type can have its "array version" . Therefore, it doesn't seem a good idea to list each possible Array type in the data types dropdown list: + - There will be a lot of options listed. - The user can easily misread one list type and select a wrong one, for example, choosing List of Money instead of List of Email (both begin with *'List of ...'*). @@ -183,6 +196,7 @@ The `ArrayCell` [component](https://github.com/centerofci/mathesar/blob/develop/ Also, this approach is not considering the case of N-D arrays. Here, it would be better to render them as plain text. N-D arrays are not used as much as 1-D arrays (people would prefer to go for a vector type instead), so their use cases will be, hopefully, rare. For a first version, it's not worth to delay supporting it until figuring out how to design a proper UI for this multidimensional structure. **Next steps:** + - Keep disabled the edition of pills. - Detect and display n-dimensional arrays as plain text. @@ -203,16 +217,19 @@ request: {"125": [50000,200]} This is because making both components work in sync is complex. There is probably a mishandling of the TextInput value, and so the Array factory ends up with a string instead of an Array object. **More debugging is needed here.** **Next steps:** + - Enable edition from the record view. The user will have to type the array in the correct format. - Same for the table view, the user can click over a cell and edit the array as plain text. #### Deleting items **It is currently not possible to delete elements from an array.** Also, the UI/UX has to be sorted out for this functionality. + - Will users be able to delete individual items? Consider the added complexity to this task if the array is large; it's very easy for the user to loose sight of the element they want to eliminate. - An easier and reasonable first approach is to let the user handle this through plain text edition. Also, we should think about the persona of the target users. It's more natural for a DB maintainer to just edit records through a form, using plain text. #### Moving elements A drag-and-drop feature does not seem to be very useful to offer. + - Again, we should consider the complexity of this task for large lists. - For sorting, for end users used to calc documents, making use of a formula to achieve this is more intuitive and comfortable. - I suggest to test the demand of this feature first before thinking on implementing it. One idea is through a poll. @@ -220,6 +237,7 @@ A drag-and-drop feature does not seem to be very useful to offer. ### Documentation **User documentation** Currently, there is no documentation for the List data type. It would be nice to have a page that explains: + - How to create an Array or List column - How to edit it - How transformations and summarization work diff --git a/docs/community/gsoc/project-ideas/auto-suggest-normalization.md b/docs/community/gsoc/project-ideas/auto-suggest-normalization.md index b7edb1548..c164e792c 100644 --- a/docs/community/gsoc/project-ideas/auto-suggest-normalization.md +++ b/docs/community/gsoc/project-ideas/auto-suggest-normalization.md @@ -28,6 +28,7 @@ In order to normalize a data model, one needs to understand correlations between Repeat with 3NF as the goal. If time permits, you can also: + - Create an API that exposes this functionality. Given a table, the API should provide normalization suggestions for that table. - Create the UI that displays these suggestions in the product. diff --git a/docs/community/gsoc/project-ideas/automatic-hint-reflection.md b/docs/community/gsoc/project-ideas/automatic-hint-reflection.md index f545df19c..b1d803f56 100644 --- a/docs/community/gsoc/project-ideas/automatic-hint-reflection.md +++ b/docs/community/gsoc/project-ideas/automatic-hint-reflection.md @@ -37,6 +37,7 @@ Above mapping says that: Importantly, hints don't obligate the user of the API to follow them. A user should be able to assemble expressions that are in conflict with what is declared by the hints. The purpose of the hint system is to give hints to the user about how to assemble expressions, but the user should be free to assemble any expression he likes. We chose for the hint system to be non-authoritative (allow users to ignore it) for two reasons: + - it empowers power-users that might want to use a function or a type in a way contrary to the declared hints; - and, user developers (users that might also want to define their own Postgres functions or types) will not be obligated to master the hint system just to add a function: they'll be able to gradually start adding hints if/when they find that useful, which will cause the UX for using that function to become more streamlined with every hint added. diff --git a/docs/community/gsoc/project-ideas/data-export.md b/docs/community/gsoc/project-ideas/data-export.md index 147216cbd..2ab9b70d2 100644 --- a/docs/community/gsoc/project-ideas/data-export.md +++ b/docs/community/gsoc/project-ideas/data-export.md @@ -2,6 +2,7 @@ ## The Problem Currently, Mathesar does not have any functionality that allows users to export data. We'd like to allow users to export data from tables or views. We should support exporting to the following formats + - CSV/TSV files - SQL files - Excel files diff --git a/docs/community/gsoc/project-ideas/db-views.md b/docs/community/gsoc/project-ideas/db-views.md index 9caff030b..5d308dd2d 100644 --- a/docs/community/gsoc/project-ideas/db-views.md +++ b/docs/community/gsoc/project-ideas/db-views.md @@ -12,6 +12,7 @@ If a user has [views](https://www.postgresql.org/docs/13/sql-createview.html) in ## Feature Description Mathesar should support _read-only_ views. A user should be able to: + - Look at a view similarly to a table. - Manipulate a view by sorting, filtering, and grouping on the view page (similarly to the table page) - Explore the columns of a view in Data Explorer. @@ -43,6 +44,7 @@ Overall, we expect a significant portion of this project to involve dealing with ## Expected Outcome Views should be integrated into the UI of Mathesar by the end of the project. In particular, there should be: + - A View page - A way to query a view in the Data Explorer - Some list of views in the Schema Page diff --git a/docs/community/gsoc/project-ideas/dependency-graph.md b/docs/community/gsoc/project-ideas/dependency-graph.md index abe99936a..ee059c114 100644 --- a/docs/community/gsoc/project-ideas/dependency-graph.md +++ b/docs/community/gsoc/project-ideas/dependency-graph.md @@ -4,6 +4,7 @@ We'd like to be able to know what other database objects depend on a database object like a Schema or a Table. This is useful in various situations + - To show to the user in the frontend before they decide to delete a `Schema` or a `Table`. - To show how a `View` was constructed - To get a high level overview of the Data Model diff --git a/docs/community/gsoc/project-ideas/import-excel-json-files.md b/docs/community/gsoc/project-ideas/import-excel-json-files.md index 9b32ae94f..8169a726f 100644 --- a/docs/community/gsoc/project-ideas/import-excel-json-files.md +++ b/docs/community/gsoc/project-ideas/import-excel-json-files.md @@ -20,6 +20,7 @@ ## Architectural Problems JSON and Excel files are more complex than CSV/TSV files. The primary architectural challenges for this project are: + - Figuring out a good algorithm for importing a single JSON file into a single table. - Figuring out a good algorithm for importing a single Excel file into a single table. - Integrating the new file types into our our existing import process while preserving all our functionality. diff --git a/docs/community/gsoc/project-ideas/list-data-type.md b/docs/community/gsoc/project-ideas/list-data-type.md index 730a0bcf3..84f395162 100644 --- a/docs/community/gsoc/project-ideas/list-data-type.md +++ b/docs/community/gsoc/project-ideas/list-data-type.md @@ -22,6 +22,7 @@ We already have support for arrays in explorations (and the Data Explorer), but ### Viewing and editing list data List data could be displayed and edited in the following places. All of these need to be updated to view and edit lists correctly. + - Table cells - Input fields on record pages - Inputs to set a default value for a column @@ -29,10 +30,12 @@ List data could be displayed and edited in the following places. All of these ne - Inputs to filter records within the record selector **Viewing lists** + - Data of the "list" type should be shown as pills. - Please look at the way lists are shown in the Data Explorer as a reference. **Editing lists** + - Users should be able to add and remove list items. - Users should be able to edit the text of an existing list item. - Errors should be handled and displayed if any of the operations fail. diff --git a/docs/community/gsoc/project-ideas/location-data-type.md b/docs/community/gsoc/project-ideas/location-data-type.md index 9409e3836..ed0bc189e 100644 --- a/docs/community/gsoc/project-ideas/location-data-type.md +++ b/docs/community/gsoc/project-ideas/location-data-type.md @@ -24,6 +24,7 @@ ## Architectural Problems We need to figure out + - the logic for identifying columns with spatial data value when the data is imported - how to format the geometric data types when sending it to or receiving it from the frontend - Figure out the logic for casting between various compatible spatial data types. diff --git a/docs/community/gsoc/project-ideas/more-data-import-sources.md b/docs/community/gsoc/project-ideas/more-data-import-sources.md index dd31a95af..392202365 100644 --- a/docs/community/gsoc/project-ideas/more-data-import-sources.md +++ b/docs/community/gsoc/project-ideas/more-data-import-sources.md @@ -2,6 +2,7 @@ ## The Problem Currently, Mathesar only supports importing data from CSV-like files. We'd like to expand the types of data we can import, including support for: + - SQL files - Excel files - Google Sheets diff --git a/docs/community/gsoc/project-ideas/phone-number-data-type.md b/docs/community/gsoc/project-ideas/phone-number-data-type.md index 540e001d2..78ab220ad 100644 --- a/docs/community/gsoc/project-ideas/phone-number-data-type.md +++ b/docs/community/gsoc/project-ideas/phone-number-data-type.md @@ -19,6 +19,7 @@ ## Architectural Problems We need to figure out: + - how to structure the Postgres type. - the logic for identifying columns with phone number data when data is imported. - how to format phone numbers in the frontend. diff --git a/docs/community/gsoc/project-proposal-template.md b/docs/community/gsoc/project-proposal-template.md index 32ed9c883..ab44fd655 100644 --- a/docs/community/gsoc/project-proposal-template.md +++ b/docs/community/gsoc/project-proposal-template.md @@ -34,6 +34,7 @@ We recommend creating a Google Doc that follows this structure and sharing it wi *Include a timeline of the deliverables you aim to accomplish each week. Add one row per 1-2 weeks. We use this section to determine whether you can plan your project out properly, so please choose your deliverables well.* *Deliverables should be **measurable** and as specific as possible.* + - *“Complete API for cancelling orders” is a good deliverable. It's easy to tell whether it's been completed.* - *“Work on APIs” is a bad deliverable. It's not measurable.* diff --git a/docs/design/process/design-system.md b/docs/design/process/design-system.md index c70e3a6a5..22e915df8 100644 --- a/docs/design/process/design-system.md +++ b/docs/design/process/design-system.md @@ -13,6 +13,7 @@ There's no single best approach when it comes to building components. Methods like fast-prototyping will sometimes require interfaces to use components before they become available and documented in the library. In the book *Building Design Systems*, two different approaches to creating new components are described. Both methods of construction are outlined here: + - **Build Up Components to Create Interfaces:** Start with building the components and grouping them until the interface is complete. - **Break Down Interfaces into Components:** Break an interface into parts until and start creating components for the reusable ones. @@ -22,6 +23,7 @@ Both methods will still require documentation to be created at the end of the pr Documenting components is a crucial step of the design process. It provides the team with a resource to reuse and integrate components and maintain consistency as the product evolves. Ideally a component library entry should contain the following: + - Name of the component - Description of the component - Usage guidelines diff --git a/docs/design/process/review-guidelines.md b/docs/design/process/review-guidelines.md index ca4172557..4368385d4 100644 --- a/docs/design/process/review-guidelines.md +++ b/docs/design/process/review-guidelines.md @@ -51,6 +51,7 @@ We use GitHub issues to track design work. Issues used to track design problems - Check for outstanding [design spec review requests](https://github.com/centerofci/mathesar-wiki/pulls?q=is%3Aopen) at least once a day. - Comment on the GitHub PR with feedback. Please follow the general advice below. Once you're done reviewing the document, approve the changes or unassign yourself from the PR if you don't have any feedback. + - Request changes explicitly if you want them included in the spec before it is finalized. - By sharing feedback, you actively participate in the UX process; make sure you read the context documents and are clear on the user's needs. If needed, ask questions, don't make assumptions. diff --git a/docs/design/specs/Formulas.md b/docs/design/specs/Formulas.md index b641970ea..db5ebce3f 100644 --- a/docs/design/specs/Formulas.md +++ b/docs/design/specs/Formulas.md @@ -21,6 +21,7 @@ Formula columns are used to ... in the context of data explorer. This spec will #### User adds a formula Formula requires a specific data type column + - If table has no columns for that data type - The [formula selector](#formula-selector) menu displays a message to inform users that a specific data type column is required. diff --git a/docs/design/specs/boolean-data-type.md b/docs/design/specs/boolean-data-type.md index f000c2341..7cd65b1c8 100644 --- a/docs/design/specs/boolean-data-type.md +++ b/docs/design/specs/boolean-data-type.md @@ -25,6 +25,7 @@ The following is an interactive representation of the various options that users #### User enters a new 'Boolean' data type value Depending on the configuration, the user will enter a 'Boolean' value with two different controls. + - Default Dropdown (TRUE, FALSE) - Custom Dropdown (TRUE Custom Value, FALSE Custom Value) - Checkbox (Checked, Unchecked) diff --git a/docs/design/specs/foreign-key-constraints.md b/docs/design/specs/foreign-key-constraints.md index 588fca75a..84393875b 100644 --- a/docs/design/specs/foreign-key-constraints.md +++ b/docs/design/specs/foreign-key-constraints.md @@ -64,6 +64,7 @@ A user wants to link records from another table into their current table. Both t - The list panel contains actions at the bottom of the panel. The user can choose to add or delete an item from the list. The user clicks on 'Add' to create a new constraint. - The user is presented with a form. From there, they select the type of constraint to be added. The user selects the 'Foreign Key' constraint option from the list. The user selects single or multiple columns to which they wish to apply the constraint. + - The user selects a table to be referenced by these columns. - The user selects a column in the reference table from which the column will match values. This is set to the 'Primary Key' column in the referenced table by default. When changing this field, the user can select only columns with a `UNIQUE` or `PRIMARY KEY` constraint. diff --git a/docs/design/specs/listing-views.md b/docs/design/specs/listing-views.md index 60bb83fab..d262fff07 100644 --- a/docs/design/specs/listing-views.md +++ b/docs/design/specs/listing-views.md @@ -48,6 +48,7 @@ Initially, users will only be able to search views by name. However, relying on - User opens a schema and sees the [schema details page](#schema-details-page). The list of objects for the schema fails to load. + - Under the schema name, an error message is displayed indicating that the loading of objects failed. - The error notice contains details about the error and actions, if available, that the user can perform to correct the problem. @@ -55,6 +56,7 @@ The list of objects for the schema fails to load. - User opens a schema and sees the [schema explorer sidebar](#schema-explorer-sidebar). The list of objects for the schema fails to load. + - An error message is displayed indicating to the user that the loading of objects failed. - The error notice contains details about the error and actions, if available, that the user can perform to correct the problem. diff --git a/docs/design/specs/lookup-field-component.md b/docs/design/specs/lookup-field-component.md index 650b0fbd6..cf004451c 100644 --- a/docs/design/specs/lookup-field-component.md +++ b/docs/design/specs/lookup-field-component.md @@ -85,9 +85,11 @@ Typing the name of the schema to retrieve matching options: Some concerns exist around the need for confirmation steps and system feedback requirements to prevent errors during schema creation. Contemplating these aspects of the user experience in a narrow context is likely to result in a less than optimal design for the use cases we are discussing. **Concerns mentioned during the review:** + - Risk of typos failing to find schema and inadvertently create a new schema **Ideas to improve the experience:** + - Allowing users to extend current schema names to create new ones diff --git a/docs/design/specs/pagination.md b/docs/design/specs/pagination.md index 3aebfe079..7f6a30b67 100644 --- a/docs/design/specs/pagination.md +++ b/docs/design/specs/pagination.md @@ -13,6 +13,7 @@ The pagination component is always visible, even if the table does not reach the ### Controls The pagination component controls are: + - Records per page selector - Link to first and last pages - Helpful when applying filters or sorting criteria (i.e., What is the oldest/newest item?) @@ -38,6 +39,7 @@ What are reasonable max and minimum page sizes? Based on discussion with the team, the first version of the read-only table will use offset-based pagination. This is the preferred choice as it is already implemented and does not prevent the roadmap from being built and allow other methods to be used later. Some of the following points were discussed and shall be reconsidered later when we have more evidence of limitations imposed by our current pagination method: + - Offset-based allows users to jump into any arbitrary page instead of forcing them to scroll through the entire content. - Offset-based is unreliable when the list of items frequently changes, causing problems when records are added or deleted. - Cursor-based pagination is not affected by the addition or removal of items. diff --git a/docs/design/specs/read-only-table.md b/docs/design/specs/read-only-table.md index 4255af9d8..e24b96d96 100644 --- a/docs/design/specs/read-only-table.md +++ b/docs/design/specs/read-only-table.md @@ -27,6 +27,7 @@ The table component uses columns and rows to display data in a grid. A read-only table only serves to display data but has no other interactions. Users can read or select the data that is displayed in the table rows but they can't modify or delete data. Other uses: + - For data preview during import - For a tble with no permission to edit @@ -44,6 +45,7 @@ The tabs component allows navigation between related groups of content. The tabs Tabs allow only one instance of a table to be open at the same time. If the user navigates to a table that is already open, the corresponding tab will be activated. To consider: + - AWS Athena and how they handle multiple instances of a table. - Working on views without saving them so that user can discard them easily. ##### States @@ -62,6 +64,7 @@ Based on the type of content represented by the tab, there will be a different i ![](/assets/design/specs/read-only-table/BJJCkI5O_.png =240x) Notes: + - In future iteration maybe tabs can be reordered by drag-and-drop interaction. @@ -92,10 +95,12 @@ On reload, the navigation level states should persist. What is expanded or collapsed should also persist if a higher level state changes. Questions: + - Can a schema contain no tables? - What's the sorting criteria for the sidebar navigation groups? Future Idea: + - Additional list group to show recently updated tables ### Views diff --git a/docs/design/specs/ui-styling.md b/docs/design/specs/ui-styling.md index 3bfb42bfc..ff20b8790 100644 --- a/docs/design/specs/ui-styling.md +++ b/docs/design/specs/ui-styling.md @@ -18,6 +18,7 @@ The contrast of the design should be based on Web Content Accessibility Guidelin ### Colors The design should support both light and dark modes and apply colors in a way that emphasizes important elements that assist users in: + - Identifying type of objects (table, views) - Differentiating states of objects (active, default, disabled) - Cell, row, and column positioning diff --git a/docs/design/specs/visual-query-builder.md b/docs/design/specs/visual-query-builder.md index d9c14bcaa..3fcf45213 100644 --- a/docs/design/specs/visual-query-builder.md +++ b/docs/design/specs/visual-query-builder.md @@ -74,11 +74,11 @@ When adding input columns, the user can add them using the list controls or drop Depending on the interaction, columns may be selected in a variety of ways: -Selection Mode | Interaction ---- | --- -Single Selection| Click a list item -Drop Single Column| Click and drag list item to drop area -Multiple Selection| Click + Shift Key to select first and all items in between. For non-contiguous items, Click + Control Key. +| Selection Mode | Interaction | +| --- | --- | +| Single Selection | Click a list item | +| Drop Single Column | Click and drag list item to drop area | +| Multiple Selection | Click + Shift Key to select first and all items in between. For non-contiguous items, Click + Control Key. | #### Naming Convention @@ -88,13 +88,13 @@ The system will default name columns to indicate their source table and column u Depending on how tables are linked, some columns might contain multiple records associated with a record in the base table. Specific functionality to manage those records should be available to users. -Functionality | User Goals ---- | --- -Filter| Show only a subset of the linked records -Aggregate| Display the multiple records as a combined record -Display Formats| Change the way each record item is displayed -Sort| Change the order in which the linked records are displayed -Limit| Limit the number of linked records +| Functionality | User Goals | +| --- | --- | +| Filter | Show only a subset of the linked records | +| Aggregate | Display the multiple records as a combined record | +| Display Formats | Change the way each record item is displayed | +| Sort | Change the order in which the linked records are displayed | +| Limit | Limit the number of linked records | #### Data Type Changes diff --git a/docs/engineering/glossary/filters.md b/docs/engineering/glossary/filters.md index cbcabfcdd..ab2479d5e 100644 --- a/docs/engineering/glossary/filters.md +++ b/docs/engineering/glossary/filters.md @@ -22,6 +22,7 @@ As an example, here's a table: | 5 | The Karate Kid | 1984 | TRUE | Here are some examples of correct and wrong filters. The emoji indicates whether they are correct. + - `"Year" > 1990` - `"ID" = 5` - `"Favorite" is TRUE` diff --git a/docs/engineering/glossary/ui-types.md b/docs/engineering/glossary/ui-types.md index df1d2eb0c..1dea669fa 100644 --- a/docs/engineering/glossary/ui-types.md +++ b/docs/engineering/glossary/ui-types.md @@ -4,6 +4,7 @@ Please see the ["Data Types" product concept page](/product/concepts/data-types) ## Goals The main goal of the UI Data Type system is to create a better user experience for non-technical users on the frontend. We aim to do this by: + - **Making data types understood in simple, non-technical terms.** - e.g. users should not need to know or think about what a `DOUBLE PRECISION` is in order to set their column to accept decimal numbers. - **Reducing cognitive load while picking a data type.** @@ -18,6 +19,7 @@ A Mathesar type can be thought of as a set of one or more PostgreSQL data types. Mathesar types are an abstraction only applicable to frontend clients, they should not be considered in any operations at the backend or database level. For example, filtering, sorting, and grouping operations happen using PostgreSQL types, not UI types. UI types are defined in the backend instead of the frontend for two reasons: + - to enable alternate clients that play well with the abstractions we use for the "official" frontend - to enable users to extend the type system by installing types in the backend and automatically getting the user experience offered by the frontend without having to write frontend code. diff --git a/docs/engineering/release-process.md b/docs/engineering/release-process.md index ccec25275..be6c2a3f2 100644 --- a/docs/engineering/release-process.md +++ b/docs/engineering/release-process.md @@ -20,6 +20,7 @@ For details on the Release management process, refer the [Release management ong ```sh github_tag=${1-"0.1.3"} ``` + - Update the version number in the documentation for the Installation instructions. ### 3. Make images from the branch and push to Dockerhub - *Do not tag as `latest`*. @@ -31,6 +32,7 @@ For details on the Release management process, refer the [Release management ong docker buildx build -t mathesar/mathesar-caddy: --builder=container --platform=linux/amd64,linux/arm64 --push -f Dockerfile.caddy . docker buildx build -t mathesar/mathesar-prod: --builder=container --platform=linux/amd64,linux/arm64 --push --build-arg PYTHON_REQUIREMENTS=requirements-prod.txt . ``` + - These images are not tagged as latest will not affect installation flow for users. - Log out of Dockerhub to avoid accidental pushes during testing. @@ -42,6 +44,7 @@ For details on the Release management process, refer the [Release management ong docker volume rm $(docker volume ls | awk '{print $2}') ``` This is just to ensure that the below validation starts from a known state. + - Clear out remains of prevoius installations if any. - Eg., Delete `.env` file and `docker-compose.yml` file within `/etc/mathesar`. - Locally tag the new version as `latest`: @@ -52,6 +55,7 @@ For details on the Release management process, refer the [Release management ong docker image pull mathesar/mathesar-prod: docker image tag mathesar/mathesar-prod: mathesar/mathesar-prod:latest ``` + - Install the new version: ```sh bash <(curl -sL https://raw.githubusercontent.com/centerofci/mathesar//install.sh) @@ -126,6 +130,7 @@ For details on the Release management process, refer the [Release management ong docker buildx build -t mathesar/mathesar-caddy: -t mathesar/mathesar-caddy:latest --builder=container --platform=linux/amd64,linux/arm64 --push -f Dockerfile.caddy . docker buildx build -t mathesar/mathesar-prod: -t mathesar/mathesar-prod:latest --builder=container --platform=linux/amd64,linux/arm64 --push --build-arg PYTHON_REQUIREMENTS=requirements-prod.txt . ``` + - Note that the release needs to be tagged as `latest`. ### 4. Create release in GitHub diff --git a/docs/engineering/specs/dateandtime.md b/docs/engineering/specs/dateandtime.md index 15f367473..0ffc43f1c 100644 --- a/docs/engineering/specs/dateandtime.md +++ b/docs/engineering/specs/dateandtime.md @@ -13,6 +13,7 @@ For the moment, the UI should simply send the input string along to the API to be handled by the data layer, which should use the underlying database to parse input strings into date/time types to avoid inconsistency. If we want to extend the set of understandable date/time input strings in the future, then the UI could parse the more exotic input strings into the appropriate canonical form described below and send that as the input to be stored to the API. The canonical form isn't _required_, but it's recommended since it guarantees the known value ending up stored in the database. Care should be taken to ensure that _if the UI parses the string_, then it's either + - a string which wouldn't be handled by the database parsing, or - the parsing results in an identical value being stored as the one that would have resulted from sending the raw string to the API. @@ -60,6 +61,7 @@ Because some units of time (months and days) are inconsistent w.r.t. the number - `'1 year -1 month 3 days 14 hours -10 minutes 30.4 seconds ago'` maps to `P0Y-11M-3DT-13H-50M-30.4S` Notes: + - Commas and pluralization don't matter. - We use `T` to separate the date and time portions. - Take care of where the units do and do not aggregate into larger units in the second example. diff --git a/docs/engineering/specs/ddl.md b/docs/engineering/specs/ddl.md index a6e74cbfa..1082e8934 100644 --- a/docs/engineering/specs/ddl.md +++ b/docs/engineering/specs/ddl.md @@ -1,6 +1,7 @@ # DDL Operations Data Definition Language (DDL) operations are those involving creating, altering, or dropping (deleting) database objects like: + - Tables - Views diff --git a/docs/engineering/specs/import-preview-api.md b/docs/engineering/specs/import-preview-api.md index 01508e94e..89e236998 100644 --- a/docs/engineering/specs/import-preview-api.md +++ b/docs/engineering/specs/import-preview-api.md @@ -187,6 +187,7 @@ The full table blob will be returned, so a return for the above request could be This would set the columns in the preview to have the specified names and types. Any column which is unaltered would have and empty JSON object (as in the 0th column above), otherwise, only attributes of a column which are to be altered would be submitted in the request. So, in the example: + - we alter nothing about the 0th column, - we alter the name of the 1st column, - we alter the type of the 2nd column, diff --git a/docs/engineering/specs/installation-improvements-plan-0_1_4.md b/docs/engineering/specs/installation-improvements-plan-0_1_4.md index a07a2d949..33fe4f9a7 100644 --- a/docs/engineering/specs/installation-improvements-plan-0_1_4.md +++ b/docs/engineering/specs/installation-improvements-plan-0_1_4.md @@ -11,6 +11,7 @@ This project contains the summarized plan to improve the installation, mostly based on the [ previous discussions](https://wiki.mathesar.org/en/meeting-notes/2023-07/2023-07-28-installation-meeting). Implementing the planned changes will be done in separate projects + - [Installation Improvement 0.1.4](/projects/installation-improvements-0_1_4) ### Problems @@ -28,6 +29,7 @@ Implementing the planned changes will be done in separate projects We discussed and agreed upon a [set of personas to target initially](https://wiki.mathesar.org/en/meeting-notes/2023-07/2023-07-28-installation-meeting#do-the-personas-make-sense-do-we-need-any-additional-narrowing-down-or-clarification) Top + - Someone trying Mathesar out quickly (and can use Docker) - We assume this user is just evaluating Mathesar and will move to a different installation setup after evaluating. - Someone installing Mathesar on a PaaS @@ -39,17 +41,20 @@ Top - same as above Medium + - Someone installing server on localhost, but connecting to a remote DB - Someone installing Mathesar on existing DevOps infrastructure - Helm, Kubernetes goes here Not prioritizing at all - until more than one person asks + - Ansible / other automation guides - Someone installing Mathesar on a remote system that's not Linux - Someone who wants to build Mathesar from source - Someone trying Mathesar out quickly locally (and cannot use Docker) Discourage + - Someone installing everything on localhost (not just trying it out) ### Limitations of the Project diff --git a/docs/jobs/past/2021-04-designer.md b/docs/jobs/past/2021-04-designer.md index d95a3d0a7..fd06cb855 100644 --- a/docs/jobs/past/2021-04-designer.md +++ b/docs/jobs/past/2021-04-designer.md @@ -20,6 +20,7 @@ We're looking for a designer that has extensive experience with translating comp Excellent communication skills in English (both written and verbal) are essential, since this position is fully remote. You should be able to work indpendently, build good working relationships remotely, and be a proactive communicator. You should also enjoy writing documentation, helping others, and building a community. You're probably also curious and enjoy learning new things. Some nice-to-haves: + - understanding of SQL and databases - design experience with spreadsheet, tables, or large datasets - experience as a contributor or maintainer of open source software @@ -29,6 +30,7 @@ Some nice-to-haves: You will be a salaried employee if you're in the US and an independent contractor otherwise. We offer a competitive salary in the nonprofit sector. We also have a budget for learning material (books, courses, etc.) and conferences. US employees have the following benefits: + - Medical, dental, and vision insurance coverage (CCI covers 80% of employee costs and 70% of dependent costs for medical insurance and 50% of employee costs for dental and vision insurance). - Life insurance coverage - 401(k) forthcoming diff --git a/docs/jobs/past/2021-04-frontend.md b/docs/jobs/past/2021-04-frontend.md index d59c8b8f9..a561a8278 100644 --- a/docs/jobs/past/2021-04-frontend.md +++ b/docs/jobs/past/2021-04-frontend.md @@ -20,6 +20,7 @@ We're looking for an experienced engineer that has architected, built, and deplo Excellent communication skills in English (both written and verbal) are essential, since this position is fully remote. You should be able to work indpendently, build good working relationships remotely, and be a proactive communicator. You should also enjoy writing documentation, helping others, and building a community. You're probably also curious and enjoy learning new things. Some nice-to-haves: + - solid understanding of SQL and databases - experience as a contributor or maintainer of open source software - experience with usability testing @@ -30,6 +31,7 @@ Some nice-to-haves: You will be a salaried employee if you're in the US and an independent contractor otherwise. We offer a competitive salary in the nonprofit sector. We also have a budget for learning material (books, courses, etc.) and conferences. US employees have the following benefits: + - Medical, dental, and vision insurance coverage (CCI covers 80% of employee costs and 70% of dependent costs for medical insurance and 50% of employee costs for dental and vision insurance). - Life insurance coverage - 401(k) forthcoming diff --git a/docs/jobs/past/2021-09-frontend.md b/docs/jobs/past/2021-09-frontend.md index 77726daae..b8e59af94 100644 --- a/docs/jobs/past/2021-09-frontend.md +++ b/docs/jobs/past/2021-09-frontend.md @@ -50,6 +50,7 @@ The final candidate will also have a conversation with CCI's Executive Director You will be a salaried employee if you're in the US and an independent contractor otherwise. We offer a competitive salary in the nonprofit sector. We also have a budget for learning material (books, courses, etc.) and conferences. US employees have the following benefits: + - Medical, dental, and vision insurance coverage (CCI covers 80% of employee costs and 70% of dependent costs for medical insurance and 50% of employee costs for dental and vision insurance). - Life insurance coverage - 401(k) diff --git a/docs/jobs/past/2021-10-backend.md b/docs/jobs/past/2021-10-backend.md index 7677f577b..3e830649a 100644 --- a/docs/jobs/past/2021-10-backend.md +++ b/docs/jobs/past/2021-10-backend.md @@ -31,6 +31,7 @@ Requirements: - Curiosity and enjoyment of learning new things. Nice to have: + - Experience with build/infrastructure tools like Docker and Ansible. - Experience maintaining Linux servers. - Experience with building self-hosted products. @@ -40,6 +41,7 @@ Nice to have: ## Interview Process The interview process will consist of four rounds: + - Round 1: Interview with our project lead - Round 2: We'll ask you to contribute a feature to Mathesar to simulate what it would be like to work together day to day. - Round 3: Interview with our backend engineer @@ -49,6 +51,7 @@ The interview process will consist of four rounds: You will be a salaried employee if you're in the US and an independent contractor otherwise. We offer a competitive salary in the nonprofit sector. We also have a budget for learning material (books, courses, etc.) and conferences. US employees have the following benefits: + - Medical, dental, and vision insurance coverage (CCI covers 80% of employee costs and 70% of dependent costs for medical insurance and 50% of employee costs for dental and vision insurance). - Life insurance coverage - 401(k) diff --git a/docs/jobs/past/2022-05-frontend.md b/docs/jobs/past/2022-05-frontend.md index 14b73413d..6fee2b01e 100644 --- a/docs/jobs/past/2022-05-frontend.md +++ b/docs/jobs/past/2022-05-frontend.md @@ -9,6 +9,7 @@ You'll be joining our small, globally distributed team at the Center of Complex ## What you will do You'll be our third frontend engineer. Your day-to-day work will involve: + - Primarily, writing code using Svelte and TypeScript - Collaborating with other team members, including: - providing written feedback on product and design specs for new features @@ -56,6 +57,7 @@ You'll be our third frontend engineer. Your day-to-day work will involve: We offer competitive compensation for the nonprofit sector. If you're in the U.S., you will be hired as a salaried employee. Employees have the following benefits: + - Medical, dental, and vision insurance coverage - **Medical**: CCI covers 80% of employee costs and 70% of dependent costs - **Dental and Vision:** CCI covers 50% of employee costs for dental and vision insurance diff --git a/docs/jobs/past/2022-06-localizationmd b/docs/jobs/past/2022-06-localizationmd index e4f7ae81a..fc715b6e8 100644 --- a/docs/jobs/past/2022-06-localizationmd +++ b/docs/jobs/past/2022-06-localizationmd @@ -61,6 +61,7 @@ The [Chiba Institute of Technology's Henkaku Center](https://henkaku.org/en/CIT- We offer competitive compensation for the nonprofit sector. If you're in the U.S., you will be hired as a salaried employee. Employees have the following benefits: + - Medical, dental, and vision insurance coverage - **Medical**: CCI covers 80% of employee costs and 70% of dependent costs - **Dental and Vision:** CCI covers 50% of employee costs for dental and vision insurance diff --git a/docs/product/concepts/data-types.md b/docs/product/concepts/data-types.md index 891d081e4..9c117875f 100644 --- a/docs/product/concepts/data-types.md +++ b/docs/product/concepts/data-types.md @@ -7,11 +7,13 @@ A **data type** is an attribute of a column in a [Table](/product/concepts/table Different data types have their own filters, groups, and other functionality available to help you work better with information of that type. Examples of filtering include: + - numbers based on whether they're greater than `2000` - dates based on whether they're before or after `today` - URLs based on whether they're `.com` or `.net`. Examples of grouping include: + - text based on first letter (`A`, `B`, `C`, etc.) - numbers based on ranges (e.g. `1-100`, `101-200`, etc.) - emails based on domain names (e.g. `gmail.com`, `outlook.com`, etc.) diff --git a/docs/product/concepts/tables.md b/docs/product/concepts/tables.md index 449edf520..8c27b5a6d 100644 --- a/docs/product/concepts/tables.md +++ b/docs/product/concepts/tables.md @@ -5,6 +5,7 @@ A **table** is where data in a [Database](/product/concepts/databases) is actually stored. Tables consist of **columns** and **records** (rows). + - A **column** describes the data stored, including (but not limited to ) its [Data Type](/product/concepts/data-types). - A **record** is a single unit of data that can be stored in a table. Each record stores data corresponding to each column defined on the table. @@ -20,6 +21,7 @@ Creating a table is the first step to managing your data within Mathesar. | 3 | Barend Reinhild | Belgium | 45 | October 2, 1976 (9:36 AM) | In this table, we have **5 columns** and **3 records** (rows). + - The columns are: `ID`, `Name`, `Country`, `Age`, and `Birth`. - Each record fits the parameters defined by the column. So every record has a number as `ID` and date & time as `Birth`. diff --git a/docs/product/concepts/views.md b/docs/product/concepts/views.md index 08616cb24..afe6f6de8 100644 --- a/docs/product/concepts/views.md +++ b/docs/product/concepts/views.md @@ -12,6 +12,7 @@ Under the hood, views are defined by a database (SQL) query. We expect that [Tables](/product/concepts/tables) will be used for entering simple data quickly and Views will be used for looking at data, creating reports, or editing inter-related data easily. You should use Views when you'd like to: + - see data aggregated across multiple tables in one place. - bookmark a subset of data in a table (e.g. filtered, sorted, or grouped data) - summarize data (e.g. have a column that shows counts of records in a table) @@ -23,6 +24,7 @@ You should use Views when you'd like to: ### Views vs. Tables To think about the difference between Views and [Tables](/product/concepts/tables), here's an example. Imagine you want to track your movie watches in Mathesar. Questions you might be thinking about are: + - On what day of the week do I usually watch movies? - When did I last see Brad Pitt in a movie? - How many movies did I watch that were released in the 90s vs. the 2000s. diff --git a/docs/product/feature-ideas.md b/docs/product/feature-ideas.md index f0e7221d9..0b3ac5bdd 100644 --- a/docs/product/feature-ideas.md +++ b/docs/product/feature-ideas.md @@ -8,6 +8,7 @@ These are potential feature ideas for Mathesar. Each section represents a concep ## Views Users should be able to: + - Save filtered/sorted/grouped tables as views. - Create a calendar view based on date and time fields in their data - Create a histogram chart view based on their data @@ -21,6 +22,7 @@ Users should be able to: ## Computed Data Users should be able to: + - Create a new column that computes data from other columns using forumulas. - Create "subtotals" for grouped views - Support different types of subtotals: SUM, AVG, MIN, MAX, MED @@ -30,6 +32,7 @@ Users should be able to: ## Installation and Configuration Users should be able to: + - Follow provided instructions to install Mathesar on a server. - The installation process should only install PostgreSQL if needed. - Access existing PostgreSQL databases via Mathesar using existing PostgreSQL user credentials. @@ -41,6 +44,7 @@ Users should be able to: ## User Management Users should be able to: + - Log in - Log out - Create a new user with permissions: admin, editor, viewer @@ -59,6 +63,7 @@ Users should be able to: ## Data Workflow Improvements Users should be able to: + - Search for data across various tables and schemas - Bulk edit data - Bulk import new data into an existing collection @@ -74,6 +79,7 @@ Users should be able to: ## Additional Imports Users should be able to import data in the following additional formats: + - SQL - JSON - XML @@ -132,6 +138,7 @@ The attributes of the location column type are based on results returned by the ## Data Syncing Users should be able to sync data both ways from: + - Google Sheets - Airtable - Excel (web) @@ -139,29 +146,34 @@ Users should be able to sync data both ways from: ## Data Suggestions Users should get suggestions about: + - Visualizations they can apply to their data - Aggregations they can apply to their data - Schema imporovements they can make to their data ## Versioning Users should be able to: + - Save a snapshot of their database, schema, or table. - Revert to a previous version of their database, schema, or table. - Undo and redo recent actions. ## Events Events in the system should be exposed via an API. e.g. + - New table created - Table schema changed - New data added ## Notifications Users should be able to: + - Get email notifications of various events. - Get web notifications of various events. ## Templates Users should be able to: + - Save databases, schemas, applications as templates. - Use a template to create a new database, schema, or application. - Edit template attributes. @@ -171,6 +183,7 @@ Users should be able to: ## Improved User Management Users should be able to: + - Create teams of users, teams can have similar permissions to users. ## API diff --git a/docs/product/index.md b/docs/product/index.md index 019470795..6f58ef6d5 100644 --- a/docs/product/index.md +++ b/docs/product/index.md @@ -11,6 +11,7 @@ Mathesar is designed to be self-hosted on your own server. ## Use cases Mathesar can be used to: + - Publish or explore public datasets - Run business processes such as: - inventory management diff --git a/docs/product/roadmap.md b/docs/product/roadmap.md index 8618b8464..a5a448686 100644 --- a/docs/product/roadmap.md +++ b/docs/product/roadmap.md @@ -5,6 +5,7 @@ Our feature roadmap is tracked via [GitHub milestones](https://github.com/center ## About the Roadmap Our initial roadmap is aimed at creating a very basic version of Mathesar that demonstrates our value proposition. To help us pick which features to build for the initial release, we are using three criteria: + - Users should have the features needed to manage a basic collaborative media inventory using Mathesar. We do not have a specific set of features, but keeping a simple use case in mind helps us cut features that may be too advanced. - Please see the following design documents for our initial exploration on this topic: - [Inventory Use Case exploratory document](/design/exploration/use-cases/inventory-use-case) diff --git a/docs/product/specs/2022-01-views/02-feature-requirements.md b/docs/product/specs/2022-01-views/02-feature-requirements.md index ac290270b..74ff24f2d 100644 --- a/docs/product/specs/2022-01-views/02-feature-requirements.md +++ b/docs/product/specs/2022-01-views/02-feature-requirements.md @@ -6,6 +6,7 @@ To work with **Queries** and **Views** in Mathesar, we'll need to support the fo Mathesar should support a visual query builder to allow users to construct **Queries**. The query builder should be accessible from anywhere in Mathesar and should not be tied to a single table or view. The query builder should allow users to: + - Construct a query by selecting: - columns to use - filters to apply to columns used or their tables @@ -23,6 +24,7 @@ Mathesar should also support creating **Views**, which are essentially saved **Q ## Interacting with Views Views should be a separate category of objects in Mathesar, just like Tables. Users should be able to: + - See all views in a given schema - Find the view they want - Open a view @@ -34,6 +36,7 @@ Views should be a separate category of objects in Mathesar, just like Tables. Us We should hook into the query builder from Tables and Views wherever the context makes sense to introduce the user to it. This involves updating the designs for tables and views to pre-create queries and link to the query builder. Some examples: + - Creating a new view from scratch - Editing the structure of a view - Saving the currently applied filters, sorts, and groups of a table. diff --git a/docs/product/specs/2022-01-views/03-the-query-builder.md b/docs/product/specs/2022-01-views/03-the-query-builder.md index a1a5fe03c..bfc4048ef 100644 --- a/docs/product/specs/2022-01-views/03-the-query-builder.md +++ b/docs/product/specs/2022-01-views/03-the-query-builder.md @@ -122,6 +122,7 @@ The user applies a summary of "Distinct Values" with columns "student_id", "stud ### Limit & Offset The user can apply the following to the query: + - A limit to the number of rows returned - An offset for where to start the rows returned @@ -150,6 +151,7 @@ Please see the next page, [04. Formulas](/product/specs/2022-01-views/04-formula ### Column Input Filters When applying filters to an input column (let's call it `X`), the user selects three things: + - **Column to apply the filter to**: This could be - any column in the table (`T`) that `X` belongs to - any column in any table that `T` has a FK relationship to (i.e. there's a single related record to every record in `T`), up to three levels deep diff --git a/docs/product/specs/2022-01-views/04-formulas.md b/docs/product/specs/2022-01-views/04-formulas.md index fa4f15991..2015932fe 100644 --- a/docs/product/specs/2022-01-views/04-formulas.md +++ b/docs/product/specs/2022-01-views/04-formulas.md @@ -3,6 +3,7 @@ ## Structure Formulas have the following attributes: + - **Name**: A unique human-readable name - **Description**: A description of what the formula does - **Variables Accepted**: This is the list of variables needed for a formula to work. Variables have the following attributes: @@ -15,6 +16,7 @@ Formulas have the following attributes: ### Finding Formulas In order to make finding the right formula easier, we should categorize formulas by the type of variable they accept. + - For example, if the user is trying to add a formula to a `DATE` column, we would only show them the formulas that accept the `DATE` data type. - When the user starts by adding a formula column, we should provide an interface that helps users find the formula they want easier. We could provide an autocomplete interface based on formula name, categorize formulas based on type, and/or consider other options. @@ -24,6 +26,7 @@ See below for a _very_ rough representation of the idea. ### Editing Formula Data When a query is turned into a View, we will allow users to edit data from the View in some cases. Each formula that is editable will define its own editing behavior, but here are some general guidelines: + - Formulas that transform the original data don't result in editable data. - e.g. if we apply a "Extract Year" formula to a `DATE` column to transform, say, `2020-01-03` into `2020`, then the `2020` will not be editable. - e.g. if we apply a "Count" formula to count the number of genres a movie has, we will not be able to edit the count. diff --git a/docs/product/specs/2022-01-views/04-formulas/4a-record-aggregations.md b/docs/product/specs/2022-01-views/04-formulas/4a-record-aggregations.md index 748f5e7f2..21777c321 100644 --- a/docs/product/specs/2022-01-views/04-formulas/4a-record-aggregations.md +++ b/docs/product/specs/2022-01-views/04-formulas/4a-record-aggregations.md @@ -31,6 +31,7 @@ group by movie.title; ### Editing behavior Data generated using list formulas are editable in two ways: + - **Editing existing items** The user can always edit the contents of an existing item. - We are just editing the relevant record in the underlying table. - We should make it clear to the user that all instances of the data will be changed, not just in this record. diff --git a/docs/product/specs/2022-01-views/04-formulas/4j-custom-formulas.md b/docs/product/specs/2022-01-views/04-formulas/4j-custom-formulas.md index 0daf7b2d6..d609f5def 100644 --- a/docs/product/specs/2022-01-views/04-formulas/4j-custom-formulas.md +++ b/docs/product/specs/2022-01-views/04-formulas/4j-custom-formulas.md @@ -10,6 +10,7 @@ Custom formulas provide a more flexible interface to let users build their own f ## Interface Requirements We should provide a textual interface for users to enter custom formulas. This should support: + - Autocomplete for column references based on the available columns. - Autocomplete for our pre-created formulas. - Once the user has started entering a formula, we should support autocomplete or dropdowns for formula options. diff --git a/docs/product/specs/2022-01-views/05-view-structure.md b/docs/product/specs/2022-01-views/05-view-structure.md index 93d208937..30c72a159 100644 --- a/docs/product/specs/2022-01-views/05-view-structure.md +++ b/docs/product/specs/2022-01-views/05-view-structure.md @@ -6,6 +6,7 @@ This page describes how Views should work. ## Navigating to Views Users should be able to: + - See all views in a given schema - Find the view they want - Open a view @@ -33,6 +34,7 @@ We could also potentially show a read-only breakdown of the query into [Query Bu ### View Structural Updates Users should be able to perform the following actions: + - Save filters and sorts applied in the UI to the View query (permanently applying those sorts/filters) - Save filters and sorts applied in the UI to a new View - Create a new "summarized" view of any groupings applied diff --git a/docs/product/specs/2022-01-views/06-view-columns.md b/docs/product/specs/2022-01-views/06-view-columns.md index 2972a6543..698c472f1 100644 --- a/docs/product/specs/2022-01-views/06-view-columns.md +++ b/docs/product/specs/2022-01-views/06-view-columns.md @@ -6,11 +6,13 @@ If we end up having a column menu in [the Query Builder](/product/specs/2022-01- ## Data Type This is the final data type of the content of the column after any computations etc. are applied. + - **Allowed values**: same as Table data types. - **Required**. Data type should always be set, at the very least, we can treat unknown data types as text. ## Sources This is the set of source columns that are used to generate the data in the current View column. + - **Allowed values**: References to other Table columns or columns in the same View. - We should also depict relationships used to get to the source and any filters applied to the source. - **Optional**: This could be empty for purely calculated columns (e.g. using the Postgres `random()` function and putting the output in a column) @@ -21,6 +23,7 @@ Using Element's UI as an example (Matrix channel names stand in for data sources ## Formula This is the formula used to generate data in for this column. + - **Allowed values**: List of pre-defined formulas, see [04. Formulas](/product/specs/2022-01-views/04-formulas) - **Optional**: Columns that are direct copies of other columns from tables or views won't have a formula. @@ -33,6 +36,7 @@ Details about creating formulas are in [04. Formulas](/product/specs/2022-01-vie ## Link This notes whether a column is a join column. This is a column used to match the same values across multiple tables to create the View. These columns have multiple Sources but no Formula. + - **Allowed values**: True or False. - **Required**: This must be set for all columns. diff --git a/docs/product/specs/2022-01-views/08-appendix.md b/docs/product/specs/2022-01-views/08-appendix.md index 5fb619e34..0c2245ecb 100644 --- a/docs/product/specs/2022-01-views/08-appendix.md +++ b/docs/product/specs/2022-01-views/08-appendix.md @@ -43,5 +43,6 @@ These tables and views are used to illustrate concepts in other parts of this sp | Crazy Rich Asians | 2018 | English | Michelle Yeoh | This view is defined as follows: + - `Title`, `Release Year`, `Primary Language` are directly from **Movie** - `Actors` is a List aggregation formula applied to **Person**'s `Name` with a filter applied so that only **Person** records with `Role = "Actor"` will show up. diff --git a/docs/product/specs/2022-01-views/index.md b/docs/product/specs/2022-01-views/index.md index bdc57586a..efaa2e524 100644 --- a/docs/product/specs/2022-01-views/index.md +++ b/docs/product/specs/2022-01-views/index.md @@ -2,6 +2,7 @@ ## Overview All data in Mathesar is stored in **[Tables](/product/concepts/tables)**. However, users may not always want to analyze, edit, or otherwise work with data in the same way that it is stored. This might involve combining data from multiple tables or only looking at a subset of rows and columns from a single table. + - For example, tables are often optimized for reducing redundancy in data storage. It's hard to work with interrelated data and perform data analysis tasks using tables alone. On a day to day basis, users may want to work with data spread across different tables. - Tables for data analysis are often stored in a denormalized format. Users may want to work with it by reducing the redundancies. @@ -13,6 +14,7 @@ This is where **Queries** and **Views** come in – to help the user see the dat ### User Goals The user goals for **Queries** are: + - To enable users to perform more complex lookups of data in a single table than can be achieved by filtering or sorting (e.g. finding all duplicate rows in a table) - To enable users to perform lookups of data across multiple tables - To enable users to work with subsets of data (e.g. fewer columns, rows, or both) @@ -20,6 +22,7 @@ The user goals for **Queries** are: - To help users answer questions about their data and perform basic data analysis The user goals for **Views** are: + - To help users save commonly used queries - To provide a better editing experience for related data (especially many-to-many relationships) diff --git a/docs/product/specs/publicly-shareable-links.md b/docs/product/specs/publicly-shareable-links.md index fc6693778..5427d4262 100644 --- a/docs/product/specs/publicly-shareable-links.md +++ b/docs/product/specs/publicly-shareable-links.md @@ -188,11 +188,13 @@ PARTIAL UPDATE: `PATCH /shares/table-link//`. Table id should not be al REGENERATE SLUG: `POST /shares/table-link//regenerate/` Pros: + - Shared url need not contain entity id: `http://localhost:8000/shared/tables//` - Code related to shared links can be within a single place - Generic viewsets and serializers can be written reducing possible duplication Cons: + - Entity id needs to specified as part of request body. - Additional logic would be required to disallow update of entity id. - Additional logic required to filter by entity id. @@ -209,6 +211,7 @@ PARTIAL UPDATE: `PATCH /tables//shares//` REGENERATE SLUG: `POST /tables//shares//regenerate/` Pros: + - Placed within hierarchy of respective entities - Entity id is a path param: - Entity need not be specified in the request body additionally @@ -217,6 +220,7 @@ Pros: - Option to filter by slug is not required Cons: + - Shared url needs to contain entity id: `http://localhost:8000/shared/tables//?token={$slug}` - Some code duplication might be needed diff --git a/docs/product/specs/users-permissions.md b/docs/product/specs/users-permissions.md index 3ba853f8e..2fdd92c4d 100644 --- a/docs/product/specs/users-permissions.md +++ b/docs/product/specs/users-permissions.md @@ -12,6 +12,7 @@ This spec describes how the initial version of users & permissions will work in ### Bonus Goals *We may not get to implementing these in 2022.* + - Allow users to be represented in Mathesar data and workflows through a User data type - Allow restricting access to subsets of tables, schemas, or explorations based on user attributes @@ -33,6 +34,7 @@ We're making the following assumptions for this spec to reduce implementation co ### Users will be Mathesar-specific. This means: + - Users created using the Mathesar UI will not be able to log in to the PostgreSQL DB using the same credentials. - Existing Postgres DB users will not be able to log in to Mathesar using their credentials. @@ -59,6 +61,7 @@ When Mathesar is first installed, we'll create a default "Administrator" user. T ### User management page Mathesar administrators should be able to navigate to a user management page and take the following actions: + - Add a user - Delete a user - Edit user details @@ -97,6 +100,7 @@ We need different navigation options based on the objects the user has permissio ### User data to save We should have a place to save the following kinds of data per user: + - Table inspector show/hide settings - Last access time per-table - Last access time per-exploration @@ -126,6 +130,7 @@ High-level notes on how we should implement these features. ### Users in the service layer Users should be Django `User` objects with the following attributes: + - Username (required) - Password (required) - Full name (required) @@ -142,6 +147,7 @@ We will have the following layers of permissions. The implementer needs to figur #### User All users can: + - Edit their own user's attributes, including reset their own password - Create private explorations based on data they have access to. diff --git a/docs/projects/2023/04/user-feedback-kickoff.md b/docs/projects/2023/04/user-feedback-kickoff.md index 60b3b968b..be247818d 100644 --- a/docs/projects/2023/04/user-feedback-kickoff.md +++ b/docs/projects/2023/04/user-feedback-kickoff.md @@ -2,6 +2,7 @@ **Name**: Establish User Feedback Tracking Process **Status**: Partially complete / considered closed + - Feedback tracking process was established - Templates are ready - Actual calls and surveys have not been conducted yet; will be moved to a different project. diff --git a/docs/projects/2023/07/2023-07-product-strategy.md b/docs/projects/2023/07/2023-07-product-strategy.md index ebdb5564e..9dfcba245 100644 --- a/docs/projects/2023/07/2023-07-product-strategy.md +++ b/docs/projects/2023/07/2023-07-product-strategy.md @@ -17,12 +17,14 @@ We need a strategy to help us decide what Mathesar's product roadmap should be. ## Solution We need to understand: + - The kinds of problems that Mathesar is best suited to solve. - What our users are missing or struggling with and how to improve our product to meet their needs. - What kinds of features will expand the use cases that Mathesar can be used for. ### Tasks As part of the project, we'll be doing some of the following: + - Research and categorization of user feedback and problems - Ideation (forming hypotheses) and discussion with the team - Talking to users or potential users if we can @@ -30,6 +32,7 @@ As part of the project, we'll be doing some of the following: ## Outcome At the end of this project, we expect to have: + - A set of user personas / use cases that we're targeting. - A strategy document that outlines user needs and product priorities. - A framework that can help us make feature development decisions quickly. @@ -49,6 +52,7 @@ This project will fit into the 2023-07-10 cycle. ## Results We did not get everything planned for this project done by the end of the cycle. We do have: + - Drafts of the following documents (all private to core team): - [Product strategy](https://docs.google.com/document/d/1RDd-HGTANfzFmKiTQArb3N26Y4o7R8md3iHTOlxVygI/edit) - [List of use cases](https://hackmd.io/wC38kFL-Q6mR2TJR2_ZCEw) diff --git a/docs/projects/2023/07/installation-improvements-0_1_3.md b/docs/projects/2023/07/installation-improvements-0_1_3.md index fadb7aa60..1191a109e 100644 --- a/docs/projects/2023/07/installation-improvements-0_1_3.md +++ b/docs/projects/2023/07/installation-improvements-0_1_3.md @@ -17,6 +17,7 @@ ## Problem The current problems we face in our installation process and documentation are: + - We're targeting too many different use cases for Mathesar in our current documentation, and we need to simplify things. - Installing Mathesar involves many steps, which makes the process brittle and introduces failure points that we can avoid. - There is too much configuration needed before Mathesar can be started, which makes it difficult to try Mathesar out quickly. @@ -26,6 +27,7 @@ The current problems we face in our installation process and documentation are: See also: [Diagram of existing steps involved in installation](#current-steps) Based on [previous discussions](https://wiki.mathesar.org/en/meeting-notes/2023-07/2023-07-06-installation-meeting.md#prioritization), we'd like to prioritize the following "user personas": + - Someone trying Mathesar out quickly (and can use Docker) - Someone installing Mathesar on a PaaS - Someone installing server & DB on same remote system @@ -43,6 +45,7 @@ This project involves fixing those low hanging fruit and finishing the discussio ## Solution The low hanging fruit we plan to tackle in this cycle: + - Move superuser creation to the UI - *Problem solved*: configuration moved to product instead of outside scripting - Build single Docker image containing both Mathesar and Postgres @@ -53,6 +56,7 @@ The low hanging fruit we plan to tackle in this cycle: - We're prioritizing this because it's a [user reported issue](https://github.com/centerofci/mathesar/issues/2990) and has been brought up in launch user feedback. Issues we need to resolve through discussions: + - Configuration values like the secret key should be generated automatically. Other configuration options like adding a user database credential should be moved to the Mathesar UI. We are currently blocked by discussions for storing configuration values and we will be having meetings in this cycle to figure out a plan which can be implemented in later cycles - *Problem solved*: Removes configuration steps needed for starting Mathesar - Research and decide on which PaaS to support diff --git a/docs/projects/2023/07/list-datatype.md b/docs/projects/2023/07/list-datatype.md index 0b62491b6..bdc011984 100644 --- a/docs/projects/2023/07/list-datatype.md +++ b/docs/projects/2023/07/list-datatype.md @@ -32,6 +32,7 @@ We already have support for arrays in explorations (and the Data Explorer), but The implementation of Lists is not trivial, due to the way in which Arrays are implemented in Postgres. Here, there is not really a concept of dimensions or length, as Postgres does not really care about checking or validating those. Back on the hood, even though a user could set the length of an array when creating a column, this is not actually checked or enforced by the engine. All arrays are n-dimensional, with whatever lenght. The only checking that is done is that, within a record, all the elements of an array must have the same number of dimensions. Otherwise the engine will throw an error. This adds complexity to several of the proposed features of lists. + - Aggregations - Way of displaying - Editing and deleting @@ -42,6 +43,7 @@ This adds complexity to several of the proposed features of lists. #### From the table page - `List` should be an available data type in addition to all of the others. Therefore, users should be able to visualize it in the dropdown menu of all the available data types. ![data_types_dropdown.png](/assets/projects/list-datatype/data_types_dropdown.png) + - Users should be able to provide a default value, or set it to `null`, as Mathesar supports this for the other data types as well. #### Importing a file @@ -73,6 +75,7 @@ By double clicking a cell from the table page: - Users should be able to edit the text of an existing list item. ***Two possible ways are***: 1. Clicking a single pill, and so the user will edit the text in that pill. 2. Displaying the content of the list as a text with comma-separated items, and so the user would edit the list as if they are editing a text. + - Users should be able to delete an item of a list. - Also a *whole list all at once*. This is, setting that field to `null` for a single record of the table. diff --git a/docs/projects/2023/07/sql-ddl-operations.md b/docs/projects/2023/07/sql-ddl-operations.md index 807e0b610..41fb70822 100644 --- a/docs/projects/2023/07/sql-ddl-operations.md +++ b/docs/projects/2023/07/sql-ddl-operations.md @@ -23,6 +23,7 @@ Data Definition Language (DDL) operations are those that manipulate the actual data model on the database. Some relevant SQL words are `CREATE`, `ALTER`, and `DROP`. These operations require knowledge of the database to do their work. E.g., a function must know the name of a table to `ALTER` it. Our current architecture requires reflecting the state of the database into memory in Python, then manipulating that state's representation in Python, then stamping that representation back down onto the database. Our current setup for this is: + - Inefficient (reflection is slow) - Complicated (hard to maintain) - Prone to bugs (managing state in Python memory is constantly tripping us up) @@ -33,11 +34,13 @@ All of these problems are related to the fact that we're building the SQL querie ### Create DDL functions in database Create a function for each desired DDL operation on the database using SQL or PL/pgSQL. + - Each such function should be overloaded to have the signature needed for calling from Python with minimal fuss. - Each such function should have a main implementation which uses the most reasonable signature for the task at hand. ### Replace Python DDL functions with wrappers of DB functions Replace the current Python functions performing DDL operations with thin wrappers for these functions. + - Be mindful of looking out for functions which may be deleted, rather than replaced, once this is done. - Map the original Python function signatures to an appropriate function call of the database functions. - It's completely fine to create scaffolding functions at this point to avoid letting changes sprawl. @@ -45,6 +48,7 @@ Replace the current Python functions performing DDL operations with thin wrapper ### Refactor and clean up results Refactor to remove SQLAlchemy objects from calls using Python DDL functions: + - Remove any SQLAlchemy objects from DDL function signatures (This may require modifying callers slightly) - Remove SQLAlchemy from the entire call stack calling a given function, all the way up to the API (within reason). - Modify affected function signatures to avoid using `schema_name`, `(schema_name, table_name)`, or `(schema, table_name, column_name)` identifiers. Instead, prefer `schema_oid`, `table_oid` or `(table_oid, attnum)` identifiers (may require modifying callers slightly, or scaffolding). diff --git a/docs/projects/2023/08/preexisting-postgres.md b/docs/projects/2023/08/preexisting-postgres.md index ff388b46b..ca6440f57 100644 --- a/docs/projects/2023/08/preexisting-postgres.md +++ b/docs/projects/2023/08/preexisting-postgres.md @@ -21,6 +21,7 @@ We've decided to focus on getting Mathesar working on preexisting live databases ### Views The bare minimum would be to show the views that already exist on a DB in the UI. + - Where should they be shown? - Can we get away without enabling editing of the view definition, or editing data in the underlying tables at this time? - Most difficult work here is UI/UX. @@ -31,6 +32,7 @@ The bare minimum would be to show the views that already exist on a DB in the UI ### Permissions Mathesar may not be allowed to run as a super user or highly-privileged user. We need to be able to use Mathesar in those cases without throwing errors everywhere (at a minimum). + - Do we need to have more sophisticated permissions handling? - We probably need some way to show a user what privileges they have without trial-and-error on their part. @@ -48,6 +50,7 @@ We could also trivially show the generating expression (in fact this might alrea ### Supporting different pkey setups This may be the thing we need the most work on overall + - Currently, we will fail pretty badly if we get a table with a multicolumn primary key, or any non-sequential primary key. - We may have to start by making any such table read-only. @@ -58,6 +61,7 @@ We may not act correctly for multicolumn foreign keys, or foreign keys that don' ### Constraints We currently break and don't even return the constraints we _do_ know if we stumble across a constraint type we don't support. Thus, we at least need to fix that. We also need to verify that the behavior when trying to update a value that would violate some unsupported constraint is reasonable. + - How do we determine which database configurations to show in the UI? - We should find a balance to avoid overwhelming users if we opt to display all database configurations in the UI. @@ -69,6 +73,7 @@ I think we should really try to do the project to fix up the column moving, or r ## Solution For this project, we need to + - Go through commentary and issues from users to ensure nothing has been forgotten in the problems listed above. - Find realistic sample PostgreSQL databases and try connecting Mathesar to see if we've forgotten anything else. - [This thread](https://groups.google.com/a/mathesar.org/g/mathesar-developers/c/H532ebtiLb0/m/vs87RhyGBQAJ) from the dev mailing list has some suggestions. @@ -92,6 +97,7 @@ It may be that we end up prototyping or even implementing some features during t ## Outcome Users should be able to connect Mathesar to a preexisting database + - Without any risk of corrupting their data in confusing ways - With the ability to see all their data in Mathesar in some fashion - With the ability to use the Mathesar interface safely, and without crashing into unhandled errors due to unsupported PostgreSQL features. diff --git a/docs/projects/future/sql-alchemy-remove.md b/docs/projects/future/sql-alchemy-remove.md index 533305652..410354eef 100644 --- a/docs/projects/future/sql-alchemy-remove.md +++ b/docs/projects/future/sql-alchemy-remove.md @@ -29,11 +29,13 @@ We'll remove SQLAlchemy from our codebase. Note that at the point we undertake t ### Create D3L functions in database Many of these will already have been created during previous phases. This should just amount to batting cleanup. But, I expect some will still need to be created. + - Each such function should be overloaded to have the signature needed for calling from Python with minimal fuss, as well as the target signature. - Each such function should have a main implementation which uses the most reasonable signature for the task at hand. ### Replace Python D3L functions with wrappers of DB functions. Do _not_ replace or create functions that are no longer needed. Some common sense will be required here. + - Map the original Python function signatures to an appropriate function call of the database functions. - It's completely fine to create scaffolding functions at this point to avoid letting changes sprawl. - After this phase, no SQLAlchemy imports should be used in any module whose functions are modified in this way, i.e., D3L operation modules. @@ -45,6 +47,7 @@ Note that this section may take more lateral thinking than for the DDL, DML, or Refactor to remove SQLAlchemy from the codebase wherever it remains, and delete any unneeded functions (e.g., scaffolding). After this part, the following should be true: + - No SQLAlchemy anywhere - No getting a table name in Python unless returning it via the API to the front end. - No getting a schema name in Python unless returning it via the API to the front end. diff --git a/docs/projects/future/sql-dml-operations.md b/docs/projects/future/sql-dml-operations.md index fbc4850c8..33f18181e 100644 --- a/docs/projects/future/sql-dml-operations.md +++ b/docs/projects/future/sql-dml-operations.md @@ -22,6 +22,7 @@ Data Manipulation Language (DML) operations are those that manipulate the data stored in a database. Some relevant SQL words are `UPDATE`, `INSERT`, and `DELETE`. These operations require knowledge of the database to do their work. E.g., a function must know the name of a table to `INSERT` into it. Our current architecture requires reflecting the state of the database into memory in Python and using that state to build `INSERT` queries and the like. Our current setup for this is: + - Inefficient (reflection is slow) - Complicated (hard to maintain) - Prone to bugs (managing state in Python memory is constantly tripping us up) @@ -32,11 +33,13 @@ All of these problems are related to the fact that we're building the SQL querie ### Create DML functions in database Create a function for each desired DML operation on the databse using SQL or PL/pgSQL. + - Each such function should be overloaded to have the signature needed for calling from Python with minimal fuss, as well as the target signature. - Each such function should have a main implementation which uses the most reasonable signature for the task at hand. ### Replace Python DML functions with wrappers of DB functions Replace the current Python functions performing DML operations with thin wrappers for these functions. + - Be mindful of looking out for functions which may be deleted, rather than replaced, once this is done. - Map the original Python function signatures to an appropriate function call of the database functions. - It's completely fine to create scaffolding functions at this point to avoid letting changes sprawl. @@ -44,6 +47,7 @@ Replace the current Python functions performing DML operations with thin wrapper ### Refactor and clean up results Refactor to remove SQLAlchemy objects from calls using Python DML functions: + - Remove any SQLAlchemy objects from DML function signatures (This may require modifying callers slightly) - Remove SQLAlchemy from the entire call stack calling a given function, all the way up to the API (within reason). - Modify affected function signatures to avoid using `schema_name`, `(schema_name, table_name)`, or `(schema, table_name, column_name)` identifiers. Instead, prefer `schema_oid`, `table_oid` or `(table_oid, attnum)` identifiers (may require modifying callers slightly, or scaffolding). diff --git a/docs/projects/future/sql-dql-operations.md b/docs/projects/future/sql-dql-operations.md index 227c737f6..5958c1f85 100644 --- a/docs/projects/future/sql-dql-operations.md +++ b/docs/projects/future/sql-dql-operations.md @@ -22,6 +22,7 @@ Data Query Language (DQL) operations are those that query the data stored in a database. The relevant SQL word is `SELECT`. These operations require knowledge of the database to work. E.g., a function needs a table's name to `SELECT` from it. Currently, we write most `SELECT` statements in Python using SQLAlchemy, necessitating the reflection of the database state into memory in Python and using that state to build queries. Our current setup for this is: + - Inefficient (reflection is slow) - Complicated (hard to maintain) - Prone to bugs (managing state in Python memory is constantly tripping us up) @@ -35,12 +36,14 @@ Create a framework that sets up a view for each table in the database with an al ### Create DQL functions in database Create a function for each desired DQL operation on the databse using SQL or PL/pgSQL. + - Each such function should be overloaded to have the signature needed for calling from Python with minimal fuss, as well as the target signature. - Each such function should have a main implementation which uses the most reasonable signature for the task at hand. - This should rely heavily on the OID labeled views. ### Replace Python DQL functions with wrappers of DB functions, and custom query building. Replace the current Python functions performing DQL operations with thin wrappers for these functions. Use an as-yet unknown query builder to compose complete queries when (if) needed. + - Be mindful of looking out for functions which may be deleted, rather than replaced, once this is done. - Map the original Python function signatures to an appropriate function call of the database functions. - Again, these should rely heavily on the OID labeled views. @@ -51,6 +54,7 @@ Note that this section may take more lateral thinking than for the DDL and DML p ### Refactor and clean up results Refactor to remove SQLAlchemy objects from calls using Python DQL functions: + - Remove any SQLAlchemy objects from DQL function signatures (This may require modifying callers slightly) - Remove SQLAlchemy from the entire call stack calling a given function, all the way up to the API (within reason). - Modify affected function signatures to avoid using `schema_name`, `(schema_name, table_name)`, or `(schema, table_name, column_name)` identifiers. Instead, prefer `schema_oid`, `table_oid` or `(table_oid, attnum)` identifiers (may require modifying callers slightly, or scaffolding). diff --git a/docs/team/guide/events.md b/docs/team/guide/events.md index 643e9c890..b2cfec666 100644 --- a/docs/team/guide/events.md +++ b/docs/team/guide/events.md @@ -3,6 +3,7 @@ The Mathesar core team has a virtual team event around every two weeks to have some fun and get to know each other better. Team members take turns organizing events on a volunteer basis. Previous events have included: + - Watching a movie together using [Syncplay](https://syncplay.pl/). - Playing [GeoGuessr](https://www.geoguessr.com/) both collaboratively and competitively. - Playing trivia competitively (in teams) on [Sporcle](https://www.sporcle.com/). @@ -20,5 +21,6 @@ Previous events have included: We're particularly interested in events that help us get to know each other better. Also, we're always open to doing activities we've done before. Online games to consider for future events + - https://github.com/flamableconcrete/awesome-online-board-games - https://rocketcrab.com/library diff --git a/docs/team/guide/tools.md b/docs/team/guide/tools.md index 49889c4d8..fe29bea70 100644 --- a/docs/team/guide/tools.md +++ b/docs/team/guide/tools.md @@ -41,6 +41,7 @@ This wiki. We use it as a team knowledge base. We will use it for public documen ## Google Cloud Platform We use Google Cloud Platform to host our servers, specifically: + - The Mathesar Matrix homeserver - The Mathesar wiki - The Mathesar staging server @@ -61,6 +62,7 @@ We use Google Calendar to manage our calendars. It is expected that you keep your calendar up to date so that people can schedule meetings without having to check with you about availability. The [working hours](https://support.google.com/a/users/answer/9308669?hl=en) feature is especially useful. You should set your working hours to when you're available for meetings; you're not necessarily expected to be working during all of those hours. We have two shared calendars: + - The `Mathesar` calendar is used for shared Mathesar-related events. - The `CCI Vacation` calendar is used to note when you'll be taking time off. Please update it in advance. diff --git a/docs/team/guide/workflow.md b/docs/team/guide/workflow.md index 478af924b..88e8ab0b2 100644 --- a/docs/team/guide/workflow.md +++ b/docs/team/guide/workflow.md @@ -14,6 +14,7 @@ We're reorganizing our team workflow into [projects](/projects) and [ongoing res ## In case of breaking API changes This process is only valid until we have a first user. Then, it should be reviewed. + - Try to implement API changes in ways that do not cause breakage. In case that's unavoidable: @@ -34,6 +35,7 @@ For a list of public repos and other resources, see [GitHub](/community/github). ## Private resources These resources are only available to the Mathesar core or community team at the moment. + - The [Mathesar Ansible repository](https://github.com/centerofci/mathesar-ansible) contains a playbook that deploys our staging server. - The [Mathesar "staging" server](https://staging.mathesar.org/) is a deployed version of the latest `master`. The username and password to access it are located in 1Password. - The [Mathesar private notes repository](https://github.com/centerofci/mathesar-private-notes) contains notes that are private to the core team. diff --git a/docs/team/meeting-notes/2021/05/2021-05.md b/docs/team/meeting-notes/2021/05/2021-05.md index 23dad765e..e21eacbca 100644 --- a/docs/team/meeting-notes/2021/05/2021-05.md +++ b/docs/team/meeting-notes/2021/05/2021-05.md @@ -55,6 +55,7 @@ #### Pavish Did not have enough time to work during weekdays. Not as productive as I hoped. + - Built Tab and Tree Components - Ported code to TypeScript @@ -278,6 +279,7 @@ Will also be working on CCI IT interviews and communication training. ### Interaction Patterns for Adding Tables Three questions: + - Do we at some point want people to add multiple tables at the time? - Yes, zip file of multiple CSVs or excel file where each sheet becomes a table - Unlikely to add multiple tables in bulk from the UI without file import @@ -299,10 +301,12 @@ Three questions: #### Google Fonts Google Fonts are open and could be one option + - Pavish likes Open Sans #### System Fonts System fonts might be good, better for performance (no need to load font) + - https://meta.stackexchange.com/questions/364048/we-are-switching-to-system-fonts-on-may-10-2021 - https://markdotto.com/2018/02/07/github-system-fonts/ @@ -332,6 +336,7 @@ System fonts might be good, better for performance (no need to load font) #### Conclusion Design work should happen serially, one feature at a time. + - We can try to have conversations in parallel, but it could get confusing, so let's hold off for now and do one thing at a time. - We might have cycles where some weeks are focused more on product decisions and research, others on implementation - We can always start a GitHub discussion if inspiration strikes @@ -351,6 +356,7 @@ Design work should happen serially, one feature at a time. ## 2021-05-14 ### Import from CSV Discussion of functionality + - We'll support: - Import local file - Import file from URL @@ -445,10 +451,12 @@ Discussion of functionality ### New GitHub issues Frontend workflow issues + - https://github.com/centerofci/mathesar/issues/123 - https://github.com/centerofci/mathesar/issues/124 Icon library issue + - https://github.com/centerofci/mathesar/issues/125 - Assigned to Ghislaine and moved to active work - Noun Project icons don't all have the same license, probably worth finding a different icon set. @@ -514,6 +522,7 @@ The process is documented on the wiki: https://wiki.mathesar.org/design/process ### Upcoming Features What's next after read only tables? + - Table creation from file import - Records editing (DML) - Table manipulation (DDL) @@ -592,6 +601,7 @@ I'll be spending some time on hiring IT support for CCI. ### Read-Only Tables What decisions do we need to make in order to design and develop read-only tables? + - How users locate tables - Sidebar navigation - Naming tables @@ -649,6 +659,7 @@ What decisions do we need to make in order to design and develop read-only table #### Keeping the wiki up to date How do we make sure the wiki stays up to date? + - Wiki should not need to stay in sync with the code, it should be for higher level documents/specs - We should update wiki when: - Designing new features @@ -660,6 +671,7 @@ How do we make sure the wiki stays up to date? ### Figma designs (Ghislaine demoed Figma designs) + - Designs are exploratory but general feedback is welcome - Icons should always be accompanied by labels - Lots of questions coming up, decisions need to be made @@ -732,6 +744,7 @@ How do we make sure the wiki stays up to date? ### Design Prototyping Sandbox What environment can we create so that design interactions can be built and experienced as prototypes by the team or internal/external stakeholders. + - Would be good for Ghislaine to have access to our components so that she can design with HTML - Single source of truth for all styles - Ghislaine would be building static HTML files with some javascript from existing components, there's no need to edit existing files on production @@ -740,6 +753,7 @@ What environment can we create so that design interactions can be built and expe - Ghislaine could download latest CSS from client builds Solution: for now, just download latest CSS and apply to local HTML files + - Pavish can help Ghislaine set up a local development environment when ready Ghislaine will match CSS class names to Figma components. @@ -769,6 +783,7 @@ Ghislaine will match CSS class names to Figma components. ### Routing (Pavish demoed local Svelte-rendered Mathesar for CSV upload form) + - Currently working on table view - Routing is handled client-side - Need API for database name and table names in schemas @@ -779,6 +794,7 @@ Ghislaine will match CSS class names to Figma components. ### Design section on wiki (Kriti demoed work on Design section on wiki) + - Ghislaine will update wiki later with Design Principles & Design Process ## 2021-05-03 diff --git a/docs/team/meeting-notes/2021/06/2021-06.md b/docs/team/meeting-notes/2021/06/2021-06.md index 7f5ef5ead..2d6e0db24 100644 --- a/docs/team/meeting-notes/2021/06/2021-06.md +++ b/docs/team/meeting-notes/2021/06/2021-06.md @@ -43,6 +43,7 @@ Please see: [2021-06-23 retrospective & plan discussion](https://github.com/cent This covers work since our last meeting. General comments: + - We did a good job on async discussions last week, both on design review and figuring out implementation on various issues. #### Product @@ -309,6 +310,7 @@ Time taken up by communication training, IT manager interviews, Memorial Day #### Pavish Couldn't work much last week. + - Implemented table & tab sync with url - Some discussions @@ -349,6 +351,7 @@ Time taken up by IT manager interviews and follow up until end of next week. #### Pavish Will not be able to allocate enough time this week as well. + - Continue working on readonly table view - Include import view within tab - Store table state of open tabs in indexedDB and link with a Read/Write store \ No newline at end of file diff --git a/docs/team/meeting-notes/2021/10/2021-10.md b/docs/team/meeting-notes/2021/10/2021-10.md index 070c41fc3..49255cac2 100644 --- a/docs/team/meeting-notes/2021/10/2021-10.md +++ b/docs/team/meeting-notes/2021/10/2021-10.md @@ -14,6 +14,7 @@ Topic: Views prototype design review Attendeees: Brent, Ghislaine, Kriti, Pavish, Sean Action items: + - Need to add full create view flow to the prototype - Add setting lookup columns to the prototype - Make sure to add all Figma flows to the prototype from other issues as well @@ -33,12 +34,14 @@ Action items: - Set up calls for reviewing future designs as needed (review async first) Feedback: + - Views should be about specific columns, not a whole table - (for some use cases) - Saving filters, sorts, etc. is also views, so that involves a whole table - Don't constrain view creation to just one flow since they serve so many purposes Improvements to process: + - Be on the same page about the schema we're working with - e.g. we were all modeling track-album-artist differently in our heads, made talking about it difficult - Define design tickets in terms of user scenarios diff --git a/docs/team/meeting-notes/2021/11/2021-11.md b/docs/team/meeting-notes/2021/11/2021-11.md index 7fd1f5ea4..52aaaa02d 100644 --- a/docs/team/meeting-notes/2021/11/2021-11.md +++ b/docs/team/meeting-notes/2021/11/2021-11.md @@ -11,6 +11,7 @@ Meeting notes follow. #### Goals The goal for the alpha release is to demonstrate the value proposition of Mathesar: + - Works with existing databases - Provides great UX for the features implemented - Explains concepts to non-technical users without hiding or oversimplifying @@ -36,6 +37,7 @@ Here's the timeline as I see it (reflected on our [Roadmap](https://github.com/c These are estimates. Notes: + - I've moved "Bulk Operations on Records" to beta from alpha. - I created a new milestone for UI styling. - Consider aiming at a specific Normal Form for data modeling milestone. diff --git a/docs/team/meeting-notes/2022/01/2022-01.md b/docs/team/meeting-notes/2022/01/2022-01.md index d20ec2155..06ec2ca0e 100644 --- a/docs/team/meeting-notes/2022/01/2022-01.md +++ b/docs/team/meeting-notes/2022/01/2022-01.md @@ -10,6 +10,7 @@ Please see [2022-01-31 weekly planning](https://github.com/centerofci/mathesar/d ### API Goals We have two different goals for the APIs. + - Provide necessary abstractions for the front end, e.g. filtering, grouping. This is specific to _our_ front end. - Provide low level APIs to interact with database objects and concepts (without Mathesar-specific abstractions) @@ -17,12 +18,14 @@ These goals may necessitate separate APIs. After some discussion, we decided on #### Abstractions API This is for Mathesar-specific functionality, examples include: + - Mathesar data types - Filters - Grouping - "Link Table" APIs Goals: + - Limited functionality, strictness, typing - Make things as easy as possible for the frontend to work with without knowing much - Define things in terms of other abstractions (e.g. Filters should be related to Mathesar Types, not DB types) @@ -30,11 +33,13 @@ Goals: #### DB API This is for direct access to PostgreSQL functionality, examples include: + - Tables - Schemas - DB Functions Goals: + - Broad functionality, doesn't assume any UI - Allow maximum power, focus on flexibility and lack of assumptions - Allow DB reflection as much as possible @@ -47,6 +52,7 @@ Goals: ### Next Steps After much discussion, we decided on the following next steps: + - Dominykas will submit a PR for review that just contains the new functions API and get that merged - Dominykas will set up a new PR for replacing current filtering functionality with new filters API, will also move Mathesar Types into abstractions namespace - Kriti will create a design issue for "Has Duplicates" not being a filter @@ -98,6 +104,7 @@ Meeting notes follow. ### Team workflow check-in Skipping these since we talked about them recently: + - Weekly planning discussions - Standup @@ -128,6 +135,7 @@ Skipping these since we talked about them recently: - Set short deadlines for reviewing issue descriptions or not at all Conclusions: + - Reduce reviewers - Schedule meetings ad-hoc (9AM Eastern, 2PM UTC, 10PM HKT) - Summarize discussions and specs resolved in the weekly planning discussion @@ -138,6 +146,7 @@ Conclusions: - Would be nice to have the comms assignee be the point person, they're expected to ping you, it doesn't feel like something you've missed. Conclusion: + - Let's see how the reduced reviewers work before changing comms assignee. We'll also have different stuff in our inbox with reduced reviewers. - Remove yourself from auto-review-request for PRs if it will be helpful @@ -198,6 +207,7 @@ Conclusion: - Mukesh Action items: + - Think about project ideas - Kriti will make wiki page for them diff --git a/docs/team/meeting-notes/2022/02/2022-02.md b/docs/team/meeting-notes/2022/02/2022-02.md index 549b33966..a06d7de2d 100644 --- a/docs/team/meeting-notes/2022/02/2022-02.md +++ b/docs/team/meeting-notes/2022/02/2022-02.md @@ -16,6 +16,7 @@ * Having two different ways to represent monetary values might be confusing for users. Based on the current UX, users are bound to first use the Money type, which we'd like to discourage. * Relevant discussions and potential solutions are captured on the [PR for the design spec](https://github.com/centerofci/mathesar-wiki/pull/36) * We'd like this discussion to yield a solution we'd want to follow for the alpha + - **Participants:** Kriti, Ghislaine, Brent, Pavish #### Notes @@ -49,6 +50,7 @@ #### Notes Questions from Brent: + - Will we present foreign keys as directional? - Yes, it's been discussed - filters: `WHERE`, `HAVING`, or both? @@ -67,33 +69,40 @@ Questions from Brent: - Implementation should encapsulate ordering problems (for the UI API) Potential UX issues: + - What happens if the user deletes the first column? It'll change the entire query. Backend implementation: + - Trouble picturing how it'll come together - Backend brainstorming call after design is finalized - We can talk about whether we can put stuff off after alpha for now Editing View Data: + - Editing lists - Editing direct representation Editing View Definition: + - We'll figure out how much we can do here once we've figured out backend implementation - Ideal outcome is pre-filled query builder - People can edit it once we have a SQL editor, but that's not for the alpha. - API will let frontend know if view definition is editable General observations: + - Might have been easier to start with the query builder before filter/sort/grouping - It's hard to think through complex use cases at the beginning - The most difficult thing should be parsing Formula feedback: + - Formula currently covers everything that's computed, each of which may need different UX - List shouldn't be only a formula, it should be the default aggregation of multiple records. Should it be encapsulated as a formula or should we have a separate name for it? Formulas - GUI vs. Textual: + - We shouldn't do textual formulas, it's just dumbing down SQL - We should stick to GUI - Maybe a specialized UI for math alone? @@ -106,6 +115,7 @@ Formulas - GUI vs. Textual: - Multiple formulas - avoid for the alpha since order matters Long term query builder features: + - Could we represent the query builder as a graph in the long term for a more powerful experience? - We shouldn't try to make the GUI query builder work for all use cases @@ -126,6 +136,7 @@ Long term query builder features: #### Notes Concerns with using `attnums`: + - Not the way SQLAlchemy does things - SQLAlchemy is not created for DDL, it's optimized for DML - SQLAlchemy uses attnum under the hood @@ -287,6 +298,7 @@ We're trying out weekly synchronous meetings to resolve things faster. Anyone ca - **Participants:** Brent, Dominykas, Kriti, Mukesh Notes: + - [Backend priorities for this week](https://github.com/centerofci/mathesar/discussions/1049#discussioncomment-2114763) - We removed https://github.com/centerofci/mathesar/issues/648 from the milestone, will replace with a new issue for ensure default values work well with types - Action items: @@ -318,6 +330,7 @@ Notes: - **Participants:** Brent, Dominykas, Kriti, Mukesh, Pavish Notes: + - [Current Project Ideas](https://wiki.mathesar.org/en/community/mentoring/project-ideas) - Dominykas likes automation hint reflection and SQL query builder - SQL query builder difficulty is medium diff --git a/docs/team/meeting-notes/2022/04/2022-04.md b/docs/team/meeting-notes/2022/04/2022-04.md index a0eb3042e..d12380689 100644 --- a/docs/team/meeting-notes/2022/04/2022-04.md +++ b/docs/team/meeting-notes/2022/04/2022-04.md @@ -11,6 +11,7 @@ ### Helpful reading Our new workflow is inspired by the way Basecamp works. + - [The Basecamp Guide to Internal Communication](https://basecamp.com/guides/how-we-communicate) - [Group Chat: The Best Way to Totally Stress Out Your Team](https://basecamp.com/guides/group-chat-problems) - [The concept of hill charts](https://basecamp.com/features/hill-charts), we'll be considering them to track progress @@ -36,6 +37,7 @@ Our new workflow is inspired by the way Basecamp works. ### The new plan To address these problems, we're going to try a 3 week work cycle starting next Monday. + - From Apr 18 to May 6. - We'll split into smaller teams, each with a very specific goal. - You do not need to worry about the big picture during cycles, only your team's goals for that cycle. @@ -114,6 +116,7 @@ We will split into four teams, with the following team goals: #### Cooldown The plan for our first cooldown is to plan out the next cycle, including: + - holding a retrospective on the first cycle went - check in on the concerns and distractions we discussed in this meeting - we'll decide what processes to keep and change for the next cycle @@ -169,6 +172,7 @@ In this section, we brainstormed potential obstacles to reaching our goals for t - Unexpected Bugs with existing features A word about GSoC: + - GSoC is lots of work, but busiest time is almost over - This is the irritating period, benefits are later - Develop long-term contributors @@ -185,6 +189,7 @@ A word about GSoC: - This is an experimental cycle, we will iterate on the planning process **Tabled for later discussion**: + - User involvement / research - Group chat v small group and direct chat @@ -192,6 +197,7 @@ A word about GSoC: There was a proposal to replace the communication/organization tools used by the core team with [Basecamp](https://basecamp.com/). We would use GitHub and Matrix only for community-related work. Benefits: + - Centralizing project-related comms and files - Design specs could be associated with projects - Centralizing most relevant notifications @@ -201,6 +207,7 @@ Benefits: - Ability to make projects public to share them with the community Concerns: + - Community visibility - Yet another tool to checl @@ -208,6 +215,7 @@ Concerns: ### Next steps and action items We discussed a lot of things! Here are the key changes that will be happening: + - The cycle starts on Monday - **Priorities for this week**: - GSoC draft proposal review diff --git a/docs/team/meeting-notes/2022/07/2022-07.md b/docs/team/meeting-notes/2022/07/2022-07.md index cefdb5148..54aa284c2 100644 --- a/docs/team/meeting-notes/2022/07/2022-07.md +++ b/docs/team/meeting-notes/2022/07/2022-07.md @@ -50,6 +50,7 @@ We checked in on everybody's workload and the progress of [features involved in ### Communication The Cycle 3 team needs to: + - know what everyone's currently working on - raise blockers and dependencies - keep track of progress on current cycle goals @@ -61,11 +62,13 @@ The Cycle 3 team needs to: - document decisions from synchronous conversations for later reference The Mathesar community needs to know: + - what the current goals of the project are - how they can help - how to collaborate with core team members Considerations based on what was reported during the retrospective: + - The "big picture" goals and storyboards are useful - Focusing on one thing at a time works well - Email is controversial, everyone but Pavish had an opinion. @@ -123,6 +126,7 @@ May also be less of a concern as the product matures and we can have "thinner" v During the retrospective, we talked about having a separate repo for sample schemas plus a process for changing it. It would be useful to have for Cycle 3. Brent will set it up + - generate checkouts data as well (should be separate SQL file so it can be loaded optionally) - We won't be extending the library dataset, it will be frozen to what we need for the data. - The repo can have additional data sets. @@ -134,6 +138,7 @@ It would be useful to have for Cycle 3. Brent will set it up #### Eliminating unnecessary work During the retrospective, we seemed to all agree that we need: + - a tighter scope - moving faster @@ -182,6 +187,7 @@ Not relevant for Cycle 3. **Attendees**: Kriti, Brent, Mukesh, Ghislaine Two types of dependencies: + - DB objects (tables, functions, etc.) - Mathesar objects diff --git a/docs/team/meeting-notes/2022/08/2022-08.md b/docs/team/meeting-notes/2022/08/2022-08.md index 05c7017c3..90dc13776 100644 --- a/docs/team/meeting-notes/2022/08/2022-08.md +++ b/docs/team/meeting-notes/2022/08/2022-08.md @@ -5,6 +5,7 @@ - **Participants:** Mukesh, Dom, Brent, Kriti, Sean, Pavish We discussed Brent's proposed architecture. Everyone is on board with the plan. Items discussed: + - Would exposing OIDs and attnums directly in the API cause security issues? - Potentially, since OIDs are smallints and roll over, but attack potential seems low-risk. - The backend simplication is worth it. @@ -16,15 +17,18 @@ We discussed Brent's proposed architecture. Everyone is on board with the plan. - psycopg3 has async capabilities and prepared queries, could be used for better performance in the future We also discussed backend performance fixes: + - Global metadata should make a huge difference in performance (we anticipate 5 sec API calls going down to 1 sec) - Pre-fetching data in APIs should make a significant difference as well (1 sec to 200 ms) - We'd like to do both of thse before we can do a live demo of Mathesar We don't want to "go backwards" too much from our planned architecture, but we'll make the following exceptions: + - Backend performance fixes, since the live demo is necessary for product goals - Implementing users and permission without using DB roles – only database and schema level permissions to keep things as simple as possible. In terms of implementation, we need to get everything for Cycles 4 and 5 done before we can start on the refactor proposed by Brent. This includes: + - the performances fixes above - Users & Permissions - Mathesar installation issues (upgrading Mathesar, easily installing it) @@ -55,11 +59,13 @@ Please see the FigJam for all the notes. ### Cycle 4 plan We went over the items in the [Cycle 4 spreadsheet](https://docs.google.com/spreadsheets/d/1ZC5m6uf6s9vHOmah317fmPAg2by4zvYOk-WRrdH5zEA/edit#gid=0) to: + - Discuss all the items planned for Cycle 4 - Update progress - Update or make assignments We now have specific items and assignees for things like: + - Demo Video Readiness - Mathesar Website - Live Demo Readiness (covers all UX issues and completing features) @@ -74,10 +80,12 @@ We will triage the issues in the Cycle 4 milestone on GitHub when we get to the ### Workflow changes Our workflow will mostly remain the same. + - We'll continue to have weekly meetings, although we'll try to make them shorter and more relevant for everyone. - We'll maintain a document for things to talk about in the next cooldown period so that we don't distract ourselves with non-urgent or irrelevant conversation during the cycle. Other issues from the retrospective should be addressed by: + - Having explicit items in the work tracking spreadsheet to cover marketing and other work (all work should be covered in the spreadsheet) - Assigning specific people to "global view" tasks like making sure everything needed for the demo video is in place - Deciding on the backend architecture we're aiming for and fitting new work into it. @@ -157,13 +165,16 @@ Mukesh advocates for TDD. He thinks that it tends to lead to smaller PRs, since Idea: use TODOs to avoid getting sucked into larger projects, and also to avoid breaking flow to create issues. Dom's action items: + - Create TODO comments in code as working, collect into issues at a later time. Brent's action items: + - set up sync call when noticing demoralization while reviewing - Also use TODO comments Mukesh's action items: + - Continue using TDD, help others understand where it's most useful. @@ -172,6 +183,7 @@ Mukesh's action items: ### Cycle 3 progress We made progress on the following: + - Data Explorer (backend and frontend both over 90%) - Navigation (design finalized, implementation almost complete) - Table Inspector (design almost finalized, implementation starting soon) @@ -387,6 +399,7 @@ We want to do this, but not in Cycle 3. ### Decisions Out of Scope (for this spec / Cycle 3) + - Context menu changes for opening the inspector - Keyboard and touch interactions - Selecting disjoint cells and columns (will defer to keyboard interactions) diff --git a/docs/team/meeting-notes/2022/09/2022-09.md b/docs/team/meeting-notes/2022/09/2022-09.md index 078f16820..8f1978dd2 100644 --- a/docs/team/meeting-notes/2022/09/2022-09.md +++ b/docs/team/meeting-notes/2022/09/2022-09.md @@ -13,6 +13,7 @@ The core team will be using this document as a guide from now on. We will need t **Attendees**: Entire core team What are next steps for getting ready for the live demo? + - Kriti will close demo video milestone - Kriti will take a quick look at the live demo milestone and boot out tickets that don't meet the criteria established above - This is a one time thing @@ -50,6 +51,7 @@ Dom started this topic as "Importance of refactorability" with the following exp We didn't have enough time to have a thorough discussion, so we instead focused on documenting problems that the backend team has been facing. We're going to set up a separate meeting to resolve the problems. Problems: + - Need a common understanding of how important refactorability is - We refactor often - Refactoring seems hard, accumulate technical debt fast @@ -126,6 +128,7 @@ We discussed on styling deliverables and planning out frontend implementation. ### Live demo readiness plan Three stages: + - **Stage 1:** Continue to work on usability testing using the library storyboard and get everything to work and look good. - **Stage 2:** Usability testing on all other features we've implemented so far, get it all to work and look good. - **Stage 3**: Logistics for the live demo (e.g. how do we allow many different users to look at our live demo at the same time?) @@ -262,6 +265,7 @@ Please see https://github.com/centerofci/mathesar/issues/1604 ### Live demo issues We won't be handling this just yet, but making notes so we don't forge + - error handling checking and improvements in the backend ### Next steps diff --git a/docs/team/meeting-notes/2022/10/2022-10-04-backend.md b/docs/team/meeting-notes/2022/10/2022-10-04-backend.md index 817171930..990a95641 100644 --- a/docs/team/meeting-notes/2022/10/2022-10-04-backend.md +++ b/docs/team/meeting-notes/2022/10/2022-10-04-backend.md @@ -17,6 +17,7 @@ ## Brainstorming: what's slowing us down? Kriti's notes: + - Disagreements about architecture and readability - Brittle or hard-to-extend infrastructure ("overengineering") - Hard to work with code that someone else wrote? @@ -30,11 +31,13 @@ Kriti's notes: - To get us on the same page Dom's notes: + - We've not been providing feedback to each other - Trouble with keeping PRs small - Would be interested in process-aided solutions Brent's notes: + - small changes need to touch large portion of codebase - Long loops mean diverging from codebase, misunderstandings, sunk-cost fallacy - Generally overcomplicated codebase, given our feature set @@ -43,6 +46,7 @@ Brent's notes: - bus factor is _high_. Leads to "only one can work on that part" attitude Mukesh's notes: + - Fighting the framework - Complicated codebase due to the need for certain features - Breaking rules but not sure which one is important diff --git a/docs/team/meeting-notes/2022/10/2022-10-05-weekly.md b/docs/team/meeting-notes/2022/10/2022-10-05-weekly.md index c7d37bd2f..aad967be6 100644 --- a/docs/team/meeting-notes/2022/10/2022-10-05-weekly.md +++ b/docs/team/meeting-notes/2022/10/2022-10-05-weekly.md @@ -39,6 +39,7 @@ See also: shout outs section on the FigJam document. **Plan for Cycle 5:** we're going to launch our live demo and website on **Nov 22**, in whatever state it is. We have 6.5 weeks to get Mathesar in the best shape we can get it. Concerns: + - This is Thanksgiving week - We won't be needing to fix anything over a holiday, this is not something any external users will be relying on. - Are we planning to share on Hacker News? Our performance may not be good enough for a large audience. @@ -96,6 +97,7 @@ How do we organize the buckets of work? **Attendees**: Brent, Dom, Kriti, Mukesh Rethinking performance work: + - Get what we have merged in - Mukesh and Dom's PRs - Then call it a day - Dom's metadata improvements have massive improvements based on Brent's testing @@ -106,6 +108,7 @@ Rethinking performance work: - We can eke out more performance improvements, but is it a good use of our time? Plan: + - Get current PRs merged in as highest priority - Brent will take responsibility for Dom's PR - Dom will take responsibility for Mukesh's PR @@ -118,9 +121,11 @@ Plan: - We'll use a similar process as we do for bug prioritization Backend buckets for Live Demo: + - Bugs - 2 people can easily help with this, there are a lot - Deployment - 1 person needs to focus a bunch of time on this But, there's more performance work we could do! There are known bugs and issues! + - If there's an issue worth prioritizing, it'll show up on the frontend - It doesn't matter if there's other bugs or issues you know about, it's not worth working on them right now diff --git a/docs/team/meeting-notes/2022/10/2022-10-19-weekly.md b/docs/team/meeting-notes/2022/10/2022-10-19-weekly.md index 933463ecf..1e350a06c 100644 --- a/docs/team/meeting-notes/2022/10/2022-10-19-weekly.md +++ b/docs/team/meeting-notes/2022/10/2022-10-19-weekly.md @@ -6,6 +6,7 @@ We're making progress, lots of green in the spreadsheet. Discussion + - Bugs should be closed if we can't reproduce them easily, see [discussion on mailing list](https://groups.google.com/a/mathesar.org/g/mathesar-developers/c/t_AGHCxjapc/m/MST6jIe0AgAJ) - Brent will handle closing [AttributeError from columns endpoint](https://github.com/centerofci/mathesar/issues/1791) - [Error "cursor already closed"](https://github.com/centerofci/mathesar/issues/1549) moved to urgent priority since it seems likely to occur in the live demo @@ -22,6 +23,7 @@ Discussion **Participants:** Pavish, Dominykas, Brent, Kriti, Sean, Ghislaine We discussed this for a while, mainly to help us all understand the problem better. Conclusions and next steps: + - Design should include selecting multiple grouping columns / which columns are grouped vs. aggregation - Design feedback: Checkboxes are not the best way to separate the columns into two groups - Backend will apply sensible grouping by default, the user can change it based on the design above @@ -33,6 +35,7 @@ We discussed this for a while, mainly to help us all understand the problem bett **Participants:** Pavish, Dominykas, Brent, Kriti, Ghislaine Not much discussion here. Since the aggregation depends on the first added column, we need to help the user choose one from the base table. Next steps: + - Design: First column MUST be from the base table - A concern was raised that this might annoy the user, but they can change the base table if they want to start from a different column - We're helping the user set up their query the right way by constraining options @@ -44,6 +47,7 @@ Not much discussion here. Since the aggregation depends on the first added colum **Participants:** Mukesh, Dominykas, Brent, Kriti Discussion: + - This is not worth the trouble. - We don't want to override framework behavior, and we don't want to further invest in metadata at this time. - There was lots of disagreement on how slow the API actually is, but the conclusion was that we can throw hardware at the problem for the live demo. diff --git a/docs/team/meeting-notes/2022/11/2022-11-17-weekly.md b/docs/team/meeting-notes/2022/11/2022-11-17-weekly.md index 02efa290d..559f1fa2c 100644 --- a/docs/team/meeting-notes/2022/11/2022-11-17-weekly.md +++ b/docs/team/meeting-notes/2022/11/2022-11-17-weekly.md @@ -157,6 +157,7 @@ Not sure if we should do project management since it's so common and there are a ### Decisions Prioritized list of data sets. + - Library management system - Movie collection - Can base it on CC0 dataset here https://www.kaggle.com/datasets/rounakbanik/the-movies-dataset diff --git a/docs/team/meeting-notes/2022/11/2022-11-28-planning.md b/docs/team/meeting-notes/2022/11/2022-11-28-planning.md index 4fe8f33d2..477701d3a 100644 --- a/docs/team/meeting-notes/2022/11/2022-11-28-planning.md +++ b/docs/team/meeting-notes/2022/11/2022-11-28-planning.md @@ -46,6 +46,7 @@ We're going to be tracking work in Mathesar! [Here's the relevant table](https:/ ### Accountability We need to be accountable for estimates and communicate proactively about delays in work. + - If you estimate that work will be done in X days and it's not done by then and you haven't communicated why it's taking longer, you come across as unreliable - Optimism doesn't help us plan, and doesn't help us identify problems - If something is taking much longer than planned, we might need to change the plan diff --git a/docs/team/meeting-notes/2023/01/2023-01-05-planning.md b/docs/team/meeting-notes/2023/01/2023-01-05-planning.md index 3ac7cab3d..6d985aa0e 100644 --- a/docs/team/meeting-notes/2023/01/2023-01-05-planning.md +++ b/docs/team/meeting-notes/2023/01/2023-01-05-planning.md @@ -8,6 +8,7 @@ **Desired outcome**: We decide on a process for tracking release-related work and we each understand it. Sean has proposed tracking work using smaller GitHub milestones instead of using a Mathesar table. Milestones would have associated deadlines. + - Pros: Work tracking is not duplicated - Cons: May be harder to see the release as a whole @@ -15,6 +16,7 @@ Kriti is also proposing using the `mathesar-developers` list for most email unle ### Pre-meeting prep Please write down your opinion about the proposals. If you don't have an opinion, that's fine, write that down. + - **Anish**: *did not attend meeting* - **Brent**: - I'm fine with using smaller GH milestones. I agree that using the developers mailing list is best. @@ -33,6 +35,7 @@ Please write down your opinion about the proposals. If you don't have an opinion - **Rajat**: * Strong agree for GH milestones. Gives me a better view of what all I have created a PR for and what all work is left for me. I do not have to regulary update %ages(which mostly are inaccurate). Plus a single place for me to track progress and read issue details is definitely less messy. * Agreed on using `mathesar-developers` list for most emails. + - **Sean**: - Milestones: ✅ - mathesar-developers: ✅ @@ -64,6 +67,7 @@ Please write down your opinion about the proposals. If you don't have an opinion **Desired outcome**: Each person in the room should understand the broader goals and approach to our release. The goals and approach should be finalized. The work we need to do before our first release: + - Get website & live demo ready for usability testing - Perform usability testing on website & live demo - Get installation, upgrade, and associated documentation ready for testing @@ -79,14 +83,17 @@ The work we need to do before our first release: (we also need to work on our GSoC application in this time period) Goal of first release: + - Launch on HN & selected subreddits - Get users! Goal after first release: + - Work with users to make our product useful - Launch hosted version Initial milestones: + - Get website & live demo ready for usability testing - Get product ready for usability testing - Get installation, upgrade, and associated documentation ready for testing @@ -94,6 +101,7 @@ Initial milestones: ### Pre-meeting prep Do the tasks and plan above make sense? Are we missing anything? Are there additional things that we should work on? + - **Anish**: *did not attend meeting* - **Brent**: - What's meant by 'complete' users and permissions? I think we should scope that; Are there missing pieces that are blocking release? diff --git a/docs/team/meeting-notes/2023/02/2023-02-08-launch-planning.md b/docs/team/meeting-notes/2023/02/2023-02-08-launch-planning.md index 53f66ec81..821a16e65 100644 --- a/docs/team/meeting-notes/2023/02/2023-02-08-launch-planning.md +++ b/docs/team/meeting-notes/2023/02/2023-02-08-launch-planning.md @@ -2,6 +2,7 @@ ## General update and Q&A Kriti gave an update on + - Launch goals - Funding plan - Usability testing strategy diff --git a/docs/team/meeting-notes/2023/02/2023-02-15-launch-check-in.md b/docs/team/meeting-notes/2023/02/2023-02-15-launch-check-in.md index 1bcadfdb8..349757102 100644 --- a/docs/team/meeting-notes/2023/02/2023-02-15-launch-check-in.md +++ b/docs/team/meeting-notes/2023/02/2023-02-15-launch-check-in.md @@ -5,6 +5,7 @@ ### Users and permissions - Pavish is out sick. From matrix: *There’s a bit of a delay. I’m working on a PR containing the items assigned to me, I’m not confident that they’ll be merged by end of this week. I should have the PR open by this weekend.* + - Sean's work went swimmingly. So well, he's out of work and plans to take on tasks from Pavish/Rajat as needed - Rajat has a PR in for documentation of access control, other PR for Table pages' access control(s) coming tomorrow - Anish: Users and permissions PR is ready for review by Pavish diff --git a/docs/team/meeting-notes/2023/02/2023-02-22-launch-check-in.md b/docs/team/meeting-notes/2023/02/2023-02-22-launch-check-in.md index 3ed9421ab..6773995d8 100644 --- a/docs/team/meeting-notes/2023/02/2023-02-22-launch-check-in.md +++ b/docs/team/meeting-notes/2023/02/2023-02-22-launch-check-in.md @@ -105,6 +105,7 @@ - Currently, the UI allows schema managers to do this at the schema page, but not at the DB page. We need to make this consistent. - The product spec does not provide clarification into names and descriptions. This is a DDL operation on the schema itself, and based on the spec it should only be allowed if the user has manager access on the DB. However, the backend allows this. 2. If we allow editing, should we allow delete? The backend allows this, the frontend doesn't. The spec says we shouldn't allow this. + - It's okay if the schema manager can edit/delete the schema. - Requires a quick change on frontend work diff --git a/docs/team/meeting-notes/2023/02/2023-02-23-launch-check-in.md b/docs/team/meeting-notes/2023/02/2023-02-23-launch-check-in.md index fd55952c0..bfb6119ac 100644 --- a/docs/team/meeting-notes/2023/02/2023-02-23-launch-check-in.md +++ b/docs/team/meeting-notes/2023/02/2023-02-23-launch-check-in.md @@ -127,6 +127,7 @@ https://github.com/centerofci/mathesar/issues/2534 has been updated accordingly **Participants**: Sean, Kriti, Ghislaine Sean, Kriti, and Ghislaine looked at in-progress work and finalized UX for changes to the live demo banner. Related issues: + - https://github.com/centerofci/mathesar/issues/2468 - https://github.com/centerofci/mathesar/issues/2494 diff --git a/docs/team/meeting-notes/2023/02/2023-02-24-launch-update-email.md b/docs/team/meeting-notes/2023/02/2023-02-24-launch-update-email.md index 270e1ce5c..2670e19f7 100644 --- a/docs/team/meeting-notes/2023/02/2023-02-24-launch-update-email.md +++ b/docs/team/meeting-notes/2023/02/2023-02-24-launch-update-email.md @@ -12,6 +12,7 @@ The only remaining launch blockers are: However, we're going to need an extra day or two to get the installation working smoothly before we cut the release. Installation isn't something we can quickly fix on-the-fly after we launch. So [Kriti is] going to move our target launch date to **Wednesday or Thursday next week**. Here is the plan for next week: + - Monday's launch check in cancelled because I don't think there's much for the entire team to discuss. - Brent, Mukesh, and Kriti will work on installation and release. I don't think these tasks can be parallelized further. - Dom will continue work on increasing live demo throughput and support testing upgrades. diff --git a/docs/team/meeting-notes/2023/02/2023-02-27-deployment-check-in.md b/docs/team/meeting-notes/2023/02/2023-02-27-deployment-check-in.md index 97e94b0e5..64725b3b6 100644 --- a/docs/team/meeting-notes/2023/02/2023-02-27-deployment-check-in.md +++ b/docs/team/meeting-notes/2023/02/2023-02-27-deployment-check-in.md @@ -6,6 +6,7 @@ We plan to get these done by Tuesday AM (US Easttern) Brent: + - https://github.com/centerofci/mathesar/issues/2576 - https://github.com/centerofci/mathesar/issues/2572 - https://github.com/centerofci/mathesar/issues/2582 @@ -14,10 +15,12 @@ Brent: - Have a target list of supported platforms Mukesh: + - https://github.com/centerofci/mathesar/issues/2585 - https://github.com/centerofci/mathesar/issues/2570, after Kriti triages Kriti: + - Triage Wolfgang's feedback and add to https://github.com/centerofci/mathesar/issues/2570 - Release process - Update docs @@ -30,10 +33,12 @@ Kriti: ## Low priority We are not working on these yet, we'll discuss tomorrow. + - https://github.com/centerofci/mathesar/issues/2427 - https://github.com/centerofci/mathesar/issues/2571 - Solve using documentation (easy to do for Mac) Kicked out of launch or closed: + - https://github.com/centerofci/mathesar/issues/2565 - https://github.com/centerofci/mathesar/issues/2511 \ No newline at end of file diff --git a/docs/team/meeting-notes/2023/03/2023-03-07-priorities-workflow-meeting.md b/docs/team/meeting-notes/2023/03/2023-03-07-priorities-workflow-meeting.md index 2916cff17..46a2aedec 100644 --- a/docs/team/meeting-notes/2023/03/2023-03-07-priorities-workflow-meeting.md +++ b/docs/team/meeting-notes/2023/03/2023-03-07-priorities-workflow-meeting.md @@ -6,6 +6,7 @@ This will help with sustainability (funding & future revenue). How we do this: + - Find a way to track user growth - Spread the word about Mathesar - Help people set up Mathesar if they ask @@ -28,6 +29,7 @@ How we do this: - Rajat - "Do usability testing with existing users, feed any improvements into our release cycle" - I am curious how do we do this with a real user? Kriti: the way we've done it in the past... incentivise users with a gift card or similar. Then invite them to join a scheduled discussion session. "Rocket Surgery Made Easy", a short, easy-to-read book has some good advise here. + - Mukesh > "Fix issues people report and make releases quickly" - Prioritizing features to build @@ -50,6 +52,7 @@ Each new feature, or other initiative is a "project". Even funding can be a proj ### Attributes Projects have the following attributes: + - **Responsibilities** - **Owner**: Person that's directly responsible for the project. - **Approver(s)**: People responsible for approving the project. @@ -149,6 +152,7 @@ I'm not suggesting we prioritize all of these right now. This is just to give an We need to decide on our permanent Git workflow for releases. Options: + - [git flow](https://nvie.com/posts/a-successful-git-branching-model/) - This is our current workflow with our `develop` branch - [GitLab release flow](https://docs.gitlab.com/ee/topics/gitlab_flow.html#release-branches-with-gitlab-flow) diff --git a/docs/team/meeting-notes/2023/03/2023-03-17-installation-improvements-meeting.md b/docs/team/meeting-notes/2023/03/2023-03-17-installation-improvements-meeting.md index d7e26ddae..c82f87a21 100644 --- a/docs/team/meeting-notes/2023/03/2023-03-17-installation-improvements-meeting.md +++ b/docs/team/meeting-notes/2023/03/2023-03-17-installation-improvements-meeting.md @@ -76,6 +76,7 @@ We need to split "installation improvements" into smaller projects: During our Alpha release, we managed to release a one-line bash command for setting up Mathesar. But the installation process is opinionated and cannot be easily configured which is what the users expect based on the feedback we received from various sources. Our Users want to: + - Install Mathesar on a Kubernetes or similar infrastructure - Run Mathesar without administrative access which is required by our installation script. - Install only the Mathesar web server without any additional services like Caddy, and Watchtower which are currently installed alongside the Mathesar webserver by our installation script. @@ -83,6 +84,7 @@ Our Users want to: - Directly modify the configuration variables/files instead of having to use the installation script. Problems that are stopping the user from their goals: + - Our installation Documentation is incomplete - Only Docker-based installation is listed in our docs - There isn't much information about Mathesar services or about the configuration files @@ -91,15 +93,18 @@ Problems that are stopping the user from their goals: - The installation script is tightly coupled, preventing them from using it with their own setup. It sets up the configuration file, downloads the docker-compose file, sets up the Mathesar database, and so on. The user cannot use the script to do only certain tasks, for example, they cannot use the script to only create a configuration file and skip other steps. Other problems: + - Our installation script does not allow for edits. Making the user start fresh if they made a mistake. - Our upgrades are tightly coupled with the Watchtower upgrade service(?), so Mathesar might not work(?) if they install only certain services. Based on the above feedback, we can understand that + - The users are technical enough and would like to tinker with the configuration - They want to use Mathesar with their own setup - Security conscious Here is what is done to fix the above problems + - Kriti mentioned that she has a lot of thoughts on improving our installation process, so Brent, Kriti, Mukesh, and Pavish will be having a meeting today to get a brain dump from Kriti. - I will be creating a list of issues based on the discussion from the meeting and update this email thread with the next set of actions items after the meeting - I will be coordinating with Marius de Beer who is currently writing documentation for "Installing Mathesar on various Linux Distro with/without Docker" to make sure the documentation and improvements to the installation process are in sync. diff --git a/docs/team/meeting-notes/2023/03/backend-meeting-2023-03-13.md b/docs/team/meeting-notes/2023/03/backend-meeting-2023-03-13.md index 0763fc0b3..6659aa6bd 100644 --- a/docs/team/meeting-notes/2023/03/backend-meeting-2023-03-13.md +++ b/docs/team/meeting-notes/2023/03/backend-meeting-2023-03-13.md @@ -16,6 +16,7 @@ - We are learning the features to implement based user feedback. So the solution should be flexible. Action Items + - Figure out the functions that can be moved to postgres and write issues - Anish & Brent - Figure out how we want to write SQL in python - Mukesh - Figure out how to introduce `oid, names, attnum` data structure - Brent diff --git a/docs/team/meeting-notes/2023/03/core-team-meeting-2023-03-15.md b/docs/team/meeting-notes/2023/03/core-team-meeting-2023-03-15.md index 6570bc691..509049bdf 100644 --- a/docs/team/meeting-notes/2023/03/core-team-meeting-2023-03-15.md +++ b/docs/team/meeting-notes/2023/03/core-team-meeting-2023-03-15.md @@ -6,6 +6,7 @@ ## Bigger-picture plan for Mathesar General plan: + - Things are still in flux - Figuring out how to grow the project - Figuring out what our structure should be diff --git a/docs/team/meeting-notes/2023/04/2023-04-03-installation-plan-finalization.md b/docs/team/meeting-notes/2023/04/2023-04-03-installation-plan-finalization.md index 3ce7523be..125cbd8b2 100644 --- a/docs/team/meeting-notes/2023/04/2023-04-03-installation-plan-finalization.md +++ b/docs/team/meeting-notes/2023/04/2023-04-03-installation-plan-finalization.md @@ -45,6 +45,7 @@ UI for switching database needs to be separate from installation. * Single Docker image for DB + webserver? * Kriti: Why are we deprioritizing this? * Mukesh: We could have two docker images, one with DB, one without DB. + - Create desktop packages / add to repos (.deb, flatpak, etc.) * Consider simplifying config file - needs more discussion diff --git a/docs/team/meeting-notes/2023/05/2023-05-03-team-meeting.md b/docs/team/meeting-notes/2023/05/2023-05-03-team-meeting.md index 7f3e8189c..cb4baff41 100644 --- a/docs/team/meeting-notes/2023/05/2023-05-03-team-meeting.md +++ b/docs/team/meeting-notes/2023/05/2023-05-03-team-meeting.md @@ -88,12 +88,14 @@ $$ LANGUAGE plpgsql RETURNS NULL ON NULL INPUT; The result of `\df` ``` Schema | Name | Result data type | Argument data types | Type + --------+--------------+------------------+-----------------------------------------------------+------ msar | rename_table | text | sch_name text, old_tab_name text, new_tab_name text | func ``` The result of `\df+` ``` Schema | Name | Result data type | Argument data types | Type | Volatility | Parallel | Owner | Security | Access privileges | Language | Source code | Description + --------+--------------+------------------+-----------------------------------------------------+------+------------+----------+----------+----------+-------------------+----------+--------------------------------------------------------------------------------------------+------------- msar | rename_table | text | sch_name text, old_tab_name text, new_tab_name text | func | volatile | unsafe | mathesar | invoker | | plpgsql | /* +| | | | | | | | | | | | Change a table's name, returning the command executed. +| @@ -120,10 +122,12 @@ msar.rename_table(text, text, text) RETURNS text AS $$/* Change a table's name, returning the command executed. */ DECLARE + -- Args: sch_name TEXT := $1; -- unquoted schema name where the table lives old_tab_name TEXT := $2; -- unquoted, unqualified original table name new_tab_name TEXT := $3; -- unquoted, unqualified new table name + -- internal variables fullname text; BEGIN @@ -135,6 +139,7 @@ $$ LANGUAGE plpgsql RETURNS NULL ON NULL INPUT; The result of `\df`: ``` Schema | Name | Result data type | Argument data types | Type + --------+--------------+------------------+-------------------------------+------ msar | rename_table | text | text, text, text | func ``` @@ -143,6 +148,7 @@ The result of `\df+`: ``` List of functions Schema | Name | Result data type | Argument data types | Type | Volatility | Parallel | Owner | Security | Access privileges | Language | Source code | Description + --------+--------------+------------------+-------------------------------+------+------------+----------+----------+----------+-------------------+----------+--------------------------------------------------------------------------------------------+------------- msar | rename_table | text | text, text, text | func | volatile | unsafe | mathesar | invoker | | plpgsql | /* +| | | | | | | | | | | | Change a table's name, returning the command executed. +| @@ -162,6 +168,7 @@ The result of `\df+`: ``` This avoids the problem above. However, it has some major downsides + - It means the output of `\df` is much less informational - It makes the function's signature harder to parse in code. - It adds boilerplate (the `DECLARE` block; this is optional, but recommended) diff --git a/docs/team/meeting-notes/2023/06/2023-06-13-installation-planning-meeting.md b/docs/team/meeting-notes/2023/06/2023-06-13-installation-planning-meeting.md index 227583443..cf4ba2df4 100644 --- a/docs/team/meeting-notes/2023/06/2023-06-13-installation-planning-meeting.md +++ b/docs/team/meeting-notes/2023/06/2023-06-13-installation-planning-meeting.md @@ -1,6 +1,7 @@ # 2023-06-13 Installation Planning Meeting Attending: + - Kriti - Brent - Mukesh @@ -47,10 +48,12 @@ Continued on 2023-06-14, Aritra and Anshuman also attended. ## Ideas [Sean] + - Maybe Mathesar should not concern itself with supplying a Postgres server - I'd really like to have a single-file executable someday [Brent] + - All localhost, DB managed by Mathesar should be improved most (imo) - No config needed. - Should start things (maybe even in one container including DB) easily @@ -63,6 +66,7 @@ Continued on 2023-06-14, Aritra and Anshuman also attended. - Segregate installation paths by use-case [Kriti] + - Build static files before release - Have a human readable config file that we do the work to convert (e.g. replace database url string with several different variables, we can convert it into a database URL) - We need a single Docker command that just brings up a fully functioning Mathesar instance on localhost @@ -71,6 +75,7 @@ Continued on 2023-06-14, Aritra and Anshuman also attended. - Helm charts / Kubernetes - make it easier to install Mathesar [Mukesh] + - Build static files during release - move config to UI - move installing schemas to UI diff --git a/docs/team/meeting-notes/2023/07/2023-07-03-team-meeting.md b/docs/team/meeting-notes/2023/07/2023-07-03-team-meeting.md index 0659fb1ce..6c83c2ced 100644 --- a/docs/team/meeting-notes/2023/07/2023-07-03-team-meeting.md +++ b/docs/team/meeting-notes/2023/07/2023-07-03-team-meeting.md @@ -81,6 +81,7 @@ Brent's notes (private): https://hackmd.io/4DId5uYKR1icDXZs8Bq9oQ - After this cycle, we should aim to have enough information to select the next round of projects. Projects + - Kriti & Ghislaine: Strategy / user research - Rajat: Localization - Brent and Anish: RSQLA1 diff --git a/docs/team/meeting-notes/2023/07/2023-07-06-installation-meeting.md b/docs/team/meeting-notes/2023/07/2023-07-06-installation-meeting.md index c759f9906..cfdf569b1 100644 --- a/docs/team/meeting-notes/2023/07/2023-07-06-installation-meeting.md +++ b/docs/team/meeting-notes/2023/07/2023-07-06-installation-meeting.md @@ -152,11 +152,13 @@ ## Prioritization General strategy: + - Until we get to 1.0, we are going to assume installation will be done by technical users. - UI should be friendly to non-technical users - You need to be technical to install Mathesar, or learn something Discussion: + - But what about users who have contacted us who are running on localhost? - SaaS could serve their need - Or a detailed server setup guide (e.g. "how to set up on GCP" that includes all their settings) diff --git a/docs/team/meeting-notes/2023/07/2023-07-06-team-meeting.md b/docs/team/meeting-notes/2023/07/2023-07-06-team-meeting.md index 3314e3a53..5cea0fd24 100644 --- a/docs/team/meeting-notes/2023/07/2023-07-06-team-meeting.md +++ b/docs/team/meeting-notes/2023/07/2023-07-06-team-meeting.md @@ -2,6 +2,7 @@ ## Project finalization List of projects from last time: + - Kriti & Ghislaine: Strategy / user research - Kriti will write up the project - Everyone will help @@ -44,13 +45,16 @@ We should do an updated round of project writeups specific to this cycle and clo ## Ongoing responsibility finalization Kriti will own: + - Team management - Marketing (overall) We need to designate: + - Release owner: Rajat Consider rotating: + - Repo admin - Installation help - Now User help @@ -62,6 +66,7 @@ Consider rotating: Not rotating anything except installation help (see below) Should we have a responsibility for: + - Helping users who ask for help? - Renaming installation help to user help - Need a standard process for dealing with users, whether it's info@ or install request form or Matrix/GitHub requests @@ -74,6 +79,7 @@ Should we have a responsibility for: Standup isn't really working - let's talk about alternatives. Goals are visibility for: + - Other team members - Project owners should make weekly updates to developer mailing list (Fridays; start next week!) - One thread per project diff --git a/docs/team/meeting-notes/2023/07/2023-07-11-installation-meeting.md b/docs/team/meeting-notes/2023/07/2023-07-11-installation-meeting.md index 8ed1a16a6..76efa531b 100644 --- a/docs/team/meeting-notes/2023/07/2023-07-11-installation-meeting.md +++ b/docs/team/meeting-notes/2023/07/2023-07-11-installation-meeting.md @@ -15,11 +15,13 @@ ### 1st Persona: Someone Trying out Mathesar quickly, with Docker Assumptions: + - They have docker - Want to try things out locally - Won't keep this installation long-term Solutions: + - Single Docker image - Postgres inside - Secret key generated with no interaction diff --git a/docs/team/meeting-notes/2023/07/2023-07-28-installation-meeting.md b/docs/team/meeting-notes/2023/07/2023-07-28-installation-meeting.md index af674e0c8..7ab3a8168 100644 --- a/docs/team/meeting-notes/2023/07/2023-07-28-installation-meeting.md +++ b/docs/team/meeting-notes/2023/07/2023-07-28-installation-meeting.md @@ -161,6 +161,7 @@ This will explain how to connect to localhost DBs if you're using Docker (conten ### Do the personas make sense? Do we need any additional narrowing down or clarification? Top + - Someone trying Mathesar out quickly (and can use Docker) - Someone installing Mathesar on a PaaS - Someone installing server & DB on same remote system @@ -171,17 +172,20 @@ Top - same as above Medium + - Someone installing server on localhost, but connecting to a remote DB - Someone installing Mathesar on existing DevOps infrastructure - Helm, Kubernetes goes here Not prioritizing at all - until more than one person asks + - Ansible / other automation guides - Someone installing Mathesar on a remote system that's not Linux - Someone who wants to build Mathesar from source - Someone trying Mathesar out quickly locally (and cannot use Docker) Discourage + - Someone installing everything on localhost (not just trying it out) #### Additional discussion @@ -244,6 +248,7 @@ Personas are fine, see additional detail added above. - No time to discuss now Mukesh will start separate email threads to discuss: + - Configuration - Permissions diff --git a/docs/team/meeting-notes/2023/08/2023-08-09-team-meeting.md b/docs/team/meeting-notes/2023/08/2023-08-09-team-meeting.md index ba6fa2232..e99a00a9f 100644 --- a/docs/team/meeting-notes/2023/08/2023-08-09-team-meeting.md +++ b/docs/team/meeting-notes/2023/08/2023-08-09-team-meeting.md @@ -169,6 +169,7 @@ Mathesar update capability analysis, determine plan - Improved UX for viewing all tables, e.g. hiding tables, showing ER diagram #### Brent side-notes preexisting Posgres Major things we don't support that people have in their DBs + - Views - Users/permissions - Types diff --git a/docs/team/meeting-notes/2023/08/2023-08-10-team-meeting.md b/docs/team/meeting-notes/2023/08/2023-08-10-team-meeting.md index 70e16414b..5b3a550d3 100644 --- a/docs/team/meeting-notes/2023/08/2023-08-10-team-meeting.md +++ b/docs/team/meeting-notes/2023/08/2023-08-10-team-meeting.md @@ -11,6 +11,7 @@ - **Discussion goal**: Have a final list of projects and their owners, so the owners can start writing them up. Project ideas from previous meeting and follow up discussion on Matrix: + - Installation improvements - This is still a major barrier to Mathesar adoption - Implement the plan we've already decided on [here](https://wiki.mathesar.org/en/meeting-notes/2023-07/2023-07-28-installation-meeting.md) @@ -37,6 +38,7 @@ Project ideas from previous meeting and follow up discussion on Matrix: - Ideas from prior async brainstorming are [here](https://wiki.mathesar.org/en/meeting-notes/2023-08/2023-08-09-team-meeting.md#pre-meeting-notes-1) ### Pre-meeting notes Additional thoughts from Kriti: + - Firefighting + backlog clearing team - Including stuff like moving wiki to MkDocs, automating internal deployment / `develop` Docker builds - Do we also want to consider work that will let release more frequently? @@ -67,6 +69,7 @@ Additional thoughts from Kriti: ### Discussion Are there projects that we need to continue? + - "Backend fixes" - "Frontend fixes" - Kriti: What is the status of i18n project? @@ -145,9 +148,11 @@ Are there projects that we need to continue? - **Discussion goal**: Figure out when we're having the remaining discussions we need to have Already covered at this meeting: + - Project planning for August 21 cycle Things we need to discuss: + - How to prioritize the backlog - RSQLA retrospective - “Should we install things on the DB?” discussion diff --git a/docs/team/meeting-notes/2023/08/2023-08-18-team-meeting.md b/docs/team/meeting-notes/2023/08/2023-08-18-team-meeting.md index 6ae8e175d..120da1a4d 100644 --- a/docs/team/meeting-notes/2023/08/2023-08-18-team-meeting.md +++ b/docs/team/meeting-notes/2023/08/2023-08-18-team-meeting.md @@ -10,6 +10,7 @@ #### Ad-hoc work Sean: + - needs to get Rajat assigned to some tasks - three meta-tickets - full-stack @@ -19,9 +20,11 @@ Sean: - Remaining i18n work would go into Rajat's ad-hoc queue. Brent: + - Couple backend tickets seem related to existing PG support. Brent will reach out to Dom to make sure we're not duplicating work. Dom: + - Mostly would be focusing on backend bugs and unblocking frontend work. - Identified issues that seem more important than Supabase integration. - Start the Supabase integration research in the middle of the cycle, when those tasks are finished, currently not assigned to a specific person. @@ -61,11 +64,13 @@ Dom: - **Discussion goal**: Figure out if we want to rotate ongoing responsibilities. Responsibilities to potentially rotate: + - Repo admin - Release ownership - User feedback tracking Kriti's responsibilties, will delegate when out: + - Marketing - User help - Team management diff --git a/docs/team/responsibilities/fundraising.md b/docs/team/responsibilities/fundraising.md index 994e2dfcb..17de64634 100644 --- a/docs/team/responsibilities/fundraising.md +++ b/docs/team/responsibilities/fundraising.md @@ -3,6 +3,7 @@ This involves fundraising to sustain Mathesar's development and maintenance. Moved from: + - Project: [Raise additional funding for Mathesar](/projects/funding) > TODO: add more detail. diff --git a/docs/team/worklogs/ghislaine.md b/docs/team/worklogs/ghislaine.md index 3cd3ed4f0..61b7e6ffc 100644 --- a/docs/team/worklogs/ghislaine.md +++ b/docs/team/worklogs/ghislaine.md @@ -26,6 +26,7 @@ - Caught up on emails and discussions. **Current Focus:** + - Publishing the survey. - Listing out all the sources for the Niche research and organizing them. @@ -39,6 +40,7 @@ - Updated the niche research document based on talks with Brent and Pavish. **Current Focus** + - Update the survey and request feedback. ## 2023-08-16 @@ -60,6 +62,7 @@ I spent a significant portion of the day scheduling calls with various team memb To make the upcoming feedback meetings more structured, I prepared a set of questions focusing on discussing the use cases feedback, especially targeting those team members who missed the first round of calls. I've updated the call plan to integrate our niche research focus, given that we have already narrowed down to a particular niche. **Current Focus:** + - Request feedback on the form survey. - Conducting feedback sessions. - Preparing an update for my scheduled call with Kriti tomorrow. @@ -69,6 +72,7 @@ To make the upcoming feedback meetings more structured, I prepared a set of ques Today and yesterday were slow days due to some personal matters I had to attend to. However, I did manage to initiate some research on potential niche sources. Additionally, I started to simplify our survey, aiming to make it concise enough for adding a link on our website. **Current Focus:** + - Building out the survey form using tools like Google Forms or similar platforms. - Continuing with niche research project research. @@ -77,6 +81,7 @@ Today and yesterday were slow days due to some personal matters I had to attend Worked on the initial draft for our Niche Research project. Began exploring methods to shape our personas. We also had our weekly team catch-up. **Current Focus**: + - Organize meetings with team members who missed the initial one-on-ones. - Get feedback on the Niche Research project draft. - Start the groundwork for the project. From 69626602386289bdb1ab1c117e8bb4c46593bccf Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Wed, 23 Aug 2023 13:31:16 -0400 Subject: [PATCH 28/35] Fix a few more paragraph-list content issues Identified via `^(\s*[^\s\*#\n].*\n)\*\s` Cleaned manually --- docs/design/reports/tool-category.md | 3 +++ docs/design/specs/data-type-options.md | 1 + 2 files changed, 4 insertions(+) diff --git a/docs/design/reports/tool-category.md b/docs/design/reports/tool-category.md index 83e931352..399998a43 100644 --- a/docs/design/reports/tool-category.md +++ b/docs/design/reports/tool-category.md @@ -10,6 +10,7 @@ One of Mathesar's primary purposes is data storage, with the addition of robust ### Most valued features for Data Analysis Tools Data analysis tools are focused on data manipulation and statistical analysis to aid in decision-making processes. Most commercial tools offer out-of-the-box pre-built data transformations and visualizations to accommodate users of all data-literacy levels. + * Easily connect to multiple data sources. * Create actionable dashboards automatically. * Manage data permissions @@ -23,6 +24,7 @@ Data analysis tools are focused on data manipulation and statistical analysis to ### Most valued features for Database GUI Tools Database GUI tools help database users to manage, manipulate and visualize their data. Compared to the traditional command-line interface methods, GUI tools have a lower learning curve, making it easy to browse databases and tables. One of the top reasons to use a GUI tool is increased productivity reported by the users of such applications. + * Easy to install * Handy administration tools * Great user management @@ -32,6 +34,7 @@ Database GUI tools help database users to manage, manipulate and visualize their ### Most valued features for Visualization Tools Data visualization tools deal with the graphic representation of data. They are primarily focused on the creation of dashboards and real-time monitoring of data. Performance is essential for these tools as they require running many complex queries to generate the visualizations. + * Pre-built data connectors * Natural language querying * Custom infographics diff --git a/docs/design/specs/data-type-options.md b/docs/design/specs/data-type-options.md index d64b408d0..6f29808d1 100644 --- a/docs/design/specs/data-type-options.md +++ b/docs/design/specs/data-type-options.md @@ -44,6 +44,7 @@ In the context of table inspector, the 'Save' and 'Cancel' buttons will be hidde ### Confirmation dialog when user tries to save A confirmation dialog would be displayed based on the user's changes. The warning message in this dialog would be based on the implications of the changes. + * Changes to Database type: - Confirmation dialog is shown. - Message: This change may lead to data loss since it changes the way the database stores data. From f4021b08007eb84b2d3fc55850e60a54493479a7 Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Wed, 23 Aug 2023 13:38:40 -0400 Subject: [PATCH 29/35] Organize some nav entries --- docs/engineering/.pages | 9 +++++++++ docs/marketing/.pages | 5 +++++ 2 files changed, 14 insertions(+) create mode 100644 docs/engineering/.pages create mode 100644 docs/marketing/.pages diff --git a/docs/engineering/.pages b/docs/engineering/.pages new file mode 100644 index 000000000..9db2be67b --- /dev/null +++ b/docs/engineering/.pages @@ -0,0 +1,9 @@ +nav: + - release-process.md + - specs + - glossary + - code-review + - research + - resources.md + - ... + - archive diff --git a/docs/marketing/.pages b/docs/marketing/.pages new file mode 100644 index 000000000..500fe8d02 --- /dev/null +++ b/docs/marketing/.pages @@ -0,0 +1,5 @@ +nav: + - Copy: copy.md + - History: history.md + - Sites: sites.md + - ... From 98ed0504bd6b9c4bfec04660a915af569ac95733 Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Wed, 23 Aug 2023 13:44:39 -0400 Subject: [PATCH 30/35] Organize design content --- docs/community/gsoc/project-ideas/kanban-view.md | 2 +- docs/design/.pages | 9 +++++++++ docs/design/{exploration.md => exploration/index.md} | 0 docs/design/{design-principles.md => principles.md} | 0 docs/design/{process.md => process/index.md} | 0 docs/design/{specs.md => specs/index.md} | 0 6 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 docs/design/.pages rename docs/design/{exploration.md => exploration/index.md} (100%) rename docs/design/{design-principles.md => principles.md} (100%) rename docs/design/{process.md => process/index.md} (100%) rename docs/design/{specs.md => specs/index.md} (100%) diff --git a/docs/community/gsoc/project-ideas/kanban-view.md b/docs/community/gsoc/project-ideas/kanban-view.md index 271cba769..a61fe1c5a 100644 --- a/docs/community/gsoc/project-ideas/kanban-view.md +++ b/docs/community/gsoc/project-ideas/kanban-view.md @@ -62,7 +62,7 @@ Users should be able able to create kanban boards on top of the tabular data. Th - [What is a Kanban board?](https://en.wikipedia.org/wiki/Kanban_board) - [How grouping works currently?](../../../design/specs/filter-sort-group.md) -- [Examples of existing design specs](../../../design/specs.md) +- [Examples of existing design specs](../../../design/specs) - [Running the codebase locally](https://github.com/centerofci/mathesar/blob/master/README.md#local-development) ## Mentors diff --git a/docs/design/.pages b/docs/design/.pages new file mode 100644 index 000000000..3b4e193df --- /dev/null +++ b/docs/design/.pages @@ -0,0 +1,9 @@ +nav: + - Principles: principles.md + - Resources: resources.md + - Standards: standards.md + - specs + - exploration + - process + - reports + - ... diff --git a/docs/design/exploration.md b/docs/design/exploration/index.md similarity index 100% rename from docs/design/exploration.md rename to docs/design/exploration/index.md diff --git a/docs/design/design-principles.md b/docs/design/principles.md similarity index 100% rename from docs/design/design-principles.md rename to docs/design/principles.md diff --git a/docs/design/process.md b/docs/design/process/index.md similarity index 100% rename from docs/design/process.md rename to docs/design/process/index.md diff --git a/docs/design/specs.md b/docs/design/specs/index.md similarity index 100% rename from docs/design/specs.md rename to docs/design/specs/index.md From d1b105c18264eaa6589a7cccc7bb538a5030c276 Mon Sep 17 00:00:00 2001 From: Kriti Godey Date: Wed, 23 Aug 2023 17:50:50 -0400 Subject: [PATCH 31/35] Converted quotes to admonitions. --- docs/community/gsoc/past/2022/json-type.md | 5 ++-- .../community/gsoc/past/2023/list-datatype.md | 5 ++-- docs/community/gsoc/project-idea-template.md | 5 ++-- docs/community/gsoc/project-ideas/index.md | 5 ++-- .../suggest-candidate-columns.md | 5 ++-- .../gsoc/project-proposal-template.md | 10 ++++--- docs/community/matrix.md | 5 ++-- .../exploration/inventory-data-exploration.md | 5 ++-- .../use-cases/inventory-use-case.md | 5 ++-- docs/design/principles.md | 5 ++-- docs/design/process/index.md | 5 ++-- docs/design/reports/inventory-use-case.md | 5 ++-- docs/design/specs/Formulas.md | 5 ++-- docs/design/specs/add-formula-column.md | 5 ++-- docs/design/specs/boolean-data-type.md | 5 ++-- docs/design/specs/create-edit-delete-views.md | 5 ++-- docs/design/specs/data-type-duration.md | 5 ++-- docs/design/specs/database-switching.md | 5 ++-- docs/design/specs/eding-view-records.md | 5 ++-- docs/design/specs/email-data-type.md | 5 ++-- docs/design/specs/money-data-type.md | 5 ++-- docs/design/specs/multiple-records-spec.md | 5 ++-- docs/design/specs/number-data-type.md | 5 ++-- docs/design/specs/pagination.md | 5 ++-- docs/design/specs/read-only-table.md | 5 ++-- docs/design/specs/table-import.md | 5 ++-- docs/design/specs/url-data-type.md | 5 ++-- docs/design/specs/viewing-views-specs.md | 10 ++++--- .../specs/views-one-to-many-relationships.md | 5 ++-- docs/design/specs/working-with-columns.md | 5 ++-- docs/engineering/archive/decisions.md | 5 ++-- docs/engineering/release-process.md | 5 ++-- docs/engineering/specs/dependents-graph.md | 5 ++-- docs/engineering/specs/import-preview-api.md | 5 ++-- docs/marketing/copy.md | 5 ++-- docs/product/feature-ideas.md | 5 ++-- docs/product/index.md | 5 ++-- docs/product/principles.md | 5 ++-- .../specs/2022-01-views/01-assumptions.md | 5 ++-- docs/projects/2023/07/list-datatype.md | 5 ++-- docs/projects/future/forms-research.md | 15 ++++++---- docs/projects/template.md | 30 +++++++++++-------- docs/team/archive/comms-assignee.md | 5 ++-- docs/team/archive/weekly-discussion.md | 5 ++-- docs/team/meeting-notes/2022/05/2022-05.md | 5 ++-- docs/team/meeting-notes/2022/06/2022-06.md | 5 ++-- .../07/2023-07-06-installation-meeting.md | 5 ++-- docs/team/responsibilities/fundraising.md | 5 ++-- .../responsibilities/installation-help.md | 5 ++-- 49 files changed, 174 insertions(+), 116 deletions(-) diff --git a/docs/community/gsoc/past/2022/json-type.md b/docs/community/gsoc/past/2022/json-type.md index c571d0d89..3119b1fa6 100644 --- a/docs/community/gsoc/past/2022/json-type.md +++ b/docs/community/gsoc/past/2022/json-type.md @@ -2,8 +2,9 @@ **Author**: [Jinxiao Li](https://github.com/Jinxiao0302) -> Jinxiao originally sent this project report to the developer mailing list, [see here](https://groups.google.com/a/mathesar.org/g/mathesar-developers/c/7iHlVobzW08) -{.is-info} +!!! info "Information" + Jinxiao originally sent this project report to the developer mailing list, [see here](https://groups.google.com/a/mathesar.org/g/mathesar-developers/c/7iHlVobzW08) + --- diff --git a/docs/community/gsoc/past/2023/list-datatype.md b/docs/community/gsoc/past/2023/list-datatype.md index d69c1c02f..0fc9caaf2 100644 --- a/docs/community/gsoc/past/2023/list-datatype.md +++ b/docs/community/gsoc/past/2023/list-datatype.md @@ -17,8 +17,9 @@ If you've worked with Python's numpy, you can think of dimensions as the number ### SQL Alchemy (SA) support This library supports the handling of arrays, and it implements it as a data type class with an `item_type` attribute that specifies the true data type in the DB. The Array class also uses an optional `dimensions` argument, with a default value of 1. This does not actually reflects into an ARRAY column enforced to be 1-dimensional in the DB; it's just a hack of the library to traverse the arrays more efficiently when converting them to Python's lists. -> **Attention**, SQL Alchemy needs to work with the psycopg2 DB API to manipulate arrays. -{.is-warning} +!!! warning "Warning" + **Attention**, SQL Alchemy needs to work with the psycopg2 DB API to manipulate arrays. + ## Methodology diff --git a/docs/community/gsoc/project-idea-template.md b/docs/community/gsoc/project-idea-template.md index 5975fb15d..5134be210 100644 --- a/docs/community/gsoc/project-idea-template.md +++ b/docs/community/gsoc/project-idea-template.md @@ -1,7 +1,8 @@ # Project Idea Template -> Please use this template while adding new project ideas to [Project Ideas](/community/mentoring/project-ideas). -{.is-info} +!!! info "Information" + Please use this template while adding new project ideas to [Project Ideas](/community/mentoring/project-ideas). + ## Classification - **Difficulty**: *Low/Medium/High* diff --git a/docs/community/gsoc/project-ideas/index.md b/docs/community/gsoc/project-ideas/index.md index beb5b6370..a58805bb3 100644 --- a/docs/community/gsoc/project-ideas/index.md +++ b/docs/community/gsoc/project-ideas/index.md @@ -2,8 +2,9 @@ These ideas are for **Google Summer of Code 2023**. -> For information about applying to Google Summer of Code, please see [**our Applicant Guide**](/community/mentoring/applicant-guide). -{.is-info} +!!! info "Information" + For information about applying to Google Summer of Code, please see [**our Applicant Guide**](/community/mentoring/applicant-guide). + ## Ideas diff --git a/docs/community/gsoc/project-ideas/suggest-candidate-columns.md b/docs/community/gsoc/project-ideas/suggest-candidate-columns.md index 1c5efaa2d..1d7e76c5b 100644 --- a/docs/community/gsoc/project-ideas/suggest-candidate-columns.md +++ b/docs/community/gsoc/project-ideas/suggest-candidate-columns.md @@ -1,8 +1,9 @@ # Suggest Candidate Columns to Create Separate Table ## The Problem -> This is related to [Break Columns out to New Table](/community/mentoring/project-ideas/break-out-columns), please read that project idea first. -{.is-info} +!!! info "Information" + This is related to [Break Columns out to New Table](/community/mentoring/project-ideas/break-out-columns), please read that project idea first. + In order to normalize a data model, one needs to understand correlations between different rows in the data of a table. For example, if there is a column `student email` that is dependent on a proper subset of the key `(class id, student id)` in some `class_rosters` table, then a separate `students` table with columns `(student id, student email)` should be created, and `student email` should be dropped from the original `class_rosters` table. This would potentially move the data model closer to achieving the Second Normal Form (2NF). We need to build functions that notice this sort of correlations. Ideally, we'd start with functions that notice when a relation is not in 2NF (but _is_ in 1NF), and suggest fixes. If that's achieved, we'd then proceed to suggest fixes to achieve 3NF. diff --git a/docs/community/gsoc/project-proposal-template.md b/docs/community/gsoc/project-proposal-template.md index ab44fd655..20310e031 100644 --- a/docs/community/gsoc/project-proposal-template.md +++ b/docs/community/gsoc/project-proposal-template.md @@ -4,8 +4,9 @@ This is the proposal template for applications to any mentorship programs that w We recommend creating a Google Doc that follows this structure and sharing it with the mentors. Please make sure that all mentors have commenting permissions. -> The template starts below this box. Instructions for each section are provided in infoboxes like this one. -{.is-info} +!!! info "Information" + The template starts below this box. Instructions for each section are provided in infoboxes like this one. + # Project Title @@ -48,8 +49,9 @@ We recommend creating a Google Doc that follows this structure and sharing it wi | ... | ... | ## Questionnaire -> Please answer the following questions. -{.is-info} +!!! info "Information" + Please answer the following questions. + - Why are you interested in working on Mathesar? - Why are you interested in working on this project idea? diff --git a/docs/community/matrix.md b/docs/community/matrix.md index 2dd245c4c..53c776df0 100644 --- a/docs/community/matrix.md +++ b/docs/community/matrix.md @@ -9,8 +9,9 @@ For realtime chat, we use [Matrix](https://matrix.org/) *(similar to Slack, Disc 1. If you want to use a desktop or mobile app, we recommend installing [Element](https://element.io/get-started). There are [other clients](https://matrix.org/clients/) too. 1. The "General" channel that you've just joined is for high-level discussion and announcements about the project. Most of our day to day discussion happens in other channels. Look through the list of rooms below and join the ones for topics you're interested. -> **Note:** If you're a GSoC aspirant, join our ["Mathesar - Mentoring Programs" Matrix channel](https://matrix.to/#/#mentoring:matrix.mathesar.org) and introduce yourself there instead of in the "General" channel. -{.is-info} +!!! info "Information" + **Note:** If you're a GSoC aspirant, join our ["Mathesar - Mentoring Programs" Matrix channel](https://matrix.to/#/#mentoring:matrix.mathesar.org) and introduce yourself there instead of in the "General" channel. + ## Chat rooms A list of Mathesar related chat rooms is below. You'll need to individually join whichever chat rooms interest you. Click the link under "Address" to join the room, follow the same instructions as above. diff --git a/docs/design/exploration/inventory-data-exploration.md b/docs/design/exploration/inventory-data-exploration.md index 8655e4df1..b10a21f82 100644 --- a/docs/design/exploration/inventory-data-exploration.md +++ b/docs/design/exploration/inventory-data-exploration.md @@ -1,7 +1,8 @@ # Inventory: Data Exploration -> Refer to [Inventory Use Case](/design/exploration/use-cases/inventory-use-case) for additional context. -{.is-info} +!!! info "Information" + Refer to [Inventory Use Case](/design/exploration/use-cases/inventory-use-case) for additional context. + ## Context The user has created a new table in Mathesar via file import. The table is used to organize their music album collection. diff --git a/docs/design/exploration/use-cases/inventory-use-case.md b/docs/design/exploration/use-cases/inventory-use-case.md index e2a0c7fca..5636709f3 100644 --- a/docs/design/exploration/use-cases/inventory-use-case.md +++ b/docs/design/exploration/use-cases/inventory-use-case.md @@ -27,8 +27,9 @@ A use case describes the interaction between a user and a system to achieve a go Visit the [Design Process](/design/process) section to read an overview of the product design process that the team will follow to build the inventory prototype. This design will include the user experience, user interface and interactions, and the underlying features and patterns. # Inventory Use Case Basic Flow -> These wireframes are meant to work as abstract representations of the user journey. Content and layout will most likely change as we add more definitions to each step. -{.is-info} +!!! info "Information" + These wireframes are meant to work as abstract representations of the user journey. Content and layout will most likely change as we add more definitions to each step. + - User visits Mathesar's website or documentation, reads about the features and finds the documentation quickly. - User locates a list of features and confirms Mathesar will solve their problem. diff --git a/docs/design/principles.md b/docs/design/principles.md index 7c009fe49..51b798a40 100644 --- a/docs/design/principles.md +++ b/docs/design/principles.md @@ -2,8 +2,9 @@ Our design principles are a set of beliefs, views, or approaches we chose to guide our design decisions. -> See also [Product Principles](/product/principles). -{.is-info} +!!! info "Information" + See also [Product Principles](/product/principles). + ## Why do we need design principles? diff --git a/docs/design/process/index.md b/docs/design/process/index.md index ce70bc874..de1c61ca8 100644 --- a/docs/design/process/index.md +++ b/docs/design/process/index.md @@ -2,8 +2,9 @@ There are five phases in our design process. -> See [Specs](/design/specs) for deliverables from this process. -{.is-info} +!!! info "Information" + See [Specs](/design/specs) for deliverables from this process. + ## Design Problem Framing diff --git a/docs/design/reports/inventory-use-case.md b/docs/design/reports/inventory-use-case.md index 6e8f596fd..99ef4fa4f 100644 --- a/docs/design/reports/inventory-use-case.md +++ b/docs/design/reports/inventory-use-case.md @@ -3,8 +3,9 @@ The inventory use case presented many opportunities to understand how the design of the Mathesar application could influence user goals. We selected the inventory use case because it combined simple data storage with minimal analysis needs. -> **See also**: [Mathesar Tool Category Exploration](/design/reports/tool-category) -{.is-info} +!!! info "Information" + **See also**: [Mathesar Tool Category Exploration](/design/reports/tool-category) + To learn from this use case, [wireframes that depicted the various user steps needed to build an inventory](/design/exploration/use-cases/inventory-use-case) were created and shared for feedback. An additional wireframe round was conducted to dig deeper into the [data exploration process](/design/exploration/inventory-data-exploration). diff --git a/docs/design/specs/Formulas.md b/docs/design/specs/Formulas.md index db5ebce3f..5709ec33d 100644 --- a/docs/design/specs/Formulas.md +++ b/docs/design/specs/Formulas.md @@ -1,7 +1,8 @@ # Formulas -> This spec is a work in progress and should not be used to inform any decisions. -{.is-warning} +!!! warning "Warning" + This spec is a work in progress and should not be used to inform any decisions. + ## Context diff --git a/docs/design/specs/add-formula-column.md b/docs/design/specs/add-formula-column.md index 2d685163b..5a4649a09 100644 --- a/docs/design/specs/add-formula-column.md +++ b/docs/design/specs/add-formula-column.md @@ -1,7 +1,8 @@ # Formula Columns -> This spec is a starting point and has not been reviewed from an engineering or product perspective. It will be updated when we are ready to start implementing this. -{.is-danger} +!!! danger "Danger" + This spec is a starting point and has not been reviewed from an engineering or product perspective. It will be updated when we are ready to start implementing this. + ## Context diff --git a/docs/design/specs/boolean-data-type.md b/docs/design/specs/boolean-data-type.md index 7cd65b1c8..b5f1acea1 100644 --- a/docs/design/specs/boolean-data-type.md +++ b/docs/design/specs/boolean-data-type.md @@ -4,8 +4,9 @@ Boolean data types are used to store TRUE or FALSE values. ## Prototype -> This prototype might be outdated due to global component updates. Please refer to the link under 'Setting Options' for an updated version of the shared components. -{.is-warning} +!!! warning "Warning" + This prototype might be outdated due to global component updates. Please refer to the link under 'Setting Options' for an updated version of the shared components. + [Boolean Data Type Prototype](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=4260%3A37440&node-id=4270%3A40031&viewport=324%2C48%2C0.35&scaling=min-zoom&starting-point-node-id=4270%3A40031&show-proto-sidebar=1) diff --git a/docs/design/specs/create-edit-delete-views.md b/docs/design/specs/create-edit-delete-views.md index 9f6b9f18d..a30b15509 100644 --- a/docs/design/specs/create-edit-delete-views.md +++ b/docs/design/specs/create-edit-delete-views.md @@ -1,7 +1,8 @@ # Create, Edit, Delete Views -> This spec is outdated and should not be followed. -{.is-danger} +!!! danger "Danger" + This spec is outdated and should not be followed. + ## Context A view is a database object based on one or more database tables and contains no data of its own. In the context of Mathesar, the creation and editing of these views is an essential part of the user experience, as it allows users to join and simplify tables into one or represent a subset of the data from a table. For the less technical users, views might be a stepping stone towards analyzing and visualizing their data. For that reason, the design aims to make views easy to discover and edit. diff --git a/docs/design/specs/data-type-duration.md b/docs/design/specs/data-type-duration.md index 87d85ae3a..a2deaaa0a 100644 --- a/docs/design/specs/data-type-duration.md +++ b/docs/design/specs/data-type-duration.md @@ -4,8 +4,9 @@ Duration data types represent a period of time measured in hours, minutes, and/or seconds. ## Prototype -> This prototype might be outdated due to global component updates. Please refer to the link under 'Setting Options' for an updated version of the shared components. -{.is-warning} +!!! warning "Warning" + This prototype might be outdated due to global component updates. Please refer to the link under 'Setting Options' for an updated version of the shared components. + [Duration Data Type Prototype](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=3652%3A28432&node-id=3652%3A28433&viewport=1951%2C518%2C0.7335814833641052&scaling=min-zoom&starting-point-node-id=3652%3A28433) diff --git a/docs/design/specs/database-switching.md b/docs/design/specs/database-switching.md index a2a5a4ee4..2d9c867fa 100644 --- a/docs/design/specs/database-switching.md +++ b/docs/design/specs/database-switching.md @@ -1,7 +1,8 @@ # Multiple Database Switching -> This spec is outdated and should not be followed. -{.is-danger} +!!! danger "Danger" + This spec is outdated and should not be followed. + ## Context Users might have multiple databases, and they need to switch between them as necessary, in a seamless manner, without worrying about the current status of open tables or views. diff --git a/docs/design/specs/eding-view-records.md b/docs/design/specs/eding-view-records.md index e8ec64b02..3677d8d8b 100644 --- a/docs/design/specs/eding-view-records.md +++ b/docs/design/specs/eding-view-records.md @@ -1,7 +1,8 @@ # Editing Records Within a View -> This spec is outdated and should not be followed. -{.is-danger} +!!! danger "Danger" + This spec is outdated and should not be followed. + ## Context Users working within views may want to add new records to one or more source tables without dealing with multiple objects, following the spreadsheet-like experience that Mathesar aims to offer. This design problem presents some challenges in avoiding conflicts between objects, especially if there are dependencies. A proposed solution for this is described in this spec, taking into account two potential scenarios for views that can and cannot be updated. diff --git a/docs/design/specs/email-data-type.md b/docs/design/specs/email-data-type.md index fa9c8ffc8..ce630b5b0 100644 --- a/docs/design/specs/email-data-type.md +++ b/docs/design/specs/email-data-type.md @@ -4,8 +4,9 @@ Email data types are custom Mathesar data types used to store email addresses. ## Prototype -> This prototype might be outdated due to global component updates. Please refer to the link under 'Setting Options' for an updated version of the shared components. -{.is-warning} +!!! warning "Warning" + This prototype might be outdated due to global component updates. Please refer to the link under 'Setting Options' for an updated version of the shared components. + [Email Data Type Prototype](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=4260%3A37440&node-id=4270%3A39806&viewport=324%2C48%2C0.34&scaling=min-zoom&starting-point-node-id=4270%3A39806) diff --git a/docs/design/specs/money-data-type.md b/docs/design/specs/money-data-type.md index 0beaefd3b..38796a124 100644 --- a/docs/design/specs/money-data-type.md +++ b/docs/design/specs/money-data-type.md @@ -6,8 +6,9 @@ Money Data Types allow users to manage monetary values, preceded by a currency s ## Prototype -> This prototype might be outdated due to global component updates. Please refer to the link under 'Setting Options' for an updated version of the shared components. -{.is-warning} +!!! warning "Warning" + This prototype might be outdated due to global component updates. Please refer to the link under 'Setting Options' for an updated version of the shared components. + [Figma Prototype for Money Data Type](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=3380%3A23047&node-id=3380%3A23048&viewport=-1070%2C505%2C0.4795173108577728&scaling=contain&starting-point-node-id=3380%3A23048) diff --git a/docs/design/specs/multiple-records-spec.md b/docs/design/specs/multiple-records-spec.md index 7741fc743..11789fa2d 100644 --- a/docs/design/specs/multiple-records-spec.md +++ b/docs/design/specs/multiple-records-spec.md @@ -1,7 +1,8 @@ # Multiple Records Associated with a Single Record -> This spec is outdated and should not be followed. -{.is-danger} +!!! danger "Danger" + This spec is outdated and should not be followed. + ## Context When setting up a relational database, users will want to organize their data to avoid duplication and maintain the integrity of their data. Therefore relationships need to be created between tables, for example, to relate 'tracks' to 'albums' or 'albums' to 'artists.' In cases where records are multiple, users will rely on features to help them summarize or quantify those relationships. diff --git a/docs/design/specs/number-data-type.md b/docs/design/specs/number-data-type.md index a640cd77c..7d53d4f05 100644 --- a/docs/design/specs/number-data-type.md +++ b/docs/design/specs/number-data-type.md @@ -4,8 +4,9 @@ Number data types allow users to add numeric values in different formats. ## Prototype -> This prototype might be outdated due to global component updates. Please refer to the link under 'Setting Options' for an updated version of the shared components. -{.is-warning} +!!! warning "Warning" + This prototype might be outdated due to global component updates. Please refer to the link under 'Setting Options' for an updated version of the shared components. + [Number Data Type Figma Prototype](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=3043%3A25937&node-id=3118%3A23009&viewport=-201%2C-496%2C0.35054445266723633&scaling=contain&starting-point-node-id=3118%3A23009) diff --git a/docs/design/specs/pagination.md b/docs/design/specs/pagination.md index 7f6a30b67..b526d87b1 100644 --- a/docs/design/specs/pagination.md +++ b/docs/design/specs/pagination.md @@ -45,5 +45,6 @@ Some of the following points were discussed and shall be reconsidered later when - Cursor-based pagination is not affected by the addition or removal of items. - Cursor-based pagination requires users to traverse through the entire result set page by page. -> Please see ["Pagination options" on GitHub Discussions](https://github.com/centerofci/mathesar/discussions/177) for more detail. -{.is-info} +!!! info "Information" + Please see ["Pagination options" on GitHub Discussions](https://github.com/centerofci/mathesar/discussions/177) for more detail. + diff --git a/docs/design/specs/read-only-table.md b/docs/design/specs/read-only-table.md index e24b96d96..67438d3bb 100644 --- a/docs/design/specs/read-only-table.md +++ b/docs/design/specs/read-only-table.md @@ -1,7 +1,8 @@ # Read Only Table Spec -> See the related [Figma prototype](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=0%3A1&node-id=1%3A2&viewport=604%2C346%2C0.19209809601306915&scaling=scale-down-width) -{.is-info} +!!! info "Information" + See the related [Figma prototype](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=0%3A1&node-id=1%3A2&viewport=604%2C346%2C0.19209809601306915&scaling=scale-down-width) + ## User Experience ### Impact diff --git a/docs/design/specs/table-import.md b/docs/design/specs/table-import.md index c63c2ff97..07e94f751 100644 --- a/docs/design/specs/table-import.md +++ b/docs/design/specs/table-import.md @@ -1,7 +1,8 @@ # Add Table from Import/URI/Data paste Specs -> This spec is a starting point and has been through basic engineering and product reviews. It is not ready for implementation yet. It will have further updates and reviews before we are ready to start implementing this. -{.is-danger} +!!! danger "Danger" + This spec is a starting point and has been through basic engineering and product reviews. It is not ready for implementation yet. It will have further updates and reviews before we are ready to start implementing this. + ## Context Adding a new table from a file import allows users to input data into Mathesar without populating tables manually. This feature is also convenient for users who need to import data for testing Mathesar's functionality. diff --git a/docs/design/specs/url-data-type.md b/docs/design/specs/url-data-type.md index 4c4c637f4..8cb3dfbc2 100644 --- a/docs/design/specs/url-data-type.md +++ b/docs/design/specs/url-data-type.md @@ -4,8 +4,9 @@ URL data types are custom Mathesar data types used to store URLs. ## Prototype -> This prototype might be outdated due to global component updates. Please refer to the link under 'Setting Options' for an updated version of the shared components. -{.is-warning} +!!! warning "Warning" + This prototype might be outdated due to global component updates. Please refer to the link under 'Setting Options' for an updated version of the shared components. + [URL Data Type Prototype](https://www.figma.com/proto/Uaf1ntcldzK2U41Jhw6vS2/Mathesar-MVP?page-id=3750%3A28604&node-id=3763%3A30987&viewport=1049%2C-592%2C0.2776779234409332&scaling=contain&starting-point-node-id=3763%3A30987) diff --git a/docs/design/specs/viewing-views-specs.md b/docs/design/specs/viewing-views-specs.md index 4e1b45c4d..ef5f59f55 100644 --- a/docs/design/specs/viewing-views-specs.md +++ b/docs/design/specs/viewing-views-specs.md @@ -1,7 +1,8 @@ # Viewing a View -> This spec is outdated and should not be followed. -{.is-danger} +!!! danger "Danger" + This spec is outdated and should not be followed. + ## Context Views can help users make sense of the data they have in tables and the references between them. However, when coming from the context of spreadsheet-like interfaces, a user might experience some difficulties incorporating views into their process. @@ -15,8 +16,9 @@ An optimal design solution would make table associations in the context of views #### A user understands that columns in a view are referenced Because views look exactly like tables, users who are new to views might have difficulty understanding why they can't edit something or why some fields might be missing from the referenced table or present from other tables. -> Note that at this point, users can only select other columns and add them to the view without performing aggregations or data transformations. The design, as it is currently described, does not contemplate those scenarios. -{.is-warning} +!!! warning "Warning" + Note that at this point, users can only select other columns and add them to the view without performing aggregations or data transformations. The design, as it is currently described, does not contemplate those scenarios. + ##### Using Color diff --git a/docs/design/specs/views-one-to-many-relationships.md b/docs/design/specs/views-one-to-many-relationships.md index c85c26c53..e57e4b412 100644 --- a/docs/design/specs/views-one-to-many-relationships.md +++ b/docs/design/specs/views-one-to-many-relationships.md @@ -1,7 +1,8 @@ # One-to-Many Relationships -> This spec is outdated and should not be followed. -{.is-danger} +!!! danger "Danger" + This spec is outdated and should not be followed. + ## Context Users within Mathesar will want to create relationships between tables for different purposes. For example, they might have an 'artist_id' column in an artist's table, and they want to relate that with the artist's releases on another table. For that, each 'releases' table record is linked to an artist on the 'artist' table with the same 'artist_id.' diff --git a/docs/design/specs/working-with-columns.md b/docs/design/specs/working-with-columns.md index 3a753e6ec..fc566b131 100644 --- a/docs/design/specs/working-with-columns.md +++ b/docs/design/specs/working-with-columns.md @@ -1,7 +1,8 @@ # Working with Columns -> This spec is in the review process, and its contents are subject to change. -{.is-warning} +!!! warning "Warning" + This spec is in the review process, and its contents are subject to change. + ## Context Working with columns is a central part of a user's database structuring experience, mainly when tables aren't imported, instead created within Mathesar. It is then on the user to add them, set the data types and other properties according to their needs. diff --git a/docs/engineering/archive/decisions.md b/docs/engineering/archive/decisions.md index e0710204b..4ad03d18a 100644 --- a/docs/engineering/archive/decisions.md +++ b/docs/engineering/archive/decisions.md @@ -1,7 +1,8 @@ # Engineering Decisions -> This page is archived. -{.is-danger} +!!! danger "Danger" + This page is archived. + ## June 2021 - We decided to use limit/offset pagination instead of cursor pagination. diff --git a/docs/engineering/release-process.md b/docs/engineering/release-process.md index be6c2a3f2..7ef0ccee5 100644 --- a/docs/engineering/release-process.md +++ b/docs/engineering/release-process.md @@ -113,8 +113,9 @@ For details on the Release management process, refer the [Release management ong ### 1. Merge into master - Merge the release branch into `master`. - Ensure the release branch is deleted after merge. This should happen automatically after merging. - > Note that after merging the documentation change, if someone is using the docs off of the `master` branch, they'll get a 404 until the tag actually exists. Therefore, avoid going to lunch while things are in this state. -{.is-warning} + !!! warning "Warning" + Note that after merging the documentation change, if someone is using the docs off of the `master` branch, they'll get a 404 until the tag actually exists. Therefore, avoid going to lunch while things are in this state. + ### 2. Create a tag - Tag the commit you've just merged with the version number of the release. diff --git a/docs/engineering/specs/dependents-graph.md b/docs/engineering/specs/dependents-graph.md index 29fd3eac5..f253fd5bd 100644 --- a/docs/engineering/specs/dependents-graph.md +++ b/docs/engineering/specs/dependents-graph.md @@ -9,8 +9,9 @@ Dependents Graph is a feature for returning a graph of dependent objects for a c - Tables - Table columns -> This can be easily extended and added to other types if their support appears in Mathesar since the entry point for the query is just the object OID ([almost always](https://www.postgresql.org/docs/current/datatype-oid.html) the unique identifier of any object in the database). -{.is-info} +!!! info "Information" + This can be easily extended and added to other types if their support appears in Mathesar since the entry point for the query is just the object OID ([almost always](https://www.postgresql.org/docs/current/datatype-oid.html) the unique identifier of any object in the database). + As possible dependent objects, it returns: diff --git a/docs/engineering/specs/import-preview-api.md b/docs/engineering/specs/import-preview-api.md index 89e236998..41e4dc1b3 100644 --- a/docs/engineering/specs/import-preview-api.md +++ b/docs/engineering/specs/import-preview-api.md @@ -1,7 +1,8 @@ # Import Preview API -> This spec is accurate as of 2021-09-06, but we will not be updating it in the future. -{.is-warning} +!!! warning "Warning" + This spec is accurate as of 2021-09-06, but we will not be updating it in the future. + Relevant issues are: diff --git a/docs/marketing/copy.md b/docs/marketing/copy.md index 3b1546e6a..138367509 100644 --- a/docs/marketing/copy.md +++ b/docs/marketing/copy.md @@ -1,7 +1,8 @@ # Marketing Copy -> This copy is still under discussion. -{.is-danger} +!!! danger "Danger" + This copy is still under discussion. + ## Tagline diff --git a/docs/product/feature-ideas.md b/docs/product/feature-ideas.md index 0b3ac5bdd..a31cddad8 100644 --- a/docs/product/feature-ideas.md +++ b/docs/product/feature-ideas.md @@ -2,8 +2,9 @@ These are potential feature ideas for Mathesar. Each section represents a conceptual grouping of features. -> Please note that this list is long and disorganized. Some are slated to be built in our roadmap, and others we might not build at all. Features ideas that are already specced out in our roadmap are not listed here. -{.is-warning} +!!! warning "Warning" + Please note that this list is long and disorganized. Some are slated to be built in our roadmap, and others we might not build at all. Features ideas that are already specced out in our roadmap are not listed here. + ## Views diff --git a/docs/product/index.md b/docs/product/index.md index 6f58ef6d5..714a48c53 100644 --- a/docs/product/index.md +++ b/docs/product/index.md @@ -1,7 +1,8 @@ # About Mathesar -> This page is no longer being updated as of 2023-01-27. Please see our **[main website](https://mathesar.org/)** for more up-to-date information about Mathesar. -{.is-warning} +!!! warning "Warning" + This page is no longer being updated as of 2023-01-27. Please see our **[main website](https://mathesar.org/)** for more up-to-date information about Mathesar. + Mathesar is an open source tool that provides an intuitive user interface to databases. Our aim is to make it easy for non-technical users to be able to work with databases without prior knowledge of database concepts. We're heavily inspired by the user experience of [Dabble DB](https://www.youtube.com/watch?v=MCVj5RZOqwY). diff --git a/docs/product/principles.md b/docs/product/principles.md index ed061df9f..7ef65ee0c 100644 --- a/docs/product/principles.md +++ b/docs/product/principles.md @@ -1,7 +1,8 @@ # Product Principles -> See also [Design Principles](/design/design-principles) -{.is-info} +!!! info "Information" + See also [Design Principles](/design/design-principles) + ## Product diff --git a/docs/product/specs/2022-01-views/01-assumptions.md b/docs/product/specs/2022-01-views/01-assumptions.md index 392aaf1fb..be2e4fc0a 100644 --- a/docs/product/specs/2022-01-views/01-assumptions.md +++ b/docs/product/specs/2022-01-views/01-assumptions.md @@ -2,8 +2,9 @@ Although Queries and Views represent underlying database concepts, we will only be supporting building a subset of possible database queries in the first version of Mathesar. Our goal is to ship a proof of concept that demonstrates common use cases that might be used for an [Inventory Use Case](/design/exploration/use-cases/inventory-use-case). -> Please note that the assumptions and limitations outlined in this page are **only for the alpha release** of Mathesar. We will reevaluate these assumptions after our first release. -{.is-info} +!!! info "Information" + Please note that the assumptions and limitations outlined in this page are **only for the alpha release** of Mathesar. We will reevaluate these assumptions after our first release. + ## Viewing Views diff --git a/docs/projects/2023/07/list-datatype.md b/docs/projects/2023/07/list-datatype.md index bdc011984..ab142ad39 100644 --- a/docs/projects/2023/07/list-datatype.md +++ b/docs/projects/2023/07/list-datatype.md @@ -105,8 +105,9 @@ We should support the following custom grouping types for List cells: - CSV files can be bad-formatted; we have to show a message to the user indicating this error or parse the uknown format as a text column (if possible). ## Resources -> This section will grow over the project's timeframe. -{.is-info} +!!! info "Information" + This section will grow over the project's timeframe. + - **Issues**: [GitHub meta issue]() - **Wiki pages**: diff --git a/docs/projects/future/forms-research.md b/docs/projects/future/forms-research.md index 68f7de11a..43aeab3ff 100644 --- a/docs/projects/future/forms-research.md +++ b/docs/projects/future/forms-research.md @@ -5,8 +5,9 @@ **Theme**: Product research ## Team -> We probably don't need to be this detailed for everything; this is just to show the range of options. -{.is-info} +!!! info "Information" + We probably don't need to be this detailed for everything; this is just to show the range of options. + | Role | Assignee | Notes | |-|-|-| @@ -37,14 +38,16 @@ It is not obvious that copying competing solutions would be a useful strategy, s - Setting deadlines might help ## Resources -> This section collects project related resources. It's expected that there might not be anything here until the project plan is approved, and this section will grow over the project's timeframe. -{.is-info} +!!! info "Information" + This section collects project related resources. It's expected that there might not be anything here until the project plan is approved, and this section will grow over the project's timeframe. + ## Timeline This project should take **5 weeks**. -> Please adjust as needed depending on the steps for the project. -{.is-info} +!!! info "Information" + Please adjust as needed depending on the steps for the project. + | Date | Outcome | | - | - | diff --git a/docs/projects/template.md b/docs/projects/template.md index a7b51d508..bfc596d0d 100644 --- a/docs/projects/template.md +++ b/docs/projects/template.md @@ -1,7 +1,8 @@ # Project Template -> This project is ridiculous on purpose. We are not doing this. -{.is-info} +!!! info "Information" + This project is ridiculous on purpose. We are not doing this. + **Status**: Draft **Review status**: Draft @@ -10,17 +11,20 @@ > Options for status: > **Draft**: The owner is still writing up the project. > **In progress**: Work on the project has started. -> **Complete**: The project is over. -{.is-info} +!!! info "Information" + **Complete**: The project is over. + > Options for review status: > **Draft**: The owner is still writing up the project. > **In review**: The project has been written up, but hasn't been approved yet. -> **Approved**: The project has been approved. -{.is-info} +!!! info "Information" + **Approved**: The project has been approved. + + +!!! info "Information" + **Theme** is the broader goal or theme associated with the project. This is optional and can be omitted. -> **Theme** is the broader goal or theme associated with the project. This is optional and can be omitted. -{.is-info} ## Team **Project owner**: Kriti @@ -54,8 +58,9 @@ Mathesar's next release will include the new feature described under "solution". - Users could be allergic to pizza ingredients. ## Links -> This section collects project related links. It's expected that there might not be anything here until the project plan is approved, and this section will grow over the project's timeframe. -{.is-info} +!!! info "Information" + This section collects project related links. It's expected that there might not be anything here until the project plan is approved, and this section will grow over the project's timeframe. + - **Issues**: [GitHub meta issue]() - **Wiki pages**: @@ -69,5 +74,6 @@ Mathesar's next release will include the new feature described under "solution". ## Timeline This project should fit into the 2023-01-01 cycle. -> Please adjust as needed depending on the steps for the project. -{.is-info} +!!! info "Information" + Please adjust as needed depending on the steps for the project. + diff --git a/docs/team/archive/comms-assignee.md b/docs/team/archive/comms-assignee.md index 1abe79928..966741b0c 100644 --- a/docs/team/archive/comms-assignee.md +++ b/docs/team/archive/comms-assignee.md @@ -1,7 +1,8 @@ # Comms Assignee -> This page is archived and does not reflect current team workflow. -{.is-danger} +!!! danger "Danger" + This page is archived and does not reflect current team workflow. + Every week, one person from the Mathesar [core team](/team) is assigned to be the "Comms Assignee". This means that they are in charge of communication with the community for that week. diff --git a/docs/team/archive/weekly-discussion.md b/docs/team/archive/weekly-discussion.md index 0d679c9c8..9c6b27981 100644 --- a/docs/team/archive/weekly-discussion.md +++ b/docs/team/archive/weekly-discussion.md @@ -1,7 +1,8 @@ # Weekly Discussion -> We're no longer doing these. -{.is-danger} +!!! danger "Danger" + We're no longer doing these. + At the beginning of each week, we start a discussion on [GitHub Discussions](https://github.com/centerofci/mathesar/discussions) to review Mathesar's progress, provide updates to the community, and to check in about our process and workload. Everyone is welcome to add a new topic to discuss or to comment on existing topics. diff --git a/docs/team/meeting-notes/2022/05/2022-05.md b/docs/team/meeting-notes/2022/05/2022-05.md index 4d338972b..1cd61b4b7 100644 --- a/docs/team/meeting-notes/2022/05/2022-05.md +++ b/docs/team/meeting-notes/2022/05/2022-05.md @@ -1,7 +1,8 @@ # May 2022 meeting notes -> We switched to a new team workflow in [April 2022](/meeting-notes/2022-04). May 2022 meetings were focused on planning out Cycle 2 and involved much more whiteboarding and brainstorming. -{.is-info} +!!! info "Information" + We switched to a new team workflow in [April 2022](/meeting-notes/2022-04). May 2022 meetings were focused on planning out Cycle 2 and involved much more whiteboarding and brainstorming. + ## 2022-05-31 **Topic**: Cycle 2 planning meeting diff --git a/docs/team/meeting-notes/2022/06/2022-06.md b/docs/team/meeting-notes/2022/06/2022-06.md index b39eda02f..1a5bd718e 100644 --- a/docs/team/meeting-notes/2022/06/2022-06.md +++ b/docs/team/meeting-notes/2022/06/2022-06.md @@ -1,4 +1,5 @@ # June 2022 meeting notes -> We switched to a new team workflow in [April 2022](/meeting-notes/2022-04). Because of this change, we did not have any large group meetings in June 2022. -{.is-info} +!!! info "Information" + We switched to a new team workflow in [April 2022](/meeting-notes/2022-04). Because of this change, we did not have any large group meetings in June 2022. + diff --git a/docs/team/meeting-notes/2023/07/2023-07-06-installation-meeting.md b/docs/team/meeting-notes/2023/07/2023-07-06-installation-meeting.md index cfdf569b1..272792307 100644 --- a/docs/team/meeting-notes/2023/07/2023-07-06-installation-meeting.md +++ b/docs/team/meeting-notes/2023/07/2023-07-06-installation-meeting.md @@ -1,7 +1,8 @@ # 2023-07-06 installation planning meeting -> See [this page](/meeting-notes/2023-06/2023-06-13-installation-planning-meeting.md) for notes on parts I and II of this meeting. -{.is-info} +!!! info "Information" + See [this page](/meeting-notes/2023-06/2023-06-13-installation-planning-meeting.md) for notes on parts I and II of this meeting. + **Attendees**: Kriti, Brent, Mukesh, Sean, Pavish diff --git a/docs/team/responsibilities/fundraising.md b/docs/team/responsibilities/fundraising.md index 17de64634..b4c78cbbb 100644 --- a/docs/team/responsibilities/fundraising.md +++ b/docs/team/responsibilities/fundraising.md @@ -6,5 +6,6 @@ Moved from: - Project: [Raise additional funding for Mathesar](/projects/funding) -> TODO: add more detail. -{.is-warning} +!!! warning "Warning" + TODO: add more detail. + diff --git a/docs/team/responsibilities/installation-help.md b/docs/team/responsibilities/installation-help.md index b178c8d94..324809114 100644 --- a/docs/team/responsibilities/installation-help.md +++ b/docs/team/responsibilities/installation-help.md @@ -1,7 +1,8 @@ # Installation help -> Draft -{.is-warning} +!!! warning "Warning" + Draft + ## Tasks From 6fa9099e713a4915a4d03f263dd040588d4c1ab0 Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Thu, 24 Aug 2023 09:42:10 -0400 Subject: [PATCH 32/35] Add redirects for files moved during migration Identified via: ``` git diff --name-status 72049f5e > ~/tmp/git-status.tsv ``` Plus, some data massaging via spreadsheet. --- mkdocs.yml | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/mkdocs.yml b/mkdocs.yml index 1d3366384..8665cf73f 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -21,6 +21,79 @@ plugins: 'engineering/setup/common-issues.md': 'https://github.com/centerofci/mathesar/blob/develop/DEVELOPER_GUIDE.md' 'engineering/standards/api.md': 'https://github.com/centerofci/mathesar/blob/develop/mathesar/api/STANDARDS.md' 'engineering/standards/frontend.md': 'https://github.com/centerofci/mathesar/blob/develop/mathesar_ui/STANDARDS.md' + 'community/mentoring.md': 'community/gsoc/index.md' + 'community/mentoring/applicant-guide.md': 'community/gsoc/applicant-guide.md' + 'community/mentoring/mentee-guide.md': 'community/gsoc/mentee-guide.md' + 'community/mentoring/mentor-guide.md': 'community/gsoc/mentor-guide.md' + 'community/mentoring/project-idea-template.md': 'community/gsoc/project-idea-template.md' + 'community/mentoring/project-ideas/api-documentation.md': 'community/gsoc/project-ideas/api-documentation.md' + 'community/mentoring/project-ideas/archive.md': 'community/gsoc/project-ideas/index.md' + 'community/mentoring/project-ideas/auto-suggest-normalization.md': 'community/gsoc/project-ideas/auto-suggest-normalization.md' + 'community/mentoring/project-ideas/automatic-hint-reflection.md': 'community/gsoc/project-ideas/automatic-hint-reflection.md' + 'community/mentoring/project-ideas/break-out-columns.md': 'community/gsoc/project-ideas/break-out-columns.md' + 'community/mentoring/project-ideas/data-export.md': 'community/gsoc/project-ideas/data-export.md' + 'community/mentoring/project-ideas/db-views.md': 'community/gsoc/project-ideas/db-views.md' + 'community/mentoring/project-ideas/dependency-graph.md': 'community/gsoc/project-ideas/dependency-graph.md' + 'community/mentoring/project-ideas/file-data-types.md': 'community/gsoc/project-ideas/file-data-types.md' + 'community/mentoring/project-ideas/import-data-into-existing-tables.md': 'community/gsoc/project-ideas/import-data-into-existing-tables.md' + 'community/mentoring/project-ideas/import-excel-json-files.md': 'community/gsoc/project-ideas/import-excel-json-files.md' + 'community/mentoring/project-ideas/json-data-type.md': 'community/gsoc/project-ideas/json-data-type.md' + 'community/mentoring/project-ideas/json-editor.md': 'community/gsoc/project-ideas/json-editor.md' + 'community/mentoring/project-ideas/kanban-view.md': 'community/gsoc/project-ideas/kanban-view.md' + 'community/mentoring/project-ideas/list-data-type.md': 'community/gsoc/project-ideas/list-data-type.md' + 'community/mentoring/project-ideas/location-data-type.md': 'community/gsoc/project-ideas/location-data-type.md' + 'community/mentoring/project-ideas/make-casting-functions-inlinable.md': 'community/gsoc/project-ideas/make-casting-functions-inlinable.md' + 'community/mentoring/project-ideas/more-data-import-sources.md': 'community/gsoc/project-ideas/more-data-import-sources.md' + 'community/mentoring/project-ideas/more-summarizations.md': 'community/gsoc/project-ideas/more-summarizations.md' + 'community/mentoring/project-ideas/persist-ui-configuration.md': 'community/gsoc/project-ideas/persist-ui-configuration.md' + 'community/mentoring/project-ideas/phone-number-data-type.md': 'community/gsoc/project-ideas/phone-number-data-type.md' + 'community/mentoring/project-ideas/postgis-data-types.md': 'community/gsoc/project-ideas/postgis-data-types.md' + 'community/mentoring/project-ideas/sharable-forms.md': 'community/gsoc/project-ideas/sharable-forms.md' + 'community/mentoring/project-ideas/single-select-data-type.md': 'community/gsoc/project-ideas/single-select-data-type.md' + 'community/mentoring/project-ideas/suggest-candidate-columns.md': 'community/gsoc/project-ideas/suggest-candidate-columns.md' + 'community/mentoring/project-ideas/support-default-postgres-types.md': 'community/gsoc/project-ideas/support-default-postgres-types.md' + 'community/mentoring/project-ideas/ui-import-data-existing-table.md': 'community/gsoc/project-ideas/ui-import-data-existing-table.md' + 'community/mentoring/project-ideas/visualization-of-grouped-data.md': 'community/gsoc/project-ideas/visualization-of-grouped-data.md' + 'community/mentoring/project-ideas/web-sql-editor.md': 'community/gsoc/project-ideas/web-sql-editor.md' + 'community/mentoring/project-proposal-template.md': 'community/gsoc/project-proposal-template.md' + 'design/design-principles.md': 'design/principles.md' + 'engineering/reports.md': 'community/gsoc/index.md' + 'engineering/reports/gsoc-2022-dependents-graph.md': 'community/gsoc/past/2022/dependents-graph.md' + 'engineering/reports/gsoc-2022-importing-data-into-existing-tables.md': 'community/gsoc/past/2022/importing-data-into-existing-tables.md' + 'engineering/reports/gsoc-2022-json-type.md': 'community/gsoc/past/2022/json-type.md' + 'engineering/reports/list-datatype.md': 'community/gsoc/past/2023/list-datatype.md' + 'home.md': 'index.md' + 'product/about.md': 'product/index.md' + 'projects/2023-04-usability-improvements.md': 'projects/2023/04/2023-04-usability-improvements.md' + 'projects/2023-07-backend-fixes.md': 'projects/2023/07/2023-07-backend-fixes.md' + 'projects/2023-07-frontend-fixes.md': 'projects/2023/07/2023-07-frontend-fixes.md' + 'projects/2023-07-product-strategy.md': 'projects/2023/07/2023-07-product-strategy.md' + 'projects/column-moving.md': 'projects/future/column-moving.md' + 'projects/forms-research.md': 'projects/future/forms-research.md' + 'projects/formulas-research.md': 'projects/2023/04/formulas-research.md' + 'projects/funding.md': 'projects/2023/04/funding.md' + 'projects/gather-user-feedback.md': 'projects/2023/04/gather-user-feedback.md' + 'projects/installation-documentation-improvements.md': 'projects/2023/04/installation-documentation-improvements.md' + 'projects/installation-improvements-0_1_3.md': 'projects/2023/07/installation-improvements-0_1_3.md' + 'projects/installation-improvements-0_1_4.md': 'projects/2023/08/installation-improvements-0_1_4.md' + 'projects/installation-improvements-plan-0_1_4.md': 'engineering/specs/installation-improvements-plan-0_1_4.md' + 'projects/internationalization.md': 'projects/2023/07/internationalization.md' + 'projects/list-datatype.md': 'projects/2023/07/list-datatype.md' + 'projects/list-datatype/frontend-specs.md': 'engineering/specs/list-data-type-frontend-specs.md' + 'projects/niche-research.md': 'projects/2023/08/niche-research.md' + 'projects/preexisting-postgres.md': 'projects/2023/08/preexisting-postgres.md' + 'projects/public-links-research.md': 'projects/2023/04/public-links-research.md' + 'projects/release-0-1-2.md': 'projects/2023/04/release-0-1-2.md' + 'projects/shareable-links-implementation.md': 'projects/2023/07/shareable-links-implementation.md' + 'projects/sql-alchemy-remove.md': 'projects/future/sql-alchemy-remove.md' + 'projects/sql-ddl-operations.md': 'projects/2023/07/sql-ddl-operations.md' + 'projects/sql-dml-operations.md': 'projects/future/sql-dml-operations.md' + 'projects/sql-dql-operations.md': 'projects/future/sql-dql-operations.md' + 'projects/t-shirts.md': 'projects/2023/04/t-shirts.md' + 'projects/user-feedback-kickoff.md': 'projects/2023/04/user-feedback-kickoff.md' + 'team/guide/issue-assignment.md': 'team/guide/issues.md' + 'team/guide/issue-triage.md': 'team/guide/issues.md' + 'team/members.md': 'team/index.md' theme: name: material From 3a3838f8ba67730d4658845d28183adeca2bc0df Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Thu, 24 Aug 2023 10:00:34 -0400 Subject: [PATCH 33/35] Add redirects for prominent /en/ paths --- mkdocs.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/mkdocs.yml b/mkdocs.yml index 8665cf73f..78deea38a 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -94,6 +94,20 @@ plugins: 'team/guide/issue-assignment.md': 'team/guide/issues.md' 'team/guide/issue-triage.md': 'team/guide/issues.md' 'team/members.md': 'team/index.md' + 'en.md': 'index.md' + 'en/community.md': 'community/index.md' + 'en/community/mailing-lists.md': 'community/mailing-lists.md' + 'en/community/matrix.md': 'community/matrix.md' + 'en/design.md': 'design/index.md' + 'en/engineering/code-review.md': 'engineering/code-review/index.md' + 'en/engineering/reports.md': 'community/gsoc/index.md' + 'en/engineering/reports/gsoc-2022-dependents-graph.md': 'community/gsoc/past/2022/dependents-graph.md' + 'en/engineering/reports/gsoc-2022-importing-data-into-existing-tables.md': 'community/gsoc/past/2022/importing-data-into-existing-tables.md' + 'en/engineering/reports/gsoc-2022-json-type.md': 'community/gsoc/past/2022/json-type.md' + 'en/engineering/reports/list-datatype.md': 'community/gsoc/past/2023/list-datatype.md' + 'en/home.md': 'index.md' + 'en/product/specs/users-permissions.md': 'product/specs/users-permissions.md' + 'en/team.md': 'team/index.md' theme: name: material From 534d92cce8cd241f99da08d8f7a5e1f5ebfae4da Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Thu, 24 Aug 2023 10:10:48 -0400 Subject: [PATCH 34/35] Copy CSS in from docs site --- docs/stylesheets/extra.css | 153 +++++++++++++++++++++++++++++++++++++ mkdocs.yml | 5 +- 2 files changed, 157 insertions(+), 1 deletion(-) create mode 100644 docs/stylesheets/extra.css diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css new file mode 100644 index 000000000..fa915bb3c --- /dev/null +++ b/docs/stylesheets/extra.css @@ -0,0 +1,153 @@ +:root, +[data-md-color-scheme="default"] { + --md-accent-fg-color: #eb5441; + --md-admonition-bg-color: var(--md-default-bg-color); + --md-admonition-fg-color: var(--md-default-fg-color); + --md-code-bg-color: #e4e0d7; + --md-code-fg-color: #25292e; + --md-default-bg-color: #f9f8f6; + --md-default-fg-color--light: #4b535d; + --md-default-fg-color--lighter: #959da6; + --md-default-fg-color--lightest: #c3cdd8; + --md-footer-bg-color: #000000de; + --md-footer-bg-color--dark: #00000052; + --md-footer-fg-color: #fff; + --md-footer-fg-color--light: #ffffffb3; + --md-footer-fg-color--lighter: #ffffff73; + --md-link-color: #075cbe; + --md-primary-fg-color: #25292e; + --md-secondary-bg-color-default: #edece6; + --md-typeset-del-color: #f5503d26; + --md-typeset-ins-color: #0bd57026; + --md-typeset-kbd-accent-color: #fff; + --md-typeset-kbd-border-color: #b8b8b8; + --md-typeset-kbd-color: #fafafa; + --md-typeset-mark-color: #ffff0080; + --md-typeset-table-color: #0000001f; + --md-typeset-table-color--light: rgba(0, 0, 0, 0.035); + --md-warning-bg-color: #ff9; + --md-warning-fg-color: #000000de; +} + +[data-md-color-scheme="slate"] { + --md-accent-fg-color: #ff5c47; + --md-default-bg-color: #2c3037; + --md-link-color: #3191ff; + --md-primary-bg-color--lightest: #fafafa; + --md-primary-fg-color--light: #a6a9af; + --md-typeset-a-color: #fff; +} + +.md-nav--primary > .md-nav__list .md-nav__link--active { + background-color: var(--md-code-bg-color); + border-radius: 4px; + color: var(--md-primary-fg-color--lightest); + font-weight: 700; +} + +.md-nav--secondary { + border: 1px solid var(--md-code-bg-color); + border-radius: 4px; + padding: 1em; + position: relative; +} + +.md-nav--secondary > .md-nav__list .md-nav__link { + display: block; + margin-top: 0; + overflow: visible; + padding: 0.25em 0.5em; + position: relative; + color: var(--md-default-fg-color--light); +} + +.md-nav--secondary > .md-nav__list .md-nav__link::before { + content: "◆"; + font-size: 0.5em; + left: -0.5em; + opacity: 0; + position: absolute; + top: 0.6rem; + transform: translateY(-50%); +} + +.md-nav--secondary > .md-nav__list .md-nav__link--active::before { + opacity: 1; +} + +.md-nav--secondary .md-nav__list .md-nav__link { + display: block; + margin-top: 0; + padding: 0.25em 0.5em; +} + +.md-nav--secondary .md-nav__title { + background: none; + box-shadow: none; +} + +.md-nav__item--section > .md-nav__link { + color: var(--md-default-fg-color--lighter); + font-size: 0.85em; + text-transform: uppercase; +} + +.md-nav__list .md-nav__item:first-child { + border-top: none; +} + +.md-nav__list > .md-nav__item > .md-nav__link { + margin-top: 0; + padding: 0.25em 0.5em; +} + +.md-nav__title { + font-size: 0.85em; + padding: 0.5em; + text-transform: uppercase; + width: max-content; +} + +.md-typeset a { + color: var(--md-link-color); + text-decoration: underline; +} + +.md-typeset h1 { + border-bottom: 2px solid var(--md-primary-fg-color); + color: var(--md-primary-fg-color); + font-weight: 600; +} + +.md-typeset h2 { + font-weight: 600; +} + +[data-md-color-scheme="default"] .md-nav--secondary { + background-color: var(--md-secondary-bg-color-default); +} + +.md-nav__list .md-nav__link:hover { + color: var(--md-accent-fg-color); +} + +[data-md-color-scheme="slate"] .md-nav--secondary { + border: 1px solid var(--md-primary-fg-color--light); +} + +.md-nav--secondary > .md-nav__list .md-nav__link--active { + color: var(--md-primary-bg-color--lightest); +} + +[data-md-color-scheme="slate"] .md-nav--secondary > .md-nav__list .md-nav__link--active::before { + color: var(--md-primary-bg-color--lightest); +} + +[data-md-color-scheme="slate"] .md-nav__item--section > .md-nav__link { + color: var(--md-primary-fg-color--light); +} + +[data-md-color-scheme="slate"] .md-typeset h1 { + border-bottom: 2px solid var(--md-primary-fg-color--light); + color: var(--md-primary-bg-color--lightest); +} diff --git a/mkdocs.yml b/mkdocs.yml index 78deea38a..f5f0920b6 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -132,7 +132,10 @@ theme: toggle: icon: material/brightness-4 name: Switch to light mode - + +extra_css: + - stylesheets/extra.css + markdown_extensions: - admonition - attr_list From c4945f2d787449859e01afef251166408b4e89be Mon Sep 17 00:00:00 2001 From: Sean Colsen Date: Thu, 24 Aug 2023 10:22:12 -0400 Subject: [PATCH 35/35] Adjust CSS to fix weird shadow issue in nav --- docs/stylesheets/extra.css | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css index fa915bb3c..92d4b0353 100644 --- a/docs/stylesheets/extra.css +++ b/docs/stylesheets/extra.css @@ -38,6 +38,14 @@ --md-typeset-a-color: #fff; } +.md-nav--primary > label.md-nav__title { + /** + * Without this, the "Mathesar Wiki" label has a shadow that partially + * obscures the "Home" link below it. + */ + box-shadow: none; +} + .md-nav--primary > .md-nav__list .md-nav__link--active { background-color: var(--md-code-bg-color); border-radius: 4px;