mirror of
https://github.com/BookStackApp/BookStack.git
synced 2026-02-11 03:13:15 +03:00
Custom (Meta-) Fields for Pages and as a Template #2853
Closed
opened 2026-02-05 05:27:54 +03:00 by OVERLORD
·
4 comments
No Branch/Tag Specified
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#2853
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 @Der-K-2000 on GitHub (Jun 17, 2022).
Describe the feature you'd like
It's nice to see, that there are Templates https://github.com/BookStackApp/BookStack/issues/1123#ref-issue-806365368, but for my cases it's not enough and I'd like to have additional structured custom fields for a page (like meta fields you know from CMS like WordPress).
The regular field in pages is too (auto) formatted. This input field is good for a normal text, but not for structured data.
ID and Plaintext-Value for each field would be enough (and maybe a Label as addition).
And to make it comfortable those extra fields should be available as a kind of a template (like for pages/chapters). Of course for the templates there could be multiple solutions and this would be a second big step. But at least custom fields would be really really helpful.
Describe the benefits this would bring to existing BookStack users
Using the API for a couple of cases it would be awesome to add additional fields in the json-output, which are 1) an unique ID 2) plaintext from the value-field.
Can the goal of this request already be achieved via other means?
I'm not sure, but I don't think so.
Solution for me so far: Table in a page, but the output via API has to be sanitized/cleaned from html and other formated strings. And that's something I can do for my internal projects, but not for clients and outsourcing the content.
And even though it's possible to clean the output correctly, the whole content is only available in the
html-field.Have you searched for an existing open/closed issue?
How long have you been using BookStack?
0 to 6 months
Additional context
No response
@ssddanbrown commented on GitHub (Jun 17, 2022):
Thanks for this request @SebastianBerlin but could you please expand on your own intended use-case of this desire? Just to help me understand the fundamental need a little better. (eg. what are you attempting to do/build using this and how would this data be read/wrote in terms of API vs in-platform user).
May likely be related to past issue #1552.
@Der-K-2000 commented on GitHub (Jun 17, 2022):
Yes, indeed, it's related to #1552 and similar, but not the same, because I need those custom fields for different use cases, especially with this easy, but powerful API in BookStack it could be a great benefit and would make it a lot easier for managing content.
Examples: 1) The API will be used as a glossary/lexikon for an app whit a few fields of ONE page (e.g. fields/IDs grammar, meaning, history, related pages). And it would be tricky, but in the end ineffective for the app to sanitize the big content (from table (and other html-stuff) and strip every ID from it, because it's problematic, too, if only ONE thing in the big html-field is different or new/an addition, which is not known by the app so far. 2) Parallel a external publisher will have only read only rights for the API to show it for other cases, while 3) a different publisher will have full access to edit one or two custom fields (like in a correction mode) and 4) some editors will have the right to edit/publish via API every field and often, without logging into the backend of the CMS, because they will do it in a different connected CMS.
Only with a structured way (→ custom fields) you can handle that. I cannot be more clear, sorry, but EVERY content in the html-field leads to many problems.
@ssddanbrown commented on GitHub (Jul 25, 2022):
Okay, thanks for expanding. My thoughts are similar to that in #1552, in respect that I don't want to expand scope to an additional data storage format, unless there is clear widespread benefit.
Would the existing tag format be suitable for your use-case?
@Der-K-2000 commented on GitHub (Jul 25, 2022):
Thanks for the reply, but it's not enough for my cases. Anyway I switched to cockpit cms for a large amount of field-types.