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

Performance: Evaluate options to make the table/view row listing paginated #941

Open
Tracked by #279
juliusknorr opened this issue Mar 18, 2024 · 1 comment
Open
Tracked by #279
Assignees
Labels
1. to develop Accepted and waiting to be taken care of performance Performance issues and optimisations 🍂 2024-Autumn

Comments

@juliusknorr
Copy link
Member

juliusknorr commented Mar 18, 2024

We need to get an overview how complex adding pagination for row results from tables/views is, given that views are filtered on the backend.

@blizzz
Copy link
Member

blizzz commented Mar 19, 2024

Tables

For tables there are already endpoints on the Api1 Controller that support pagination:

$ ack indexTableRows
appinfo/routes.php
46:             ['name' => 'api1#indexTableRowsSimple', 'url' => '/api/1/tables/{tableId}/rows/simple', 'verb' => 'GET'],
47:             ['name' => 'api1#indexTableRows',       'url' => '/api/1/tables/{tableId}/rows', 'verb' => 'GET'],

lib/Controller/Api1Controller.php
909:    public function indexTableRowsSimple(int $tableId, ?int $limit, ?int $offset): DataResponse {
939:    public function indexTableRows(int $tableId, ?int $limit, ?int $offset): DataResponse {

It seems to be unused by the frontend though, there RowController::index() is being called. Might be even a drop-in replacement.

Views

The same is acutally valid for Views. The Api1 Controller supports pagination:

$ ack indexViewRows 
appinfo/routes.php
48:             ['name' => 'api1#indexViewRows',        'url' => '/api/1/views/{viewId}/rows', 'verb' => 'GET'],

lib/Controller/Api1Controller.php
969:    public function indexViewRows(int $viewId, ?int $limit, ?int $offset): DataResponse {

but RowController::indexView is used.

Conclusio

If the frontend cannot use the routes of Ap1Controller, we can easily add the optional arguments as the same service methods are being used..

@juliusknorr juliusknorr moved this from 📄 To do (~10 entries) to 🧭 Planning evaluation (don't pick) in 📝 Office team Apr 4, 2024
@juliusknorr juliusknorr moved this from 🧭 Planning evaluation (don't pick) to 📄 To do (~10 entries) in 📝 Office team Apr 4, 2024
@blizzz blizzz moved this from 📄 To do (~10 entries) to 🏗️ In progress in 📝 Office team Apr 15, 2024
@juliusknorr juliusknorr added 1. to develop Accepted and waiting to be taken care of performance Performance issues and optimisations labels Apr 17, 2024
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 performance Performance issues and optimisations 🍂 2024-Autumn
Projects
Status: 🏗️ In progress
Development

No branches or pull requests

3 participants