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

Implement pagination, filtering, and export functionality for report and script results #10587

Closed
atownson opened this issue Oct 6, 2022 · 9 comments
Assignees
Labels
status: accepted This issue has been accepted for implementation type: feature Introduction of new functionality to the application
Milestone

Comments

@atownson
Copy link
Contributor

atownson commented Oct 6, 2022

NetBox version

v3.3.5

Feature type

New functionality

Proposed functionality

My proposal is to implement pagination, filtering, and export options for the report Report Results panel and the script Script Log panel.

For pagination, implement pagination for reports (Report Results panel) and scripts (Script Log panel) in the same manner as the model table pages, with a Per Page input.

As far as filtering for reports, the current Report Methods panel provides hyperlinks to the method results in the Report Results panel. Instead of grouping the results by Method in the Report Results panel, create a new "Method" column which could be filtered. Perhaps the Report Methods panel hyperlinks could be transitioned to provide quick filters rather than hyperlinks. My suggestion for filtering options would be to provide dropdown inputs to filter the Method and Level fields and textboxes to filter the Object and Message fields. Filters could be provided in a Filters tab, similar to the model table pages, to conserve real estate on the page.

My suggestion for filtering the Script Log for scripts would be to provide a dropdown input to filter the Level field and a textbox to search the Message field.

For export, implement exporting for reports (Report Results panel) and scripts (Script Log panel) in a similar manner as the model table pages, with an Export dropdown. I don't see a need for export template functionality. But rather simply "Export All" and "Export Filtered" options to export all results and the currently filtered results respectively.

Use case

Pagination would prevent the page content from becoming too large if many results are returned.

Filtering would allow users to better organize or search the results.

Export functionality would allow the results to be used outside the NetBox environment (i.e. emailed to users to correct certain modeling mistakes).

Database changes

None

External dependencies

None

@atownson atownson added the type: feature Introduction of new functionality to the application label Oct 6, 2022
@kkthxbye-code
Copy link
Contributor

Some of this will be covered when I finish job scheduling:

#10417

However probably not exactly you describe it. I actually have a hard time visualising exactly what you are suggesting, could you perhaps make some crude drawings?

@atownson
Copy link
Contributor Author

atownson commented Oct 6, 2022

@kkthxbye-code, here's an illustration for Scripts:
image

@atownson
Copy link
Contributor Author

atownson commented Oct 6, 2022

@kkthxbye-code, here's an illustration for Reports:
image

@github-actions
Copy link
Contributor

github-actions bot commented Dec 6, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. NetBox is governed by a small group of core maintainers which means not all opened issues may receive direct feedback. Do not attempt to circumvent this process by "bumping" the issue; doing so will result in its immediate closure and you may be barred from participating in any future discussions. Please see our contributing guide.

@github-actions github-actions bot added the pending closure Requires immediate attention to avoid being closed for inactivity label Dec 6, 2022
@jeremystretch
Copy link
Member

Related: #9376

@jeremystretch jeremystretch added status: under review Further discussion is needed to determine this issue's scope and/or implementation and removed pending closure Requires immediate attention to avoid being closed for inactivity labels Dec 27, 2022
@ryanmerolle ryanmerolle added this to the v3.5 milestone Jan 12, 2023
@renatoalmeidaoliveira
Copy link
Contributor

@atownson since you are working in scripts, maybe some kind of "script hook" could be a nice feature.
That way the user can setup a script to be runned when something changes in Netbox

@jeremystretch
Copy link
Member

Great idea! @renatoalmeidaoliveira I just opened FR #11827 for this.

@ryanmerolle ryanmerolle modified the milestones: v3.5, v3.6 Mar 23, 2023
@ryanmerolle
Copy link
Contributor

pushed to 3.6 milestone

@jeremystretch jeremystretch modified the milestones: v3.6, v4.0 Jun 15, 2023
@jeremystretch jeremystretch added status: accepted This issue has been accepted for implementation and removed status: under review Further discussion is needed to determine this issue's scope and/or implementation labels Jun 15, 2023
@lucasalvatore
Copy link

lucasalvatore commented Jul 25, 2023

👋 would love to be able to filter reports on the UI based on level (or any other row heading really)
e.g., running a report on this many devices:

image

is hard to get value out of the results due to so many devices on a single page. Would love to filter these

@arthanson arthanson self-assigned this Feb 27, 2024
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jun 12, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status: accepted This issue has been accepted for implementation type: feature Introduction of new functionality to the application
Projects
None yet
Development

No branches or pull requests

7 participants