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

Link Tables / Relational column field #172

Open
xbluemonkx opened this issue Mar 22, 2023 · 13 comments
Open

Link Tables / Relational column field #172

xbluemonkx opened this issue Mar 22, 2023 · 13 comments
Assignees
Labels
1. to develop Accepted and waiting to be taken care of enhancement New feature or request

Comments

@xbluemonkx
Copy link

It would be amazing if we coul activate a Key-Field in a table and re-use that key field in a second table.

Here is an example use-case:

  • Table A: List of Movies
    -- Fields: Name, Year, Category, etc.
    -- Key Field: Name

  • Table B: Comments
    -- Fields: Name (From Table A), Rating, Comment

That would be amazing because, than you could add a Link in Table A that says "show comments" that links to Table B that is Pre-Filtered (#171) for the Movie that you want to see the comments for.

Long term goal would be to pre-aggregate the informations from Table B in Table A. So instead of having a column with a link that says "show comments" we could have a column that says "average rating" or "number of comments".

@datenangebot
Copy link
Collaborator

Hi,

thanks for your issue.
That is exactly what I want to do. It is on the roadmap and I like to use this issue to track that.

@datenangebot datenangebot added enhancement New feature or request 1. to develop Accepted and waiting to be taken care of labels Mar 23, 2023
@datenangebot datenangebot added this to the v0.5.0 milestone Mar 23, 2023
@xbluemonkx
Copy link
Author

xbluemonkx commented Mar 23, 2023

amazing to hear this! while I am not able to support you code-wise, I have a use-case ready and I am happy to support you as a beta tester and provide feedback.

is there any ETA on the v0.5? I saw that v1 is estamated for end of june, does it mean v0.5 will be available earlier? I am really excited!

@datenangebot
Copy link
Collaborator

I add some new features and fix bugs over the time an release it as 0.x releases. The over all roadmap can be found as a github project. The detailed planning as milestones, but that's a lot dynamic in there... 🙃

So, yes there will be some releases before the hopefully absolute stable 1.0 release. Testing is welcome. Thx!

@datenangebot datenangebot changed the title Link Tables by Key Link Tables Apr 21, 2023
This was referenced Apr 21, 2023
@juliushaertl juliushaertl modified the milestones: v0.5.0, v0.6.0 May 3, 2023
@almereyda
Copy link

Merging of #375 for the #234 use case brought the ability to link to any Nextcloud resource that exposes a search provider.

Could this mean in return, that Tables should implement one for itself, and it will immediately be able to link to a table? Or would we rather want to link to selected columns, as presented in the OP?

Then we could retitle this one a bit to *Link columns between tables", or: "Create table from table"

The other use case could be to reference (multiple) items from a certain table in a column, similar to how we reference other resources in #234.

@xbluemonkx
Copy link
Author

@almereyda I think we have two different use cases here.

  1. referencing ressources: If we consider tables as ressources we could create a table that has a link to another table. e.g. you could create a table that is called "all my tables" and in each row you can enter one of your tables and then use the reference feature to link to the table. if you click on the link you will be forwarded to the linked table. - even i don't think this specific example is very helpful, I like the idea that tables should expose a search provider by themselves. not only that you could use it in the described way, but you could also reference a table in the chat. that would be very helpful from time to time.

  2. actually linking tables: this is what this OP is about.

@datenangebot
Copy link
Collaborator

@almereyda Thanks for clarification. I agree, we have to different use cases here.

The first is not yet implemented and will bring some linking of data per row between tables. So an order in a table "orders" can refer to a customer from the table "customers" or whatever.

The second use case is now merged, but not yet shipped, about linking (means giving a route to external resources) resources what we now within our nextcloud or as plain url for whatever. We don't want to reinvent the wheel, so we reuse the search logic and so we provide all the resources that are provided via the search logic. This includes the tables itself, but only the tables and hopefully upcoming also the views for tables. No rows. That's it.

@almereyda
Copy link

Thank you for the clarifications and confirmations!

@datenangebot datenangebot modified the milestones: v0.6.0, v0.7.0, v0.8.0 Sep 7, 2023
This was referenced Nov 6, 2023
@juliushaertl juliushaertl modified the milestones: v0.8.0, Upcoming Jan 19, 2024
@juliushaertl juliushaertl removed this from the v0.8.0 milestone Feb 15, 2024
@enjeck enjeck changed the title Link Tables Link Tables / Relational column field Apr 14, 2024
@xbluemonkx
Copy link
Author

@juliushaertl - this is probably one of the most complex Feature requests at the moment, but for us it is a must have, before we can start using tables app in our work routines. this has been moved from milestone to milestone and at the moment it is not yet assigned to any milestone anymore. would it be possible for you to provide some insights on the internal progress / roadmap regarding this idea?

@dillardblom
Copy link

@juliushaertl @datenangebot Although I realise this is not an easy-to-implement enhancement, but it would indeed be a great feature. I'm not suggesting to build a own referential database system, for those there are better options available (outside of the Nextcloud framework), but for a 'simple' application as the movie app OP has given as example, or a student, classes and grades internal app (table1 : student information, table 2 : available classes, table 3 : student (link), class (link), grade. ) this would be a great solution.

So is there any idea when this would become a milestone target?

@marcoambrosini
Copy link
Member

@nextcloud/designers this was picked for 31

@juliushaertl
Copy link
Member

This is not fully specified yet on how we want to approach it. My first though would be to introduce a new column type for relation to another row or multiple rows.

  • When creating the column you can limit it to a specific table/view
  • The column setting needs an option to configure what information to show in the column (e.g. which column from the other table)

Some example use cases:

  • You have a table listing your teams (e.g. office team, groupware team), then you have a feature list table where each feature gets assigned to one team
  • There is an invoice and a invoice positions table, each invoice position gets linked to one invoice
  • There is an feature list table and a customers table, each feature can have multiple customers referenced for noting interest in a feature

Open questions:

  • Do we want to have back references?

We should come up with a proper mockup together with the design team about this and then discuss how this can be technically implemented.

@xbluemonkx
Copy link
Author

xbluemonkx commented Sep 19, 2024

HI,

glad to see this is still beeing worked on. Just as an Input for the Brainstorming I made up a scenario.
grafik

And please keep in mind, that you might want to connect more then two tables. E.G. "Movies" + "Actors" + "Filming Locations"

@xbluemonkx
Copy link
Author

xbluemonkx commented Sep 22, 2024

I would like to add one more use case, that is probably the most used in the end.
Given the VIEW: Results. I want to click on one rating. and this should open "VIEW: Detailed Results", but pre-filtered to the single movie that belongs to the rating i clicked on.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1. to develop Accepted and waiting to be taken care of enhancement New feature or request
Projects
Status: 📄 To do (~10 entries)
Status: 📐 At design
Development

No branches or pull requests

7 participants