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

Visualization via Analytics? #16

Closed
Rello opened this issue Mar 10, 2022 · 19 comments
Closed

Visualization via Analytics? #16

Rello opened this issue Mar 10, 2022 · 19 comments
Labels
enhancement New feature or request question Further information is requested

Comments

@Rello
Copy link
Contributor

Rello commented Mar 10, 2022

Hi,

I just accidentally stumbled across your app.

First I like the tables idea - do you have a plan to release the app soon? I see quite some usecases where currently e.g. OnlyOffice is used but this is quite some overhead.

Second: I am doing the Analytics app. Your tables could be a good use-case for a connector to visualize its content. Analytics is quite flexible to include other data via modular datasources. Then there might not be the need for a new visualization for you.
Let me know if you are interested in connecting our apps
https://github.com/Rello/analytics

Regards,
Rello

@datenangebot
Copy link
Collaborator

Hi,

thanks for your message. Great idea!
About the app store release: It will come soon. https://github.com/datenangebot/tables/milestone/1

A connector to your analytics app is a good idea. What way do you connect to data sources?
I will add an simple api in a few days. Can that be used?

regards

@datenangebot datenangebot added enhancement New feature or request question Further information is requested labels Mar 10, 2022
@Rello
Copy link
Contributor Author

Rello commented Mar 10, 2022

Hi,
actually it could much more native integration. the API would require authentication plus a lot of overhead during the transfer of data.

Analytics has a way to register a native datasource in other apps.
https://github.com/Rello/analytics/wiki/Register-own-datasource
technically its just 3 files - I would offer a pull request for this.

If I am not wrong, this datasource would simply read from RowService=>findAllByTable to get the data by table. is this correct?

I would need install the app on my side to look at the details. but that would be the idea.

@datenangebot
Copy link
Collaborator

Hi,

the pull request is highly welcome. 😜

If you ask the rowService, the columns have only an id not a title. For now you have to map the id with data from the columnService. I can serve a easy method to return the title or the column object for a requested columnId. Is that helpful?

@datenangebot
Copy link
Collaborator

Here is the first release that should be useable https://apps.nextcloud.com/apps/tables

@Rello
Copy link
Contributor Author

Rello commented Mar 31, 2022

Hi,
yes. saw it. will have a look the next days.
keep up

@Rello
Copy link
Contributor Author

Rello commented May 21, 2022

just for info.
I am testing your app now. will get back with this shortly. really like your approach

@tatrapikao
Copy link

Hi, just stumbled across this topic. Is there now a documented method to use a table in the analytics app?

@Rello
Copy link
Contributor Author

Rello commented Jan 27, 2023

oh, good reminder :-)
I put this on my schedule for the winter holidays next week

@Rello
Copy link
Contributor Author

Rello commented Jan 30, 2023

@datenangebot
I am looking into your setup. while I understand why do did it for flexibility, its a little difficult to work into the data parser you have in javascript.

I would need to implement the logic in the php backend but if you could support, it would be much quicker. you know your logic by heart.
Also from consistency, this logic should be placed in your RowService and ColumnService and not doubled somewhere else.

Data

I need the raw data in an array with the records in the "rows".

Bildschirm­foto 2023-01-30 um 19 56 38

your rowService has one array per row->data->rows per column
Bildschirm­foto 2023-01-30 um 20 02 24

Is it possible that you can provide a function (getRawData?) in RowService for this?

Headers

If there could a similar function (getRawHeader?) in ColumnService?
Bildschirm­foto 2023-01-30 um 19 57 04

Next steps

  • As the datasource is dependent on your app, it should be provided from your app (and register itself in Analytics) and not developed the other way. By this it can utilize our services and mappers.
  • I will provide one /lib/Datasource file
  • I will provide one /lib/Listener file
  • I will provide one listener for Application.php
  • all via a pull request to your app

do you think this is possible?

@datenangebot
Copy link
Collaborator

Yes, I can do that. It's the way I want to expose the data for an API. Let me see if I can make it today or tomorrow.
And after that, an PR for the integration would be perfect.

@Rello
Copy link
Contributor Author

Rello commented Jan 31, 2023

perfect.
i think in the API controller you might merge them anyway into one array. so no double work :-)

@datenangebot
Copy link
Collaborator

Don't you need the column types? Or do you parse yourself if its a number or whatever?

@Rello
Copy link
Contributor Author

Rello commented Feb 2, 2023

Hi,
to keep it simple, Analytics expects the value in the last column. I solve this by a column selector in the data source to be flexible.
in this case, lets start with plain data without metadata.

@datenangebot
Copy link
Collaborator

Okay, here we go:

There is a branch that refactors a lot of stuff in the backend, thats why I started a new branch for the API and your request: https://github.com/nextcloud/tables/tree/feat/api
Please use that one for dev and testing. Merging to release is planned for the next week.

Docs for the API are here, but I guess you like to use the V1Api class directly...

I hope thats what you ar elooking for?

@Rello
Copy link
Contributor Author

Rello commented Feb 4, 2023

Hi, any chance that you make ready app of the api tree? I don´t use npm, webpack & co - so I don`t have this setup prepared.
While I could still connect to the API, it would make maintaining testrecords easier for me...

@Rello
Copy link
Contributor Author

Rello commented Feb 4, 2023

Update: first version working

App-dependent data source is available in Analytics
Bildschirm­foto 2023-02-04 um 23 42 32

Tables can be selected - using tableService->findAll()
Bildschirm­foto 2023-02-04 um 23 43 08

Column selection by index at the moment
Bildschirm­foto 2023-02-04 um 23 44 42

Data showing up in the report
Bildschirm­foto 2023-02-04 um 23 45 22

...more testing and then the pull the next days...

@Rello
Copy link
Contributor Author

Rello commented Feb 5, 2023

same applies for realtime reports of course
tables

@Rello
Copy link
Contributor Author

Rello commented Feb 5, 2023

#120

@datenangebot
Copy link
Collaborator

Integration is done, closing this issue.

elzody added a commit that referenced this issue May 31, 2024
# This is the 1st commit message:

feat: create and edit rows from tables interactive widget

Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>

# This is the commit message #2:

fix: set store in widget

Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>

# This is the commit message #3:

fix: properly access store to create new row

Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>

# This is the commit message #4:

fix: search functionality

Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>

# This is the commit message #5:

fix: row reactivity

Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>

# This is the commit message #6:

feat: add component testing skeleton files

Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>

# This is the commit message #7:

test: start component testing for content reference widget

Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>

# This is the commit message #8:

fix: point package.json scripts to webpack.config.js

Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>

# This is the commit message #9:

fix(test): properly mount component

Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>

# This is the commit message #10:

fix(test): use default options and mix in given mount options

Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>

# This is the commit message #11:

fix(tests): add styles for components

Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>

# This is the commit message #12:

refactor(tests): move richObject to fixture

Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>

# This is the commit message #13:

test: verify table title after mounting component

Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>

# This is the commit message #14:

test: test searching in widget

Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>

# This is the commit message #15:

refactor(tests): organize mount test

Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>

# This is the commit message #16:

fix: resolve pagination issues

Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>

# This is the commit message #17:

fix: change viewport dimensions in cypress config

Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>

# This is the commit message #18:

fix: refine row selector

Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants