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

Enable pinning objects to a user's home page #8248

Closed
jeremystretch opened this issue Jan 5, 2022 · 7 comments
Closed

Enable pinning objects to a user's home page #8248

jeremystretch opened this issue Jan 5, 2022 · 7 comments
Assignees
Labels
status: accepted This issue has been accepted for implementation type: feature Introduction of new functionality to the application
Milestone

Comments

@jeremystretch
Copy link
Member

NetBox version

v3.1.4

Feature type

New functionality

Proposed functionality

Include a "pin to homepage" button on the view for (almost?) every object. When clicked, a new record will be created associating the object with the current user as a "pinned" or "favorite" object. The NetBox home page will be extended to display a list of all such objects for the current user. Objects can be "unpinned" from this list as needed.

This idea was originally proposed by @bogdancordos in #8235.

Use case

This allows a user to compile a list of commonly-viewed objects for near- or long-term use.

It's also somewhat related to #7855, which proposes displaying a history of recently viewed objects.

Database changes

I imagine the introduction of a simple new model within the users app (e.g. UserFavorite) mapping the user object to the "pinned" object via a generic foreign key. We would probably want to track creation date, and possibly assign a numeric weight to aid in reordering objects, depending on how much functionality is needed.

External dependencies

No response

@jeremystretch jeremystretch added type: feature Introduction of new functionality to the application status: under review Further discussion is needed to determine this issue's scope and/or implementation labels Jan 5, 2022
@hagbarddenstore
Copy link
Contributor

It would be really nice if this feature also includes models defined in plugins.

@samschmitt22
Copy link

One small option that would be nice to add to this (although I understand if it doesn't fit the spirit of this): It would be nice to be able to click on a "favorite" on the homepage (or a button on that favorite) and jump directly to the DNS name/IP of that object if there is one. This would make it easy to quickly jump to those items. You would have to assume the protocol, but http/https is probably safe coming from the web.

@bogdancordos
Copy link

One small option that would be nice to add to this (although I understand if it doesn't fit the spirit of this): It would be nice to be able to click on a "favorite" on the homepage (or a button on that favorite) and jump directly to the DNS name/IP of that object if there is one. This would make it easy to quickly jump to those items. You would have to assume the protocol, but http/https is probably safe coming from the web.

I guess you can create a custom link for DCIM > device based on the object name or IP. You can even create a link for each protocol you want to connect to those objects PROT://{{ obj.name }} .

@jeremystretch
Copy link
Member Author

You can even create a link for each protocol you want to connect to those objects PROT://{{ obj.name }} .

Just a note: These links will depend on browser support. So for example if you made an ssh:// link, clicking it wouldn't do anything unless you had something installed or configured in your browser to open an SSH client for it.

@samschmitt22
Copy link

One small option that would be nice to add to this (although I understand if it doesn't fit the spirit of this): It would be nice to be able to click on a "favorite" on the homepage (or a button on that favorite) and jump directly to the DNS name/IP of that object if there is one. This would make it easy to quickly jump to those items. You would have to assume the protocol, but http/https is probably safe coming from the web.

I guess you can create a custom link for DCIM > device based on the object name or IP. You can even create a link for each protocol you want to connect to those objects PROT://{{ obj.name }} .

Thats a good idea I haven't thought of that. However I guess we'd want those custom links to someone be surfaced on the favorite on homepage.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 8, 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. Please see our contributing guide.

@github-actions github-actions bot added the pending closure Requires immediate attention to avoid being closed for inactivity label Mar 8, 2022
@jeremystretch jeremystretch added needs milestone Awaiting prioritization for inclusion with a future NetBox release and removed status: under review Further discussion is needed to determine this issue's scope and/or implementation pending closure Requires immediate attention to avoid being closed for inactivity labels Mar 9, 2022
@jeremystretch
Copy link
Member Author

Blocked by #9416

@jeremystretch jeremystretch added status: blocked Another issue or external requirement is preventing implementation and removed needs milestone Awaiting prioritization for inclusion with a future NetBox release labels Jun 2, 2022
@jeremystretch jeremystretch added needs milestone Awaiting prioritization for inclusion with a future NetBox release and removed status: blocked Another issue or external requirement is preventing implementation labels Feb 24, 2023
@jeremystretch jeremystretch added status: accepted This issue has been accepted for implementation and removed needs milestone Awaiting prioritization for inclusion with a future NetBox release labels May 5, 2023
@jeremystretch jeremystretch added this to the v3.6 milestone May 5, 2023
@jeremystretch jeremystretch self-assigned this May 31, 2023
jeremystretch added a commit that referenced this issue Jun 26, 2023
jeremystretch added a commit that referenced this issue Jun 29, 2023
* Initial work on #8248

* Add tests

* Fix tests

* Add feature query for bookmarks

* Add BookmarksWidget

* Correct generic relation name

* Add docs for bookmarks

* Remove inheritance from ChangeLoggedModel
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 28, 2023
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

4 participants