mirror of
https://github.com/BookStackApp/BookStack.git
synced 2026-02-09 03:09:38 +03:00
[Feature Request]: Network graph of all the elements #3351
Closed
opened 2026-02-05 06:26:25 +03:00 by OVERLORD
·
3 comments
No Branch/Tag Specified
development
further_theme_development
l10n_development
release
llm_only
vectors
v25-11
docker_env
drawio_rendering
user_permissions
ldap_host_failover
svg_image
prosemirror
captcha_example
fix/video-export
v25.12.3
v25.12.2
v25.12.1
v25.12
v25.11.6
v25.11.5
v25.11.4
v24.11.4
v25.11.3
v25.11.2
v25.11.1
v25.11
v25.07.3
v25.07.2
v25.07.1
v25.07
v25.05.2
v25.05.1
v25.05
v25.02.5
v25.02.4
v25.02.3
v25.02.2
v25.02.1
v25.02
v24.12.1
v24.12
v24.10.3
v24.10.2
v24.10.1
v24.10
v24.05.4
v24.05.3
v24.05.2
v24.05.1
v24.05
v24.02.3
v24.02.2
v24.02.1
v24.02
v23.12.3
v23.12.2
v23.12.1
v23.12
v23.10.4
v23.10.3
v23.10.2
v23.10.1
v23.10
v23.08.3
v23.08.2
v23.08.1
v23.08
v23.06.2
v23.06.1
v23.06
v23.05.2
v23.05.1
v23.05
v23.02.3
v23.02.2
v23.02.1
v23.02
v23.01.1
v23.01
v22.11.1
v22.11
v22.10.2
v22.10.1
v22.10
v22.09.1
v22.09
v22.07.3
v22.07.2
v22.07.1
v22.07
v22.06.2
v22.06.1
v22.06
v22.04.2
v22.04.1
v22.04
v22.03.1
v22.03
v22.02.3
v22.02.2
v22.02.1
v22.02
v21.12.5
v21.12.4
v21.12.3
v21.12.2
v21.12.1
v21.12
v21.11.3
v21.11.2
v21.11.1
v21.11
v21.10.3
v21.10.2
v21.10.1
v21.10
v21.08.6
v21.08.5
v21.08.4
v21.08.3
v21.08.2
v21.08.1
v21.08
v21.05.4
v21.05.3
v21.05.2
v21.05.1
v21.05
v21.04.6
v21.04.5
v21.04.4
v21.04.3
v21.04.2
v21.04.1
v21.04
v0.31.8
v0.31.7
v0.31.6
v0.31.5
v0.31.4
v0.31.3
v0.31.2
v0.31.1
v0.31.0
v0.30.7
v0.30.6
v0.30.5
v0.30.4
v0.30.3
v0.30.2
v0.30.1
v0.30.0
v0.29.3
v0.29.2
v0.29.1
v0.29.0
v0.28.3
v0.28.2
v0.28.1
v0.28.0
v0.27.5
v0.27.4
v0.27.3
v0.27.2
v0.27.1
v0.27
v0.26.4
v0.26.3
v0.26.2
v0.26.1
v0.26.0
v0.25.5
v0.25.4
v0.25.3
v0.25.2
v0.25.1
v0.25.0
v0.24.3
v0.24.2
v0.24.1
v0.24.0
v0.23.2
v0.23.1
v0.23.0
v0.22.0
v0.21.0
v0.20.3
v0.20.2
v0.20.1
v0.20.0
v0.19.0
v0.18.5
v0.18.4
v0.18.3
v0.18.2
v0.18.1
v0.18.0
v0.17.4
v0.17.3
v0.17.2
v0.17.1
v0.17.0
v0.16.3
v0.16.2
v0.16.1
v0.16.0
v0.15.3
v0.15.2
v0.15.1
v0.15.0
v0.14.3
v0.14.2
v0.14.1
v0.14.0
v0.13.1
v0.13.0
v0.12.2
v0.12.1
v0.12.0
v0.11.2
v0.11.1
v0.11.0
v0.10.0
v0.9.3
v0.9.2
v0.9.1
v0.9.0
v0.8.2
v0.8.1
v0.8.0
v0.7.6
v0.7.5
v0.7.4
v0.7.3
0.7.2
v.0.7.1
v0.7.0
v0.6.3
v0.6.2
v0.6.1
v0.6.0
v0.5.0
Labels
Clear labels
🎨 Design
📖 Docs Update
🐛 Bug
🐛 Bug
:cat2:🐈 Possible duplicate
💿 Database
☕ Open to discussion
💻 Front-End
🐕 Support
🚪 Authentication
🌍 Translations
🔌 API Task
🏭 Back-End
⛲ Upstream
🔨 Feature Request
🛠️ Enhancement
🛠️ Enhancement
🛠️ Enhancement
❤️ Happy feedback
🔒 Security
🔍 Pending Validation
💆 UX
📝 WYSIWYG Editor
🌔 Out of scope
🔩 API Request
:octocat: Admin/Meta
🖌️ View Customization
❓ Question
🚀 Priority
🛡️ Blocked
🚚 Export System
♿ A11y
🔧 Maintenance
> Markdown Editor
pull-request
Mirrored from GitHub Pull Request
No Label
🔨 Feature Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/BookStack#3351
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @flifloo on GitHub (Nov 18, 2022).
Describe the feature you'd like
Show a network graph of all the elements and link between them using graph theory.
This could be a dedicated section and quick access from the right side panel to get a centered preview on the current element.
As an easy way to implement it, the Cytoscape.js library could help.
I'm currently developing an example on my local machine with a fork of the dev branch.
And I don't want to go too far without sharing the idea and have some feedback.
This idea comes to me when I saw the way Obsidian show your notes.
Describe the benefits this would bring to existing BookStack users
This way of displaying information could help people navigating quickly around all the BookStack entries.
It's (in my point of view) a nicer way to have a big picture of all the information stored.
While adding content, navigation can become more fastidious, you have to resort to using the almighty search bar.
A clear graph of all the information could make the information less difficult to find, like planing a campaign in D&D and having a lot of different information linked together.
Can the goal of this request already be achieved via other means?
I don't think this could be achieved via other means.
Have you searched for an existing open/closed issue?
How long have you been using BookStack?
6 months to 1 year
Additional context
As an example, I make something quick on diagrams.net :
And a popup when you hover (click on mobile) a node could give more information and a way to god directly to it :
@ssddanbrown commented on GitHub (Nov 18, 2022):
Thanks for the request @flifloo.
For me, this kind of feature has always felt like something that would be cool or interesting to see, but it's actual value & day-to-day usage has always been questionable to me. For any new features to add I try to ensure they're validated against actual need and benefits to keep long-term maintenance reasonable, and so I try to avoid feature inclusion reasoning based upon features in other platforms or general interest alone.
The provided benefits here centre around gaining a "big picture" and navigation/discovery with growing content.
I'd question if such a graph view would be beneficial in such cases. While the provided mock-ups look nice, they reflect an already simple setup. Would this view remain clear and easy to navigate when the book has many chapters with many pages, showing their actual often much longer names, with many more references between them? (Especially when you consider tags may also reflect relations). I have a feeling the readability and usefulness of a view will decrease on content/instance size, which is inverse to the intended relayed benefits.
Not to say it's not a good idea or not desired though, I have had a couple of queries about such a feature, but as above I have to assess benefit against long-term maintenance & support which may put a pessimistic tone on the above.
As an alternative approach, something like this should be possible to add via our theme systems, so such a feature could be added and used on an instance without being part of the core project, and without editing core files on an instance. Implementing via this could allow usage so that real use-case examples and feedback can be provided to better determine value. I'd be happy to provide any guidance on this if needed. If already hacking with the core code, then you could probably continue with that then extract out the components to the theme system at a later point.
@flifloo commented on GitHub (Nov 18, 2022):
Thanks for the reply, I totally understand your point, this could be better to start with a theme first.
I hope this will interest some people and can be useful.
I didn't know the ability of the theme system, I will give it a shot.
This issue will be close for now since is no longer a feature request.
I might still post some update on the theme.
Again, thanks for your time and well explained feedback.
@ssddanbrown commented on GitHub (Nov 19, 2022):
Thanks for your understanding, Again happy to provide any guidance if needed.
For sure feel free to post further updates or theme customizations here as I'm sure others would find it useful.