Skip to content

Latest commit

 

History

History
107 lines (70 loc) · 4.68 KB

README.md

File metadata and controls

107 lines (70 loc) · 4.68 KB

DataCurator

A collaborative real time planning application for complex projects. Integrates a subset of features from:

Find out more at DataCurator.org, view an example map or sign up

Data storage

The data is store in a Supabase account we operate. In future we would like you to be able to more easily host your own data in Solid pods or something equivalent.

Future improvements

  • Provide single pages for components, like a wikipedia page
    • For each component allow many different data sets, versions of these sets, published by different authors, to be associated with each
  • Support simple calculations to derive data from other data sets
  • Use these data sets inside existing maps by providing a data field in the statev2 component
  • Support multiple attributes similar to Kumu, alternatively allow components within a parent view to be an addressable i.e. be like "public" class attributes in programming languages.
    • Allow causal connections to specify these
  • Graph exploration features
    • Show the shortest connections between two different groups of nodes
  • Support a Modelica compliant model of causal effects within a system
    • allow these models to be exported
    • have a generic simulation/interaction engine for these models with a UI like Loopy or InsightMaker to help people build intuitions about how the complex systems might behave to various changes and interventions
    • allow people to build more complex (in terms of visuals & interactive) simulations like TheWorldSim
  • Improve multi user real time editing
    • add current user cursors'
    • update
    • show which knowledge view/map other users are looking at
    • conflict-free replicated data type (CRDT) for description text and other fields
  • Use Solid pods or a different self-hostable backend like Mathesar

Local app development

Setup (on Mac)

$ git clone [email protected]:centerofci/DataCurator.git

Install frontend dependencies

cd app/frontend
pnpm install

Running the app

Start the frontend server

cd app/frontend
npm start

Then visit http://localhost:8080/app#wcomponents/&view=knowledge

Deployment notes

DataCurator currently hosted on Github

Setup

# Clone into adjacent directory
git clone [email protected]:AJamesPhillips/data-curator-build.git

Build & deployment

Currently broken as of 2023-09-05

./build.sh
cd ../data-curator-build
git commit
git push

Console API

You can navigate to a knowledge view, open the developer console, and use the following script to get a matrix of the connected components:

    current_visible_graph = window.console_api.get_current_visible_graph()
    connection_matrix = current_visible_graph.get_connection_matrix()

    console.log(window.console_api.matrix_to_csv(connection_matrix))

If you want to get the components by title instead of ID you can use:

    connection_matrix_using_titles = window.console_api.matrix_component_ids_to_titles(window.console_api.get_wcomponents_by_id(), connection_matrix)
    console.log(window.console_api.matrix_to_csv(connection_matrix_using_titles))

If you want to get the components by a compound of their labels and an ordinal you can use:

    component_id_to_label_names_map = current_visible_graph.get_component_id_to_label_names_map()
    connection_matrix_using_label_names = window.console_api.matrix_component_ids_to_labels(component_id_to_label_names_map, connection_matrix)
    console.log(window.console_api.matrix_to_csv(connection_matrix_using_label_names))