Custom page attributes & values to add an extra dimension of organisation #46

Closed
opened 2026-02-04 16:22:57 +03:00 by OVERLORD · 2 comments
Owner

Originally created by @Di2g10 on GitHub (Jan 19, 2016).

Currently you have Books, Chapters and Pages with a chapter only able to sit in one book and pages only able to sit in one chapter. However this leads to the requirement for a rigid and constricting structure as you can only break up articles on one dimension. A Dimension being say Client or Platform or Article type. However in a ideal world a page would want to be split by all these dimensions which are then standardised and enforced such that you can filter by any of these for all the related articles or you can search for combinations.

I can suggest two methods to achieve this
You could introduce the ability for the same page to be a member of multiple chapters potentially across different books. (simpler to impliment harder to enforce)
Redefine how pages are organised so that you have tag groups and tags such that every article should have a tag in each group. it may be that a tag group has a hierachical structer in itself. I.E. you may have internal vs client, then have to select specific client if applicable. Or is you select the platform then only relevant to clients on that platform.

Originally created by @Di2g10 on GitHub (Jan 19, 2016). Currently you have Books, Chapters and Pages with a chapter only able to sit in one book and pages only able to sit in one chapter. However this leads to the requirement for a rigid and constricting structure as you can only break up articles on one dimension. A Dimension being say Client or Platform or Article type. However in a ideal world a page would want to be split by all these dimensions which are then standardised and enforced such that you can filter by any of these for all the related articles or you can search for combinations. I can suggest two methods to achieve this You could introduce the ability for the same page to be a member of multiple chapters potentially across different books. (simpler to impliment harder to enforce) Redefine how pages are organised so that you have tag groups and tags such that every article should have a tag in each group. it may be that a tag group has a hierachical structer in itself. I.E. you may have internal vs client, then have to select specific client if applicable. Or is you select the platform then only relevant to clients on that platform.
OVERLORD added the 🛠️ Enhancement label 2026-02-04 16:22:57 +03:00
Author
Owner

@ssddanbrown commented on GitHub (Feb 27, 2016):

Rather than a simple tagging/labelling system I think it will be worthwhile implementing a full attribute => value system so that pages can be assigned multiple attributes and each has it's own value. This way people can categorize content in a way that also give extra value to the page it's put upon rather than just a generalised tag.

For example, you might have a book of 'meetings' and then an attribute => value structure like this:

Meeting 1 (Page in BookStack)
-- Meeting Subject: Efficiency
-- Meeting Leader: Dennis
-- Meeting Location: Conference Room A

Meeting 2 (Page in BookStack)
-- Meeting Subject: Customer Service
-- Meeting Leader: Dee
-- Meeting Location: Conference Room A

I'm will alter this title of this issue to better reflect this system.

@ssddanbrown commented on GitHub (Feb 27, 2016): Rather than a simple tagging/labelling system I think it will be worthwhile implementing a full attribute => value system so that pages can be assigned multiple attributes and each has it's own value. This way people can categorize content in a way that also give extra value to the page it's put upon rather than just a generalised tag. For example, you might have a book of 'meetings' and then an attribute => value structure like this: ``` Meeting 1 (Page in BookStack) -- Meeting Subject: Efficiency -- Meeting Leader: Dennis -- Meeting Location: Conference Room A Meeting 2 (Page in BookStack) -- Meeting Subject: Customer Service -- Meeting Leader: Dee -- Meeting Location: Conference Room A ``` I'm will alter this title of this issue to better reflect this system.
Author
Owner

@nwalke commented on GitHub (Mar 24, 2016):

It would be pretty neat to be able to require certain attributes on all pages under a book. So in your example, I would require "Meeting Subject" at the book level and then every page under it would have to have that.

@nwalke commented on GitHub (Mar 24, 2016): It would be pretty neat to be able to require certain attributes on all pages under a book. So in your example, I would require "Meeting Subject" at the book level and then every page under it would have to have that.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/BookStack#46