Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrating Tables & Ontology editor #845

Closed
joepio opened this issue Feb 19, 2024 · 2 comments · Fixed by #871
Closed

Integrating Tables & Ontology editor #845

joepio opened this issue Feb 19, 2024 · 2 comments · Fixed by #871
Assignees
Labels
browser enhancement New feature or request

Comments

@joepio
Copy link
Member

joepio commented Feb 19, 2024

In 2023, we added two new features: the Ontology editor, and the Table editor. Both of these allow users to create and edit a data model. I think it's a good thing that both of these have a different UI, as their usecases are different, too. However, we should also consider how both of these could be integrated.

Consider some scenarios:

  • After creating a nice model in your ontology, you want to make instances. You can do this using the "new" forms, but it's kind of cumbersome without the table editor.
  • You made a table, and use it for important data. You want to document your model and share it with others. How can you do this?

"Create table" button from Class

  • Add a button to a class in the Ontology viewer / editor to "create a table" for that class
  • The properties should be linked, so if the user adds a column to the table, it should be added to the Class + Ontology

Select a class when creating a table

Show some buttons here

Screenshot 2024-03-11 at 11 26 11

One default ontology per drive - all classes stored there

  • Every drive could have (at least) one Ontology, created by default when creating the drive
  • When a table is created, that class is added to the ontology
  • The owner of the class + properties is the Ontology, not the table

Reuse property dialogs in Ontology editor

  • Means we should also update various views (e.g. currency format in other views)
@joepio joepio added enhancement New feature or request browser labels Feb 19, 2024
@joepio
Copy link
Member Author

joepio commented Feb 26, 2024

@Polleps What are your thoughts on this?

@Polleps
Copy link
Member

Polleps commented Feb 27, 2024

After creating a nice model in your ontology, you want to make instances. You can do this using the "new" forms, but it's kind of cumbersome without the table editor.

I don't think this is the case at all, I'd rather create a blogpost in a full page form than in a table row for example. Tables only make sense for things that are semantically already row-like. For example rows on an invoice, but even then they only hold meaning when taken together as part of a whole invoice and lose that meaning when all invoice rows of all invoices are thrown into the same table.

You made a table, and use it for important data. You want to document your model and share it with others. How can you do this?

Technically you can already do this by manually adding the table's class and properties to the ontology but the UX for this is bad and could be improved.

Add a button to a class in the Ontology viewer / editor to "create a table" for that class

This could be nice but one problem we face is "Where do we put this table" since the location of the table can hold semantic meaning e.g. a recipe table in a folder called "Things I like" would mean something different when the folder was called "Allergy problems"

I think it would make more sense to let the user choose existing classes when making a table

Every drive could have (at least) one Ontology, created by default when creating the drive
When a table is created, that class is added to the ontology
The owner of the class + properties is the Ontology, not the table

This is a good idea and would make it more like how most CMS's work. Only small problem we'd have to solve is what we name the ontology as this has some significance in semantics and when generating types.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
browser enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants